詳細一般的なファイル検索コマンドのLinuxコマンド(探し、見つける、whereisは、grepを、WC)

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]# 

おすすめ

転載: blog.csdn.net/weixin_45116657/article/details/94434716
おすすめ