2017年6月6日火曜日

ubuntuコマンドのメモ

Ubuntu Linuxのコマンドをメモしていきます。自分用・・・

ファイルから文字を検索する


grep string filename

ls コマンドの結果からパイプする...該当のファイル名だけが出力される


ls directory | grep filename

ls filename でワイルドカードを使う


ls *file* とやると前後に何か文字があってfileを含むものを検索する

ディレクトリのファイルを対象に、中の文字を検索してファイルを探す

find ./ -type f | xargs grep -l -s "string"

※-l は該当するファイル名だけを出力するオプション
※-s はエラーを出力しないオプション
※stringはダブルクォーテーションが必要

ヘルプを読むときのgrep


--helpで使い方を調べたいとき、対象を絞るためにgrepをすると便利。ls でsortの仕方を知りたいときは。

$ ls --help | grep sort

とすると、長いヘルプを全部読まなくてもよくなります。

コマンド履歴を調べるhistory


入力したコマンドをあとで使いたいとき、historyが便利でした。

$ history

で番号でこんな感じで出てきます。

  348  ls /usr/share/X11/xkb/symbols/
  349  cd /.xkb/
  350  cd ~/.xkb/
  351  ls
  352  cd keymap
  353  ls
  354  cd ../
  355  ls symbols
  356  cd ../
  357  setxkbmap -print

$ history | grep [command]

で使ったcommandを検索できます。

!351

と351番コマンドが実行されることになります。

ファイルをバイナリ単位で比較するcmpコマンド


ファイルが同一かどうかを比べるには、cmpを使います。

$ cmp file1 file2 | echo "files different"

ちなみに、同一のときは何も変えらないです。
https://stackoverflow.com/questions/12900538/fastest-way-to-tell-if-two-files-are-the-same-in-unix-linux

ubuntuで再起動が必要になっているかどうかを知る


/var/run/reboot-required

というファイルが存在するかどうかを確認します。存在していれば、
stat /var/run/reboot-required
とやって中身を見ると、

 File: '/var/run/reboot-required'
  Size: 32        Blocks: 8          IO Block: 4096   regular file
Device: 13h/19d Inode: 327         Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-26 12:51:09.226219216 +0900
Modify: 2018-08-26 12:44:15.434398888 +0900
Change: 2018-08-26 12:44:15.434398888 +0900
 Birth: -

というように、いつのファイル操作(更新など)で必要になったかが判ります。
再起動のあと見てみると、ファイルが見つからないというメッセージが出ます。

$ stat /var/run/reboot-required
stat: cannot stat '/var/run/reboot-required': No such file or directory

https://askubuntu.com/questions/164/how-can-i-tell-from-the-command-line-whether-the-machine-requires-a-reboot


更新時間を指定してファイルをfind検索する


2019/05/15の0時以降に更新したファイルを検索
$ find . -type f -newermt "2019-05-15 00:00:00"

2019/05/15の0時から翌日0時までに更新したファイルを検索
$ find . -type f -newermt "2019-05-15 00:00:00" ! -newermt "2019-05-16 00:00:00"

https://superuser.com/questions/580273/ubuntu-linux-find-files-between-specific-times




0 件のコメント:

コメントを投稿