1. find
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
名称 : find
用法 : find path -option [ -print ] [ -exec -ok command ] {} \;
使用说明 :
将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过, 与cmin, atime, ctime,的记忆为a表示修改,c表示读过,time表示天,min表示分钟
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 档案类型是 c 的档案。d: 目录 c: 字型装置档案 b: 区块装置档案 p: 具名贮列 f: 一般档案 l: 符号连结 s: socket
-pid n : process id 是 n 的档案
你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
# find . -ctime -20
find . -name "*" -exec grep xxx {} ; -print |morexxx为你想要找的字符串
2. locate
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate命令的使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写。
3. whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令的使用实例:
$ whereis grep
4. which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which命令的使用实例:
$ which grep
5. type
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
type命令的使用实例:
$ type cd
系统会提示,cd是shell的自带命令(build-in)。
$ type grep
系统会提示,grep是一个外部命令,并显示该命令的路径。
$ type -p grep
加上-p参数后,就相当于which命令。
6 查看LINUX系统信息命令
[root@yufei ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
[root@yufei ~] # head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
[root@yufei ~] # cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
[root@yufei ~] # hostname # 查看计算机名的linux系统信息命令
[root@yufei ~] # lspci -tv # 列出所有PCI设备
[root@yufei ~] # lsusb -tv # 列出所有USB设备的linux系统信息命令
[root@yufei ~] # lsmod # 列出加载的内核模块
[root@yufei ~] # env # 查看环境变量资源
[root@yufei ~] # free -m # 查看内存使用量和交换区使用量
[root@yufei ~] # df -h # 查看各分区使用情况
[root@yufei ~] # du -sh # 查看指定目录的大小
[root@yufei ~] # grep MemTotal /proc/meminfo # 查看内存总量
[root@yufei ~] # grep MemFree /proc/meminfo # 查看空闲内存量
[root@yufei ~] # uptime # 查看系统运行时间、用户数、负载
[root@yufei ~] # cat /proc/loadavg # 查看系统负载磁盘和分区
[root@yufei ~] # mount | column -t # 查看挂接的分区状态
[root@yufei ~] # fdisk -l # 查看所有分区
[root@yufei ~] # swapon -s # 查看所有交换分区
[root@yufei ~] # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
[root@yufei ~] # dmesg | grep IDE # 查看启动时IDE设备检测状况网络
[root@yufei ~] # ifconfig # 查看所有网络接口的属性
[root@yufei ~] # iptables -L # 查看防火墙设置
[root@yufei ~] # route -n # 查看路由表
[root@yufei ~] # netstat -lntp # 查看所有监听端口
[root@yufei ~] # netstat -antp # 查看所有已经建立的连接
[root@yufei ~] # netstat -s # 查看网络统计信息进程
[root@yufei ~] # ps -ef # 查看所有进程
[root@yufei ~] # top # 实时显示进程状态用户
[root@yufei ~] # w # 查看活动用户
[root@yufei ~] # id # 查看指定用户信息
[root@yufei ~] # last # 查看用户登录日志
[root@yufei ~] # cut -d: -f1 /etc/passwd # 查看系统所有用户
[root@yufei ~] # cut -d: -f1 /etc/group # 查看系统所有组
[root@yufei ~] # crontab -l # 查看当前用户的计划任务服务
[root@yufei ~] # chkconfig –list # 列出所有系统服务
[root@yufei ~] # chkconfig –list | grep on # 列出所有启动的系统服务程序
[root@yufei ~] # rpm -qa # 查看所有安装的软件包
[root@yufei ~] # cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令
[root@yufei ~] # cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令
[root@yufei ~] # cat /proc/meminfo # 查看linux系统内存信息的linux系统命令
[root@yufei ~] # cat /proc/version # 查看版本,类似uname -r
[root@yufei ~] # cat /proc/ioports # 查看设备io端口
[root@yufei ~] # cat /proc/interrupts # 查看中断
[root@yufei ~] # cat /proc/pci # 查看pci设备的信息
[root@yufei ~] # cat /proc/swaps # 查看所有swap分区的信息
以上命令如果说没有,那么在RHEL6的系统上,你可以用yum provides “*/lspci”这样类似的命令来查询,然后安装相应的软件包就可以了。
最后分享一个硬件信息查看脚本,很好很强大的,而且还可以带参数,用-h来获得详细帮助。