Linux findコマンドインスタンスチュートリアル15 findコマンドの使い方
ディレクトリ構造の下でファイルを検索するという基本的な操作に加えて、findコマンドでいくつかの実用的な操作を実現することができ、コマンドラインの旅をより簡単にすることができます。
初心者にもベテランにも役立つLinux findコマンド15種類をご紹介します。まず、ホームディレクトリの下に次の空のファイルを作成し、次のfindコマンドの例をテストします。
コードのコピー
# vim create_sample_files.sh
touch MybashProgram.sh
touch mycprogram.c
touch MyCProgram.c
touch Program.c
mkdir backup
cd backup
touch MybashProgram.sh
touch mycprogram.c
touch MyCProgram.ctouch Program.c
# chmod +x create_sample_files.sh
# ./create_sample_files.sh
# ls -R
.:backup MybashProgram.sh MyCProgram.c
create_sample_files.sh mycprogram.c Program.c
./backup:
MybashProgram.sh mycprogram.c MyCProgram.c Program.c
1.ファイル名でファイルを検索
コードのコピー
# find -name "MyCProgram.c"
./backup/MyCProgram.c
./MyCProgram.c
2.ファイル名でファイルを検索し、大文字と小文字を無視
コードのコピー
# find -iname "MyCProgram.c"./mycprogram.c
./backup/mycprogram.c
./backup/MyCProgram.c./MyCProgram.c
3.mindepthとmaxdepthを使用して、指定したディレクトリの検索の深さを制限します。
コードのコピー# find / -name passwd
./usr/share/doc/nss_ldap-253/pam.d/passwd
./usr/bin/passwd./etc/pam.d/passwd
./etc/passwd
rootディレクトリとその1階層の深いサブディレクトリでpasswdを検索します。(例えばroot-level 1,and one sub-directory-level 2)コードのコピー
# find -maxdepth 2 -name passwd
./etc/passwd
コードのコピー
# find / -maxdepth 3 -name passwd
./usr/bin/passwd./etc/pam.d/passwd
./etc/passwd
第2層サブディレクトリと第4層サブディレクトリの間でpasswdファイルを検索します。
コードのコピー
# find -mindepth 3 -maxdepth 5 -name passwd
./usr/bin/passwd
./etc/pam.d/passwd
4.findコマンドで見つけたファイルでコマンドを実行する
コードのコピー
find -iname "MyCProgram.c" -exec md5sum {} \;
d41d8cd98f00b204e9800998ecf8427e ./mycprogram.c
d41d8cd98f00b204e9800998ecf8427e ./backup/mycprogram.c
d41d8cd98f00b204e9800998ecf8427e ./backup/MyCProgram.c
d41d8cd98f00b204e9800998ecf8427e ./MyCProgram.c
5.逆照合
コードのコピー
find -maxdepth 1 -not -iname "MyCProgram.c"
.
./MybashProgram.sh
./create_sample_files.sh
./backup
./Program.c 6.inode番号を使用してファイルを検索コードのコピー
touch "test-file-name"
# touch "test-file-name "
[Note: There is a space at the end]