このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
ターミナル:shellコマンド [2024/10/03 22:10] kawaue |
ターミナル:shellコマンド [2025/04/22 13:07] (現在) kawaue |
||
|---|---|---|---|
| 行 8: | 行 8: | ||
| |h|容量に接頭辞をつける(human-readable)| | |h|容量に接頭辞をつける(human-readable)| | ||
| |--color|ファイル・ディレクトリの種類ごとに色を変える| | |--color|ファイル・ディレクトリの種類ごとに色を変える| | ||
| + | |t|更新時順で表示(time)| | ||
| + | |v|数字順で表示(version)| | ||
| + | |S|ファイルサイズ順で表示(Size)| | ||
| ====head, tail==== | ====head, tail==== | ||
| 行 13: | 行 16: | ||
| ^オプション^意味^ | ^オプション^意味^ | ||
| |n|出力する行数を指定| | |n|出力する行数を指定| | ||
| + | |||
| + | ====grep==== | ||
| + | 文字列の検索 | ||
| + | ^オプション^意味^ | ||
| + | |r|再帰的に行う(recursive)| | ||
| + | |i|大文字と小文字を区別しない(ignore-case)| | ||
| ====du==== | ====du==== | ||
| 行 67: | 行 76: | ||
| 例:file内のhogeを全てfugaに置換する場合 | 例:file内のhogeを全てfugaに置換する場合 | ||
| < | < | ||
| - | sed -i s/ | + | $ sed -i s/ |
| </ | </ | ||
| 行 82: | 行 91: | ||
| ファイル名の置換。置換前・置換後・対象のファイルの順に書く。カレントディレクトリ以下のファイル名のうちhogeをfugaに置換したい場合: | ファイル名の置換。置換前・置換後・対象のファイルの順に書く。カレントディレクトリ以下のファイル名のうちhogeをfugaに置換したい場合: | ||
| < | < | ||
| - | rename hoge huga ./* | + | $ rename hoge huga ./* |
| </ | </ | ||
| 行 118: | 行 127: | ||
| 解凍はunzip。 | 解凍はunzip。 | ||
| < | < | ||
| - | zip -r アーカイブ名 圧縮する対象 | + | $ zip -r アーカイブ名 圧縮する対象 |
| </ | </ | ||
| |< 400px 100px - >| | |< 400px 100px - >| | ||
| 行 148: | 行 157: | ||
| ====ssh-keygen==== | ====ssh-keygen==== | ||
| - | ssh用の鍵を作る。 とりあえずという名前のed25519の鍵を作りたいときは以下のコマンド | + | ssh用の鍵を作る。 とりあえずkeynameという名前のed25519の鍵を作りたいときは以下のコマンド |
| < | < | ||
| - | cd ~/.ssh | + | $ cd ~/.ssh |
| - | ssh-keygen -f keyname -t ed25519 -N "" | + | $ ssh-keygen -f keyname -t ed25519 -N "" |
| </ | </ | ||
| でkeyname(秘密鍵)とkeyname.pub(公開鍵)ができる | でkeyname(秘密鍵)とkeyname.pub(公開鍵)ができる | ||
| 行 161: | 行 170: | ||
| |C|コメントを設定(Comment)| | |C|コメントを設定(Comment)| | ||
| |N|新しいパスフレーズを設定(new pass phrase)| | |N|新しいパスフレーズを設定(new pass phrase)| | ||
| + | |||
| + | ====screen==== | ||
| + | screenを作成してセッションを保存できる。\\ | ||
| + | 例 : ssh先で何かのscriptを回しているが、sshが切れてしまうと実行が止まってしまうとき。screen上で実行して一時的にセッションを離脱することでscriptを回し続けられる。\\ | ||
| + | screenの作成 | ||
| + | < | ||
| + | $ screen | ||
| + | </ | ||
| + | これでscreenの中に入れる。 | ||
| + | ^入力^意味^ | ||
| + | |Ctr + a|今のscreenを終了| | ||
| + | |Ctr + a → Ctr + d|screenから一時的に出る(デタッチ)| | ||
| + | 存在するscreenの確認 | ||
| + | < | ||
| + | $ screen -ls | ||
| + | </ | ||
| + | screenに入る(アタッチ)。KEKCCの環境ではidはtab補完が効いた。 | ||
| + | < | ||
| + | $ screen -r hoge(screen id) | ||
| + | </ | ||
| + | 外側からデタッチ(? | ||
| + | < | ||
| + | $ screen -d hoge(screen id) | ||
| + | </ | ||
| + | screen (id: | ||
| + | < | ||
| + | $ screen -X quit # screen hogeの中にいる場合 | ||
| + | $ screen -S hoge -X quit # screenの外にいる場合 | ||
| + | </ | ||
| =====ワンライナーのわざ===== | =====ワンライナーのわざ===== | ||
| ====ファイル数のカウント==== | ====ファイル数のカウント==== | ||
| < | < | ||
| - | ls -1 | wc -l | + | $ ls -1 | wc -l |
| </ | </ | ||
| + | ls listで1行に1ファイルを表示、その行数を数える。 | ||
| ====ディレクトリ構造のみコピー==== | ====ディレクトリ構造のみコピー==== | ||
| < | < | ||
| - | cp -sr hoge fuga | + | $ cp -sr hoge fuga |
| </ | </ | ||
| ファイルの相対的なシンボリックリンクが貼れないことを利用 | ファイルの相対的なシンボリックリンクが貼れないことを利用 | ||
| 行 176: | 行 214: | ||
| ====ディレクトリ構造は残して中のファイルのみ削除==== | ====ディレクトリ構造は残して中のファイルのみ削除==== | ||
| < | < | ||
| - | find / | + | $ find / |
| </ | </ | ||
| ファイル名を探索してrmに渡す。 | ファイル名を探索してrmに渡す。 | ||
| + | |||
| + | =====リダイレクト===== | ||
| + | ''>'' | ||
| + | 例1: | ||
| + | < | ||
| + | $ hoge.exe 2>&1 | tee log.txt | ||
| + | </ | ||
| + | 正直何が起こっているのかあまりわかっていない。 | ||
| + | ''&'' | ||
| + | ^ファイルディスクリプタ^意味^ | ||
| + | |0|標準入力| | ||
| + | |1|標準出力| | ||
| + | |2|標準エラー出力| | ||
| + | |||
| + | 例2: | ||
| + | < | ||
| + | $ hoge.exe > /dev/null | ||
| + | </ | ||
| + | ''/ | ||
| =====Shellスクリプト===== | =====Shellスクリプト===== | ||
| 行 195: | 行 252: | ||
| done | done | ||
| </ | </ | ||
| + | |||
| + | ====計算==== | ||
| + | 変数で受ける方法\\ | ||
| + | 計算式を< | ||
| + | <file bash hoge.sh> | ||
| + | #!/bin/bash | ||
| + | input=${1} | ||
| + | ((output=${input}+1)) | ||
| + | echo ${output} | ||
| + | </ | ||
| + | 上のscriptの出力結果は | ||
| + | < | ||
| + | $ source hoge.sh 1 | ||
| + | 2 | ||
| + | </ | ||
| ====コメントアウト==== | ====コメントアウト==== | ||
| 行 215: | 行 287: | ||
| cd `dirname $0` | cd `dirname $0` | ||
| </ | </ | ||
| - | と書いておく。'' | + | と書いておく。'' |