首页 > 代码库 > Linux下基础命令(一)

Linux下基础命令(一)

  每天积累知识就会有成长,只要付出在不久的将来一定会有收获,可能回来的晚点,但是一定要贵在坚持,今天第一次发博客,如不出意外情况我每天都会发的,这个是我总结的find命令的一些实战,希望我总结的知识点在今后会对大家有帮助。




find 




-name  "*a"  #以a结尾的文件或目录

-name  "a*"  #以a开头的文件或目录

-name  "*a*" #文件名中带有a字符的文件或目录 




命令的形式


格式:find    pathname    –options    [-print]

    命令字   路径名称     选项      输出

参数:

pathname: find命令所查找的目录路径。例如用 . 来表示当前目录,用 / 来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

find命令选项:

-name 按照文件名查找文件。  “名称”

-perm 按照文件权限来查找文件。666 777 等

-prune 使用这一选项可以使find命令不在当前指定的目录中查找(排除)如果同时使用-depth选项,那么-prune将被find命令忽略

-depth在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找

-user 按照文件属主来查找文件

-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在

-group 按照文件所属的组来查找文件

-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在


-mtime –n  / +n 按照文件的更改时间来查找文件,

- n表示文件更改时间距现在n天以内

+ n表示文件更改时间距现在n天以前


-type 查找某一类型的文件

b - 块设备文件

d - 目录

c - 字符设备文件

p - 管道文件

l- 符号链接文件

f - 普通文件

