1. 重启命令
建议使用shutdown -r now命令,此命令再重启时会正常保存和终止服务器中正在运行的程序,是安全命令。而且最好在重启前执行几次"sync"命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。
[root@localhost testdir]# sync
[root@localhost testdir]# sync
[root@localhost testdir]# shutdown -r now
2. man命令 显示联机帮助手册
# man [选项] 命令
选项:
- -f:查看命令拥有那个级别的帮助
- -k:查看和输入命令相关的所有帮助,适用于只记得命令的几个字符,用来查找相关命令的情况。
man命令帮助手册快捷键用法:
快捷键 | 作 用 |
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
q | 退出 |
/字符串 | 从当前页向下搜索字符串 |
?字符串 | 从当前页向上搜索字符串 |
n | 当搜索字符串时,可以使用n键找到下一个字符串 |
N | 当搜索字符串时,使用N键反向查询字符串。也就是说,如果使用“/字符串”方式搜索, 则N键表示向上搜索字符串;如果使用“?字符串”方式搜索,则N键表示向下搜索字符串 |
在系统中还有两个命令。
- whatis:这个命令的作用和 man -f 是一致的。
- apropos:这个命令的作用和 man -k 是一致的。
不过这两个命令和 man 基本一致,所以了解就好。不过 Linux 的命令很有意思,想知道这个命令是干什么的,可以执行 whatis 命令;想知道命令在哪里,可以执行 whereis 命令;想知道当前登录用户是谁,可以执行 whoami 命令。
3. whereis 命令 查看系统命令的命令
#whereis [选项] 命令
选项:
- -b:只查找二进制命令
- -m:只查找帮助文档
whereis 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;
4.which 命令 列出命令的所在路径
#which 命令
which 命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
5. whoami 命令 查看当前登录用户名
6. whatis 命令 想知道这个命令是干什么用的
7. info 命令 info格式的命令帮助指令
# info ls //查看ls 命令
info命令快捷键
快捷键 | 作 用 |
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
Tab | 在有"*"符号的节点间进行切换 |
回车 | 进入有"*"符号的子页面,査看详细帮助信息 |
u | 进入上一层信息(回车是进入下一层信息) |
n | 进入下一小节信息 |
P | 进入上一小节信息 |
? | 査看帮助信息 |
q | 退出info信息 |
8.locate 命令 按照文件名查找文件
#locate 文件名
locate 命令是通过搜索locate数据库来查找文件,所以速度快,耗费小,但缺点是locate数据库不能试试更新,要在用户退出登录后或者重启服务器后,locate数据库才能更新。所以我们无法查找到新建立的文件。我们也可以通过updatedb 命令来手工更新数据库。
[root@localhost testdir]# touch lange //新建立文件
[root@localhost testdir]# locate lange //查找文件 , 没有找到
[root@localhost testdir]# updatedb //手动更新数据库
[root@localhost testdir]# locate lange //查找文件
/root/testdir/lange //找到文件路径
9.find 命令 查找文件或文件夹
#find 搜索路径 [选项] 搜索内容
选项:
- -name:按照文件名搜索
- -iname:按照文件名搜索,不区分文件名大小写
- -inum:按照inode号搜索
#find . -name bagg //在当前路径下搜索名字为bagg的文件
- -size [+/-] 大小:按照指定大小搜索文件。
-size 25 查找大小刚好是25字节的文件;
-size -25 查找小于25字节的文件;
-size +25 查找大于25字节的文件
大小值后面可以跟单位,kb 时k要小写,mb时m要用大写
[root@localhost ~]#find ./test/ -size 2k //查找大小为2k的文件
[root@localhost ~]#find ./test/ -size 2M //查找大小为2兆的文件
- -atime [+/-] 时间:按照文件访问时间搜索
- -mtime [+/-] 时间:按照文件数据修改时间搜索
- -ctime [+/-] 时间: 按照文件状态修改时间搜索
[root@localhost ~]#find . -mtime -5 //查找5天内修改或的文件
[root@localhost ~]# find . -mtime 5 //查找前5~6 天修改过的文件(第前5天那天修改过的文件)
[root@localhost ~]# find . -mtime +5 //查找6天前修改过的文件
find不但可以按照atime、mtime、ctime来查找文件的时间,也可以按照amin、mmin
和cmin来找文件的时间,区别在于所有time选项单位是天,而min选项单位是分钟;
- -perm [+/-] 权限模式:按照权限搜索
[root@localhost ~]# find . -perm 444 //查询文件权限刚好等于444的文件
[root@localhost ~]# find . -perm -444 //查询文件权限全部包含 444 的文件
[root@localhost ~]# find . -perm +444 //查询文件权限包含444的任意一个(拥有者,组或其他)权限的文件
- -uid 用户ID:按照用户ID查找所有者是指定ID的文件
- -gid 组ID:按照用户组ID查找所属组是指定ID的文件
- -user 用户名:按照用户名查找所有者是指定用户的文件
- -group 组名:按照组名查找所属组是指定用户组的文件
- -nouser:查找没有所有者的文件
- -type d|f|l:按照文件类型搜索
# find . -type d //当前目录下搜索目录(文件夹)
# find . -type f //当前目录下搜索普通文件
# find . -type l // 当前目录下搜索软连接文件
- -a: and逻辑与
- -o: or 逻辑或
- -not:not逻辑非
# find . -size +2k -a -type f //在当前目录下搜索
其他选项
- -exec选项
# find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
这个选项的作用是把find命令的结果交给由“-exec” 调用的命令2 来处理。“{}” 就代表find
命令的查找结果。在使用“-exec”选项时 “{}” 和“\;” 是标准格式,必须完整输入。
[root@localhost ~]#touch aaa
[root@localhost ~]#chmod aaa 444
[root@localhost ~]#find . -perm 444 -exec ls -l {} \;
-r--r--r--. 1 root root 0 Dec 19 14:43 ./aaa
注:使用"-exec" 选项,把find命令的结果直接交给“ls -l” 命令处理
- -ok 选项 : “-ok” 和“-exec”选项作用基本一致,区别在于:“-exec”的命令会直接处理,而不询问;“-ok” 的命令2在处理之前会询问用户是否这样处理,得到确认后才执行。
注:在find 中* 号的使用,如果要搜所的路径中只有一个符合要求的文件,那么搜索内容可以不用‘’/“” 一起来,如果路径中有多个符合要求的文件则需要将搜索内容一起来,不然会报错。建议使用“*”时使用单双引号将搜索内容引起来。
[root@localhost ~]# find . -name “test.*”
[root@localhost ~]# find . -name ‘test.*’
10. zip 命令 压缩文件或目录
# zip [选项] 压缩包名 源文件或源目录
选项
- -r : 压缩目录
[root@localhost ~]# zip a.zip /root/testdir/base_cp.cnf
[root@localhost ~]# ls -lh
-rw-r--r--. 1 root root 156 Dec 19 15:40 a.zip
11.unzip 命令 解压zip格式的压缩包
# upzip [选项] 压缩文件
选项
- -d:指定解压缩位置
12.gzip 命令 压缩文件或目录
# gzip [选项] 源文件
选项
- -c:将压缩数据输出到标准输出中,用于保留源文件
- -b:解压缩
- -r:压缩目录
- -v:显示压缩文件的信息
- -数字: 指定压缩等级 -1 到 -9 等级越来越高,默认为-6;
[root@localhost ~]# touch sah
[root@localhost ~]# gzip sah
[root@localhost ~]# ls -lh
-rw-r--r--. 1 root root 37 Dec 21 14:10 sah.gz
gzip 命令压缩后只留有压缩文件,而丢失源文件;如果想保留源文件可以用-c
[root@localhost ~]# touch bbs
[root@localhost ~]#gzip -c bbs > bbs.gz
-rw-r--r--. 1 root root 0 Dec 21 14:15 bbs
-rw-r--r--. 1 root root 24 Dec 21 14:15 bbs.gz
gzip 命令压缩目录的时候,不会大包目录,而是把目录下所有的子文件分别压缩
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/test1
[root@localhost ~]# touch test/test2
[root@localhost ~]# touch test/test3
[root@localhost ~]# gzip -r test/
[root@localhost ~]# ls
bbs bbs.gz sah.gz test
[root@localhost ~]# cd test
test1.gz test2.gz test3.gz
13. ungzip 命令 解压缩文件和目录
14.bzip2 命令 和 bunzip 命令 压缩和解压缩 .bz2 文件
命令格式和gzip相同
15. tar 命令 打包与解打包命令
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
语法: # tar [主选项+辅选项] 文件或目录
使用命令时,主选择必须有,它告诉tar要做什么,辅选项可有可无
主选项: 【一条命令只能有一个主选项】
-c: --create 打包
-x: --extract,--get 解压缩文件
-t: --list 查看压缩文档中的所有内容
-r: --append 向压缩文档中追加文件
-u: --update 更新原压缩包中的文件
辅助选项:
-z: 是否需要用gzip来压缩或解压? 一般格式为 ***.tar.gz 或 ***.tgz
-j: 是否需要用bzip2来压缩或解压? 一般格式为***.tar.bz2
-v:显示操作过程
-f: 指定压缩包的文件名
-C:指定解打包位置
[root@localhost ~]# ls
-r--r--r--. 1 root root 0 Dec 19 14:43 abc
drwxr-xr-x. 2 root root 4.0K Dec 26 14:01 test
[root@localhost ~]# tar -cvf abc.tar test //将aaa打包到test文件夹中
test/
test/abc.tar
[root@localhost ~]# tar -cvf img.tar img1 img2 //将img1和img2 打包成img.tar
[root@localhost ~]# tar -zcvf img.tar.gz img1 img2 //将img1和img2 打包后以gzip压缩,存为img.tar.gz
[root@localhost ~]# tar -jcvf img.tar.bz2 img1 img2 //将img1和img2 打包后以bzip2压缩,存为 img.tar.bz2
[root@localhost ~]# tar -tf img.tar.gz //查看img.tar.gz 的所有内容
[root@localhost ~]# tar -ztvf img.tar.gz //查看 img.tar.gz 所有内容的详细信息
[root@localhost ~]# tar -zxvf img.tar.gz //解压缩img.tar.gz
[root@localhost ~]# tar -zxvf img.tar.gz -C test/ //将img.tar.gz解压到当前文件的test 文件夹中
16. sync 命令 刷新文件系统缓冲区
强制将内存中的数据向硬盘中保存。
17. shutdown 命令 关机和重启 (推荐使用)
#shutdown [选项] 时间 [警告信息]
选项:
- -c:取消已经执行的shutdown命令
- -h:关机
- -r :重启
[root@localhost ~]# shutdown -r now // 立刻重启
[root@localhost ~]# shutdown -r 05:30 //指定时间重启,但会占用前台终端
[root@localhost ~]# shutdown -r 05:30 & //吧定义重启命令放入后台,&是后台的意思
[root@localhost ~]# shutdown -r +10 //10分钟后重启
18. 更多的关机和重启命令
# reboot 重启
# halt 关机
# poweroff 关机
19. ifconfig 命令: 配置网络接口
一般用来查看ip地址等
20. ping命令: ICMP请求
# ping [选项] IP
选项
- -b:后面加入广播地址,用于对整个网段进行探测
- -c 次数: 用于指定ping的次数
- -s 字节: 指定探测包的大小
如果没有指定ping的次数,ping命令会一直执行下去,直到用“Ctrl+C” 快捷键强行终止。
[root@localhost ~]# ping -c 5 192.168.74.2
21. netstat 命令: 网络状态查看命令
# netstat [选项]
选项
- -a:列出所有网络状态,包括Socket程序
- -c秒数:指定每隔几秒刷新一次网络状态
- -n:使用IP地址和端口号显示,不使用域名与服务名
- -p:显示PID和程序名
- -t:显示使用TCP协议端口的链接状况
- -u:显示使用UDP协议端口的链接状况
- -l:仅显示监听状态的链接
- -r:显示路由表
[root@localhost ~]# netstat -tuln //查看看本机开启的已监听的端口
[root@localhost ~]#netstat -a //查看所有已监听和未监听的端口
[root@localhost ~]#netstat -tn //显示已建立的tcp链接
[root@localhost ~]#netstat -un //显示已建立的UDP连接
[root@localhost ~]#netstat -unpa //显示UDP端口使用情况
22. write 命令 向其他用户发送信息
#write 用户名 [终端号]
[root@localhost ~]#write user pts/1
Hello
I will be in 5 minutes to restart, please save your data.
#向再pts/1(远程终端1)登录的user 用户发送信息,使用“Ctrl+D” 快捷键保存发送的数据。
#who //用来查看现在登录的所有用户信息
23. mail 命令 发送或接收电子邮件
(1) 发送邮件
# mail user1
Subject: hello <- 邮件标题
Nice to meet you! <-邮件具体内容
. <-使用. 来结束邮件输入
# 发送邮件给user1 用户
(2) 发送文件内容
# mail -s "test mail" root </root/testdir/abc
# 把/root/testdir/abc 文件的内容发送给root 用户
选项:
- -s :指定邮件标题