コース内容#
vim の基本的な使用方法#
- クイックジャンプ
- 行頭:0 [^ 有効な行頭]
- 行末:$
- ファイルの先頭:gg
- ファイルの末尾:G
- 任意の行:12G——12 行にジャンプ
- コピー
- コピー
- カット
- 複数行の操作
- 削除
- x:1 文字削除
- d
- 2dd:現在の行から 2 行削除
- d2G:2 行目から現在の行まで削除
Linux の歴史#
- C 言語:どのようにして作られたのか?システムとの結びつきは?
- Linux の本質 [Linux は通常、Linux カーネル、Linux オペレーティングシステムを指す]
- Linux と Windows の違い [Linux の初期のユーザーへの態度:できる人は良いと言う、できない人は好きにして]
- Unix [MacOS;Google がクラウドコンピューティングを提案した後、Unix システムのメーカーはほとんど Apple だけになった]
シェル#
- zsh
- 関連ファイル
- 環境変数の概念:シェルプロセスに存在する
- コマンドの実行の本質:ほとんどの場合、ファイルを実行し、サブプロセスを開く [コマンド間の干渉を防ぐ]、サブプロセスの実行が終了すると結果を返す
- man
- シンプルバージョン:tldr
- 英語の感覚
- 検索:前後に移動 ——N/n
- C 言語の低レベルライブラリ
- 検索エンジン [Google 英語検索]:情報処理能力の向上
- コマンドの検索方法
- タブ [zsh で提供される]
- man -k [-f:明確な単語の検索に基づく]
- apt search [apt-cache search]
Linux の具体的な使用方法#
- ファイルとディレクトリ
- リモートコピー
- scp [ssh ベース ->tcp ベース]
- sshfs [ssh、リモートファイルシステムベース]:リモートサーバーのディレクトリをローカルにマウントできる
- 組み込み開発プロセスに適用できる
- ファイルの参照
- cat
- head
- tail
- -f:動的に更新されるファイルを表示し、常にファイルの末尾を読み取り、ログの監視に使用 [ブロックする]
- more
- less [more よりも使いやすい]
- 戻ることができる
- 検索時にハイライト表示
- 移動、コピー
- cp、mv
- ln
- ハードリンク
- シンボリックリンク:シンボリックリンクを削除する際は注意が必要で、名前の後ろに / を追加しないようにする [ディレクトリに入る]
- [PS] Python の 2 へのサポートの終了;Python のバージョン切り替えはシンボリックリンクの変更だけで済む
- rm:mv + 定期的なクリーンアップにカプセル化できる
- ファイルの種類と権限
- 7 種類
- 通常のファイル
- ディレクトリ:通常は 4K、十分なサイズ
- 文字:ネットワーク、シリアル -> キーボード、マウス
- ブロック:ブロック、ストレージデバイス
- パイプ [より一般的なケースでは、親プロセスが 2 つの子プロセスを生成し、パイプを作成する]
- リンク
- ソケット
- 権限
- rwx
- x はディレクトリに対して入力可能を示す
- ユーザーグループ:u、g、o
- コマンド
- chmod、chgrp、chown
- usermod:ユーザーに対して
- 特殊な権限
- set uid:特定の人が特権を持つ
- set gid:特定の場所に到着すると特定の身分を持つ
- sbit:スティッキービット、ファイルの所有者だけが削除権限を持つ
- 隠し属性
- rwx
- 7 種類
- ファイルの時間
- atime [アクセス]:更新が頻繁すぎる場合は問題があるため、非更新にすることもできる
- ctime [権限の変更]
- mtime [内容の変更]:ls のデフォルト表示
- touch
- 高い位置に立つほど、ディスクの寿命を考慮する必要がある [消耗、電気料金]
- ファイルの位置特定
- 特殊ファイルの位置特定
- which
- whereis
- 通常のファイル
- locate:データベース db に基づく、リアルタイムに updatedb が必要 [使用シーンは少ない]
- find
- 特殊ファイルの位置特定
- リモートコピー
- データ処理[将来の仕事に適しています]
- cut、tr、sort、uniq、grep、head、tail
- リダイレクト:>、>>、<
- read:データの読み込み [入力データの形式に注意]
- プロセス管理
- ctrl + z
- fg
- bg
- jobs
- crontab -e/-l [おそらく、タスクの形式を見ることができる]*
- システム情報の取得[試してみるだけでいい]
- uname、top、free、dstat、htop、nmon、uptime
シェルプログラミング#
- 変数
- コマンド置換記号:``
- 特殊変数:$0、$#、$?、$@、$*
- ❗ = の両側にスペースはありません
- 入出力
- read
- echo
- printf
- 分岐
- test 式
- man test
- 整数判定:整数計算 $[] (他にも expr、let がありますが、1 つ覚えれば十分です)
- 文字列:== 🆒
- if:[[ ]] 🆒
- case
- test 式
- ループ
- for
- for i in `seq 1 100` --> seq はシステムによって繰り返し呼び出される必要があります
- for ((i=1; i<=100; i++)) 🆒効率がより高い
- while [一般的には while 1 を使用]
- until [一般的には使用しない]
- for
- 関数 [簡単なプログラムでは必要ありません]
- 配列⭐
- 配列の初期化 [必要ない場合もあります;初期化しない場合は空になります;初期化に時間がかかります]
- unset
- 反復処理
- $ 変数
ヒント#
- 試験はすべて英語で行われます
付:マインドマップ#
【宿船長制作】