Skip to content Skip to main navigation Skip to footer

Linux下如何只显示目录名或者普通文件名

linux find 命令linux下显示文件的时候或者查询文件的时候,如何只显示出目录文件的名字或者普通文件的名字呢?
当然,大家可能想到的第一个命令是“ls”来显示目录下的文件,但是“ls”命令显示的结果不能只显示目录文件,这个时候我们就需要考虑将ls命令和grep命令相结合来使用。

显示出当前目录下的所有的目录文件
输入下面的命令:

# ls -l | egrep '^d'
 


只显示当前目录下的普通文件
输入下面的命令:

#ls -l | egrep -v '^d'
 

上面用到egrep命令是grep命令的增强版本,它会通过后面的匹配模式(‘^’)来过滤由管道符传来的字符串。如果想显示非匹配到的普通文件,那么可以加”-v” 选项用来反转查找。
如果在平时工作的时候会经常需要上面的操作(只显示目录或只显示文件),那么可以创建别名,这样可以节省很多时间。

alias lf="ls -l | egrep -v '^d'"
alias ldir="ls -l | egrep '^d'"
 

将上面的两行alias命令放入bash shell的启动文件.bash_profile里,这样每次启动新的shell程序的时候,都会自动执行。
示例:
1.通过输入下面的命令来只显示出普通文件名

[root@devops ~]# lf
总用量 176
-rw-------. 1 root root    1124 12月 12 2013 anaconda-ks.cfg
-rw-------. 1 root root  184320 12月 12 2013 core.2410
-rw-r--r--. 1 root root   14540 11月  5 2012 epel-release-6-8.noarch.rpm
-rwxr--r--. 1 root root     257 12月 13 2013 GetCheckCpu.sh
-rwxr--r--. 1 root root     258 12月 13 2013 GetCheckMem.sh
-rw-r--r--. 1 root root    3827 12月 12 2013 install.log.syslog
-rw-r--r--. 1 root root     322 4月  18 04:28 rmdir.py
-rw-r--r--. 1 root root     219 4月  18 01:31 rmfile1.py
-rw-r--r--. 1 root root     170 4月  18 01:46 rmfile2.py
-rwxr--r--. 1 root root     160 4月  18 01:56 rmfile.py
-rwxr-xr-x. 1 root root    6293 12月 12 2013 seg
-rw-r--r--. 1 root root      96 12月 12 2013 seg.c
-rwxr-xr-x. 1 root root    7822 4月  18 10:19 test
-rw-r--r--. 1 root root      67 4月  18 10:10 test.c
-rw-r--r--. 1 root root      75 4月  18 10:18 test.C
-rw-rw-r--. 1 root root       0 4月  16 08:57 test.log
-rw-r--r--. 1 root root       0 2月  27 06:59 testmv
-rw-r--r--. 1 root root       0 2月  27 07:00 test.txt
 

2.只显示出当期目录的目录文件名

[root@devops ~]# ldir
drwxr-xr-x. 2 root users   4096 4月  16 09:05 testdir
drwxr-xr-x. 2 root root    4096 6月  28 22:12 testdir2
drwxr-xr-x. 2 root root    4096 6月  28 22:12 testdir3
[root@devops ~]#
 


通过Find 命令来只显示普通文件名或目录文件名
1.输入下面的find命令来显示出/home目录下的所有的目录文件名

[root@devops home]# find /home -type d -ls
391685    4 drwxr-xr-x   8 root     root         4096 4月 16 15:29 /home
391763    4 drwx------   4 USER1    USER1        4096 4月 16 11:44 /home/USER1
391764    4 drwxr-xr-x   4 USER1    USER1        4096 12月 12  2013 /home/USER1/.mozilla
392065    4 drwxr-xr-x   2 USER1    USER1        4096 8月 18  2010 /home/USER1/.mozilla/extensions
392066    4 drwxr-xr-x   2 USER1    USER1        4096 8月 18  2010 /home/USER1/.mozilla/plugins
392070    4 drwxr-xr-x   2 USER1    USER1        4096 11月 12  2010 /home/USER1/.gnome2
392079    4 drwx------   4 user2    user2        4096 4月 16 15:29 /home/user2
392080    4 drwxr-xr-x   4 user2    user2        4096 12月 12  2013 /home/user2/
 

搞定!
更多参考:
1.grep 命令
2. grep显示匹配到的行数目
3.grep如何同时查找多个字符串匹配

0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.