Linux 常用命令

来源:互联网 发布:2016学生调查数据提交 编辑:程序博客网 时间:2024/06/08 02:41

文件搜索命令

locate + 文件名

在后台数据库(/var/lib/mlocate/mlocate.db)在ubuntu 10.04中按照文件名搜索,不需要遍历整个文件系统,搜索速度快。

备注:数据库并不是实时更新,如果要找到新创建的文件,需要更新数据库。利用命令:updatedb

配置文件是: vim /etc/updatedb.conf

PRUNE_BIND_MOUNTS="yes"    #以下筛选规则所有生效,以下都不搜索# PRUNENAMES=".git .bzr .hg .svn" PRUNEPATHS="/tmp /var/spool /media"PRUNEFS="NFS nfs nfs4 rpc _pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs ecryptfs fusesmb devtmpfs vmhgfs"

find + [搜索范围] + [搜索条件]   

find  /soft  -name tftpd

find  /soft  -iname tftpd (不区分大小写)

find  /soft  -mtime +10  

mtime 修改文件内容;atime 访问文件;ctime  修改文件属性

10  10天当天修改的文件;+10 十天之前修改 ; -10 10天内。

find  /soft  -size  25k  查找大小是25k的文件

25k 等于25k; +25k 大于25k; -25k 小于25k。(k要小写,M要大写)

find  /soft  -inum + [inode号]

find  /soft  -size  +25k  -a -size -50k   (显示大于25k且小于50k的文件)

-a 是逻辑与

find  /soft  -size  +50k  -o -size -25k   (显示大于50k或小于25k的文件)

-o 是逻辑或

find  /soft  -size  +25k  -a -size -50k  -exec ls -lh {} \; (注意结尾的分号)

备注:find是完全匹配,* 是匹配任意字符;? 匹配一个字符; [ ] 匹配一个中括号内容

root@liujie-desktop:/# find /soft -name tftpd/soft/tftp-1.0/tftpd

命令搜索命令

whereis + 命令名,(where cd 会没有找到,因为cd是shell自带命令)

输出命令所在路径和其帮助文档所在路径。

which + 命令名

输出命令所在路径和其别名。

备注:echo$PATH  系统搜索命令的路径即环境变量

root@liujie-desktop:/# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/arm-2009q3/bi

字符串匹配命令:

grep + “字符串”   显示包含该字符串

grep -v +“字符串”   显示不包含该字符串

root@liujie-desktop:/# ps -ef | grep tftproot      1476     1  0 11:53 ?        00:00:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 -l -c -s /tftpbootroot      3851  2014  0 12:58 pts/0    00:00:00 grep --color=auto tftproot@liujie-desktop:/# ps -ef | grep tftp | grep -v greproot      1476     1  0 11:53 ?        00:00:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 -l -c -s /tftpboot

帮助命令  

man  select   (获取select相关的帮助文档) 

man -f select (查看有哪些级别的帮助))

man -7 ip (只显示ip 7级别的帮助)

man -k passwd (查看所有包含passwd的帮助)

root@liujie-desktop:/# man -f selectFD_CLR (3)           - synchronous I/O multiplexingselect (2)           - synchronous I/O multiplexing

root@liujie-desktop:/# man -f ip ip (8)               - show / manipulate routing, devices, policy routing and tunnelsip (7)               - Linux IPv4 protocol implementation

man -f select

1  可执行程序和一般shell命令
2  系统调用函数
3  库函数

4  设备配置文件,通常在/dev下
5  配置文件/ec下
6  游戏  
7  协议及杂项
8  管理员命令
9  与内核相关

其他帮助命令

命令 +  --help

