Linux の基本備忘録
インフラ専門の人間ではないので Linux を操作する頻度はそう多くない。
なので基本の知識はあるけど作業内容によってはちょいちょい調べながらになりがち。
いまいち身についてないけど、これぐらいはさらっとできるようになってないとなと思う備忘録。
ディストリビューションはほぼ ubuntu しか使う機会が今のところないので ubuntu 想定です。
シェルのコマンドラインの編集
カーソル移動
- Ctrl+b:後方1文字分
- Ctrl+f:前方1文字分
- Ctrl+a:行頭
- Ctrl+e:行末
単語単位でのカーソル移動
- Alt+b:後方単語1つ分
- Alt+f:前方単語1つ分
文字の削除
- Ctrl+w:後方へスペース区切りで1単語分
カットとヤンク
- Ctrl+k:カーソル位置から行末まで削除
- Ctrl+u:カーソル位置から行頭まで削除
- Ctrl+y:最後に削除した内容を挿入
Vim
単語単位でのカーソル移動
- w:前方単語1つ分
- b:後方単語1つ分
- W:スペース区切りで前方単語1つ分
- B:スペース区切りで後方単語1つ分
行頭・行末への移動
- 0:行頭
- $:行末
行番号指定での移動
- gg:1行目
- G:最後の行
- [数字]G:[数字]行目
デリート(dをyに変えればヤンク)
- d$:行末まで
- d0:行頭まで
- dw:単語1つ
- dgg:最初の行まで
- dG:最後の行まで
アンドゥとリドゥ
- u:直前の編集操作を取り消し(アンドゥ)
- Ctrl+r:アンドゥの取り消し(リドゥ)
置換
- %s/[置換対象文字列]/[置換後文字列]/g
ジョブ
- コマンドの一時停止Ctrl+z
- ジョブをフォアグラウンドへ fg %<ジョブ番号>
- ジョブをバックグラウンドへ bg %<ジョブ番号>
- フォアグラウンドジョブの終了Ctrl+c
- バックグラウンドジョブの終了kill %<ジョブ番号>
リダイレクト
テキスト処理
sortコマンド
- -k n n番目のフィールドでソート
- -n 数値順でソート
- -r 逆順にソート
uniqコマンド
連続した同じ内容の行を取り除く
tailコマンド
末尾部分を表示する
- -n n 末尾n行を表示
- -f 追記されるたびにその内容を表示
grepコマンド
- -n 行番号付きで表示
- -i 大文字小文字を区別しない
- -v マッチしない行を表示
正規表現
シングルクォートで囲むこと
メタ文字
- . 任意の1文字
- [] []の中に含まれる、いずれかの1文字
- [^] []の中に含まれない、いずれかの1文字
- ^ 行頭を意味
- $ 行末を意味
- * 直前の正規表現の0回以上の繰り返し
- \{m,n\} m回以上n回以下の繰り返し
- \{m\} ちょうどm回の繰り返し
- \{m,\} m回以上の繰り返し
アーカイブと圧縮
tarコマンド
アーカイブファイルの作成
tar cf <アーカイブファイル(慣習で .tar 拡張子にする> <アーカイブ元ファイルパス>
tarとgzipの組み合わせ
tarコマンドだけでtar+gzファイルを作る
cオプションでのアーカイブ作成時にzオプションを追加する
tar czf <アーカイブファイル 慣習で .tar.gz 拡張子にする> <アーカイブ元ファイルパス>
tarコマンドだけでtar+gzファイルを展開する
xオプションでのアーカイブ展開時にzオプションを追加する
tar xzf <アーカイブファイル>
zipコマンド
アーカイブと圧縮を同時に行う
zipとunzipパッケージのインストール
sudo apt-get install zip unzip
zipファイルの作成
zip -r <圧縮ファイル名> <圧縮対象パス>
zipファイルの内容確認
zipinfo <圧縮ファイル名>
zipファイルの展開
unzip <圧縮ファイル名>
aptによるパッケージ管理
パッケージのインストール
sudo apt-get install <パッケージ名>
パッケージの削除
sudo apt-get remove <パッケージ名>
パッケージの設定ファイルも含めた完全削除
sudo apt-get purge <パッケージ名>
パッケージの検索
apt-cache search <検索ワード>
※ パッケージ名だけを検索対象にするときは --names-only オプション
パッケージの情報表示
apt-cache show <パッケージ名>