boot 存放启动文件
dev 存放设备文件
etc 存放配置文件
home 普通用户家目录,以/home/$username的方式存放
media 移动存储自动挂载目录,以 /media/$device_name的方式来存放
mnt 手动挂载目录
opt 三方软件安装目录
proc 内存系统文件
root 管理员家目录
run 里面的东西是系统运行时需要的, 不能随便删除. 但是重启的时候应该抛弃. 下次系统运行时重新生成
srv 服务相关数据
sys 系统文件
tmp 临时文件夹
usr 存放库文件、文档、命令、用户数据等
var 日志存放
lib 库文件
创建空文件
[root@localhost ~]# touch hello.txt
[root@localhost ~]# ls
hello.txt
创建多个文件
[root@localhost ~]# touch a.txt b.txt
[root@localhost ~]# ls
a.txt b.txt
批量创建文件
[root@localhost ~]# touch hello{1..3}.txt
[root@localhost ~]# ls
hello1.txt hello2.txt hello3.txt
创建一个文件夹
[root@localhost ~]# mkdir soft
[root@localhost ~]# ls
soft
创建多级文件夹
[root@localhost ~]# mkdir -p soft/linux/nginx
[root@localhost ~]# tree
.
└── soft
└── linux
└── nginx
3 directories, 0 files
tree命令需要单独安装
yum -y install tree
在多级文件夹下同时创建多个文件夹
[root@localhost ~]# mkdir -p languages/{python,java,golang,php}
[root@localhost ~]# tree
.
└── languages
├── golang
├── java
├── php
└── python
5 directories, 0 files
rmdir
命令只能删除空文件夹
[root@localhost ~]# rmdir test
删除的时候显示删除的文件
[root@localhost ~]# rmdir -v hello/
rmdir: 正在删除目录 "hello/"
递归删除空目录
[root@localhost ~]# rmdir -pv soft/linux/nginx/
rmdir: 正在删除目录 "soft/linux/nginx/"
rmdir: 正在删除目录 "soft/linux"
rmdir: 正在删除目录 "soft"
删除文件
[root@localhost ~]# ls
hello.txt
[root@localhost ~]# rm hello.txt
rm:是否删除普通空文件 "hello.txt"?y
递归删除文件或文件夹
[root@localhost ~]# tree
.
└── content
└── hello.txt
1 directory, 1 file
[root@localhost ~]# rm -r content/
rm:是否进入目录"content/"? y
rm:是否删除普通空文件 "content/hello.txt"?y
rm:是否删除目录 "content/"?y
忽略提示删除文件
[root@localhost ~]# tree
.
└── content
└── hello.txt
1 directory, 1 file
[root@localhost ~]# rm -rf content
复制一个文件
[root@localhost ~]# ls
hello.txt
[root@localhost ~]# cp hello.txt hello2.txt
[root@localhost ~]# ls
hello2.txt hello.txt
覆盖一个文件
[root@localhost ~]# ls
hello2.txt hello.txt
[root@localhost ~]# cp hello.txt hello2.txt
cp:是否覆盖"hello2.txt"? y
覆盖文件不提示
[root@localhost ~]# ls
hello2.txt hello.txt
[root@localhost ~]# cp hello.txt hello2.txt
cp:是否覆盖"hello2.txt"? y
[root@localhost ~]# \cp hello.txt hello2.txt
[root@localhost ~]#
mv
命令用来移动文件和修改文件名
移动文件
[root@localhost ~]# touch hello.txt
[root@localhost ~]# mkdir content
[root@localhost ~]# ls
content hello.txt
[root@localhost ~]# mv hello.txt content/
[root@localhost ~]# tree
.
└── content
└── hello.txt
1 directory, 1 file
移动文件并修改名称
[root@localhost ~]# ls
hello.txt
[root@localhost ~]# mv hello.txt world.txt
[root@localhost ~]# ls
world.txt
移动文件夹
[root@localhost ~]# tree
.
└── languages
└── python
2 directories, 0 files
[root@localhost ~]# mv languages/python ./
[root@localhost ~]# ls
languages python
修改文件夹名称
[root@localhost ~]# ls
languages python
[root@localhost ~]# mv languages lang
[root@localhost ~]# ls
lang python
软连接和硬链接修改都会影响原始文件,删除都不会影响原始文件,linux的软连接相当于windows的快捷方式,硬链接文件只要有一个文件存在,文件就会存在,删除原始文件硬链接文件还可以继续使用,软链接可以跨分区,硬链接不能跨分区。
创建 软链接
[root@localhost ~]# ls
hello.txt
[root@localhost ~]# ln -s hello.txt he.txt
[root@localhost ~]# ls
hello.txt he.txt
[root@localhost ~]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 6月 10 05:26 hello.txt
lrwxrwxrwx. 1 root root 9 6月 10 05:27 he.txt -> hello.txt
创建 硬链接
[root@localhost ~]# ln hello.txt h2.txt
[root@localhost ~]# ls
h1.txt h2.txt hello.txt
[root@localhost ~]# ls -l
总用量 0
lrwxrwxrwx. 1 root root 9 6月 10 05:29 h1.txt -> hello.txt
-rw-r--r--. 2 root root 0 6月 10 05:29 h2.txt
-rw-r--r--. 2 root root 0 6月 10 05:29 hello.txt
通过颜色页可以看出来区别
cat
经常用来显示文件的内容
查看文件内容
[root@localhost ~]# cat hello.txt
不要再哭了
快把眼泪擦一擦
这样吧
再爱我有缘的话
快去把东西收拾一下
再耗下去都天亮了
这里的钥匙你先留着吧
怕你有东西
假如你有东西忘了拿
那就这样吧
再爱都曲终人散了
那就分手吧
再爱都无需挣扎
查看文件内容并显示行号
[root@localhost ~]# cat -n hello.txt
1 不要再哭了
2 快把眼泪擦一擦
3 这样吧
4 再爱我有缘的话
5
6 快去把东西收拾一下
7 再耗下去都天亮了
8
9 这里的钥匙你先留着吧
10 怕你有东西
11
12 假如你有东西忘了拿
13
14 那就这样吧
15 再爱都曲终人散了
16 那就分手吧
17 再爱都无需挣扎
查看文件内容并显示行号,空行不编号
[root@localhost ~]# cat -b hello.txt
1 不要再哭了
2 快把眼泪擦一擦
3 这样吧
4 再爱我有缘的话
5 快去把东西收拾一下
6 再耗下去都天亮了
7 这里的钥匙你先留着吧
8 怕你有东西
9 假如你有东西忘了拿
10 那就这样吧
11 再爱都曲终人散了
12 那就分手吧
13 再爱都无需挣扎
tac
命令和cat
命令类似,是将文件反序输出,即第一行最后显示,最后一行先显示。
[root@localhost ~]# tac hello.txt
再爱都无需挣扎
那就分手吧
再爱都曲终人散了
那就这样吧
假如你有东西忘了拿
怕你有东西
这里的钥匙你先留着吧
再耗下去都天亮了
快去把东西收拾一下
再爱我有缘的话
这样吧
快把眼泪擦一擦
不要再哭了
head
命令用于显示文件头部内容(默认显示前10行)
[root@localhost ~]# head hello.txt
不要再哭了
快把眼泪擦一擦
这样吧
再爱我有缘的话
快去把东西收拾一下
再耗下去都天亮了
这里的钥匙你先留着吧
怕你有东西
指定显示的行数
[root@localhost ~]# head -n 3 hello.txt
不要再哭了
快把眼泪擦一擦
这样吧
tail
命令用于输入文件中的尾部内(默认显示后10行内容)
[root@localhost ~]# tail hello.txt
这里的钥匙你先留着吧
怕你有东西
假如你有东西忘了拿
那就这样吧
再爱都曲终人散了
那就分手吧
再爱都无需挣扎
指定显示行数
[root@localhost ~]# tail -n 3 hello.txt
再爱都曲终人散了
那就分手吧
再爱都无需挣扎
监视文件的变化, 显示文件最新追加的内容
[root@localhost ~]# tail -f hello.txt
more
命令基于vi编辑器,支持关键字定位,使用Enter
向下滚动一行,空格
向下滚动一屏,b
上一屏内容,q
退出
[root@localhost ~]# more /etc/services
指定每屏显示多少行
[root@localhost ~]# more -3 hello.txt
不要再哭了
快把眼泪擦一擦
这样吧
--More--(17%)
less
命令与more
类似,less命令允许用户向前向后浏览,使用PageUp
键向上翻页,使用PageDown
键向下翻页
[root@localhost ~]# less /etc/services
显示行号
[root@localhost ~]# less /etc/services -N
[root@localhost ~]#
1 # /etc/services:
2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $
3 #
4 # Network services, Internet style
5 # IANA services version: last updated 2013-04-10
6 #
7 # Note that it is presently the policy of IANA to assign a single well-known
...
grep
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
在文件中搜索一个单词
[root@localhost ~]# grep 'max' /etc/services
wimaxasncp 2231/tcp # WiMAX ASN Control Plane Protocol
wimaxasncp 2231/udp # WiMAX ASN Control Plane Protocol
maxim-asics 3276/tcp # Maxim ASICs
maxim-asics 3276/udp # Maxim ASICs
max 6074/tcp # Microsoft Max
max 6074/udp # Microsoft Max
忽略大小写查找内容
[root@localhost ~]# grep -i 'max' /etc/services
wimaxasncp 2231/tcp # WiMAX ASN Control Plane Protocol
wimaxasncp 2231/udp # WiMAX ASN Control Plane Protocol
maxim-asics 3276/tcp # Maxim ASICs
maxim-asics 3276/udp # Maxim ASICs
ml-svnet 4171/tcp # Maxlogic Supervisor Communication
MaxumSP 4179/tcp # Maxum Services
MaxumSP 4179/udp # Maxum Services
max 6074/tcp # Microsoft Max
max 6074/udp # Microsoft Max
d-fence 8555/tcp # SYMAX D-FENCE
d-fence 8555/udp # SYMAX D-FENCE
useradd
命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd
设定帐号的密码.而可用userdel
删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd
文本文件中。
创建新账户
[root@localhost ~]# useradd wanghaha
[root@localhost ~]# id wanghaha
uid=1002(wanghaha) gid=1002(wanghaha) 组=1002(wanghaha)
[root@localhost ~]# groups wanghaha
wanghaha : wanghaha
[root@localhost ~]# cat /etc/passwd | grep wanghaha
wanghaha:x:1002:1002::/home/wanghaha:/bin/bash
[root@localhost ~]# cat /etc/group | grep wanghaha
wanghaha:x:1002:
[root@localhost ~]# ls /home
wanghaha
新建用户加入指定组
[root@localhost ~]# useradd xiaoming -g root
[root@localhost ~]# id xiaoming
uid=1003(xiaoming) gid=0(root) 组=0(root)
[root@localhost ~]# groups xiaoming
xiaoming : root
指定用户家目录
[root@localhost ~]# useradd wanghaha -d /var/wanghaha
[root@localhost ~]# su wanghaha
[wanghaha@localhost root]$ cd ~
[wanghaha@localhost ~]$ pwd
/var/wanghaha
[wanghaha@localhost ~]$
userdel
用户删除用户,如果不提供参数则只删除用户帐号,而不删除相关文件。
删除用户
[root@localhost ~]# userdel xiaoming
[root@localhost ~]# ls /home
xiaoming
[root@localhost ~]# cat /etc/passwd | grep xiaoming
[root@localhost ~]# cat /etc/group | grep xiaoming
[root@localhost ~]#
删除用户并删除与用户相关的所有文件
[root@localhost ~]# userdel -r wanghaha
[root@localhost ~]# ls /home
[root@localhost ~]# cat /etc/passwd | grep wanghaha
[root@localhost ~]# cat /etc/group | grep wanghaha
[root@localhost ~]#
usermod
命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。
选项
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
将指定用户添加到指定群组中
[root@localhost ~]# id wanghaha
uid=1000(wanghaha) gid=1000(wanghaha) 组=1000(wanghaha)
[root@localhost ~]# groups wanghaha
wanghaha : wanghaha
[root@localhost ~]# usermod -G root wanghaha
[root@localhost ~]# id wanghaha
uid=1000(wanghaha) gid=1000(wanghaha) 组=1000(wanghaha),0(root)
[root@localhost ~]# groups wanghaha
wanghaha : wanghaha root
修改用户名称
[root@localhost ~]# usermod -l king wanghaha
[root@localhost ~]# id king
uid=1000(king) gid=1000(wanghaha) 组=1000(wanghaha),0(root)
[root@localhost ~]# ls /home
wanghaha
[root@localhost ~]#
新建一个组
[root@localhost ~]# groupadd yunwei
[root@localhost ~]# cat /etc/group | grep yunwei
yunwei:x:1001:
groupdel
命令用于删除指定的工作组
[root@localhost ~]# groupdel yunwei
[root@localhost ~]# cat /etc/group | grep yunwei
[root@localhost ~]#
sudo
命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s<shell>:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。
使用sudo
执行命令,提示用户不在sudo文件中
[wanghaha@localhost ~]$ sudo ls
[sudo] password for wanghaha:
wanghaha is not in the sudoers file. This incident will be reported.
编辑 /etc/sudoers
在 root ALL=(ALL) ALL
下添加一条你的文件名例如 wanghaha
root ALL=(ALL) ALL
wanghaha ALL=(ALL) ALL
然后在切换到wanghaha
用户使用sudo
执行命令
[wanghaha@localhost ~]$ sudo pwd
[sudo] password for wanghaha:
/home/wanghaha
结束密码的有效期限
[wanghaha@localhost ~]$ sudo -k
[wanghaha@localhost ~]$ sudo pwd
[sudo] password for wanghaha:
/home/wanghaha
su
命令用于切换当前用户身份到其他用户身份
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息。
变更帐号为root并在执行ls
指令后退出变回原使用者
[wanghaha@localhost ~]$ su -c pwd root
Password:
/home/wanghaha
[root@localhost ~]# su - zhangsan -c pwd
/home/zhangsan
[root@localhost ~]# su - lisi -c pwd
/home/lisi
切换用户
[root@localhost ~]# su wanghaha
[wanghaha@localhost root]$ pwd
/root
切换用户并切换工作目录到该用户的家目录
[root@localhost ~]# su - wanghaha
上一次登录:三 6月 10 06:58:49 EDT 2020pts/1 上
[wanghaha@localhost ~]$ pwd
/home/wanghaha
改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量
[root@localhost ~]# su -l wanghaha
上一次登录:三 6月 10 07:01:25 EDT 2020pts/1 上
[wanghaha@localhost ~]$ pwd
/home/wanghaha
tar
命令可以把一大堆的文件和目录全部打包成一个文件。
打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
打包文件不压缩
[wanghaha@localhost ~]$ ls -lh
total 39M
-rw-rw-r--. 1 wanghaha wanghaha 4.1M Jun 10 07:06 a.txt
-rw-rw-r--. 1 wanghaha wanghaha 35M Jun 10 07:07 b.txt
[wanghaha@localhost ~]$ tar -cvf file.tar a.txt b.txt
a.txt
b.txt
[wanghaha@localhost ~]$ ls
a.txt b.txt file.tar
[wanghaha@localhost ~]$ ls -lh
total 78M
-rw-rw-r--. 1 wanghaha wanghaha 4.1M Jun 10 07:06 a.txt
-rw-rw-r--. 1 wanghaha wanghaha 35M Jun 10 07:07 b.txt
-rw-rw-r--. 1 wanghaha wanghaha 39M Jun 10 07:07 file.tar
使用 gzip 压缩
[wanghaha@localhost ~]$ tar -zcvf file.tar.gz a.txt b.txt
a.txt
b.txt
[wanghaha@localhost ~]$ ls -lh
total 78M
-rw-rw-r--. 1 wanghaha wanghaha 4.1M Jun 10 07:06 a.txt
-rw-rw-r--. 1 wanghaha wanghaha 35M Jun 10 07:07 b.txt
-rw-rw-r--. 1 wanghaha wanghaha 39M Jun 10 07:07 file.tar
-rw-rw-r--. 1 wanghaha wanghaha 41K Jun 10 07:09 file.tar.gz
解压缩
[wanghaha@localhost ~]$ tar -xvf file.tar.gz -C test/
a.txt
b.txt
[wanghaha@localhost ~]$ tree
.
├── a.txt
├── b.txt
├── file.tar.gz
└── test
├── a.txt
└── b.txt
1 directory, 5 files
需要安装yum -y install zip
压缩文件
[root@localhost ~]# zip file.zip a.txt b.txt
adding: a.txt (deflated 100%)
adding: b.txt (deflated 100%)
[root@localhost ~]# ls
a.txt b.txt file.zip
[root@localhost ~]# ls -lh
总用量 39M
-rw-rw-r--. 1 wanghaha wanghaha 4.1M 6月 10 07:06 a.txt
-rw-rw-r--. 1 wanghaha wanghaha 35M 6月 10 07:07 b.txt
-rw-r--r--. 1 root root 39K 6月 10 07:16 file.zip
压缩目录
[root@localhost ~]# tree -h
.
└── [ 32] soft
├── [ 44M] a.txt
└── [4.9M] b.txt
1 directory, 2 files
[root@localhost ~]# zip soft.zip -r soft/
adding: soft/ (stored 0%)
adding: soft/a.txt (deflated 100%)
adding: soft/b.txt (deflated 100%)
[root@localhost ~]# ls -lh
总用量 116K
drwxr-xr-x. 2 root root 32 6月 10 07:21 soft
-rw-r--r--. 1 root root 114K 6月 10 07:22 soft.zip
用于解压用zip
压缩的.zip
压缩包
需要安装yum -y install unzip
-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换;
-f:更新现有的文件;
-l:显示压缩文件内所包含的文件;
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换;
-t:检查压缩文件是否正确;
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中;
-v:执行时显示详细的信息;
-z:仅显示压缩文件的备注文字;
-a:对文本文件进行必要的字符转换;
-b:不要对文本文件进行字符转换;
-C:压缩文件中的文件名称区分大小写;
-j:不处理压缩文件中原有的目录路径;
-L:将压缩文件中的全部文件名改为小写;
-M:将输出结果送到more程序处理;
-n:解压缩时不要覆盖原有的文件;
-o:不必先询问用户,unzip执行后覆盖原有的文件;
-P<密码>:使用zip的密码选项;
-q:执行时不显示任何信息;
-s:将文件名中的空白字符转换为底线字符;
-V:保留VMS的文件版本信息;
-X:解压缩时同时回存文件原来的UID/GID;
-d<目录>:指定文件解压缩后所要存储的目录;
-x<文件>:指定不要处理.zip压缩文件中的哪些文件;
-Z:unzip-Z等于执行zipinfo指令。
[root@localhost ~]# unzip soft.zip
Archive: soft.zip
creating: soft/
inflating: soft/a.txt
inflating: soft/b.txt
df
命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 52403200 1513188 50890012 3% /
devtmpfs 1928364 0 1928364 0% /dev
tmpfs 1940444 0 1940444 0% /dev/shm
tmpfs 1940444 9084 1931360 1% /run
tmpfs 1940444 0 1940444 0% /sys/fs/cgroup
/dev/sda1 1038336 148424 889912 15% /boot
/dev/mapper/centos-home 47285700 33044 47252656 1% /home
tmpfs 388092 0 388092 0% /run/user/0
以可读性较高的方式来显示信息
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 1.5G 49G 3% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.9M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 145M 870M 15% /boot
/dev/mapper/centos-home 46G 33M 46G 1% /home
tmpfs 379M 0 379M 0% /run/user/0
du
命令用于查看文件和目录磁盘使用的空间
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
[root@localhost ~]# du -h soft
49M soft
[root@localhost soft]# du -h a.txt
44M a.txt
fdisk
命令用于观察硬盘实体使用情况,也可对硬盘分区。
-b<分区大小>:指定每个分区的大小;
-l:列出指定的外围设备的分区表状况;
-s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
-v:显示版本信息。
查看所有分区表的状况
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f04a8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:48.4 GB, 48444211200 字节,94617600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
操作磁盘
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):p
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f04a8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
命令(输入 m 获取帮助):
mount
命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom
-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
chmod
命令用来变更文件或目录的权限。
u
User,即文件或目录的拥有者;
g
Group,即文件或目录的所属群组;
o
Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a
All,即全部的用户,包含拥有者,所属群组以及其他用户;
r
读取权限,数字代号为“4”;
w
写入权限,数字代号为“2”;
x
执行或切换权限,数字代号为“1”;
-
不具任何权限,数字代号为“0”;
s
特殊功能说明:变更文件或目录的权限。
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;
权限设置
chmod u+x,g+w hello.txt //为文件hello.txt设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r hello.txt
chmod 764 hello.txt
chmod a+x hello.txt //对文件hello.txt的u,g,o都设置可执行属性
chown
命令改变某个文件或目录的所有者和所属的组
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
--dereference:效果和“-h”参数相同;
--help:在线帮助;
--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
--version:显示版本信息。
当省略“:组”,仅改变文件所有者
[root@localhost ~]# ls -l
总用量 116
drwxr-xr-x. 2 root root 32 6月 10 07:21 soft
-rw-r--r--. 1 root root 116679 6月 10 07:22 soft.zip
[root@localhost ~]# chown wanghaha soft.zip
[root@localhost ~]# ls -l
总用量 116
drwxr-xr-x. 2 root root 32 6月 10 07:21 soft
-rw-r--r--. 1 wanghaha root 116679 6月 10 07:22 soft.zip
修改文件的所有者和所属组
[root@localhost ~]# chown wanghaha:wanghaha soft.zip
[root@localhost ~]# ls -lh
总用量 116K
drwxr-xr-x. 2 root root 32 6月 10 07:21 soft
-rw-r--r--. 1 wanghaha wanghaha 114K 6月 10 07:22 soft.zi
只修改文件的所属组
[root@localhost ~]# chown :root soft.zip
[root@localhost ~]# ls -lh
总用量 116K
drwxr-xr-x. 2 root root 32 6月 10 07:21 soft
-rw-r--r--. 1 wanghaha root 114K 6月 10 07:22 soft.zip
chgrp
命令用来改变文件或目录所属的用户组。
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
[root@localhost ~]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 6月 10 07:58 a.txt
[root@localhost ~]# chgrp wanghaha a.txt
[root@localhost ~]# ls -l
总用量 0
-rw-r--r--. 1 root wanghaha 0 6月 10 07:58 a.txt
递归修改
[root@localhost ~]# chgrp wanghaha -R hello/
[root@localhost ~]# cd hello/
[root@localhost hello]# ls -l
总用量 0
-rw-r--r--. 1 root wanghaha 0 6月 10 07:59 world
ifconfig
命令被用于配置和显示Linux内核中网络接口的网络参数。
add<地址>:设置网络设备IPv6的ip地址;
del<地址>:删除网络设备IPv6的IP地址;
down:关闭指定的网络设备;
<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;
io_addr<I/O地址>:设置网络设备的I/O地址;
irq<IRQ地址>:设置网络设备的IRQ;
media<网络媒介类型>:设置网络设备的媒介类型;
mem_start<内存地址>:设置网络设备在主内存所占用的起始地址;
metric<数目>:指定在计算数据包的转送次数时,所要加上的数目;
mtu<字节>:设置网络设备的MTU;
netmask<子网掩码>:设置网络设备的子网掩码;
tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址;
up:启动指定的网络设备;
-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;
-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;
-promisc:关闭或启动指定网络设备的promiscuous模式;
IP地址:指定网络设备的IP地址;
网络设备:指定网络设备的名称。
[root@localhost hello]# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.101.66 netmask 255.255.255.0 broadcast 192.168.101.255
inet6 fe80::30f3:dfc2:af2d:658a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c3:a7:8e txqueuelen 1000 (Ethernet)
RX packets 109611 bytes 120604912 (115.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84283 bytes 10780813 (10.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 202 bytes 17356 (16.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 202 bytes 17356 (16.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
只显示指定网卡
[root@localhost hello]# ifconfig ens192
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.101.66 netmask 255.255.255.0 broadcast 192.168.101.255
inet6 fe80::30f3:dfc2:af2d:658a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c3:a7:8e txqueuelen 1000 (Ethernet)
RX packets 109648 bytes 120607948 (115.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84301 bytes 10784085 (10.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
启动关闭指定网卡
ifconfig ens192 up
ifconfig ens192 down
telnet
命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
-8:允许使用8位字符资料,包括输入与输出;
-a:尝试自动登入远端系统;
-b<主机别名>:使用别名指定远端主机名称;
-c:不读取用户专属目录里的.telnetrc文件;
-d:启动排错模式;
-e<脱离字符>:设置脱离字符;
-E:滤除脱离字符;
-f:此参数的效果和指定"-F"参数相同;
-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机;
-k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名;
-K:不自动登入远端主机;
-l<用户名称>:指定要登入远端主机的用户名称;
-L:允许输出8位字符资料;
-n<记录文件>:指定文件记录相关信息;
-r:使用类似rlogin指令的用户界面;
-S<服务类型>:设置telnet连线所需的ip TOS信息;
-x:假设主机有支持数据加密的功能,就使用它;
-X<认证形态>:关闭指定的认证形态。
也可以用于测试端口是否可以连通
通
[root@localhost hello]# telnet 192.168.101.66 22
Trying 192.168.101.66...
Connected to 192.168.101.66.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
不通
[root@localhost hello]# telnet 192.168.101.66 8888
Trying 192.168.101.66...
telnet: connect to address 192.168.101.66: Connection refused
ifup
命令用于激活指定的网络接口。
ifup ens192
ifdown
命令用于禁用指定的网络接口。
ifdown ens192
dhclient命令使用动态主机配置协议动态的配置网络接口的网络参数。
0:指定dhcp客户端监听的端口号;
-d:总是以前台方式运行程序;
-q:安静模式,不打印任何错误的提示信息;
-r:释放ip地址。
dhclient -r #释放IP
dhclient #获取IP
ip
命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
-V:显示指令版本信息;
-s:输出更详细的信息;
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。
显示核心路由表
[root@localhost ~]# ip route list
default via 192.168.101.1 dev ens192
default via 192.168.101.1 dev ens192 proto dhcp metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.101.0/24 dev ens192 proto kernel scope link src 192.168.101.15
192.168.101.0/24 dev ens192 proto kernel scope link src 192.168.101.15 metric 100
netstat
命令用来打印Linux中网络系统的状态信息。
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
列出所有端口
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdoma:ssh 192.168.248.18:53787 ESTABLISHED
tcp 0 0 localhost.localdoma:ssh 192.168.248.18:53414 ESTABLISHED
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
raw6 0 0 [::]:ipv6-icmp [::]:* 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 43276 /var/run/NetworkManager/private-dhcp
unix 3 [ ] DGRAM 7448 /run/systemd/notify
unix 2 [ ] DGRAM 7450 /run/systemd/cgroups-agent
unix 2 [ ACC ] STREAM LISTENING 19497 /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 7465 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 34544 private/rewrite
unix 2 [ ACC ] STREAM LISTENING 34547 private/bounce
unix 6 [ ] DGRAM 7468 /run/systemd/journal/socket
unix 2 [ ACC ] STREAM LISTENING 34550 private/defer
unix 2 [ ACC ] STREAM LISTENING 34553 private/trace
unix 14 [ ] DGRAM 7470 /dev/log
...
列出所有tcp端口
[root@localhost ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdoma:ssh 192.168.248.18:53787 ESTABLISHED
tcp 0 0 localhost.localdoma:ssh 192.168.248.18:53414 ESTABLISHED
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
列出所有udp端口
[root@localhost ~]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
只显示监听端口
[root@localhost ~]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
raw6 0 0 [::]:ipv6-icmp [::]:* 7
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 43276 /var/run/NetworkManager/private-dhcp
unix 2 [ ACC ] STREAM LISTENING 19497 /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 7465 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 34544 private/rewrite
unix 2 [ ACC ] STREAM LISTENING 34547 private/bounce
unix 2 [ ACC ] STREAM LISTENING 34550 private/defer
...
列出所有监听tcp端口
[root@localhost ~]# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
列出所有监听udp端口
[root@localhost ~]# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
列出所有监听的unix端口
[root@localhost ~]# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 43276 /var/run/NetworkManager/private-dhcp
unix 2 [ ACC ] STREAM LISTENING 19497 /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 7465 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 34544 private/rewrite
unix 2 [ ACC ] STREAM LISTENING 34547 private/bounce
unix 2 [ ACC ] STREAM LISTENING 34550 private/defer
unix 2 [ ACC ] STREAM LISTENING 34553 private/trace
unix 2 [ ACC ] STREAM LISTENING 34556 private/verify
unix 2 [ ACC ] STREAM LISTENING 34562 private/proxymap
unix 2 [ ACC ] STREAM LISTENING 34565 private/proxywrite
unix 2 [ ACC ] STREAM LISTENING 34568 private/smtp
unix 2 [ ACC ] STREAM LISTENING 34571 private/relay
unix 2 [ ACC ] STREAM LISTENING 34577 private/error
unix 2 [ ACC ] STREAM LISTENING 34580 private/retry
unix 2 [ ACC ] STREAM LISTENING 34583 private/discard
unix 2 [ ACC ] STREAM LISTENING 34586 private/local
unix 2 [ ACC ] STREAM LISTENING 34589 private/virtual
unix 2 [ ACC ] STREAM LISTENING 34592 private/lmtp
unix 2 [ ACC ] STREAM LISTENING 34595 private/anvil
unix 2 [ ACC ] STREAM LISTENING 34598 private/scache
unix 2 [ ACC ] STREAM LISTENING 19534 /run/lvm/lvmpolld.socket
unix 2 [ ACC ] STREAM LISTENING 234351 /var/run/docker.sock
unix 2 [ ACC ] SEQPACKET LISTENING 19579 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 234623 /run/docker/libnetwork/a4ce099d1b167ea4ee8ed534d61a013ff1bd2c80047b02e670c1eed3e9cb459d.sock
unix 2 [ ACC ] STREAM LISTENING 234367 /var/run/docker/libcontainerd/docker-containerd.sock
unix 2 [ ACC ] STREAM LISTENING 34529 public/pickup
unix 2 [ ACC ] STREAM LISTENING 34534 public/cleanup
unix 2 [ ACC ] STREAM LISTENING 34537 public/qmgr
unix 2 [ ACC ] STREAM LISTENING 34559 public/flush
unix 2 [ ACC ] STREAM LISTENING 34574 public/showq
unix 2 [ ACC ] STREAM LISTENING 34541 private/tlsmgr
unix 2 [ ACC ] STREAM LISTENING 19377 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 29926 /run/dbus/system_bus_socket
显示所有端口的统计信息
[root@localhost ~]# netstat -s
Ip:
1162792 total packets received
0 forwarded
0 incoming packets discarded
1157932 incoming packets delivered
982159 requests sent out
49 outgoing packets dropped
25 dropped because of missing route
Icmp:
169 ICMP messages received
2 input ICMP message failed.
ICMP input histogram:
destination unreachable: 106
echo requests: 1
echo replies: 62
171 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 106
redirect: 2
echo request: 62
echo replies: 1
IcmpMsg:
InType0: 62
InType3: 106
InType8: 1
OutType0: 1
OutType3: 106
OutType5: 2
OutType8: 62
Tcp:
229 active connections openings
34 passive connection openings
7 failed connection attempts
23 connection resets received
2 connections established
1155423 segments received
968914 segments send out
12738 segments retransmited
0 bad segments received.
226 resets sent
Udp:
1700 packets received
103 packets to unknown port received.
0 packet receive errors
1926 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
TcpExt:
2 invalid SYN cookies received
162 TCP sockets finished time wait in fast timer
8 packets rejects in established connections because of timestamp
7623 delayed acks sent
91 delayed acks further delayed because of locked socket
Quick ack mode was activated 1117 times
7356 packets directly queued to recvmsg prequeue.
749489 bytes directly in process context from backlog
16216371 bytes directly received in process context from prequeue
186725 packet headers predicted
4624 packets header predicted and directly queued to user
501178 acknowledgments not containing data payload received
229909 predicted acknowledgments
6339 times recovered from packet loss by selective acknowledgements
610 congestion windows recovered without slow start by DSACK
2357 congestion windows recovered without slow start after partial ack
TCPLostRetransmit: 90
2395 timeouts after SACK recovery
2 timeouts in loss state
6484 fast retransmits
184 forward retransmits
24 retransmits in slow start
79 other TCP timeouts
TCPLossProbes: 5004
TCPLossProbeRecovery: 3109
87 SACK retransmits failed
1125 DSACKs sent for old packets
1066 DSACKs received
61 DSACKs for out of order packets received
17 connections reset due to unexpected data
14 connections reset due to early user close
8 connections aborted due to timeout
TCPDSACKIgnoredNoUndo: 201
TCPSpuriousRTOs: 2312
TCPSackShifted: 215
TCPSackMerged: 676
TCPSackShiftFallback: 24410
TCPDeferAcceptDrop: 10
TCPRcvCoalesce: 175962
TCPOFOQueue: 18148
TCPChallengeACK: 1
TCPSpuriousRtxHostQueues: 3
TCPAutoCorking: 18546
TCPFromZeroWindowAdv: 101
TCPToZeroWindowAdv: 101
TCPWantZeroWindowAdv: 97
TCPSynRetrans: 4
TCPOrigDataSent: 739720
TCPACKSkippedSeq: 1
IpExt:
InNoRoutes: 22
InMcastPkts: 2
InBcastPkts: 5353
InOctets: 820793465
OutOctets: 139084042
InMcastOctets: 72
InBcastOctets: 949654
InNoECTPkts: 1249499
InECT0Pkts: 213844
显示所有tcp端口的统计信息
[root@localhost ~]# netstat -st
IcmpMsg:
InType0: 62
InType3: 106
InType8: 1
OutType0: 1
OutType3: 106
OutType5: 2
OutType8: 62
Tcp:
229 active connections openings
34 passive connection openings
7 failed connection attempts
23 connection resets received
2 connections established
1159183 segments received
972142 segments send out
12788 segments retransmited
0 bad segments received.
226 resets sent
UdpLite:
TcpExt:
2 invalid SYN cookies received
162 TCP sockets finished time wait in fast timer
8 packets rejects in established connections because of timestamp
7672 delayed acks sent
91 delayed acks further delayed because of locked socket
Quick ack mode was activated 1124 times
7356 packets directly queued to recvmsg prequeue.
749489 bytes directly in process context from backlog
16216371 bytes directly received in process context from prequeue
187109 packet headers predicted
4624 packets header predicted and directly queued to user
503127 acknowledgments not containing data payload received
230636 predicted acknowledgments
6365 times recovered from packet loss by selective acknowledgements
610 congestion windows recovered without slow start by DSACK
2369 congestion windows recovered without slow start after partial ack
TCPLostRetransmit: 90
2407 timeouts after SACK recovery
2 timeouts in loss state
6509 fast retransmits
184 forward retransmits
24 retransmits in slow start
79 other TCP timeouts
TCPLossProbes: 5026
TCPLossProbeRecovery: 3120
[root@localhost ~]# netstat -st
IcmpMsg:
InType0: 62
InType3: 106
InType8: 1
OutType0: 1
OutType3: 106
OutType5: 2
OutType8: 62
Tcp:
229 active connections openings
34 passive connection openings
7 failed connection attempts
23 connection resets received
2 connections established
1159353 segments received
972286 segments send out
12790 segments retransmited
0 bad segments received.
226 resets sent
UdpLite:
TcpExt:
2 invalid SYN cookies received
162 TCP sockets finished time wait in fast timer
8 packets rejects in established connections because of timestamp
7674 delayed acks sent
91 delayed acks further delayed because of locked socket
Quick ack mode was activated 1124 times
7356 packets directly queued to recvmsg prequeue.
749489 bytes directly in process context from backlog
16216371 bytes directly received in process context from prequeue
187124 packet headers predicted
4624 packets header predicted and directly queued to user
503217 acknowledgments not containing data payload received
230669 predicted acknowledgments
6366 times recovered from packet loss by selective acknowledgements
610 congestion windows recovered without slow start by DSACK
2370 congestion windows recovered without slow start after partial ack
TCPLostRetransmit: 90
2408 timeouts after SACK recovery
2 timeouts in loss state
6510 fast retransmits
184 forward retransmits
24 retransmits in slow start
79 other TCP timeouts
TCPLossProbes: 5026
TCPLossProbeRecovery: 3120
88 SACK retransmits failed
1132 DSACKs sent for old packets
1066 DSACKs received
61 DSACKs for out of order packets received
17 connections reset due to unexpected data
14 connections reset due to early user close
8 connections aborted due to timeout
TCPDSACKIgnoredNoUndo: 201
TCPSpuriousRTOs: 2324
TCPSackShifted: 215
TCPSackMerged: 676
TCPSackShiftFallback: 24527
TCPDeferAcceptDrop: 10
TCPRcvCoalesce: 176295
TCPOFOQueue: 18150
TCPChallengeACK: 1
TCPSpuriousRtxHostQueues: 3
TCPAutoCorking: 18622
TCPFromZeroWindowAdv: 101
TCPToZeroWindowAdv: 101
TCPWantZeroWindowAdv: 97
TCPSynRetrans: 4
TCPOrigDataSent: 742534
TCPACKSkippedSeq: 1
IpExt:
InNoRoutes: 22
InMcastPkts: 2
InBcastPkts: 5353
InOctets: 821060393
OutOctets: 139598022
InMcastOctets: 72
InBcastOctets: 949654
InNoECTPkts: 1252310
InECT0Pkts: 214966
显示udp端口的统计信息
[root@localhost ~]# netstat -su
IcmpMsg:
InType0: 62
InType3: 106
InType8: 1
OutType0: 1
OutType3: 106
OutType5: 2
OutType8: 62
Udp:
1703 packets received
103 packets to unknown port received.
0 packet receive errors
1929 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
IpExt:
InNoRoutes: 22
InMcastPkts: 2
InBcastPkts: 5353
InOctets: 821170745
OutOctets: 139824942
InMcastOctets: 72
InBcastOctets: 949654
InNoECTPkts: 1253475
InECT0Pkts: 215428
显示进程pid和进程名称
[root@localhost ~]# netstat -atp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN 6561/master
tcp 0 0 localhost.localdoma:ssh 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 52 localhost.localdoma:ssh 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 [::]:http [::]:* LISTEN 14493/httpd
tcp6 0 0 [::]:ssh [::]:* LISTEN 5994/sshd
tcp6 0 0 localhost:smtp [::]:* LISTEN 6561/master
显示IP地址和端口
[root@localhost ~]# netstat -atpn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp 0 0 192.168.101.15:22 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 52 192.168.101.15:22 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 14493/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
显示监听的端口
[root@localhost ~]# netstat -antpl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp 0 0 192.168.101.15:22 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 0 192.168.101.15:22 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 14493/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
每隔一秒输出一次
使用-c
参数
[root@localhost ~]# netstat -antplc
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp 0 0 192.168.101.15:22 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 0 192.168.101.15:22 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 14493/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp 0 0 192.168.101.15:22 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 0 192.168.101.15:22 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 14493/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp 0 0 192.168.101.15:22 192.168.248.18:53787 ESTABLISHED 16393/sshd: root@pt
tcp 0 0 192.168.101.15:22 192.168.248.18:53414 ESTABLISHED 32537/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 14493/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
...
显示网络接口列表
[root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 1500 4 0 0 0 3 0 0 0 BMU
ens192 1500 1541549 0 0 0 1006881 0 0 0 BMRU
lo 65536 244 0 0 0 244 0 0 0 LRU
ethtool
命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
-a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。
-A 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。
-c display the Coalesce information of the specified ethernet card。
-C Change the Coalesce setting of the specified ethernet card。
-g Display the rx/tx ring parameter information of the specified ethernet card。
-G change the rx/tx ring setting of the specified ethernet card。
-i 显示网卡驱动的信息,如驱动的名称、版本等。
-d 显示register dump信息, 部分网卡驱动不支持该选项。
-e 显示EEPROM dump信息,部分网卡驱动不支持该选项。
-E 修改网卡EEPROM byte。
-k 显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。
-K 修改网卡Offload参数的状态。
-p 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。
-r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation。
-S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。
-t 让网卡执行自我检测,有两种模式:offline or online。
-s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。
查看机器上网卡的速度:百兆还是千兆
[root@localhost ~]# ethtool ens192
Settings for ens192:
Supported ports: [ TP ]
Supported link modes: 1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Supports Wake-on: uag
Wake-on: d
Link detected: yes
将千兆网卡降速为百兆
[root@localhost ~]# ethtool -s ens192 speed 100
Cannot set new settings: Operation not supported
not setting speed
nslookup
命令是常用域名查询工具,就是查DNS信息用的命令。
[root@localhost ~]# nslookup www.baidu.com
Server: 119.29.29.29
Address: 119.29.29.29#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 112.80.248.76
Name: www.a.shifen.com
Address: 112.80.248.75
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
-a<日志文件>:在指定的日志文件中记录资料的执行过程;
-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
-b:进行后台的方式运行wget;
-B<连接地址>:设置参考的连接地址的基地地址;
-c:继续执行上次终端的任务;
-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
-d:调试模式运行指令;
-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
-h:显示指令帮助信息;
-i<文件>:从指定文件获取要下载的URL地址;
-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
-L:仅顺着关联的连接;
-r:递归下载方式;
-nc:文件存在时,下载文件不覆盖原有文件;
-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
-q:不显示指令执行过程;
-nh:不查询主机名称;
-v:显示详细执行过程;
-V:显示版本信息;
--passive-ftp:使用被动模式PASV连接FTP服务器;
--follow-ftp:从HTML文件中下载FTP连接文件。
下载单个文件
[root@localhost ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-06-13 03:06:49-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz”
100%[===================================================================================================================================================>] 1,039,530 217KB/s 用时 4.7s
2020-06-13 03:06:55 (217 KB/s) - 已保存 “nginx-1.18.0.tar.gz” [1039530/1039530])
下载并以指定的文件名保存
[root@localhost ~]# wget -O nginx.tar.gz http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-06-13 03:08:31-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx.tar.gz”
100%[===================================================================================================================================================>] 1,039,530 213KB/s 用时 4.8s
2020-06-13 03:08:37 (213 KB/s) - 已保存 “nginx.tar.gz” [1039530/1039530])
[root@localhost ~]# ls
nginx.tar.gz
限速下载
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。
[root@localhost ~]# wget --limit-rate=10k http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-06-13 03:10:59-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz.2”
3% [====> ] 40,960 9.99KB/s 剩余 98s
断点续传
使用
wget -c
重新启动下载中断的文件,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c
参数。
[root@localhost ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-06-13 03:15:07-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz”
17% [========================> ] 178,277 123KB/s ^C
[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-06-13 03:15:15-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 206 Partial Content
长度:1039530 (1015K),剩余 782053 (764K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz”
100%[++++++++++++++++++++++++++++++++++++===============================================================================================================>] 1,039,530 434KB/s 用时 1.8s
2020-06-13 03:15:17 (434 KB/s) - 已保存 “nginx-1.18.0.tar.gz” [1039530/1039530])
后台下载文件
对于下载非常大的文件的时候,我们可以使用参数
-b
进行后台下载
[root@localhost ~]# wget --limit-rate=1m -b http://nginx.org/download/nginx-1.18.0.tar.gz
继续在后台运行,pid 为 26030。
将把输出写入至 “wget-log”。
[root@localhost ~]# tail -f wget-log
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz”
0K .......... .......... .......... .......... .......... 4% 69.7K 14s
50K .......... .......... .......... .......... .......... 9% 139K 10s
100K .......... .......... .......... .......... .......... 14% 61.3M 6s
150K .......... .......... .......... .......... .......... 19% 139K 6s
200K .......... .......... .......... .......... .......... 24% 173M 4s
250K .......... .......... .......... .......... .......... 29% 139K 4s
300K .......... .......... .......... .......... .......... 34% 60.9K 5s
350K .......... .......... .......... .......... .......... 39% 179M 4s
400K .......... .......... .......... .......... .......... 44% 186M 3s
450K .......... .......... .......... .......... .......... 49% 196K 3s
500K .......... .......... .......... .......... .......... 54% 139K 3s
550K .......... .......... .......... .......... .......... 59% 41.2M 2s
600K .......... .......... .......... .......... .......... 64% 139K 2s
650K .......... .......... .......... .......... .......... 68% 140K 2s
700K .......... .......... .......... .......... .......... 73% 5.62M 1s
750K .......... .......... .......... .......... .......... 78% 142K 1s
800K .......... .......... .......... .......... .......... 83% 486K 1s
850K .......... .......... .......... .......... .......... 88% 194K 1s
900K .......... .......... .......... .......... .......... 93% 489K 0s
950K .......... .......... .......... .......... .......... 98% 193K 0s
1000K .......... ..... 100% 7.50M=5.0s
2020-06-13 03:19:36 (202 KB/s) - 已保存 “nginx-1.18.0.tar.gz” [1039530/1039530])
伪装代理名称下载
有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过
--user-agent
参数伪装。
[root@localhost ~]# wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://nginx.org/download/nginx-1.18.0.tar.gz
测试下载链接
当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加
--spider
参数进行检查。
[root@localhost ~]# wget --spider http://nginx.org/download/nginx-1.18.0.tar.gz
开启 Spider 模式。检查是否存在远程文件。
--2020-06-13 03:23:14-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
存在远程文件。
[root@localhost ~]# wget --spider http://nginx.org/download/helloasdfasklfjaldfjlaksdjflasdf.asfs
开启 Spider 模式。检查是否存在远程文件。
--2020-06-13 03:23:25-- http://nginx.org/download/helloasdfasklfjaldfjlaksdjflasdf.asfs
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 404 Not Found
远程文件不存在 -- 链接失效!!!
增加重试次数
如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要,你可以使用
--tries
增加重试次数。
wget --tries=40 http://nginx.org/download/nginx-1.18.0.tar.gz
下载多个文件
[root@localhost ~]# ls
downlist.txt
[root@localhost ~]# cat downlist.txt
http://nginx.org/download/nginx-1.18.0.tar.gz
https://mirrors.huaweicloud.com/python/3.8.6/Python-3.8.6.tgz
[root@localhost ~]#
[root@localhost ~]# wget -i downlist.txt
--2020-06-13 03:29:08-- http://nginx.org/download/nginx-1.18.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1039530 (1015K) [application/octet-stream]
正在保存至: “nginx-1.18.0.tar.gz”
100%[===================================================================================================================================================>] 1,039,530 149KB/s 用时 7.3s
2020-06-13 03:29:16 (139 KB/s) - 已保存 “nginx-1.18.0.tar.gz” [1039530/1039530])
--2020-06-13 03:29:16-- https://mirrors.huaweicloud.com/python/3.8.6/Python-3.8.6.tgz
正在解析主机 mirrors.huaweicloud.com (mirrors.huaweicloud.com)... 117.78.24.36, 117.78.24.32, 117.78.24.34
正在连接 mirrors.huaweicloud.com (mirrors.huaweicloud.com)|117.78.24.36|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:24377280 (23M) [application/octet-stream]
正在保存至: “Python-3.8.6.tgz”
100%[===================================================================================================================================================>] 24,377,280 3.25MB/s 用时 30s
2020-06-13 03:29:48 (792 KB/s) - 已保存 “Python-3.8.6.tgz” [24377280/24377280])
FINISHED --2020-06-13 03:29:48--
Total wall clock time: 40s
Downloaded: 2 files, 24M in 37s (664 KB/s)
[root@localhost ~]# ls
downlist.txt nginx-1.18.0.tar.gz Python-3.8.6.tgz
证书问题下载不了文件
[root@localhost ~]# wget https://download.redis.io/releases/redis-6.0.8.tar.gz
--2020-06-13 03:32:35-- https://download.redis.io/releases/redis-6.0.8.tar.gz
正在解析主机 download.redis.io (download.redis.io)... 45.60.125.1
正在连接 download.redis.io (download.redis.io)|45.60.125.1|:443... 已连接。
错误: 无法验证 download.redis.io 的由 “/C=BE/O=GlobalSign nv-sa/CN=GlobalSign HV RSA DV SSL CA 2018” 颁发的证书:
颁发的证书还未生效。
要以不安全的方式连接至 download.redis.io,使用“--no-check-certificate”。
[root@localhost ~]# wget https://download.redis.io/releases/redis-6.0.8.tar.gz --no-check-certificate
--2020-06-13 03:34:23-- https://download.redis.io/releases/redis-6.0.8.tar.gz
正在解析主机 download.redis.io (download.redis.io)... 45.60.125.1
正在连接 download.redis.io (download.redis.io)|45.60.125.1|:443... 已连接。
警告: 无法验证 download.redis.io 的由 “/C=BE/O=GlobalSign nv-sa/CN=GlobalSign HV RSA DV SSL CA 2018” 颁发的证书:
颁发的证书还未生效。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2247528 (2.1M) [application/octet-stream]
正在保存至: “redis-6.0.8.tar.gz”
100%[===================================================================================================================================================>] 2,247,528 54.2KB/s 用时 44s
2020-06-13 03:35:08 (50.1 KB/s) - 已保存 “redis-6.0.8.tar.gz” [2247528/2247528])
这个参数会让你在 wget 进行对 https 站点的请求时不再检查证书(不推荐)。但是可能会受到HTTP劫持。
下载镜像网站, 下载整个网站到本地。
--miror 开户镜像下载。
-p 下载所有为了html页面显示正常的文件。
--convert-links 下载后,转换成本地的链接。
-P ./site 保存所有文件和目录到本地指定目录。
wget --mirror -p --convert-links -P ./site https://goframe.org/index
过滤指定格式下载
下载一个网站,但你不希望下载图片和html,可以使用这条命令。
wget --mirror -p --convert-links -P ./site https://goframe.org/index --reject=jpg,html
把下载信息存入日志文件
不希望下载信息直接显示在终端而是在一个日志文件,可以使用。
[root@localhost ~]# wget -o download.log http://nginx.org/download/nginx-1.18.0.tar.gz
[root@localhost ~]# ls
download.log nginx-1.18.0.tar.gz
下载指定格式的文件
下载一个网站的所有图片。
下载一个网站的所有视频。
下载一个网站的所有PDF文件。
wget -r -A.jpg http://pic.netbian.com/
下载ftp文件, 使用用户名密码认证下载
wget ftp-url
wget --ftp-user=用户名 --ftp-password=密码 url连接地址
使用wget匿名ftp下载
wget ftp-url
curl
命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
-a/--append 上传文件时,附加到目标文件
-A/--user-agent <string> 设置用户代理发送给服务器
-anyauth 可以使用“任何”身份验证方法
-b/--cookie <name=string/file> cookie字符串或文件读取位置
--basic 使用HTTP基本验证
-B/--use-ascii 使用ASCII /文本传输
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-d/--data <data> HTTP POST方式传送数据
--data-ascii <data> 以ascii的方式post数据
--data-binary <data> 以二进制的方式post数据
--negotiate 使用HTTP身份验证
--digest 使用数字身份验证
--disable-eprt 禁止使用EPRT或LPRT
--disable-epsv 禁止使用EPSV
-D/--dump-header <file> 把header信息写入到该文件中
--egd-file <file> 为随机数据(SSL)设置EGD socket路径
--tcp-nodelay 使用TCP_NODELAY选项
-e/--referer 来源网址
-E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
--cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)
--key <key> 私钥文件名 (SSL)
--key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)
--pass <pass> 私钥密码 (SSL)
--engine <eng> 加密引擎使用 (SSL). "--engine list" for list
--cacert <file> CA证书 (SSL)
--capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)
--ciphers <list> SSL密码
--compressed 要求返回是压缩的形势 (using deflate or gzip)
--connect-timeout <seconds> 设置最大请求时间
--create-dirs 建立本地目录的目录层次结构
--crlf 上传是把LF转变成CRLF
-f/--fail 连接失败时不显示http错误
--ftp-create-dirs 如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
--ftp-pasv 使用 PASV/EPSV 代替端口
--ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
--ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输
--ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输
-F/--form <name=content> 模拟http表单提交数据
--form-string <name=string> 模拟http表单提交数据
-g/--globoff 禁用网址序列和范围使用{}和[]
-G/--get 以get的方式来发送数据
-H/--header <line> 自定义头信息传递给服务器
--ignore-content-length 忽略的HTTP头信息的长度
-i/--include 输出时包括protocol头信息
-I/--head 只显示请求头信息
-j/--junk-session-cookies 读取文件进忽略session cookie
--interface <interface> 使用指定网络接口/地址
--krb4 <level> 使用指定安全级别的krb4
-k/--insecure 允许不使用证书到SSL站点
-K/--config 指定的配置文件读取
-l/--list-only 列出ftp目录下的文件名称
--limit-rate <rate> 设置传输速度
--local-port<NUM> 强制使用本地端口号
-m/--max-time <seconds> 设置最大传输时间
--max-redirs <num> 设置最大读取的目录数
--max-filesize <bytes> 设置最大下载的文件总量
-M/--manual 显示全手动
-n/--netrc 从netrc文件中读取用户名和密码
--netrc-optional 使用 .netrc 或者 URL来覆盖-n
--ntlm 使用 HTTP NTLM 身份验证
-N/--no-buffer 禁用缓冲输出
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-p/--proxytunnel 使用HTTP代理
--proxy-anyauth 选择任一代理身份验证方法
--proxy-basic 在代理上使用基本身份验证
--proxy-digest 在代理上使用数字身份验证
--proxy-ntlm 在代理上使用ntlm身份验证
-P/--ftp-port <address> 使用端口地址,而不是使用PASV
-q 作为第一个参数,关闭 .curlrc
-Q/--quote <cmd> 文件传输前,发送命令到服务器
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
--range-file 读取(SSL)的随机文件
-R/--remote-time 在本地生成文件时,保留远程文件时间
--retry <num> 传输出现问题时,重试的次数
--retry-delay <seconds> 传输出现问题时,设置重试间隔时间
--retry-max-time <seconds> 传输出现问题时,设置最大重试时间
-s/--silent 静默模式。不输出任何东西
-S/--show-error 显示错误
--socks4 <host[:port]> 用socks4代理给定主机和端口
--socks5 <host[:port]> 用socks5代理给定主机和端口
--stderr <file>
-t/--telnet-option <OPT=val> Telnet选项设置
--trace <file> 对指定文件进行debug
--trace-ascii <file> Like --跟踪但没有hex输出
--trace-time 跟踪/详细输出时,添加时间戳
-T/--upload-file <file> 上传文件
--url <URL> Spet URL to work with
-u/--user <user[:password]> 设置服务器的用户和密码
-U/--proxy-user <user[:password]> 设置代理用户名和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-X/--request <command> 指定什么命令
-y/--speed-time 放弃限速所要的时间,默认为30
-Y/--speed-limit 停止传输速度的限制,速度时间
文件下载
[root@localhost ~]# curl http://nginx.org/download/nginx-1.18.0.tar.gz -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1015k 100 1015k 0 0 215k 0 0:00:04 0:00:04 --:--:-- 240k
[root@localhost ~]# ls
nginx-1.18.0.tar.gz
下载文件不显示进度信息使用--silent
选项。
[root@localhost ~]# curl http://nginx.org/download/nginx-1.18.0.tar.gz -O --silent
[root@localhost ~]# ls
nginx-1.18.0.tar.gz
-o
将下载数据写入到指定名称的文件中,并使用--progress
显示进度条
[root@localhost ~]# curl http://nginx.org/download/nginx-1.18.0.tar.gz -o nginx1.8.tar.gz --progress
######################################################################## 100.0%
[root@localhost ~]# ls
nginx1.8.tar.gz
设置user-agent
curl URL --user-agent "Mozilla/5.0"
curl URL -A "Mozilla/5.0"
限速下载
curl URL --limit-rate 50k
需要安装 yum -y install tcpdump
tcpdump
命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w
选项将数据包保存到文件中,方便以后分析。
-a:尝试将网络和广播地址转换成名称;
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F<表达文件>:指定内含表达方式的文件;
-i<网络界面>:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q :快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件读取数据包数据;
-s<数据包大小>:设置每个数据包的大小;
-S:用绝对而非相对数值列出TCP关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt: 在每列倾倒资料上显示未经格式化的时间戳记;
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w<数据包文件>:把数据包数据写入指定的文件。
监控指定网络接口的数据包
[root@localhost ~]# tcpdump -i ens192
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
10:13:47.908280 IP localhost.localdomain.ssh > 192.168.248.18.53414: Flags [P.], seq 2041358619:2041358783, ack 3277515920, win 281, options [nop,nop,TS val 287603295 ecr 464535749], length 164
10:13:47.909437 IP localhost.localdomain.42944 > pdns.dnspod.cn.domain: 22722+ PTR? 18.248.168.192.in-addr.arpa. (45)
10:13:47.914940 IP 192.168.248.18.53414 > localhost.localdomain.ssh: Flags [.], ack 164, win 2045, options [nop,nop,TS val 464535772 ecr 287603295], length 0
10:13:47.942160 IP pdns.dnspod.cn.domain > localhost.localdomain.42944: 22722 0/0/0 (45)
10:13:47.944626 IP localhost.localdomain.52387 > pdns.dnspod.cn.domain: 11789+ PTR? 15.101.168.192.in-addr.arpa. (45)
10:13:48.159052 ARP, Request who-has 192.168.101.79 tell 192.168.101.17, length 46
10:13:48.385986 IP localhost.localdomain.ssh > 192.168.248.18.53414: Flags [P.], seq 164:232, ack 1, win 281, options [nop,nop,TS val 287603772 ecr 464535772], length 68
10:13:48.386479 IP localhost.localdomain.ssh > 192.168.248.18.53414: Flags [P.], seq 232:268, ack 1, win 281, options [nop,nop,TS val 287603773 ecr 464535772], length 36
10:13:48.391759 IP localhost.localdomain.ssh > 192.168.248.18.53414: Flags [P.], seq 268:320, ack 1, win 281, options [nop,nop,TS val 287603778 ecr 464535772], length 52
10:13:48.394809 IP 192.168.248.18.53414 > localhost.localdomain.ssh: Flags [.], ack 232, win 2046, options [nop,nop,TS val 464536213 ecr 287603772], length 0
10:13:48.394850 IP localhost.localdomain.ssh > 192.168.248.18.53414: Flags [P.], seq 320:460, ack 1, win 281, options [nop,nop,TS val 287603781 ecr 464536213], length 140
10:13:48.395047 IP 192.168.248.18.53414 > localhost.localdomain.ssh: Flags [.], ack 268, win 2047, options [nop,nop,TS val 464536213 ecr 287603773], length 0
...
截获所有112.80.248.75 的主机收到的和发出的所有的数据包
tcpdump host 112.80.248.75
ps
命令用于报告当前系统的进程状态。可以搭配kill
指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,大部分信息都是可以通过执行该命令得到的, 所以选项多的离谱!
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
-c:显示CLS和PRI栏位。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:此选项的效果和指定"A"选项相同。
e:列出程序时,显示每个程序所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
-g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
h:不显示标题列。
-H:显示树状结构,表示程序间的相互关系。
-j或j:采用工作控制的格式显示程序状况。
-l或l:采用详细的格式来显示程序状况。
L:列出栏位的相关信息。
-m或m:显示所有的执行绪。
n:以数字来表示USER和WCHAN栏位。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。
-p<程序识别码>:指定程序识别码,并列出该程序的状况。
p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
r:只列出现行终端机正在执行中的程序。
-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s:采用程序信号的格式显示程序状况。
S:列出程序时,包括已中断的子程序资料。
-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
-T:显示现行终端机下的所有程序。
-u<用户识别码>:此选项的效果和指定"-U"选项相同。
u:以用户为主的格式来显示程序状况。
-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称>:列出属于该用户的程序的状况。
v:采用虚拟内存的格式显示程序状况。
-V或V:显示版本信息。
-w或w:采用宽阔的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
X:采用旧式的Linux i386登陆格式显示程序状况。
-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
-<程序识别码>:此选项的效果和指定"p"选项相同。
--cols<每列字符数>:设置每列的最大字符数。
--columns<每列字符数>:此选项的效果和指定"--cols"选项相同。
--cumulative:此选项的效果和指定"S"选项相同。
--deselect:此选项的效果和指定"-N"选项相同。
--forest:此选项的效果和指定"f"选项相同。
--headers:重复显示标题列。
--help:在线帮助。
--info:显示排错信息。
--lines<显示列数>:设置显示画面的列数。
--no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
--group<群组名称>:此选项的效果和指定"-G"选项相同。
--Group<群组识别码>:此选项的效果和指定"-G"选项相同。
--pid<程序识别码>:此选项的效果和指定"-p"选项相同。
--rows<显示列数>:此选项的效果和指定"--lines"选项相同。
--sid<阶段作业>:此选项的效果和指定"-s"选项相同。
--tty<终端机编号>:此选项的效果和指定"-t"选项相同。
--user<用户名称>:此选项的效果和指定"-U"选项相同。
--User<用户识别码>:此选项的效果和指定"-U"选项相同。
--version:此选项的效果和指定"-V"选项相同。
--widty<每列字符数>:此选项的效果和指定"-cols"选项相同。
常用选项参数
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
查看某进程
[root@localhost ~]# ps -ef | grep sshd
root 5994 1 0 6月10 ? 00:00:00 /usr/sbin/sshd -D
root 6177 5994 0 04:01 ? 00:00:00 sshd: root@notty
root 24213 27110 0 04:18 pts/0 00:00:00 grep --color=auto sshd
root 27101 5994 0 02:50 ? 00:00:27 sshd: root@pts/0,pts/1
[root@localhost ~]# ps -aux | grep sshd
root 5994 0.0 0.1 112756 4356 ? Ss 6月10 0:00 /usr/sbin/sshd -D
root 6177 0.0 0.1 158916 5712 ? Ss 04:01 0:00 sshd: root@notty
root 24385 0.0 0.0 112832 976 pts/0 R+ 04:18 0:00 grep --color=auto sshd
root 27101 0.5 0.1 159188 6076 ? Ss 02:50 0:27 sshd: root@pts/0,pts/1
pgrep
命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。
-o:仅显示找到的最小(起始)进程号;
-n:仅显示找到的最大(结束)进程号;
-l:显示进程名称;
-P:指定父进程号;
-g:指定进程组;
-t:指定开启进程的终端;
-u:指定进程的有效用户ID。
[root@localhost ~]# netstat -luntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5994/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6561/master
tcp6 0 0 :::80 :::* LISTEN 6445/httpd
tcp6 0 0 :::22 :::* LISTEN 5994/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6561/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 5913/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 16229/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 5573/chronyd
udp6 0 0 ::1:323 :::* 5573/chronyd
[root@localhost ~]# pgrep httpd
6445
6446
6447
6448
6449
6450
6484
6486
6487
[root@localhost ~]# pgrep -l httpd
6445 httpd
6446 httpd
6447 httpd
6448 httpd
6449 httpd
6450 httpd
6484 httpd
6486 httpd
6487 httpd
[root@localhost ~]# pgrep -lo httpd
6445 httpd
[root@localhost ~]# pgrep -ln httpd
6487 httpd
kill命令用来终止执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制终止程序。
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
列出所有信号名称
[root@localhost ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略, 下面是常用的信号
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
先用ps查找进程,然后用kill杀掉
[root@localhost ~]# ps -aux | grep top
root 25899 0.0 0.0 112828 980 pts/0 R+ 04:20 0:00 grep --color=auto top
root 27215 0.3 0.0 162748 2920 pts/1 S+ 02:50 0:19 top
[root@localhost ~]# kill -9 27215
[root@localhost ~]# ps -aux | grep top
root 26043 0.0 0.0 112828 980 pts/0 R+ 04:20 0:00 grep --color=auto top
pkill
命令可以按照进程名杀死进程。pkill
和killall
应用方法差不多,也是直接杀死运行中的程序;如果你想杀掉单个进程,请用kill
来杀掉。
-o:仅向找到的最小(起始)进程号发送信号;
-n:仅向找到的最大(结束)进程号发送信号;
-P:指定父进程号发送信号;
-g:指定进程组;
-t:指定开启进程的终端。
[root@localhost ~]# pgrep -l httpd
6445 httpd
6446 httpd
6447 httpd
6448 httpd
6449 httpd
6450 httpd
6484 httpd
6486 httpd
6487 httpd
[root@localhost ~]# pkill httpd
[root@localhost ~]# pgrep -l httpd
需要安装 yum -y install psmisc
killall
命令使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。我们可以使用kill
命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps
等命令再配合grep
来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
-e:对长名称进行精确匹配;
-l:忽略大小写的不同;
-p:杀死进程所属的进程组;
-i:交互式杀死进程,杀死进程前需要进行确认;
-l:打印所有已知信号列表;
-q:如果没有进程被杀死。则不输出任何信息;
-r:使用正规表达式匹配要杀死的进程名称;
-s:用指定的进程号代替默认信号“SIGTERM”;
-u:杀死指定用户的进程。
杀死所有同名进程
killall httpd
pidof
命令用于查找指定名称的进程的进程号id号。
-s:仅返回一个进程号;
-c:仅显示具有相同“root”目录的进程;
-x:显示由脚本开启的进程;
-o:指定不显示的进程ID。
查找指定进程的进程ID号
[root@localhost ~]# pidof httpd
4394 4393 4392 4391 4390 4389
需要安装 yum -y install lsof
lsof
命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息。
COMMAND:进程的名称
PID:进程标识符
PPID:父进程标识符(需要指定-R参数)
USER:进程所有者
PGID:进程所属组
FD:文件描述符,应用程序通过文件描述符识别该文件。
DIR:表示目录。
CHR:表示字符类型。
BLK:块设备类型。
UNIX: UNIX 域套接字。
FIFO:先进先出 (FIFO) 队列。
IPv4:网际协议 (IP) 套接字。
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
列出所有打开的文件
[root@localhost ~]# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 224 64 /
systemd 1 root rtd DIR 253,0 224 64 /
systemd 1 root txt REG 253,0 1616360 28617 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20112 33565434 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 265624 33565438 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
systemd 1 root mem REG 253,0 23968 33565460 /usr/lib64/libcap-ng.so.0.0.0
systemd 1 root mem REG 253,0 19896 33565264 /usr/lib64/libattr.so.1.1.0
systemd 1 root DEL REG 253,0 33561978 /usr/lib64/libdl-2.17.so;5ee07b35
systemd 1 root mem REG 253,0 402384 33565277 /usr/lib64/libpcre.so.1.2.0
systemd 1 root DEL REG 253,0 33561972 /usr/lib64/libc-2.17.so;5ee07b35
systemd 1 root DEL REG 253,0 33561998 /usr/lib64/libpthread-2.17.so;5ee07b35
systemd 1 root DEL REG 253,0 33554508 /usr/lib64/libgcc_s-4.8.5-20150702.so.1;5ee07b35
...
查看哪个程序在使用某个文件
[root@localhost ~]# lsof /var/log/httpd/access_log
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 14493 root 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14494 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14495 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14496 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14497 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14498 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
递归查看某个目录的文件信息
[root@localhost ~]# lsof | grep /var/log/httpd
httpd 14493 root 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14493 root 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14494 apache 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14494 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14495 apache 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14495 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14496 apache 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14496 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14497 apache 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14497 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
httpd 14498 apache 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14498 apache 7w REG 253,0 18778 442010 /var/log/httpd/access_log
列出某个用户打开的文件信息
[root@localhost ~]# lsof -u root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 224 64 /
systemd 1 root rtd DIR 253,0 224 64 /
systemd 1 root txt REG 253,0 1616360 28617 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20112 33565434 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 265624 33565438 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
systemd 1 root mem REG 253,0 23968 33565460 /usr/lib64/libcap-ng.so.0.0.0
systemd 1 root mem REG 253,0 19896 33565264 /usr/lib64/libattr.so.1.1.0
systemd 1 root DEL REG 253,0 33561978 /usr/lib64/libdl-2.17.so;5ee07b35
systemd 1 root mem REG 253,0 402384 33565277 /usr/lib64/libpcre.so.1.2.0
systemd 1 root DEL REG 253,0 33561972 /usr/lib64/libc-2.17.so;5ee07b35
systemd 1 root DEL REG 253,0 33561998 /usr/lib64/libpthread-2.17.so;5ee07b35
systemd 1 root DEL REG 253,0 33554508 /usr/lib64/libgcc_s-4.8.5-20150702.so.1;5ee07b35
systemd 1 root DEL REG 253,0 33562002 /usr/lib64/librt-2.17.so;5ee07b35
systemd 1 root mem REG 253,0 277824 33600796 /usr/lib64/libmount.so.1.1.0
systemd 1 root mem REG 253,0 91848 33601989 /usr/lib64/libkmod.so.2.2.10
systemd 1 root DEL REG 253,0 33565464 /usr/lib64/libaudit.so.1.0.0;5ee07fef
...
列出某个程序打开的文件信息
[root@localhost ~]# lsof -c python
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 23986 root cwd DIR 253,0 177 100663361 /root
python 23986 root rtd DIR 253,0 224 64 /
python 23986 root txt REG 253,0 7216 27102 /usr/bin/python2.7
python 23986 root mem REG 253,0 106176928 67163655 /usr/lib/locale/locale-archive
python 23986 root mem REG 253,0 2156240 33555827 /usr/lib64/libc-2.17.so
python 23986 root mem REG 253,0 1136944 33555835 /usr/lib64/libm-2.17.so
python 23986 root mem REG 253,0 14424 33555861 /usr/lib64/libutil-2.17.so
python 23986 root mem REG 253,0 19248 33555833 /usr/lib64/libdl-2.17.so
python 23986 root mem REG 253,0 142144 33555853 /usr/lib64/libpthread-2.17.so
python 23986 root mem REG 253,0 1847496 33601094 /usr/lib64/libpython2.7.so.1.0
python 23986 root mem REG 253,0 163312 33554509 /usr/lib64/ld-2.17.so
python 23986 root 0u CHR 136,0 0t0 3 /dev/pts/0
python 23986 root 1u CHR 136,0 0t0 3 /dev/pts/0
python 23986 root 2u CHR 136,0 0t0 3 /dev/pts/0
列出多个文件打开的文件信息
[root@localhost ~]# lsof -c python -c firewalld
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 23986 root cwd DIR 253,0 177 100663361 /root
python 23986 root rtd DIR 253,0 224 64 /
python 23986 root txt REG 253,0 7216 27102 /usr/bin/python2.7
python 23986 root mem REG 253,0 106176928 67163655 /usr/lib/locale/locale-archive
python 23986 root mem REG 253,0 2156240 33555827 /usr/lib64/libc-2.17.so
python 23986 root mem REG 253,0 1136944 33555835 /usr/lib64/libm-2.17.so
python 23986 root mem REG 253,0 14424 33555861 /usr/lib64/libutil-2.17.so
python 23986 root mem REG 253,0 19248 33555833 /usr/lib64/libdl-2.17.so
python 23986 root mem REG 253,0 142144 33555853 /usr/lib64/libpthread-2.17.so
python 23986 root mem REG 253,0 1847496 33601094 /usr/lib64/libpython2.7.so.1.0
python 23986 root mem REG 253,0 163312 33554509 /usr/lib64/ld-2.17.so
python 23986 root 0u CHR 136,0 0t0 3 /dev/pts/0
python 23986 root 1u CHR 136,0 0t0 3 /dev/pts/0
python 23986 root 2u CHR 136,0 0t0 3 /dev/pts/0
firewalld 26537 root cwd DIR 253,0 224 64 /
firewalld 26537 root rtd DIR 253,0 224 64 /
firewalld 26537 root txt REG 253,0 7216 27102 /usr/bin/python2.7
firewalld 26537 root mem REG 253,0 262808 100774783 /usr/lib64/girepository-1.0/NM-1.0.typelib
firewalld 26537 root mem REG 253,0 343452 100773776 /usr/lib64/girepository-1.0/Gio-2.0.typelib
firewalld 26537 root mem REG 253,0 12408 100773538 /usr/lib64/python2.7/lib-dynload/grpmodule.so
firewalld 26537 root mem REG 253,0 168312 33658786 /usr/lib64/libdbus-glib-1.so.2.2.2
firewalld 26537 root mem REG 253,0 11976 65382 /usr/lib64/python2.7/site-packages/_dbus_glib_bindings.so
firewalld 26537 root mem REG 253,0 185712 100773773 /usr/lib64/girepository-1.0/GLib-2.0.typelib
firewalld 26537 root mem REG 253,0 20112 33565434 /usr/lib64/libuuid.so.1.3.0
firewalld 26537 root mem REG 253,0 265624 33565438 /usr/lib64/libblkid.so.1.1.0
firewalld 26537 root mem REG 253,0 277824 33600796 /usr/lib64/libmount.so.1.1.0
firewalld 26537 root mem REG 253,0 1722848 33600799 /usr/lib64/libgio-2.0.so.0.5600.1
firewalld 26537 root mem REG 253,0 15688 33600803 /usr/lib64/libgmodule-2.0.so.0.5600.1
firewalld 26537 root mem REG 253,0 32304 33565262 /usr/lib64/libffi.so.6.0.1
firewalld 26537 root mem REG 253,0 1156600 33600801 /usr/lib64/libglib-2.0.so.0.5600.1
firewalld 26537 root mem REG 253,0 335032 33600805 /usr/lib64/libgobject-2.0.so.0.5600.1
firewalld 26537 root mem REG 253,0 217144 33601914 /usr/lib64/libgirepository-1.0.so.1.0.0
firewalld 26537 root mem REG 253,0 7016 33600807 /usr/lib64/libgthread-2.0.so.0.5600.1
firewalld 26537 root mem REG 253,0 331480 33601919 /usr/lib64/python2.7/site-packages/gi/_gi.so
firewalld 26537 root mem REG 253,0 29264 100773551 /usr/lib64/python2.7/lib-dynload/selectmodule.so
firewalld 26537 root mem REG 253,0 11672 100773554 /usr/lib64/python2.7/lib-dynload/syslog.so
firewalld 26537 root mem REG 253,0 19264 100773535 /usr/lib64/python2.7/lib-dynload/fcntlmodule.so
firewalld 26537 root mem REG 253,0 16432 100773520 /usr/lib64/python2.7/lib-dynload/_randommodule.so
firewalld 26537 root mem REG 253,0 22880 100773511 /usr/lib64/python2.7/lib-dynload/_hashlib.so
firewalld 26537 root mem REG 253,0 25768 100773527 /usr/lib64/python2.7/lib-dynload/binascii.so
firewalld 26537 root mem REG 253,0 37376 100773542 /usr/lib64/python2.7/lib-dynload/math.so
firewalld 26537 root mem REG 253,0 156960 100773514 /usr/lib64/python2.7/lib-dynload/_io.so
firewalld 26537 root mem REG 253,0 15688 33565302 /usr/lib64/libkeyutils.so.1.5
firewalld 26537 root mem REG 253,0 62888 33565429 /usr/lib64/libkrb5support.so.0.1
firewalld 26537 root mem REG 253,0 112280 33565421 /usr/lib64/libk5crypto.so.3.1
firewalld 26537 root mem REG 253,0 15920 33562312 /usr/lib64/libcom_err.so.2.1
firewalld 26537 root mem REG 253,0 967728 33565427 /usr/lib64/libkrb5.so.3.3
firewalld 26537 root mem REG 253,0 320392 33565417 /usr/lib64/libgssapi_krb5.so.2.2
firewalld 26537 root mem REG 253,0 2513000 33565406 /usr/lib64/libcrypto.so.1.0.2k
firewalld 26537 root mem REG 253,0 470360 33565408 /usr/lib64/libssl.so.1.0.2k
firewalld 26537 root mem REG 253,0 95120 100773523 /usr/lib64/python2.7/lib-dynload/_ssl.so
firewalld 26537 root mem REG 253,0 83960 100773521 /usr/lib64/python2.7/lib-dynload/_socketmodule.so
firewalld 26537 root mem REG 253,0 39024 100773524 /usr/lib64/python2.7/lib-dynload/_struct.so
firewalld 26537 root mem REG 253,0 21344 100773516 /usr/lib64/python2.7/lib-dynload/_localemodule.so
firewalld 26537 root mem REG 253,0 17056 100773510 /usr/lib64/python2.7/lib-dynload/_functoolsmodule.so
firewalld 26537 root mem REG 253,0 28736 100773553 /usr/lib64/python2.7/lib-dynload/stropmodule.so
firewalld 26537 root mem REG 253,0 173320 33600743 /usr/lib64/libexpat.so.1.6.0
firewalld 26537 root mem REG 253,0 54544 100773548 /usr/lib64/python2.7/lib-dynload/pyexpat.so
firewalld 26537 root mem REG 253,0 22920 100773512 /usr/lib64/python2.7/lib-dynload/_heapq.so
firewalld 26537 root mem REG 253,0 62096 100773540 /usr/lib64/python2.7/lib-dynload/itertoolsmodule.so
firewalld 26537 root mem REG 253,0 47672 100773545 /usr/lib64/python2.7/lib-dynload/operator.so
firewalld 26537 root mem REG 253,0 33096 100773503 /usr/lib64/python2.7/lib-dynload/_collectionsmodule.so
firewalld 26537 root mem REG 253,0 23992 100773530 /usr/lib64/python2.7/lib-dynload/cStringIO.so
firewalld 26537 root mem REG 253,0 25064 100773556 /usr/lib64/python2.7/lib-dynload/timemodule.so
firewalld 26537 root mem REG 253,0 68192 33565440 /usr/lib64/libbz2.so.1.0.6
firewalld 26537 root mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
firewalld 26537 root mem REG 253,0 100008 33565453 /usr/lib64/libelf-0.172.so
firewalld 26537 root mem REG 253,0 402384 33565277 /usr/lib64/libpcre.so.1.2.0
firewalld 26537 root mem REG 253,0 19896 33565264 /usr/lib64/libattr.so.1.1.0
firewalld 26537 root mem REG 253,0 88776 33554592 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
firewalld 26537 root mem REG 253,0 330464 33602752 /usr/lib64/libdw-0.172.so
firewalld 26537 root mem REG 253,0 109976 33555855 /usr/lib64/libresolv-2.17.so
firewalld 26537 root mem REG 253,0 19384 33565458 /usr/lib64/libgpg-error.so.0.10.0
firewalld 26537 root mem REG 253,0 535064 33565469 /usr/lib64/libgcrypt.so.11.8.2
firewalld 26537 root mem REG 253,0 85952 33601082 /usr/lib64/liblz4.so.1.7.5
firewalld 26537 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
firewalld 26537 root mem REG 253,0 155784 33565293 /usr/lib64/libselinux.so.1
firewalld 26537 root mem REG 253,0 43712 33555857 /usr/lib64/librt-2.17.so
firewalld 26537 root mem REG 253,0 20032 33565268 /usr/lib64/libcap.so.2.22
firewalld 26537 root mem REG 253,0 203800 33602765 /usr/lib64/libsystemd.so.0.6.0
firewalld 26537 root mem REG 253,0 333384 33602769 /usr/lib64/libdbus-1.so.3.14.14
firewalld 26537 root mem REG 253,0 166248 65381 /usr/lib64/python2.7/site-packages/_dbus_bindings.so
firewalld 26537 root mem REG 253,0 106176928 67163655 /usr/lib/locale/locale-archive
firewalld 26537 root mem REG 253,0 61560 33555845 /usr/lib64/libnss_files-2.17.so
firewalld 26537 root mem REG 253,0 2156240 33555827 /usr/lib64/libc-2.17.so
firewalld 26537 root mem REG 253,0 1136944 33555835 /usr/lib64/libm-2.17.so
firewalld 26537 root mem REG 253,0 14424 33555861 /usr/lib64/libutil-2.17.so
firewalld 26537 root mem REG 253,0 19248 33555833 /usr/lib64/libdl-2.17.so
firewalld 26537 root mem REG 253,0 142144 33555853 /usr/lib64/libpthread-2.17.so
firewalld 26537 root mem REG 253,0 1847496 33601094 /usr/lib64/libpython2.7.so.1.0
firewalld 26537 root mem REG 253,0 163312 33554509 /usr/lib64/ld-2.17.so
firewalld 26537 root mem REG 253,0 59120 100773775 /usr/lib64/girepository-1.0/GObject-2.0.typelib
firewalld 26537 root 0r CHR 1,3 0t0 5334 /dev/null
firewalld 26537 root 1w CHR 1,3 0t0 5334 /dev/null
firewalld 26537 root 2w CHR 1,3 0t0 5334 /dev/null
firewalld 26537 root 3w REG 253,0 5646 100666080 /var/log/firewalld
firewalld 26537 root 4u unix 0xffff96121130c000 0t0 1065928 socket
firewalld 26537 root 5u a_inode 0,10 0 5330 [eventfd]
firewalld 26537 root 6r FIFO 0,9 0t0 1066641 pipe
firewalld 26537 root 7r CHR 1,9 0t0 5339 /dev/urandom
firewalld 26537 root 8w FIFO 0,9 0t0 1066641 pipe
firewalld 26537 root 9r FIFO 0,9 0t0 1066642 pipe
firewalld 26537 root 10w FIFO 0,9 0t0 1066642 pipe
firewalld 26537 root 11r FIFO 0,9 0t0 1066643 pipe
列出除某用户外的被打开的文件
[root@localhost ~]# lsof -u ^root
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pickup 2233 postfix cwd DIR 253,0 201 67703230 /var/spool/postfix
pickup 2233 postfix rtd DIR 253,0 224 64 /
pickup 2233 postfix txt REG 253,0 285208 67637625 /usr/libexec/postfix/pickup
pickup 2233 postfix mem REG 253,0 61560 33555845 /usr/lib64/libnss_files-2.17.so
pickup 2233 postfix mem REG 253,0 155784 33565293 /usr/lib64/libselinux.so.1
pickup 2233 postfix mem REG 253,0 15688 33565302 /usr/lib64/libkeyutils.so.1.5
pickup 2233 postfix mem REG 253,0 11448 33561681 /usr/lib64/libfreebl3.so
pickup 2233 postfix mem REG 253,0 88776 33554592 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
pickup 2233 postfix mem REG 253,0 43712 33555857 /usr/lib64/librt-2.17.so
pickup 2233 postfix mem REG 253,0 62888 33565429 /usr/lib64/libkrb5support.so.0.1
pickup 2233 postfix mem REG 253,0 15920 33562312 /usr/lib64/libcom_err.so.2.1
pickup 2233 postfix mem REG 253,0 112280 33565421 /usr/lib64/libk5crypto.so.3.1
pickup 2233 postfix mem REG 253,0 967728 33565427 /usr/lib64/libkrb5.so.3.3
pickup 2233 postfix mem REG 253,0 320392 33565417 /usr/lib64/libgssapi_krb5.so.2.2
pickup 2233 postfix mem REG 253,0 40600 33555831 /usr/lib64/libcrypt-2.17.so
pickup 2233 postfix mem REG 253,0 991616 33562316 /usr/lib64/libstdc++.so.6.0.19
pickup 2233 postfix mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
pickup 2233 postfix mem REG 253,0 19248 33555833 /usr/lib64/libdl-2.17.so
pickup 2233 postfix mem REG 253,0 142144 33555853 /usr/lib64/libpthread-2.17.so
pickup 2233 postfix mem REG 253,0 251832 33562307 /usr/lib64/libnspr4.so
pickup 2233 postfix mem REG 253,0 20096 33562308 /usr/lib64/libplc4.so
pickup 2233 postfix mem REG 253,0 15800 33562309 /usr/lib64/libplds4.so
pickup 2233 postfix mem REG 253,0 194944 33562310 /usr/lib64/libnssutil3.so
pickup 2233 postfix mem REG 253,0 1249536 33600845 /usr/lib64/libnss3.so
pickup 2233 postfix mem REG 253,0 164288 33600846 /usr/lib64/libsmime3.so
pickup 2233 postfix mem REG 253,0 340976 33600847 /usr/lib64/libssl3.so
pickup 2233 postfix mem REG 253,0 2156240 33555827 /usr/lib64/libc-2.17.so
pickup 2233 postfix mem REG 253,0 109976 33555855 /usr/lib64/libresolv-2.17.so
pickup 2233 postfix mem REG 253,0 115816 33555837 /usr/lib64/libnsl-2.17.so
pickup 2233 postfix mem REG 253,0 1850464 33565441 /usr/lib64/libdb-5.3.so
pickup 2233 postfix mem REG 253,0 2513000 33565406 /usr/lib64/libcrypto.so.1.0.2k
pickup 2233 postfix mem REG 253,0 470360 33565408 /usr/lib64/libssl.so.1.0.2k
pickup 2233 postfix mem REG 253,0 121320 33601002 /usr/lib64/libsasl2.so.3.0.0
pickup 2233 postfix mem REG 253,0 1136944 33555835 /usr/lib64/libm-2.17.so
pickup 2233 postfix mem REG 253,0 3135712 100773845 /usr/lib64/mysql/libmysqlclient.so.18.0.0
pickup 2233 postfix mem REG 253,0 402384 33565277 /usr/lib64/libpcre.so.1.2.0
pickup 2233 postfix mem REG 253,0 61952 33602101 /usr/lib64/liblber-2.4.so.2.10.7
pickup 2233 postfix mem REG 253,0 352624 33602103 /usr/lib64/libldap-2.4.so.2.10.7
pickup 2233 postfix mem REG 253,0 163312 33554509 /usr/lib64/ld-2.17.so
pickup 2233 postfix 0u CHR 1,3 0t0 5334 /dev/null
pickup 2233 postfix 1u CHR 1,3 0t0 5334 /dev/null
pickup 2233 postfix 2u CHR 1,3 0t0 5334 /dev/null
pickup 2233 postfix 3r FIFO 0,9 0t0 34602 pipe
pickup 2233 postfix 4w FIFO 0,9 0t0 34602 pipe
pickup 2233 postfix 5u unix 0xffff9612b6be0c00 0t0 34532 socket
pickup 2233 postfix 6u unix 0xffff961235dfa000 0t0 34529 public/pickup
pickup 2233 postfix 7u unix 0xffff961239560800 0t0 976385 socket
pickup 2233 postfix 8u a_inode 0,10 0 5330 [eventpoll]
列出某一个进程PID所打开的文件
[root@localhost ~]# lsof -p 14493
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 14493 root cwd DIR 253,0 224 64 /
httpd 14493 root rtd DIR 253,0 224 64 /
httpd 14493 root txt REG 253,0 523608 33597695 /usr/sbin/httpd
httpd 14493 root mem REG 253,0 61560 33555845 /usr/lib64/libnss_files-2.17.so
httpd 14493 root mem REG 253,0 27720 100993461 /usr/lib64/httpd/modules/mod_cgi.so
httpd 14493 root mem REG 253,0 68192 33565440 /usr/lib64/libbz2.so.1.0.6
httpd 14493 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
httpd 14493 root mem REG 253,0 100008 33565453 /usr/lib64/libelf-0.172.so
httpd 14493 root mem REG 253,0 19896 33565264 /usr/lib64/libattr.so.1.1.0
httpd 14493 root mem REG 253,0 88776 33554592 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
httpd 14493 root mem REG 253,0 330464 33602752 /usr/lib64/libdw-0.172.so
httpd 14493 root mem REG 253,0 20032 33565268 /usr/lib64/libcap.so.2.22
httpd 14493 root mem REG 253,0 43712 33555857 /usr/lib64/librt-2.17.so
httpd 14493 root mem REG 253,0 28128 33602757 /usr/lib64/libsystemd-daemon.so.0.0.12
httpd 14493 root mem REG 253,0 11128 100664212 /usr/lib64/httpd/modules/mod_systemd.so
httpd 14493 root mem REG 253,0 19360 100664194 /usr/lib64/httpd/modules/mod_proxy_wstunnel.so
httpd 14493 root mem REG 253,0 19464 100664193 /usr/lib64/httpd/modules/mod_proxy_scgi.so
httpd 14493 root mem REG 253,0 39960 100664192 /usr/lib64/httpd/modules/mod_proxy_http.so
httpd 14493 root mem REG 253,0 44192 100664191 /usr/lib64/httpd/modules/mod_proxy_ftp.so
httpd 14493 root mem REG 253,0 11160 100664190 /usr/lib64/httpd/modules/mod_proxy_fdpass.so
httpd 14493 root mem REG 253,0 19384 100664189 /usr/lib64/httpd/modules/mod_proxy_fcgi.so
httpd 14493 root mem REG 253,0 15296 100664188 /usr/lib64/httpd/modules/mod_proxy_express.so
httpd 14493 root mem REG 253,0 19400 100664187 /usr/lib64/httpd/modules/mod_proxy_connect.so
httpd 14493 root mem REG 253,0 48176 100664186 /usr/lib64/httpd/modules/mod_proxy_balancer.so
httpd 14493 root mem REG 253,0 52440 100664185 /usr/lib64/httpd/modules/mod_proxy_ajp.so
httpd 14493 root mem REG 253,0 15328 100664171 /usr/lib64/httpd/modules/mod_lbmethod_heartbeat.so
httpd 14493 root mem REG 253,0 11128 100664170 /usr/lib64/httpd/modules/mod_lbmethod_bytraffic.so
httpd 14493 root mem REG 253,0 11136 100664169 /usr/lib64/httpd/modules/mod_lbmethod_byrequests.so
httpd 14493 root mem REG 253,0 11136 100664168 /usr/lib64/httpd/modules/mod_lbmethod_bybusyness.so
httpd 14493 root mem REG 253,0 118848 100664184 /usr/lib64/httpd/modules/mod_proxy.so
httpd 14493 root mem REG 253,0 31880 100664181 /usr/lib64/httpd/modules/mod_mpm_prefork.so
httpd 14493 root mem REG 253,0 1136944 33555835 /usr/lib64/libm-2.17.so
httpd 14493 root mem REG 253,0 193864 33600744 /usr/lib64/liblua-5.1.so
httpd 14493 root mem REG 253,0 117120 100664176 /usr/lib64/httpd/modules/mod_lua.so
httpd 14493 root mem REG 253,0 19648 100993467 /usr/lib64/httpd/modules/mod_dav_lock.so
httpd 14493 root mem REG 253,0 57120 100993466 /usr/lib64/httpd/modules/mod_dav_fs.so
httpd 14493 root mem REG 253,0 102440 100993465 /usr/lib64/httpd/modules/mod_dav.so
httpd 14493 root mem REG 253,0 11192 100664218 /usr/lib64/httpd/modules/mod_vhost_alias.so
httpd 14493 root mem REG 253,0 11112 100664217 /usr/lib64/httpd/modules/mod_version.so
httpd 14493 root mem REG 253,0 11176 100664215 /usr/lib64/httpd/modules/mod_userdir.so
httpd 14493 root mem REG 253,0 15312 100664214 /usr/lib64/httpd/modules/mod_unixd.so
httpd 14493 root mem REG 253,0 11152 100664213 /usr/lib64/httpd/modules/mod_unique_id.so
httpd 14493 root mem REG 253,0 11176 100664211 /usr/lib64/httpd/modules/mod_suexec.so
httpd 14493 root mem REG 253,0 15288 100664210 /usr/lib64/httpd/modules/mod_substitute.so
httpd 14493 root mem REG 253,0 23472 100664209 /usr/lib64/httpd/modules/mod_status.so
httpd 14493 root mem REG 253,0 23576 100664207 /usr/lib64/httpd/modules/mod_socache_shmcb.so
httpd 14493 root mem REG 253,0 11200 100664206 /usr/lib64/httpd/modules/mod_socache_memcache.so
httpd 14493 root mem REG 253,0 15328 100664205 /usr/lib64/httpd/modules/mod_socache_dbm.so
httpd 14493 root mem REG 253,0 15408 100664204 /usr/lib64/httpd/modules/mod_slotmem_shm.so
httpd 14493 root mem REG 253,0 11248 100664203 /usr/lib64/httpd/modules/mod_slotmem_plain.so
httpd 14493 root mem REG 253,0 15336 100664202 /usr/lib64/httpd/modules/mod_setenvif.so
httpd 14493 root mem REG 253,0 69056 100664200 /usr/lib64/httpd/modules/mod_rewrite.so
httpd 14493 root mem REG 253,0 15328 100664198 /usr/lib64/httpd/modules/mod_reqtimeout.so
httpd 14493 root mem REG 253,0 15312 100664197 /usr/lib64/httpd/modules/mod_remoteip.so
httpd 14493 root mem REG 253,0 36008 100664183 /usr/lib64/httpd/modules/mod_negotiation.so
httpd 14493 root mem REG 253,0 19528 100664178 /usr/lib64/httpd/modules/mod_mime.so
httpd 14493 root mem REG 253,0 27752 100664179 /usr/lib64/httpd/modules/mod_mime_magic.so
httpd 14493 root mem REG 253,0 11224 100664175 /usr/lib64/httpd/modules/mod_logio.so
httpd 14493 root mem REG 253,0 32312 100664172 /usr/lib64/httpd/modules/mod_log_config.so
httpd 14493 root mem REG 253,0 28136 100664167 /usr/lib64/httpd/modules/mod_info.so
httpd 14493 root mem REG 253,0 52536 100664166 /usr/lib64/httpd/modules/mod_include.so
httpd 14493 root mem REG 253,0 23760 100664163 /usr/lib64/httpd/modules/mod_headers.so
httpd 14493 root mem REG 253,0 19424 100664162 /usr/lib64/httpd/modules/mod_filter.so
httpd 14493 root mem REG 253,0 23552 100664160 /usr/lib64/httpd/modules/mod_ext_filter.so
httpd 14493 root mem REG 253,0 15312 100663387 /usr/lib64/httpd/modules/mod_expires.so
httpd 14493 root mem REG 253,0 11184 100663386 /usr/lib64/httpd/modules/mod_env.so
httpd 14493 root mem REG 253,0 11160 100663380 /usr/lib64/httpd/modules/mod_echo.so
httpd 14493 root mem REG 253,0 11200 100663378 /usr/lib64/httpd/modules/mod_dumpio.so
httpd 14493 root mem REG 253,0 15288 100993471 /usr/lib64/httpd/modules/mod_dir.so
httpd 14493 root mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
httpd 14493 root mem REG 253,0 31832 100993469 /usr/lib64/httpd/modules/mod_deflate.so
httpd 14493 root mem REG 253,0 23632 100993468 /usr/lib64/httpd/modules/mod_dbd.so
httpd 14493 root mem REG 253,0 11096 100993464 /usr/lib64/httpd/modules/mod_data.so
httpd 14493 root mem REG 253,0 36104 100993459 /usr/lib64/httpd/modules/mod_cache_disk.so
httpd 14493 root mem REG 253,0 73280 100993458 /usr/lib64/httpd/modules/mod_cache.so
httpd 14493 root mem REG 253,0 40080 100993456 /usr/lib64/httpd/modules/mod_autoindex.so
httpd 14493 root mem REG 253,0 7040 100993455 /usr/lib64/httpd/modules/mod_authz_user.so
httpd 14493 root mem REG 253,0 11144 100993454 /usr/lib64/httpd/modules/mod_authz_owner.so
httpd 14493 root mem REG 253,0 11200 100993453 /usr/lib64/httpd/modules/mod_authz_host.so
httpd 14493 root mem REG 253,0 11200 100993452 /usr/lib64/httpd/modules/mod_authz_groupfile.so
httpd 14493 root mem REG 253,0 11216 100993451 /usr/lib64/httpd/modules/mod_authz_dbm.so
httpd 14493 root mem REG 253,0 15304 100993450 /usr/lib64/httpd/modules/mod_authz_dbd.so
httpd 14493 root mem REG 253,0 23752 100993449 /usr/lib64/httpd/modules/mod_authz_core.so
httpd 14493 root mem REG 253,0 19552 100993448 /usr/lib64/httpd/modules/mod_authn_socache.so
httpd 14493 root mem REG 253,0 11176 100993447 /usr/lib64/httpd/modules/mod_authn_file.so
httpd 14493 root mem REG 253,0 11200 100993446 /usr/lib64/httpd/modules/mod_authn_dbm.so
httpd 14493 root mem REG 253,0 15272 100993445 /usr/lib64/httpd/modules/mod_authn_dbd.so
httpd 14493 root mem REG 253,0 15376 100993444 /usr/lib64/httpd/modules/mod_authn_core.so
httpd 14493 root mem REG 253,0 11160 100993443 /usr/lib64/httpd/modules/mod_authn_anon.so
httpd 14493 root mem REG 253,0 36088 100993442 /usr/lib64/httpd/modules/mod_auth_digest.so
httpd 14493 root mem REG 253,0 15336 100993441 /usr/lib64/httpd/modules/mod_auth_basic.so
httpd 14493 root mem REG 253,0 11152 100993439 /usr/lib64/httpd/modules/mod_allowmethods.so
httpd 14493 root mem REG 253,0 15376 100993438 /usr/lib64/httpd/modules/mod_alias.so
httpd 14493 root mem REG 253,0 11176 100993437 /usr/lib64/httpd/modules/mod_actions.so
httpd 14493 root mem REG 253,0 11232 100993436 /usr/lib64/httpd/modules/mod_access_compat.so
httpd 14493 root mem REG 253,0 11448 33561681 /usr/lib64/libfreebl3.so
httpd 14493 root mem REG 253,0 20112 33565434 /usr/lib64/libuuid.so.1.3.0
httpd 14493 root mem REG 253,0 2156240 33555827 /usr/lib64/libc-2.17.so
httpd 14493 root mem REG 253,0 19248 33555833 /usr/lib64/libdl-2.17.so
httpd 14493 root mem REG 253,0 142144 33555853 /usr/lib64/libpthread-2.17.so
httpd 14493 root mem REG 253,0 198704 33555956 /usr/lib64/libapr-1.so.0.4.8
httpd 14493 root mem REG 253,0 1850464 33565441 /usr/lib64/libdb-5.3.so
httpd 14493 root mem REG 253,0 173320 33600743 /usr/lib64/libexpat.so.1.6.0
httpd 14493 root mem REG 253,0 40600 33555831 /usr/lib64/libcrypt-2.17.so
httpd 14493 root mem REG 253,0 172288 33555958 /usr/lib64/libaprutil-1.so.0.5.2
httpd 14493 root mem REG 253,0 155784 33565293 /usr/lib64/libselinux.so.1
httpd 14493 root mem REG 253,0 402384 33565277 /usr/lib64/libpcre.so.1.2.0
httpd 14493 root mem REG 253,0 163312 33554509 /usr/lib64/ld-2.17.so
httpd 14493 root DEL REG 0,4 1019364 /dev/zero
httpd 14493 root DEL REG 0,4 98304 /SYSV72138de1
httpd 14493 root 0r CHR 1,3 0t0 5334 /dev/null
httpd 14493 root 1u unix 0xffff9612b5c4f000 0t0 1019324 socket
httpd 14493 root 2w REG 253,0 6879 442009 /var/log/httpd/error_log
httpd 14493 root 3u sock 0,7 0t0 1019333 protocol: TCP
httpd 14493 root 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14493 root 5r FIFO 0,9 0t0 1019360 pipe
httpd 14493 root 6w FIFO 0,9 0t0 1019360 pipe
httpd 14493 root 7w REG 253,0 18778 442010 /var/log/httpd/access_log
列出多个进程PID所打开的文件信息
[root@localhost ~]# pidof httpd
14498 14497 14496 14495 14494 14493
[root@localhost ~]# lsof -p 14498,14497,14496,14495,14494,14493
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 14493 root cwd DIR 253,0 224 64 /
httpd 14493 root rtd DIR 253,0 224 64 /
httpd 14493 root txt REG 253,0 523608 33597695 /usr/sbin/httpd
httpd 14493 root mem REG 253,0 61560 33555845 /usr/lib64/libnss_files-2.17.so
httpd 14493 root mem REG 253,0 27720 100993461 /usr/lib64/httpd/modules/mod_cgi.so
httpd 14493 root mem REG 253,0 68192 33565440 /usr/lib64/libbz2.so.1.0.6
httpd 14493 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
httpd 14493 root mem REG 253,0 100008 33565453 /usr/lib64/libelf-0.172.so
httpd 14493 root mem REG 253,0 19896 33565264 /usr/lib64/libattr.so.1.1.0
httpd 14493 root mem REG 253,0 88776 33554592 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
httpd 14493 root mem REG 253,0 330464 33602752 /usr/lib64/libdw-0.172.so
httpd 14493 root mem REG 253,0 20032 33565268 /usr/lib64/libcap.so.2.22
httpd 14493 root mem REG 253,0 43712 33555857 /usr/lib64/librt-2.17.so
httpd 14493 root mem REG 253,0 28128 33602757 /usr/lib64/libsystemd-daemon.so.0.0.12
httpd 14493 root mem REG 253,0 11128 100664212 /usr/lib64/httpd/modules/mod_systemd.so
httpd 14493 root mem REG 253,0 19360 100664194 /usr/lib64/httpd/modules/mod_proxy_wstunnel.so
httpd 14493 root mem REG 253,0 19464 100664193 /usr/lib64/httpd/modules/mod_proxy_scgi.so
httpd 14493 root mem REG 253,0 39960 100664192 /usr/lib64/httpd/modules/mod_proxy_http.so
httpd 14493 root mem REG 253,0 44192 100664191 /usr/lib64/httpd/modules/mod_proxy_ftp.so
httpd 14493 root mem REG 253,0 11160 100664190 /usr/lib64/httpd/modules/mod_proxy_fdpass.so
...
列出除了某进程外,其它进程打开的文件信息
[root@localhost ~]# lsof -p ^14498
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 224 64 /
systemd 1 root rtd DIR 253,0 224 64 /
systemd 1 root txt REG 253,0 1616360 28617 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20112 33565434 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 265624 33565438 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90248 33562302 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 33565432 /usr/lib64/liblzma.so.5.2.2
...
列出所有网络连接信息
[root@localhost ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4563 root 3u IPv4 1108767 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52059 (ESTABLISHED)
chronyd 5573 chrony 1u IPv4 30342 0t0 UDP localhost:323
chronyd 5573 chrony 2u IPv6 30343 0t0 UDP localhost:323
dhclient 5913 root 7u IPv4 221627 0t0 UDP *:bootpc
sshd 5994 root 3u IPv4 33212 0t0 TCP *:ssh (LISTEN)
sshd 5994 root 4u IPv6 33222 0t0 TCP *:ssh (LISTEN)
sshd 6177 root 3u IPv4 586534 0t0 TCP localhost.localdomain:ssh->192.168.248.16:51235 (ESTABLISHED)
master 6561 root 13u IPv4 34525 0t0 TCP localhost:smtp (LISTEN)
master 6561 root 14u IPv6 34526 0t0 TCP localhost:smtp (LISTEN)
httpd 14493 root 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14494 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14495 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14496 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14497 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14498 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
dhclient 16229 root 6u IPv4 43966 0t0 UDP *:bootpc
sshd 21803 root 3u IPv4 1047169 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52042 (ESTABLISHED)
sshd 29553 root 3u IPv4 1078041 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52054 (ESTABLISHED)
列出所有tcp网络连接信息
[root@localhost ~]# lsof -i tcp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4563 root 3u IPv4 1108767 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52059 (ESTABLISHED)
sshd 5994 root 3u IPv4 33212 0t0 TCP *:ssh (LISTEN)
sshd 5994 root 4u IPv6 33222 0t0 TCP *:ssh (LISTEN)
sshd 6177 root 3u IPv4 586534 0t0 TCP localhost.localdomain:ssh->192.168.248.16:51235 (ESTABLISHED)
master 6561 root 13u IPv4 34525 0t0 TCP localhost:smtp (LISTEN)
master 6561 root 14u IPv6 34526 0t0 TCP localhost:smtp (LISTEN)
httpd 14493 root 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14494 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14495 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14496 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14497 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14498 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
sshd 21803 root 3u IPv4 1047169 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52042 (ESTABLISHED)
sshd 29553 root 3u IPv4 1078041 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52054 (ESTABLISHED)
列出所有udp网络连接信息
[root@localhost ~]# lsof -i udp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 5573 chrony 1u IPv4 30342 0t0 UDP localhost:323
chronyd 5573 chrony 2u IPv6 30343 0t0 UDP localhost:323
dhclient 5913 root 7u IPv4 221627 0t0 UDP *:bootpc
dhclient 16229 root 6u IPv4 43966 0t0 UDP *:bootpc
列出谁在使用某端口
[root@localhost ~]# lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4563 root 3u IPv4 1108767 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52059 (ESTABLISHED)
sshd 5994 root 3u IPv4 33212 0t0 TCP *:ssh (LISTEN)
sshd 5994 root 4u IPv6 33222 0t0 TCP *:ssh (LISTEN)
sshd 6177 root 3u IPv4 586534 0t0 TCP localhost.localdomain:ssh->192.168.248.16:51235 (ESTABLISHED)
sshd 21803 root 3u IPv4 1047169 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52042 (ESTABLISHED)
sshd 29553 root 3u IPv4 1078041 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52054 (ESTABLISHED)
列出谁在使用特定协议端口
[root@localhost ~]# lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 14493 root 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14494 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14495 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14496 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14497 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
httpd 14498 apache 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
列出某个用户的所有活跃网络接口
[root@localhost ~]# lsof -a -u root -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4563 root 3u IPv4 1108767 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52059 (ESTABLISHED)
dhclient 5913 root 7u IPv4 221627 0t0 UDP *:bootpc
sshd 5994 root 3u IPv4 33212 0t0 TCP *:ssh (LISTEN)
sshd 5994 root 4u IPv6 33222 0t0 TCP *:ssh (LISTEN)
sshd 6177 root 3u IPv4 586534 0t0 TCP localhost.localdomain:ssh->192.168.248.16:51235 (ESTABLISHED)
master 6561 root 13u IPv4 34525 0t0 TCP localhost:smtp (LISTEN)
master 6561 root 14u IPv6 34526 0t0 TCP localhost:smtp (LISTEN)
httpd 14493 root 4u IPv6 1019334 0t0 TCP *:http (LISTEN)
dhclient 16229 root 6u IPv4 43966 0t0 UDP *:bootpc
sshd 21803 root 3u IPv4 1047169 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52042 (ESTABLISHED)
sshd 29553 root 3u IPv4 1078041 0t0 TCP localhost.localdomain:ssh->192.168.248.17:52054 (ESTABLISHED)
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
-exec find命令对匹配的文件执行该参数所给出的其他linux命令。相应命令的形式为' 命令 - and' {} \;,注意{ }和\;之间的空格。
-ok 和- exec的作用相同,只不过和会人交互而已,OK执行前会向你确认是不是要执行。
find命令主要参数:
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项
相似,所以我们在这里只介绍-mtime选项。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-size n[cwbkMG] : 文件大小 为 n 个由后缀决定的数据块。其中后缀为:
b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
c: 表示字节数
k: 表示 kilo bytes (1024字节)
w: 字 (2字节)
M:兆字节(1048576字节)
G: 千兆字节 (1073741824字节)
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-delete (删除)
-maxdepth 查找最大目录层数 如 1,即只查找一层目录
-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件
/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount 在查找文件时不跨越文件系统mount点。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
-o 是或者的意思
-a 是而且的意思
-not 是相反的意思
列出指定目录下的文件和文件夹
[root@localhost ~]# find /etc/sysconfig/network-scripts
/etc/sysconfig/network-scripts
/etc/sysconfig/network-scripts/ifcfg-lo
/etc/sysconfig/network-scripts/ifdown
/etc/sysconfig/network-scripts/ifdown-bnep
/etc/sysconfig/network-scripts/ifdown-eth
/etc/sysconfig/network-scripts/ifdown-ippp
/etc/sysconfig/network-scripts/ifdown-ipv6
/etc/sysconfig/network-scripts/ifdown-isdn
/etc/sysconfig/network-scripts/ifdown-post
/etc/sysconfig/network-scripts/ifdown-ppp
/etc/sysconfig/network-scripts/ifdown-routes
/etc/sysconfig/network-scripts/ifdown-sit
/etc/sysconfig/network-scripts/ifdown-tunnel
/etc/sysconfig/network-scripts/ifup
/etc/sysconfig/network-scripts/ifup-aliases
/etc/sysconfig/network-scripts/ifup-bnep
/etc/sysconfig/network-scripts/ifup-eth
/etc/sysconfig/network-scripts/ifup-ippp
/etc/sysconfig/network-scripts/ifup-ipv6
/etc/sysconfig/network-scripts/ifup-isdn
/etc/sysconfig/network-scripts/ifup-plip
/etc/sysconfig/network-scripts/ifup-plusb
/etc/sysconfig/network-scripts/ifup-post
/etc/sysconfig/network-scripts/ifup-ppp
/etc/sysconfig/network-scripts/ifup-routes
/etc/sysconfig/network-scripts/ifup-sit
/etc/sysconfig/network-scripts/ifup-tunnel
/etc/sysconfig/network-scripts/ifup-wireless
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/sysconfig/network-scripts/network-functions
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/sysconfig/network-scripts/ifdown-Team
/etc/sysconfig/network-scripts/ifdown-TeamPort
/etc/sysconfig/network-scripts/ifup-Team
/etc/sysconfig/network-scripts/ifup-TeamPort
/etc/sysconfig/network-scripts/ifcfg-ens192
查找以.repo
结尾的文件名
[root@localhost ~]# find /etc/yum.repos.d -name "*.repo"
/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-CR.repo
/etc/yum.repos.d/CentOS-Debuginfo.repo
/etc/yum.repos.d/CentOS-Media.repo
/etc/yum.repos.d/CentOS-Sources.repo
/etc/yum.repos.d/CentOS-Vault.repo
/etc/yum.repos.d/CentOS-fasttrack.repo
忽略大小写
[root@localhost ~]# find ./ -name '*.py'
./test.py
[root@localhost ~]# find ./ -iname '*.py'
./test.py
./hello.PY
在当前目录和子目录下查找.ini
和.log
结尾的文件
[root@localhost ~]# find ./ -name '*.ini' -o -name '*.log'
./config.ini
./tcpdump.log
./files/access.log
匹配文件或路径
[root@localhost ~]# find / -path '*local*'
/boot/grub2/locale
/boot/grub2/locale/ast.mo
/boot/grub2/locale/ca.mo
/boot/grub2/locale/da.mo
/boot/grub2/locale/de.mo
/boot/grub2/locale/de@hebrew.mo
/boot/grub2/locale/de_CH.mo
/boot/grub2/locale/en@arabic.mo
/boot/grub2/locale/en@cyrillic.mo
/boot/grub2/locale/en@greek.mo
/boot/grub2/locale/en@hebrew.mo
/boot/grub2/locale/en@piglatin.mo
/boot/grub2/locale/en@quot.mo
/boot/grub2/locale/eo.mo
/boot/grub2/locale/es.mo
/boot/grub2/locale/fi.mo
/boot/grub2/locale/fr.mo
/boot/grub2/locale/gl.mo
/usr/local/share/info
/usr/local/share/man
/usr/local/share/man/man1
/usr/local/share/man/man1x
/usr/local/share/man/man2
/usr/local/share/man/man2x
/usr/local/share/man/man3
/usr/local/share/man/man3x
/usr/local/share/man/man4
/usr/local/share/man/man4x
/usr/local/share/man/man5
/usr/local/share/man/man5x
/usr/local/share/man/man6
/usr/local/share/man/man6x
/usr/local/share/man/man7
/usr/local/share/man/man7x
/usr/local/share/man/man8
/usr/local/share/man/man8x
/usr/local/share/man/man9
/usr/local/share/man/man9x
/usr/local/share/man/mann
/usr/local/src
/usr/local/mysql
/usr/local/nginx
/usr/local/redis
/usr/local/python
...
查找当前目录不是以.log
文件结尾的文件
[root@localhost ~]# find ./ ! -name "*.log"
./
./.bash_logout
./.bash_profile
./.cshrc
./.tcshrc
./.bash_history
./.bashrc
./.lesshst
./test.py
./.viminfo
./config.ini
./.finalshellc
./.finalshellc/ssout1_m7zvz
./.finalshellc/ssout1_m7zvz.tar.gz
./.finalshellc/ssout2_m7zvz
./.finalshellc/ssout2_m7zvz.tar.gz
./.finalshellc/nsout_m7zvz
./.finalshellc/nsout_m7zvz.tar.gz
./hello.PY
./files
查找当前目录下不是.log
和.py
.PY
结尾的文件
[root@localhost ~]# find ./ ! -name "*.log" -a ! -iname '*.py'
./
./.bash_logout
./.bash_profile
./.cshrc
./.tcshrc
./.bash_history
./.bashrc
./.lesshst
./.viminfo
./config.ini
./.finalshellc
./.finalshellc/ssout1_m7zvz
./.finalshellc/ssout1_m7zvz.tar.gz
./.finalshellc/ssout2_m7zvz
./.finalshellc/ssout2_m7zvz.tar.gz
./.finalshellc/nsout_m7zvz
./.finalshellc/nsout_m7zvz.tar.gz
./files
根据文件类型搜索
[root@localhost ~]# find /root -type d
/root
/root/.finalshellc
/root/files
[root@localhost ~]# find /root -type f
/root/.bash_logout
/root/.bash_profile
/root/.cshrc
/root/.tcshrc
/root/.bash_history
/root/.bashrc
/root/.lesshst
/root/test.py
/root/.viminfo
/root/config.ini
/root/tcpdump.log
/root/.finalshellc/ssout1_m7zvz
/root/.finalshellc/ssout1_m7zvz.tar.gz
/root/.finalshellc/ssout2_m7zvz
/root/.finalshellc/ssout2_m7zvz.tar.gz
/root/.finalshellc/nsout_m7zvz
/root/.finalshellc/nsout_m7zvz.tar.gz
/root/hello.PY
/root/files/access.log
根据文件时间戳进行搜索
UNIX/Linux文件系统每个文件都有三种时间戳:
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
搜索2天内被访问过的所有文件
[root@localhost ~]# find . -type f -atime -2
./.bash_logout
./.bash_profile
./.bash_history
./.bashrc
./test.py
./.viminfo
./config.ini
./tcpdump.log
./.finalshellc/ssout1_m7zvz
./.finalshellc/ssout1_m7zvz.tar.gz
./.finalshellc/ssout2_m7zvz
./.finalshellc/ssout2_m7zvz.tar.gz
./.finalshellc/nsout_m7zvz
./.finalshellc/nsout_m7zvz.tar.gz
./hello.PY
./files/access.log
搜索2天前的那天被访问的文件
[root@localhost ~]# find . -type f -atime 2
搜索访问时间超过3分钟的文件
[root@localhost ~]# find . -type f -amin +3
./.bash_logout
./.bash_profile
./.cshrc
./.tcshrc
./.bash_history
./.bashrc
./.lesshst
./test.py
./.viminfo
./config.ini
./tcpdump.log
./.finalshellc/ssout1_m7zvz
./.finalshellc/ssout1_m7zvz.tar.gz
./.finalshellc/ssout2_m7zvz
./.finalshellc/ssout2_m7zvz.tar.gz
./.finalshellc/nsout_m7zvz
./.finalshellc/nsout_m7zvz.tar.gz
./hello.PY
./files/access.log
根据文件大小进行匹配
文件大小单元:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
搜索大于100M的文件
[root@localhost ~]# find / -type f -size +100M
/proc/kcore
find: ‘/proc/24958’: 没有那个文件或目录
find: ‘/proc/24967’: 没有那个文件或目录
find: ‘/proc/24972’: 没有那个文件或目录
find: ‘/proc/24981’: 没有那个文件或目录
find: ‘/proc/24983/task/24983/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/24983/fdinfo/5’: 没有那个文件或目录
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/usr/lib/locale/locale-archive
搜索文件小于1k的
[root@localhost ~]# find ./ -type f -size -1k
./config.ini
./hello.PY
./files/access.log
搜索文件等于102M的
[root@localhost ~]# find /usr/lib/locale -type f -size 102M
/usr/lib/locale/locale-archive
根据文件权限搜索
[root@localhost ~]# ls -lh
总用量 8.0K
-rw-r--r--. 1 root root 0 6月 13 07:17 config.ini
drwxr-xr-x. 2 root root 24 6月 13 11:07 files
-rw-r--r--. 1 root root 0 6月 13 11:04 hello.PY
-rw-r--r--. 1 tcpdump tcpdump 24 6月 13 09:40 tcpdump.log
-rw-r--r--. 1 root root 68 6月 13 07:17 test.py
[root@localhost ~]# find ./ -type d -perm 755
./.finalshellc
./files
查找某目录中某用户所拥有的文件
[root@localhost ~]# find / -type f -user ryan
/home/ryan/.bash_logout
/home/ryan/.bash_profile
/home/ryan/.bashrc
/var/spool/mail/ryan
查找某目录中某用户组所拥有的文件
[root@localhost ~]# find / -type f -group ryan
/home/ryan/.bash_logout
/home/ryan/.bash_profile
/home/ryan/.bashrc
借助-exec
选项与其他命令结合使用
找出自己家目录下所有的.txt文件并显示详情
[root@localhost ~]# find $HOME -name '*.log' -exec ls -lh {} \;
-rw-r--r--. 1 tcpdump tcpdump 24 6月 13 09:40 /root/tcpdump.log
-rw-r--r--. 1 root root 0 6月 13 11:07 /root/files/access.log
将.py
结尾的文件复制到opt目录中
[root@localhost ~]# find ./ -name '*.py' -exec cp -r {} /opt \;
[root@localhost ~]# ls /opt
test.py
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
locate命令和slocate命令都用来查找文件或目录。
直接运行命令
export PATH=$PATH:/usr/local/python3/bin
使用这种方法,只会对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。
/etc/profile
文件是bash shell默认的主启动文件。只要你登录了Linux系统,bash就会执行/etc/profile启动文件的命令。
~/.bash_profile 或.profile
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。
~/.bashrc
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
/etc/bashrc
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
shell会按照下列顺序,运行第一个找到的文件,余下被忽略:
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
.bashrc通过.bash_profile来调用。
.
source
iptables
是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
4表5链
raw:高级功能,如:网址过滤。
mangle:数据包修改(QOS),用于实现服务质量。
net:地址转换,用于网关路由器。
filter:包过滤,用于防火墙规则。
INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)
动作
accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP伪装(NAT),用于ADSL。
LOG:日志记录。
清除已有规则
iptables -F
iptables -X
iptables -Z
开放指定端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
iptables -A INPUT -j reject #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是
将所有iptables以序号标记显示
iptables -L -n --line-numbers
删除INPUT里序号为3的规则
iptables -D INPUT 3
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
安装rpm包存在依赖关系问题
[root@localhost ~]# rpm -ivh lrzsz-0.12.21-28-omv4002.aarch64.rpm
警告:lrzsz-0.12.21-28-omv4002.aarch64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID bf81de15: NOKEY
错误:依赖检测失败:
ld-linux-aarch64.so.1()(64bit) 被 lrzsz-0.12.21-28.aarch64 需要
ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) 被 lrzsz-0.12.21-28.aarch64 需要
rpmlib(PayloadIsZstd) <= 5.4.18-1 被 lrzsz-0.12.21-28.aarch64 需要
rpm
包操作命令
rpm -ivh rpm包名 # 安装
rpm -Uvh rpm包名 # 升级
rpm -qpi rpm包名 # 查询软件描述信息
rpm -qpl rpm包名 # 列出软件文件信息
rpm -qf 软件名称 # 查询文件属于哪个RPM包
rpm -ql 软件名称 # 列出软件包安装的文件列表
[root@localhost ~]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.25.20131004git.el7.x86_64
[root@localhost ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/usr/bin/nginx-upgrade
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/share/doc/nginx-1.16.1
/usr/share/doc/nginx-1.16.1/CHANGES
/usr/share/doc/nginx-1.16.1/README
/usr/share/doc/nginx-1.16.1/README.dynamic
/usr/share/doc/nginx-1.16.1/UPGRADE-NOTES-1.6-to-1.10
/usr/share/licenses/nginx-1.16.1
/usr/share/licenses/nginx-1.16.1/LICENSE
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/index.html
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx
# 组合查看
[root@localhost ~]# rpm -qf `which nginx`
nginx-1.16.1-2.el7.x86_64
yum
命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
安装
yum install package1 # 安装指定的安装包package1
yum groupinsall group1 # 安装程序组group1
升级
yum update # 全部更新
yum update package1 # 更新指定程序包package1
yum check-update # 检查可更新的程序
yum upgrade package1 # 升级指定程序包package1
yum groupupdate group1 # 升级程序组group1
查找
yum info package1 # 显示安装包信息package1
yum list # 显示所有已经安装和可以安装的程序包
yum list package1 # 显示指定程序包安装情况package1
yum groupinfo group1 # 显示程序组group1信息yum search string 根据关键字string查找安装包
卸载删除
yum remove package1 # 删除程序包package1
yum groupremove group1 # 删除程序组group1
yum deplist package1 # 查看程序package1依赖情况
清除缓存
yum clean packages # 清除缓存目录下的软件包
yum clean headers # 清除缓存目录下的 headers
yum clean oldheaders # 清除缓存目录下旧的 headers
yum clean all # 清楚所有缓存
yum makecache # 建立新缓存, 提升搜索速度,但是安装还是需要网络
yum的配置文件
/etc/yum.conf
[root@localhost etc]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
configure
make
make install
service
命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
[root@localhost ~]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 六 2020-06-13 07:08:30 EDT; 1 day 7h ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 14493 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─14493 /usr/sbin/httpd -DFOREGROUND
├─21927 /usr/sbin/httpd -DFOREGROUND
├─21930 /usr/sbin/httpd -DFOREGROUND
├─21931 /usr/sbin/httpd -DFOREGROUND
├─21934 /usr/sbin/httpd -DFOREGROUND
└─21935 /usr/sbin/httpd -DFOREGROUND
6月 13 07:08:29 localhost.localdomain systemd[1]: Stopped The Apache HTTP Server.
6月 13 07:08:29 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
6月 13 07:08:30 localhost.localdomain httpd[14493]: AH00558: httpd: Could not reliably determine the server...sage
6月 13 07:08:30 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
6月 14 03:10:01 localhost.localdomain systemd[1]: Reloading The Apache HTTP Server.
6月 14 03:10:01 localhost.localdomain httpd[21913]: AH00558: httpd: Could not reliably determine the server...sage
6月 14 03:10:01 localhost.localdomain systemd[1]: Reloaded The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# service httpd stop
Redirecting to /bin/systemctl stop httpd.service
[root@localhost ~]# service httpd start
Redirecting to /bin/systemctl start httpd.service
systemctl命令是系统服务管理器指令,它实际上将 service
和 chkconfig
这两个命令组合到一起。
任务 | 旧指令 | 新指令 |
---|---|---|
使某服务自动启动 | chkconfig --level 3 httpd on | systemctl enable httpd.service |
使某服务不自动启动 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
检查服务状态 | service httpd status | systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active) |
显示所有已启动的服务 | chkconfig --list | systemctl list-units --type=service |
启动某服务 | service httpd start | systemctl start httpd.service |
停止某服务 | service httpd stop | systemctl stop httpd.service |
重启某服务 | service httpd restart | systemctl restart httpd.service |
export LC_ALL=en_US.UTF-8
export LC_ALL=zh_CN.UTF-8
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。