よく使うコマンド集


目次

1.ファイル操作系
  重いファイルを見つけたいとき(TOP100)
  任意の日付をフォーマット付きで設定する
  カレントディレクトリ以降に下記を含むディレクトリを検索し、圧縮されたファイルを検索する方法

任意の日付をフォーマット付きで設定する

date -j -f "%Y-%m-%d" "2020-01-01"  +"%Y-%m-%d"

1. ファイル操作系

重いファイルを見つけたいとき(TOP100)

du -hS / | sort -nr | head -100

無限ループ

while true; do echo hoge; sleep 2; done

csvの特定行抽出

「foo.csv」の中身を、カンマ区切りで8,27番目の文字を抽出し、
1-3行目を無視して、「bar.txt」に出力する

cut -d ',' -f 8,27 foo.csv >  | sed -e '1,3d' | bar.txt

容量の多いディレクト検索

カレントディレクトリから1階層目までの深さまでの容量を計測し、
10番目まで重いディレクトリとサマリー容量を表示する(若干処理が重いので巨大なディレクトリは要注意)

sudo du -h -d 1 ./* | sort -nr | head -10

容量の多いファイル検索

100MB 以上のファイルを抽出する

find / -size +100M | xargs ls -lh | awk '{print $5,$9}' | sort -n

コマンドラインから、mysqlに接続する

対話式でパスワードを問い合わし、mysqlをコンソールから叩けるようにする

mysql -h <host_ip> -P <port> -u <user_id> -p

シェルからmysqlを実行する

hogehoge.shを叩くと、1-40までループし、sqlを実行する

hogehoge.sh
#!/bin/sh

for i in `seq 1 40`
do
  echo <sqlの書かれたファイル名>.sql $i
  mysql -uroot <user_id> < <sqlの書かれたファイル名>.sql
  sleep 3
done

カレントディレクトリ以降に下記を含むディレクトリを検索し、圧縮されたファイルを検索する方法

find ./ -name "30-12*" | xargs zgrep "2020-07-30T12:19"