▼すべてを開く。
▲すべてを閉じる。
$ less boot.log Apr 6 13:44:46 localhost xinetd: xinetd startup succeeded Apr 6 13:44:49 localhost sendmail: sendmail startup succeeded Apr 6 13:44:49 localhost sendmail: sm-client startup succeeded Apr 6 13:44:49 localhost gpm: gpm startup succeeded Apr 6 13:44:52 localhost canna: succeeded Apr 6 13:44:52 localhost crond: crond startup succeeded Apr 6 13:44:57 localhost xfs: xfs startup succeeded Apr 6 13:44:57 localhost atd: atd startup succeeded Apr 6 13:44:58 localhost firstboot: . Apr 6 13:44:59 localhost firstboot: Apr 6 13:44:59 localhost firstboot: XFree86 Version 4.3.0 Apr 6 13:44:59 localhost firstboot: (Red Hat Enterprise Linux release: 4.3.0-35.EL) /xinetd
lessコマンド実行中に、最下行に表示されるプロンプト「:」部分に「/」に続いて検索する文字列を入力してリターンを押す。すると、該当する部分に移動し、検索された文字列が反転表示される。該当する文字列がなかった場合は、「Pattern not found (press RETURN)」と表示される。表示画面の2行目以降にあるパターンにマッチする行を検索する。
検索制御のキー操作 | |
次検索 | n |
元に戻る | N |
検索の終了 | Esc-u |
画面制御のキー操作 | |||
戻る | 進む | ||
---|---|---|---|
1行戻る | y | 1行進む | [Return] |
半画面戻る | u | 半画面進む | d |
1画面戻る | b | 1画面進む | [Space] |
1行目に戻る | g | 最終行に進む | G |
情報表示のキー操作 | |
行番号の表示 | -N [Return] |
行番号の非表示 | -N [Return] |
表示位置の表示 | -m |
表示位置の表示(詳細) | -M |
$ grep -rLi 'kernel' * cron cups/error_log cups/access_log cups/page_log httpd/error_log httpd/ssl_error_log httpd/access_log httpd/ssl_access_log httpd/ssl_request_log lastlog mail/statistics maillog redhat-config-network samba/smbd.log samba/nmbd.log scrollkeeper.log secure spooler wtmp
grepコマンドで、-rオプションにLiオプションを付け、検索する文字列「'kernel'」、検索対象のファイル「*」(すべてのファイル)を指定すると、文字列「kernel」を含まないファイルをカレントディレクトリにあるすべてのディレクトリの中から検索して表示する。検索する文字列は、引用符「'」で囲むこと。
grepコマンドのオプション | |
-r | ディレクトリを再帰的に検索する |
-L | 指定文字列を含まないファイル |
-i | 大文字小文字の区別をしない |
$ find . -type f -empty -exec rm {} \;
findコマンドで、検索するディレクトリ「.」検索する対象を指定する「-type」対象がファイルであることを示す「f」サイズが0を示す「-empty」、検索結果を引数としてコマンドを実行する「-exec」、実行するコマンド「rm {}」コマンドの終了を表す「\;」を指定すると、findコマンドにより検索された空のファイルが削除される。
rm | 実行するコマンド |
{} | findの検索結果に置き換えられる部分 |
\; | コマンドの終了(エスケープ文字「\」と終了記号「;」) |
「{}」は、findの検索結果のファイル名で置き換えられる。「\」は、シェルが「;」を解釈するのを防ぐためのエスケープ文字で、「;」までがコマンド部分である。。
一度にコマンドを実行せずに、コマンドの実行許可を逐次求めながら行うには、「-exec」の代わりに「-ok」を指定する。コマンドを実行する場合は「y」、実行せずにスキップする場合は「n」を入力する。
findコマンドでディレクトリと検索オプションを指定する$ find . -type f -empty -ok rm {} \; < rm ... ./dirx/file2 > ? y
オプション | 意 味 | |
---|---|---|
-type | 検索対象の種類を指定する | |
f | 検索対象の種類がファイルであることを示す引数 | |
-empty | 検索対象が空(サイズが0) | |
-exec | 検索結果を引数としてコマンドを実行する | |
-ok | コマンド実行時に逐次実行許可を求める |
$ find . -type f -empty -print ./.gconf/%gconf.xml ./.gconf/desktop/%gconf.xml ./.gconf/desktop/gnome/%gconf.xml ./.gconf/desktop/gnome/applications/%gconf.xml ./.gconf/apps/%gconf.xml ./.gconf/apps/panel/%gconf.xml
findコマンドで、検索するディレクトリ「.」検索対象の種類を指定する「-type」対象がファイルであることを示す「f」サイズが0を示す「-empty」、検索結果の表示「-print」を指定すると、ディレクトリにあるすべての空のファイルを表示する。
オプション | 意 味 | |
---|---|---|
-type | 検索対象の種類を指定する | |
f | 検索対象の種類がファイルであることを示す引数 | |
-empty | 検索対象が空(サイズが0) | |
検索結果のファイル名をフルパスで表示する |
$ find /work -group mktg -type f -print /work/MKTG/Manual/fiel1
findコマンドで、検索するディレクトリ「/work」検索対象がグループであることを示す「-group」検索するグループ名「mktg」、検索結果の表示「-print」を指定すると、指定したディレクトリの下にあるすべてのファイルからグループmktgに属するファイルを検索してその場所を表示する。
検索したファイルの詳細を表示したい場合は、検索結果の表示の指示を「-print」から「-ls」に代えてコマンドを実行する。
findコマンドでディレクトリと検索オプションを指定する$ find /work -group mktg -type f -ls 880617 4 -rw------- 1 guest mktg 256 5月 30 21:58 /work/MKTG/Manual/fiel1
オプション | 意 味 | |
---|---|---|
-group | 検索対象のグループ名を指定する | |
-type | 検索対象の種類を指定する | |
f | 検索対象の種類がファイルであることを示す引数 | |
検索結果のファイル名をフルパスで表示する | ||
-ls | 検索結果のファイルの情報を詳細に表示する |
$ find /home/masa -type l -print ./sfile1
findコマンドで、検索するディレクトリ「/home/masa」、検索対象の種類を指定する「-type」対象がシンボリックリンクであることを示す「l」検索結果の表示「-print」を指定すると、ディレクトリにあるすべてのシンボリックリンクファイルを表示する。
検索したファイルの詳細を表示したい場合は、検索結果の表示の指示を「-print」から「-ls」に代えてコマンドを実行する。
findコマンドでディレクトリと検索オプションを指定する$ find /home/masa -type l -ls 472637 0 lrwxrwxrwx 1 masa users 12 5月 16 18:06 ./sfile1 -> ./work/file1
オプション | 意 味 | |
---|---|---|
-type | 検索対象の種類を指定する | |
l | 検索対象の種類がシンボリックリンクファイルであることを示す引数 | |
検索結果のファイル名をフルパスで表示する | ||
-ls | 検索結果のファイルの情報を詳細に表示する |
$ find . -name \*~ -exec rm {} \;
findコマンドで、検索するディレクトリ「.」検索対象がファイル名であることを示す「-name」検索するファイル名「\*~」、検索結果を引数としてコマンドを実行する「-exec」、実行するコマンド「rm {}」コマンドの終了を表す「\;」を指定すると、findコマンドにより検索されたファイルが削除される。意図しないファイルを削除しないために、事前に同じ条件で検だけ実行して確認しておくとよい。
rm | 実行するコマンド |
{} | findの検索結果に置き換えられる部分 |
\; | コマンドの終了(エスケープ文字「\」と終了記号「;」) |
「{}」は、findの検索結果のファイル名で置き換えられる。「\」は、シェルが「;」を解釈するのを防ぐためのエスケープ文字で、「;」までがコマンド部分である。。
一度にコマンドを実行せずに、コマンドの実行許可を逐次求めながら行うには、「-exec」の代わりに「-ok」を指定する。コマンドを実行する場合は「y」、実行せずにスキップする場合は「n」を入力する。
findコマンドでディレクトリと検索オプションを指定する$ find . -name \*~ -ok rm {} \; < rm ... ./work/cat/a.txt~ > ? y < rm ... ./work/cat/b.txt~ > ? n < rm ... ./work/cat/c.txt~ > ? y < rm ... ./work/cat/e.txt~ > ? n < rm ... ./work/file3.txt~ > ? n < rm ... ./work/dir2/dir2_1/file1~ > ? n < rm ... ./work/dir3/file3.txt~ > ? n < rm ... ./work/cut/List3~ > ? n < rm ... ./work/cut/hdni1.txt~ > ? n < rm ... ./work/cut/hdni2.txt~ > ? n < rm ... ./work/cut/hdni3.txt~ > ? n < rm ... ./work/cut/hdni4.txt~ > ? y < rm ... ./work/cut/hdni1-.txt~ > ? n
オプション | 意 味 |
---|---|
-name | 検索対象をファイル名で指定する |
-exec | 検索結果を引数としてコマンドを実行する |
-ok | コマンド実行時に逐次実行許可を求める |
$ find . -name \*~ -print ./work/cat/a.txt~ ./work/cat/b.txt~ ./work/cat/c.txt~ ./work/cat/e.txt~ ./work/file3.txt~ ./work/dir2/dir2_1/file1~ ./work/dir3/file3.txt~ ./work/cut/List3~ ./work/cut/hdni1.txt~ ./work/cut/hdni2.txt~ ./work/cut/hdni3.txt~ ./work/cut/hdni4.txt~ ./work/cut/hdni1-.txt~
findコマンドで、検索するディレクトリ「.」検索対象がファイル名であることを示す「-name」検索するファイル名「\*~」、検索結果の表示「-print」を指定すると、ディレクトリにあるすべてのチルダファイル(ファイル名の末尾にチルダ「~」が付くバックアップファイル)を表示する。
オプション | 意 味 |
---|---|
-name | 検索対象をファイル名で指定する |
検索結果のファイル名をフルパスで表示する |
$ find . -name file1 -print ./work/dir1/file1 ./work/file1 ./work/dir2/dir2_1/file1 ./work/dir2/file1 ./work/dir3/file1
findコマンドで検索するディレクトリ「.」(カレントディレクトリ)、検索対象をファイル名で指定することを示す「-name」検索するファイル名「file1」、検索結果の表示「-print」を指定すると、指定したカレントディレクトリの下にあるすべてのファイルから「file1」を検索してその場所を表示する。
オプション | 意 味 |
---|---|
-name | 検索対象をファイル名で指定する |
検索結果のファイル名をフルパスで表示する |
$ find /work -user guest -type f -print /work/MKTG/Manual/fiel1
findコマンドで、検索するディレクトリ「/work」検索対象がユーザであることを示す「-user」検索するユーザ名「guest」、検索結果の表示「-print」を指定すると、指定したディレクトリの下にあるすべてのファイルからユーザguestが所有するファイルを検索してその場所を表示する。
検索したファイルの詳細を表示したい場合は、検索結果の表示の指示を「-print」から「-ls」に代えてコマンドを実行する。
findコマンドでディレクトリと検索オプションを指定する$ find /work -user guest -type f -ls 880617 4 -rw------- 1 guest mktg 256 5月 30 21:58 /work/MKTG/Manual/fiel1
オプション | 意 味 | |
---|---|---|
-user | 検索対象のユーザ名を指定する | |
-type | 検索対象の種類を指定する | |
f | 検索対象の種類がファイルであることを示す引数 | |
検索結果のファイル名をフルパスで表示する | ||
-ls | 検索結果のファイルの情報を詳細に表示する |
$ grep -Li 'kernel' * canna cron cups gdm httpd lastlog mail maillog redhat-config-network samba scrollkeeper.log secure spooler squid vbox wtmp
grepコマンドで、-Lオプションにiオプションを付け、検索する文字列「'kernel'」、検索対象のファイル「*」(すべてのファイル)を指定すると、文字列「kernel」を含まないファイルを大文字小文字の区別なく検索して表示する。検索する文字列は、引用符「'」で囲むこと。
grepコマンドのオプション | |
-L | 指定文字列を含まないファイル |
-i | 大文字小文字の区別をしない |
$ grep -li 'kernel' * XFree86.0.log XFree86.0.log.old XFree86.1.log boot.log dmesg ksyms.0 ksyms.1 ksyms.2 ksyms.3 ksyms.4 ksyms.5 ksyms.6 messages up2date
grepコマンドで、-lオプションにiオプションを付け、検索する文字列「'kernel'」、検索対象のファイル「*」(すべてのファイル)を指定すると、文字列「kernel」を大文字小文字の区別なく検索してファイルを表示する。検索する文字列は、引用符「'」で囲むこと。
grepコマンドのオプション | |
-l | 指定文字列を含むファイル |
-i | 大文字小文字の区別をしない |
$ grep -L 'kernel' * XFree86.0.log XFree86.0.log.old XFree86.1.log canna cron cups gdm httpd lastlog mail maillog redhat-config-network samba scrollkeeper.log secure spooler squid vbox wtmp
grepコマンドで、-Lオプションに検索する文字列「'kernel'」、検索対象のファイル「*」(すべてのファイル)を指定すると、文字列「kernel」を含まないファイルを表示する。検索する文字列は、引用符「'」で囲むこと。
grepコマンドのオプション | |
-L | 指定文字列を含まないファイル |
$ grep -l 'kernel' * boot.log dmesg ksyms.0 ksyms.1 ksyms.2 ksyms.3 ksyms.4 ksyms.5 ksyms.6 messages up2date
grepコマンドで、-lオプション、検索する文字列「'kernel'」、検索対象のファイル「*」(すべてのファイル)を指定すると、カレントディレクトリにある文字列「kernel」を含むファイルを表示する。検索する文字列は、引用符「'」で囲むこと。
grepコマンドのオプション | |
-l | 指定文字列を含むファイル |
grepコマンドは、大文字と小文字を区別するので、次のコマンドの結果は異なるものとなる。
$ grep -l 'Kernel' * XFree86.0.log XFree86.0.log.old XFree86.1.log boot.log dmesg messages