Linuxの一般的なコマンド - ファイル検索コマンド
、コマンドを見つける:ディレクトリ内の指定されたファイルを見つけます
findコマンドは、指定した検索条件が大きすぎる場合は、findコマンドは、過度の圧力のサービスで、その結果、より多くのシステムリソースを消費しますが、ハードディスクに直接検索することです。したがって、検索するfindコマンドを使用するときに、より正確な検索しよう、そう少ないシステムリソースを消費し、高速な検索。
次のようにfindコマンドの基本的な情報は以下のとおりです。
- コマンド名:見つけます
- パス:/ binに/見つけます
- フォーマット:コンテンツを検索するための検索パスを見つけます
- すべてのユーザー:実行アクセス許可
- 説明:ディレクトリ内のファイルを検索
(1)ファイル名で検索を
-name:ファイル名で検索し、Windowsの検索では、限り、ファイル名は、初期化が含まれているようにして検索されますが、Linuxには、まったく同じリストや検索キーワードを持っていますが、コマンドが完全に一致する見つけ、それは検索を絞り込みます。
[root@root 桌面]# find /etc -name init
/etc/kdump-adv-conf/kdump_initscripts/init
/etc/init
/etc/sysconfig/init
ワイルドカードを使用してください:*は、すべての一致を示す,? これは、単一文字の一致を示します。
[root@root 桌面]# find /etc -name *init*
/etc/festival/siteinit.scm
/etc/X11/xinit
/etc/X11/xinit/xinitrc-common
/etc/X11/xinit/xinitrc.d
/etc/X11/xinit/xinitrc
/etc/pam.d/run_init
/etc/kdump-adv-conf/kdump_initscripts
......
[root@root 桌面]# find /etc -name init???
/etc/inittab
[root@root 桌面]# find /etc -name init??
/etc/init.d
/etc/rc.d/init.d
Linuxの場合、厳密には大文字と小文字が区別され、大文字と小文字を区別しない、あなたが望むなら、あなたは-iname使用することができます。ファイル名で検索しますが、ファイル名を区別しません。
[root@root 桌面]# find /etc -name init???
/etc/inittab
[root@root 桌面]# touch /etc/INITTAB
[root@root 桌面]# find /etc -name init???
/etc/inittab
[root@root 桌面]# find /etc -iname init???
/etc/INITTAB
/etc/inittab
(2)検索のファイルサイズに応じて:-sizeサイズ:+ n個の-N未満に等しいnよりも大きいです
1 = 512K 2048ブロック= 10M。
[root@root 桌面]# find /etc -size +2048
/etc/selinux/targeted/policy/policy.24
/etc/selinux/targeted/modules/active/policy.kern
/etc/gconf/gconf.xml.defaults/%gconf-tree.xml
(3)クエリの所有者によると:-userオーナー
注:所有者、作成者を参照し、所有者、配置されているグループの作成者を指します。
[root@redhat 桌面]# find /home -user root
/home
/home/zhangsan/zhang
/home/vftpusers/guest
(4)所有者のクエリに基づいて
[root@redhat 桌面]# find /home -user root
/home
/home/zhangsan/zhang
/home/vftpusers/guest
(5)時間属性クエリに基づいて:
- - アミン:アクセス時間
- -cmin:変更ファイルの属性(情報の使用を見ることがls -lで)
- -mmin:ファイルの内容を変更します
[root@root 桌面]# find /etc -mmin -30
/etc
/etc/vmware-tools
/etc/gconf/gconf.xml.defaults
/etc/gconf/gconf.xml.mandatory
/etc/gconf/gconf.xml.system
/etc/resolv.conf
/etc/mtab
/etc/tpvmlp.conf
(6)-a:2つの条件が満たされ; -oは、2つの条件のいずれかが満たされることができる。-type:ファイルタイプ。F - >ファイル、D - >ディレクトリ、L - >ソフトリンクファイル
[root@root 桌面]# find /etc -name init* -a -type f
/etc/kdump-adv-conf/kdump_initscripts/init
/etc/inittab
/etc/selinux/targeted/contexts/initrc_context
/etc/init/init-system-dbus.conf
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/sysconfig/init
(7)-exec / -ok:/ -ok 2 -exec扱わによって呼び出されるコマンドにfindコマンドの結果。「{}」の結果を照会するfindコマンドの代わりに。
[root@root 桌面]# find /etc -name inittab
/etc/inittab
[root@root 桌面]# find /etc -name inittab -exec ls -l {} \;
-rw-r--r--. 1 root root 884 6月 22 19:26 /etc/inittab
[root@root 桌面]# find /etc -name inittab -ok ls -l {} \;
< ls ... /etc/inittab > ? y
-rw-r--r--. 1 root root 884 6月 22 19:26 /etc/inittab
二、コマンドを探します。ファイルライブラリ内のファイルを検索します
これとは対照的にコマンドを見つけるために、コマンドを見つけ、それは非常に高速な検索で、かつ非常に少ないシステムリソースを消費します。locateコマンドは、それがすぐに検索コマンドを見つけることです、直接ハードディスクの空き容量を検索しませんが、最初のデータベースを検索確立し、その後、データベース内のファイル名で検索するためです。
次のようにこのlocateコマンドの基本的な情報は以下のとおりです。
- コマンド名:探し
- パス:/ usr / bin /突き止めます
- すべてのユーザー:実行アクセス許可
- 説明:名前で検索ファイルファイル
1、ファイル名を検索します
注記:この実験は成功しませんでした!
[root@redhat 桌面]# locate inittab
/etc/inittab
/usr/share/man/man5/inittab.5.gz
/usr/share/vim/vim72/syntax/inittab.vim
2は、欠点を見つける見つけ、それは我々が新しいドキュメントをビルドする場合は、ファイルを見つけることができないコマンドを見つけることです。locateデータベースをリアルタイムで更新することはできませんので、私たちはクエリを手動updatedbをすることができます。
[root@redhat 桌面]# locate inittab
/etc/inittab
/usr/share/man/man5/inittab.5.gz
/usr/share/vim/vim72/syntax/inittab.vim
3、文書リポジトリコマンドは、/ tmpにこの一時ファイルに含まれていません見つけます。
[root@root ~]# touch /tmp/zhaoliying
[root@root ~]# updatedb
[root@root ~]# locate zhaoliying
[root@root ~]#
あなたは、大文字と小文字を区別しない場合は、ファイルを見つけるために、locateコマンドを使用すると、-iオプションを追加することができます4、。
[root@root ~]# touch TANGYAN
[root@root ~]# updatedb
[root@root ~]# locate tangyan
[root@root ~]# locate -i tangyan
/root/TANGYAN
[root@root ~]#
コマンドリストをパス場所:コマンドスリー、
次のようにどのコマンドの基本的な情報は以下のとおりです。
- コマンド名:どの
- パス:/ usr / bin /れ
- すべてのユーザー:実行アクセス許可
- 機能の説明:すべてのコマンドパスを一覧表示します
一方、バイナリを照会するコマンドをコマンドが別名を持っている場合、あなたはまた、コマンドエイリアスを見つけることができます。
[root@root ~]# which cp
alias cp='cp -i'
/bin/cp
[root@root ~]# which useradd
/usr/sbin/useradd
[root@root ~]# which rm
alias rm='rm -i'
/bin/rm
[root@root ~]# which ifconfig
/sbin/ifconfig
[root@root ~]#
エイリアスフィールドの後ろ例えば、aliasコマンドです:私たちはrmコマンド自体は何のメッセージが、Linuxシステムではありません実行するときに我々は、ファイルを削除するかどうかのメッセージを、持っている理由、RMは、RMの-iの別名でありますか?
注:定義エイリアス
フォーマット:別名=エイリアスコマンドパス'
例:
別名DIR =「は/ usr / binに/ LS'
エイリアスRMは= 'は/ usr / binに/ RM -i'
[root@root ~]# cd /tmp
[root@root tmp]# touch tangyan
[root@root tmp]# rm tangyan
rm:是否删除普通空文件 "tangyan"?
四、whereisはコマンド:コマンド検索ディレクトリのファイルパスとヘルプ
whereisはコマンドでは、コマンド検索システム、つまり、whereisはコマンドは、通常のファイルを検索することはできませんが、唯一のシステムコマンドを検索することができます。次のようにコマンドwhereisは基本的な情報は以下のとおりです。
- コマンド名:whereisは
- パス:/ usr / bin / whereisは
- すべてのユーザー:実行アクセス許可
- 説明:バイナリコマンド、コマンドのソース・ファイル、およびヘルプドキュメントを検索
whereisはコマンドだけではなく、コマンドは、文書の検索パスを助けることができるディレクトリを検索し、検索コマンドについてのパス、whereisはコマンドとそのコマンドには本質的な違いはありません。
[root@root tmp]# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz
[root@root tmp]# whereis rm
rm: /bin/rm /usr/share/man/man1p/rm.1p.gz /usr/share/man/man1/rm.1.gz
五、grepコマンド:出力ファイルの行でのマッチの検索
次のようにgrepコマンドの基本的な情報は以下のとおりです。
- コマンド名:グレップ
- パス:/ binに/ grepを
- フォーマット:grepの検索パスを検索します
- すべてのユーザー:実行アクセス許可
- 説明:文書と出力ラインでの試合を検索
1、オプション:-i(大文字と小文字を無視する)-v(ルックアップI逆)
[root@root tmp]# grep multiuser /etc/inittab
# 3 - Full multiuser mode
[root@root tmp]# grep -i multiuser /etc/inittab
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
[root@root tmp]# grep -v "#" /etc/inittab
id:5:initdefault:
2.検索条件:
"^文字列" 例:grepの "^#" の/ etc / inittabファイルで始まる文字列を探します
[root@root tmp]# grep "^#" /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#.......
たとえば、「文字列$」:最後に文字列を探してはgrep「)$」は/ etc / inittabファイル
[root@root tmp]# grep ")$" /etc/inittab
# 0 - halt (Do NOT set initdefault to this)
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 6 - reboot (Do NOT set initdefault to this)
たとえば、 "^ $"::grepの ")$" は/ etc / inittabの空白行を探します
[root@root tmp]# grep "^$" /etc/yum.conf
[root@root tmp]#
六、トイレコマンド:統計コマンド
次のようにWCコマンドの基本的な情報は以下のとおりです。
- コマンド名:WC
- パス:/ usr / bin / binに
- すべてのユーザー:実行アクセス許可
- 統計情報ファイル:機能の説明
次のようにトイレコマンドのパラメータは次のとおりです。
- -l:ファイルWCの-lは、統計情報が必要になります。このような行の数などの統計を
- -w:WC -wは、統計ファイルを必要とする次のような単語の数を数えます
- -c:そのようなバイト数などの統計:統計情報を必要とするWC -cファイル
[root@root tmp]# wc -l /etc/services
10774 /etc/services
[root@root tmp]# wc -w /etc/services
58108 /etc/services
[root@root tmp]# wc -c /etc/services
641020 /etc/services
[root@root tmp]#