root@liujie-desktop:~# locate --help用法: locate [选项]... [模式]...在一个 mlocate 数据库中搜寻条目.  -b, --basename         只匹配路径名里的主文件名(base name)  -c, --count            只显示找到的条目数量  -d, --database DBPATH  使用 DBPATH 替代默认的数据库(它是                         /var/lib/mlocate/mlocate.db)  -e, --existing         只显示当前存在文件的条目  -L, --follow           跟踪动态链接(trailing symbolic links)当检查文件是否存在时                          (默认)  -h, --help             显示这个帮助说明  -i, --ignore-case      当模式匹配时(matching patterns),忽略差别情形  -l, --limit, -n LIMIT  限制输出 (或统计) 到 LIMIT 条目  -m, --mmap             忽略, 为向下兼容  -P, --nofollow, -H     不跟踪动态链接(symbolic links),当检查文件是否                         存在  -0, --null             在输出上用 NUL 分割条目  -S, --statistics       不寻找条目,在每一个使用的数据库上,                         显示统计表(statistics)  -q, --quiet            读取数据库是不报告错误信息  -r, --regexp REGEXP    搜寻,用基本的范本样式 REGEXP 取代模式(patterns)      --regex            模式()patterns是拓展的范本样式(regexp)  -s, --stdio            忽略,为向下兼容  -V, --version          显示版本信息  -w, --wholename        匹配整个路径名称(默认)将 bug 报告给 mitr@redhat.com.

info  +  命令


压缩和解压缩命令

.gz   

gzip + 源文件(压缩不保留源文件)

gzip -c 源文件 > 压缩文件(压缩并保留源文件)

gzip -r 目录 (压缩目录,只是将目录里面的文件压缩,目录不压缩) 

gzip -d  源文件(解压缩) 

gunzip 源文件(解压缩)

.zip   和window通用

zip + 压缩文件名 + 源文件 

zip -r 压缩文件名 + 源目录 (这个可以直接压缩目录)

unzip  源文件或目录    (解压缩)

.bz2

bzip2 + 源文件

bzip2 -k 源文件 (压缩并保留源文件)

bzip2 -d 源文件 (解压缩)

bunzip2 源文件 (解压缩)

打包和解打包

tar -cvf  xx.tar  xx(打包)

tar -xvf  xx.tar (解开)

打包压缩

.tar.gz

tar -zcvf  xx.tar.gz  源文件  (打包压缩)

tar -zxvf  xx.tar.gz (解压缩)

.tar.bz2

tar -jcvf  xx.tar.bz2  源文件 (打包压缩)

tar -jxvf xx.tar.bz2 (解压缩) 

挂载命令

fdisk -l查看空间信息(便于下一步的挂载)

mount [-t 文件系统]  [-o 特殊选项]  设备文件名 挂载点

挂载光盘

mount -t iso9660  /dev/sr0  /mnt/iso 

备注:-t iso9660 可以省略,/mnt/iso 自己自定义

挂载U盘

mount -t vfat /dev/sdb1 /mnt/usb

备注:-t vfat 可以省略

 用户登录命令

查看当前登录用户信息

who 和w一样,更简单

last 登录信息

lastlog     最后一次登录日志

其他shell命令

  分号   命令1; 命令2;命令3...  多个命令之间没有任何关系
 比如 计算打包压缩的时间长度:
 date ; tar -zcvf etc.tar.gz  /etc ; date  ()
root@liujie-desktop:/mnt/usb# date ; tar -zcf etc.atr.gz /etc ;date2017年 09月 02日 星期六 14:33:54 CSTtar: 从成员名中删除开头的“/”2017年 09月 02日 星期六 14:33:55 CST
&&  命令1&&命令2  ( 1能执行2才执行,1不能执行时2就不去执行)
 ||    命令1||命令2(1能执行2就不执行,1不能执行时2才执行)
root@liujie-desktop:/mnt/usb/unix# ls && echo yes || echo noclient  client1  client1.c  client.c  server  server1  server1.c  server.cyesroot@liujie-desktop:/mnt/usb/unix# lasdfs && echo yes || echo nolasdfs: command not foundno