基本
cd
移動。指定なしで~に
ls
windowsだとdir。最近のpowershellだとlsコマンド使える
ls -lでリスト表示
ls -alでリスト表示 + 詳細表示
ls -ailでリスト表示 + 詳細表示 + i-node番号を表示
ちなみに打ち間違い用のslコマンドも存在します。SLが走るアニメが流れて楽しいので入れてみてね
echo
echo 'Hello World'
watch
次のコマンドを繰り返して、監視する
watch -n 1 ls -lだと、1秒間隔でls -lを監視する。これやってる最中にファイル作成とか編集削除すると値変わる
更新で差分が出たときにハイライトを付けたい場合は
watch -n 1 -d コマンド
個人的にはよくwatch -n 1 -d ls -lとか
1秒間隔でshellを起動したい!みたいな場合にループ目的でwatch -n 1 sh ファイル.shみたいなことしてます
k8sだとwatch -n 1 -d kubectl get podでステータス監視したりとかも
windowsでやるにはpowershellでwhileする
$i=0
while ($i -le 1) {dir}
とか。dirのとこは好きなコマンドに変えればよろし
探す
find
find ファイル名
詳しい使い方は
https://hana-shin.hatenablog.com/entry/2021/12/19/110103
grep
grep 検索文字 **/*.txtとか。
https://qiita.com/heroyct/items/fed4d2b0e29292a7a599
ファイル/フォルダ作成/削除/コピー/移動
touch
touch ファイルパス
ファイル作成。複数指定可能
echo 'かきこみたい値' >> ファイルパス
といったリダイレクトや
cat - << "EOF" >> ファイルパス
値
値
わーわー
EOF
といったヒアドキュメントでも代用できる
>>なら追加、>なら上書き
mkdir
mkdir -p ファイルパス
で、下階層まで一気に作れる。複数指定可
mkdir -p ~/newd1/aaa/aaa/aa ~/new2 ~/new3
rm
rm -rf ファイルパスでfの強制削除、rの再帰。きをつけてね。
cp
cp -fp ファイルパスでfの上書き確認なし強制、pの権限保持
mv
mv ファイルパス 移動先パス
ファイル閲覧系
tail
ファイルの後ろ(しっぽ)から見る。ログ監視でお世話になる
tail -f ファイルパス
tail -n 行数 ファイルパス
head
ファイルの頭から見る。
head -n 行数 ファイルパス
less
標準出力でなくいい感じに監視できる
less ファイルパスで閲覧モードになる
閲覧モード中にShift + Fで更新を待機する(Ctrl + Cでやめる)
閲覧モード中はB Spaceでファイルを上下にスクロールできる。検索もできる。
詳しくはこちら
https://qiita.com/delphinus/items/b04752bb5b64e6cc4ea9
cat
標準出力に出すコマンド。cat ファイルパスでtailやheadみたく、ファイル全量を垂れ流す。
無駄に標準出力がぶわぁぁってなるからあんま使いたくない...
個人的にはヒアドキュメント専用って思ってる
疎通確認系
ping
とりあえずこれ。ICMPが通らないなら使えない
windowsならpowershell test-netconnetion xxx.xxx.xxx.xxx -port xxでポート指定のTCP確認ができる
tracert
windowsならtraceroute
経由するアドレスを動的に監視できる
netstat
route printと同等のことがnetstat -rでできる
curl
たぶんよく使うのがこう
curl -X POST -H "Content-Type: application/json" -d JSON文字列 http://xxx/xxx...
wget
alpineにはcurlがなかったのでwgetをよく使っていた
wget --server-response --header="Content-Type: application/json" --post-data='JSON文字列' http://xxx/xxx...
メモリやプロセス調査
top
CPUメモリ使用量を表示
df
df -hでよく使う、ディスク容量を確認
free
ディスク容量確認
swapの確認とかに使う
ps
ps -awxとかでよく使う。プロセス一覧
結局いつもps -awx | grep XXXで使う
tasklist
psのwindows版
tasklist /fi "imagename -eq XXX"みたいにオプションが有能
tasklist /vは詳細を表示できるが結構遅い
tasklist | findstr XXXのがフィルタは楽そう...
ちょっとおまけ
cut
文字をカットして表示する
echo 'aaaaa:bbbbb' | cut -d ':' -f 1
でaaaaaが取得できる、-dはdelimiterで-fはfindかな?
xargs
なんかの結果を、コマンド引数にするコマンド。
ls -l | grep XXX | xargs echo
こうすると、lsした結果をgrepし、その結果に対してechoをする
gitで...
git fetch --all && git branch -r | grep 1ブランチに絞れるキーワード | cut -d '/' -f 2 | xargs -t -I{} git checkout -b {} origin/{}
こいつで、リポジトリを最新化して対象ブランチに新規チェックアウト、ができる
git branch -rだと基本origin/xxxxxxxと帰ってくるから
cutコマンドで「/」で区切り2つ目のブランチ名のみを取得している
神
vi
viエディタを開く。viでもvimでもよい
vi ファイルパスだとファイルをエディタで開くが、viだけだとその場でただエディタを開く
このviエディタが神。神なので以下おすすめです
https://qiita.com/neras_1215/private/186431b475df547c95e1