-size n [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计

-exec对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为‘ 命令 {} \;,注意{ }和 \;之间的空格,{}代表查到的内容

-fstype查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount在查找文件时不跨越文件系统mount点。

-follow如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。


1.查找/目录下的以a开头的文件


[root@centos-6-1 ~]# find / -name a.*

/a.txt

[root@centos-6-1 ~]# 


2.查找当前目录下文件权限为644的文件


[root@centos-6-1 ~]# find ./ -perm 644

/root/ac

/root/.tcshrc

/root/install.log.syslog

/root/.bashrc

/root/.cshrc

/root/install.log

/root/.bash_logout

/root/a10

/root/.bash_profile

[root@centos-6-1 ~]# 


3.查找/目录下名称为aaa的文件或目录


[root@centos-6-1 ~]# find / -name aaa

/aaa

/root/aaa

[root@centos-6-1 ~]# 


4.查找/etc/目录下以文件权限为644 的文件或目录,先查看当前目录然后再查其次子目录


[root@centos-6-1 ~]# find   /etc/ -depth   -perm 644    

/etc/login.defs

/etc/adjtime

/etc/rwtab

/etc/printcap

/etc/xdg/autostart/imsettings-start.desktop

/etc/xdg/autostart/restorecond.desktop

/etc/xdg/autostart/gnome-keyring-daemon.desktop

...........


5.查找/etc 目录下所属主是root的文件或目录,只显示前10行


[root@centos-6-1 ~]# find /etc/ -user root | head -10

/etc/

/etc/login.defs

/etc/rc

/etc/adjtime

/etc/rwtab

/etc/xinetd.d

/etc/printcap

/etc/sudoers.d

/etc/xdg

/etc/xdg/autostart

[root@centos-6-1 ~]# 


后10行


[root@centos-6-1 ~]# find /etc/ -user root  | tail -10 

/etc/rc.d/rc4.d/S10network

/etc/rc.d/rc4.d/K89netconsole

/etc/rc.d/rc4.d/S80postfix

/etc/rc.d/rc4.d/S11auditd

/etc/rc.d/rc4.d/S08iptables

/etc/rc.d/rc4.d/K89rdisc

/etc/rc.d/rc4.d/S26udev-post

/etc/rc.d/rc4.d/S55sshd

/etc/rc.d/rc4.d/K10saslauthd

/etc/rc.d/rc4.d/S50kdump

[root@centos-6-1 ~]# 



6.查找/etc/目录下 所属组和所属主都是root 先查看当前目录然后再查其次子目录 显示前10行  


[root@centos-6-1 ~]# find /etc/  -depth -user root -group root | head -10 

/etc/login.defs

/etc/rc

/etc/adjtime

/etc/rwtab

/etc/xinetd.d

/etc/printcap

/etc/sudoers.d

/etc/xdg/autostart/imsettings-start.desktop

/etc/xdg/autostart/restorecond.desktop

/etc/xdg/autostart/gnome-keyring-daemon.desktop


[root@centos-6-1 ~]# ll /etc/login.defs 

-rw-r--r--. 1 root root 1816 2月   9 2016 /etc/login.defs

[root@centos-6-1 ~]# 




无读写执行文件的权限也可以删除,前提是要备份 


[root@centos-6-1 proc]# ll /etc/shadow

----------. 1 root root 612 6月   7 18:05 /etc/shadow

[root@centos-6-1 proc]# rm -rf /etc/shadow

[root@centos-6-1 proc]# ls




7.查看/apps目录下文件但不查看/apps/bin目录


[root@centos-6-1 ~]# find /apps   -path "/apps/bin/"  -prune -o -print 

/apps

/apps/aaa

/apps/bin

[root@centos-6-1 ~]# 


8.查看/目录下类型为目录,名称为aaa 并查看 


[root@centos-6-1 ~]# find /  -type d -name aaa -ls 

3670017    4 drwxr-xr-x   2 root     root         4096 6月  7 18:54 /aaa

3276811    4 drwxr-xr-x   2 root     root         4096 6月 19 14:34 /root/aaa

[root@centos-6-1 ~]# 


9.删除/目录下aaa文件


[root@centos-6-1 ~]# find /  -name aaa -ls 

3538947    0 -rw-r--r--   1 root     root            0 6月 20 15:01 /apps/aaa

3670017    4 drwxr-xr-x   2 root     root         4096 6月  7 18:54 /aaa

3276811    4 drwxr-xr-x   2 root     root         4096 6月 19 14:34 /root/aaa

[root@centos-6-1 ~]# 

[root@centos-6-1 ~]# 

[root@centos-6-1 ~]# 

[root@centos-6-1 ~]# find / -type f  -name aaa -delete 

[root@centos-6-1 ~]# 

[root@centos-6-1 ~]# 

3670017    4 drwxr-xr-x   2 root     root         4096 6月  7 18:54 /aaa

3276811    4 drwxr-xr-x   2 root     root         4096 6月 19 14:34 /root/aaa

[root@centos-6-1 ~]# 


10.查看目录名称为aaa并查看目录下所有文件或目录 


[root@centos-6-1 ~]# find /  -type d -name aaa | xargs ls 

/aaa:

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repoCentOS-Media.repo  CentOS-Vault.repo


/root/aaa:

[root@centos-6-1 ~]# 


11.查看/etc/下 以a开头的文件或目录   并以长格式显示 


[root@centos-6-1 ~]# find /etc/ -depth   -name "a*"    -exec ls -l {} \;

-rw-r--r--. 1 root root 46 6月  19 17:28 /etc/adjtime

总用量 12

-rw-r--r--. 1 root root 2733 10月  4 2012 gnome-keyring-daemon.desktop

-rw-r--r--. 1 root root 2178 6月  22 2012 imsettings-start.desktop

-rw-r--r--. 1 root root  173 5月  11 2016 restorecond.desktop

总用量 0

lrwxrwxrwx. 1 root root 23 6月   7 18:02 bin-iptables-xml.x86_64 -> /bin/iptables-xml-1.4.7

lrwxrwxrwx. 1 root root 21 6月   7 18:02 ip6tables.x86_64 -> /sbin/ip6tables-1.4.7

lrwxrwxrwx. 1 root root 20 6月   7 18:02 iptables.x86_64 -> /sbin/iptables-1.4.7

lrwxrwxrwx. 1 root root 30 6月   7 18:02 libip4tc000.x86_64 -> /lib64/libip4tc.so.0.0.0-1.4.7

lrwxrwxrwx. 1 root root 26 6月   7 18:02 libip4tc0.x86_64 -> /lib64/libip4tc.so.0-1.4.7

lrwxrwxrwx. 1 root root 30 6月   7 18:02 libip6tc000.x86_64 -> /lib64/libip6tc.so.0.0.0-1.4.7

lrwxrwxrwx. 1 root root 26 6月   7 18:02 libip6tc0.x86_64 -> /lib64/libip6tc.so.0-1.4.7


返回提示信息是否


[root@centos-6-1 ~]# find /  -depth -name "*a"   -ok  ls -l  {} \;

< ls ... /usr/lib64/nss/unsupported-tools/btoa > ? y

-rwxr-xr-x. 1 root root 10408 5月  11 2016 /usr/lib64/nss/unsupported-tools/btoa

< ls ... /usr/lib64/krb5/plugins/authdata > ? 


12.查看3天以内修改过的文件 


[root@centos-6-1 ~]# find /root/ -mtime -3 

/root/

/root/ac

/root/.bash_history

/root/aaa

/root/a10

/root/.Xauthority

[root@centos-6-1 ~]# 


13.查看1天以前修改过的文件


[root@centos-6-1 ~]# find /root/ -mtime +1 

/root/.tcshrc

/root/install.log.syslog

/root/.bashrc

/root/.cshrc

/root/install.log

/root/.bash_logout

/root/anaconda-ks.cfg

/root/.bash_profile

[root@centos-6-1 ~]# 


14.查看/etc 目录下 除了文件以外的类型都显示,显示前10行


[root@centos-6-1 ~]# find /etc    -depth  ! -type  f  | head -10

/etc/rc

/etc/xinetd.d

/etc/sudoers.d

/etc/xdg/autostart

/etc/xdg

/etc/gnupg

/etc/pkcs11/modules

/etc/pkcs11

/etc/statetab.d

/etc/cron.d

[root@centos-6-1 ~]# 




15.查看/etc目录下 大于1M的文件 


[root@centos-6-1 ~]# find /etc/ -size +1M 

/etc/selinux/targeted/policy/policy.24

/etc/selinux/targeted/modules/active/policy.kern

[root@centos-6-1 ~]# 


[root@centos-6-1 ~]# du -sh /etc/selinux/targeted/policy/policy.24

8.1M/etc/selinux/targeted/policy/policy.24

[root@centos-6-1 ~]# 

[root@centos-6-1 ~]# du -sh /etc/selinux/targeted/modules/active/policy.kern

8.1M/etc/selinux/targeted/modules/active/policy.kern

[root@centos-6-1 ~]# 



16.查看/etc/目录下 大于10块的文件 前10个 (1b=512字节)一块等于512字节


[root@centos-6-1 ~]# find /etc/ -depth -size +10b | head -10 

/etc/sound/events/gtk-events-2.soundlist

/etc/sound/events/gnome-2.soundlist

/etc/rdma/fixup-mtrr.awk

/etc/sysconfig/network-scripts/ifup-ib

/etc/sysconfig/network-scripts/ifup-ippp

/etc/sysconfig/network-scripts/network-functions

/etc/sysconfig/network-scripts/ifdown-eth

/etc/sysconfig/network-scripts/ifup-eth

/etc/sysconfig/network-scripts/network-functions-ipv6

/etc/sysconfig/network-scripts/ifup-aliases

[root@centos-6-1 ~]# 


17.查看/etc 目录下 大于20k小于50k的文件或目录  


[root@centos-6-1 ~]# find /etc/ -size +20k  -size -50k 

/etc/sound/events/gnome-2.soundlist

/etc/sysconfig/network-scripts/network-functions-ipv6

/etc/postfix/main.cf

/etc/ld.so.cache

/etc/makedev.d/01linux-2.6.x

/etc/selinux/targeted/modules/active/modules/cups.pp

/etc/selinux/targeted/modules/active/modules/samba.pp

/etc/selinux/targeted/modules/active/modules/unprivuser.pp

/etc/selinux/targeted/modules/active/modules/virt.pp

/etc/selinux/targeted/modules/active/modules/apache.pp

/etc/selinux/targeted/modules/active/modules/postfix.pp

/etc/selinux/targeted/modules/active/modules/xguest.pp

/etc/selinux/targeted/modules/active/modules/nagios.pp

/etc/selinux/targeted/modules/active/modules/rhcs.pp

/etc/selinux/targeted/modules/active/modules/staff.pp

/etc/selinux/targeted/modules/active/modules/unconfineduser.pp

/etc/rc.d/init.d/kdump

/etc/rc.d/init.d/functions


[root@centos-6-1 ~]# du -sh /etc/sound/events/gnome-2.soundlist

28K/etc/sound/events/gnome-2.soundlist

[root@centos-6-1 ~]# 


18.查找/etc/目录下以文件权限为644 或者 文件名为dsafadwfwqer


[root@centos-6-1 ~]# find /etc/  -depth  -perm 644 -o -name "dsafadwfwqer" | head -10

/etc/login.defs

/etc/adjtime

/etc/rwtab

/etc/printcap

/etc/xdg/autostart/imsettings-start.desktop

/etc/xdg/autostart/restorecond.desktop

/etc/xdg/autostart/gnome-keyring-daemon.desktop

/etc/sysctl.conf

/etc/cron.d/0hourly

/etc/logrotate.conf

[root@centos-6-1 ~]# 


19.查找/etc/目录下以文件权限为644 而且要满足 文件名为dsafadwfwqer


[root@centos-6-1 ~]# find /etc/ -perm 644 -a -name "dsafadwfwqer" 

/etc/dsafadwfwqer

[root@centos-6-1 ~]# 


20.第一个命令不成功则输出hahaha


[root@centos-6-1 ~]# dsafdsafqewrqewr || echo "hahaha"

-bash: dsafdsafqewrqewr: command not found

hahaha

[root@centos-6-1 ~]# echo $?

0

[root@centos-6-1 ~]# 


本文出自 “linuxtouch” 博客,请务必保留此出处http://linuxtouch.blog.51cto.com/12429083/1941017

Linux下基础命令(一)