LoginSignup
1
1

More than 3 years have passed since last update.

bash触ってる時によくやること

Last updated at Posted at 2019-09-19

bash触ってる時によくやること

大量のファイルをコピーしてる時の進捗を表示したい

while true
do
  date
  ls -1 input/ | wc -l 
  sleep 5
done

出力イメージ

Thu Sep 19 10:25:49 UTC 2019
331
Thu Sep 19 10:25:54 UTC 2019
332

ちょっと見やすく?以下のような感じにしてもいいですね。

while true
do
  DATETIME=$(date +%Y%m%d_%H%M%S)
  FILECOUNT=$(ls -1 input/ | wc -l )
  echo "count: ${FILECOUNT}, time: ${DATETIME} "
  sleep 5
done

出力イメージ

count: 347, time: 20190919_103048 
count: 347, time: 20190919_103053 
count: 348, time: 20190919_103058 

とめる時はctrl + c してください。

ファイルのサイズをざっくり知りたい時

$ ls -lha
total 856K
drwxr-xr-x 1 root root 4.0K May 12 15:35 .
drwxr-xr-x 1 root root 4.0K Apr 26  2018 ..
-rw-r--r-- 1 root root  12K May 12 17:43 alternatives.log
drwxr-xr-x 1 root root 4.0K May 12 17:43 apt
-rw-r--r-- 1 root root  35K Apr 26  2018 bootstrap.log
-rw-rw---- 1 root utmp    0 Apr 26  2018 btmp
-rw-r--r-- 1 root root 407K May 12 17:43 dpkg.log
-rw-r--r-- 1 root root  32K Apr  8 23:37 faillog
-rw-r--r-- 1 root root 2.9K May 12 17:43 fontconfig.log
-rw-rw-r-- 1 root utmp 286K Apr  8 23:37 lastlog
-rw------- 1 root root  63K Apr  8 23:37 tallylog
-rw-rw-r-- 1 root utmp    0 Apr 26  2018 wtmp

hオプションが単位をつけてくれます。

$ ls -ltr | grep 'G'

とかしてもいいですね

ディレクトリのサイズをざっくり知りたい時

容量逼迫した時の領域を特定するのによく使ってました。

$ du -h /var --max-depth=1
4.0K    /var/tmp
928K    /var/backups
20K     /var/spool
4.0K    /var/opt
4.0K    /var/local
3.0M    /var/log
4.0K    /var/mail
553M    /var/cache
13G     /var/lib
13G     /var

df -h とセットで使うことが多いですね。
該当の領域に cdしてdu、
値の大きいディレクトリにまたcdしてdu
。。。。でどこのディレクトリにやばいファイルがあるか特定したりします。

max-depthが階層を決めるオプションです。

ファイル数の多いディレクトリで最近更新されたファイルをざっくり見たい時

$ ls -ltr | tail
-rw-rw-r-- 1 root utmp      0 Apr 26  2018 wtmp
-rw-rw---- 1 root utmp      0 Apr 26  2018 btmp
-rw-r--r-- 1 root root  35330 Apr 26  2018 bootstrap.log
-rw------- 1 root root  64064 Apr  8 23:37 tallylog
-rw-rw-r-- 1 root utmp 292292 Apr  8 23:37 lastlog
-rw-r--r-- 1 root root  32032 Apr  8 23:37 faillog
drwxr-xr-x 1 root root   4096 May 12 17:43 apt
-rw-r--r-- 1 root root   2960 May 12 17:43 fontconfig.log
-rw-r--r-- 1 root root 416661 May 12 17:43 dpkg.log
-rw-r--r-- 1 root root  11742 May 12 17:43 alternatives.log

trオプションで時刻順、かつ一番下がもっとも最近の物に並んでくれます。

詳細な時刻を取得する

lsにfull-timeオプションをつけると、時刻を秒以下まで表示してくれます。

$ ls --full-time
total 4739260
drwxr-xr-x 2 root root 97505280 2019-09-20 11:19:12.917880914 +0000 dir_1
drwxr-xr-x 2 root root 97665024 2019-09-20 11:19:16.170149789 +0000 dir_2
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1