基础命令参考:http://t.csdnimg.cn/EwQs1
本章为一些命令的扩展和使用方法
1)id 查看用户详细信息
用法:id
查看当前用户的详细信息用户uid,组gid等等,也可以在后面添加用户名:id username
2)du -sh 统计目录真实大小
-s:表示查看当前目录下的所有目录及文件的总大小以字节方式显示不带单位后缀
-h:表示查看当前目录下的所有目录和文件的大小并以KB,MB,GB等带单位后缀方式显示
3)ll -h 查看文件真实大小
4)reboot/shutdown/sync 重启、关机、同步或保存数据到磁盘
用法1:reboot
表示立即重启操作系统或服务器。
用法2:shutdown -h now
表示立即关闭操作系统或服务器(0等价于now)。
用法3:shutdown -h 1
表示延迟1分钟后关闭操作系统或服务器,ctrl+c终止关闭操作。
用法4:shutdown -r now
表示立即重启操作系统(0等价于now)。
用法5:shutdown -r 1
表示延迟1分钟后重启操作系统,ctrl+c终止重启操作。
用法6:shutdown -r 15:30 '操作系统将在15点30分重启'
表示定时在15:30分重启系统并且给出提示语,ctrl+c终止重启操作。
用法7:sync
表示同步数据到磁盘里,建议在使用重启或关机之前先使用此命令将数据保存到磁盘,以防丢失数据。
5) uptime 查询开机到现在的时间
表示查看从开机到现在的运行时间,并显示登录的用户数和负载情况
6)netstat -tnlp 查看网络连接状态
-a 显示所有网络连接信息
-l 显示所有监听中的端口
-t 显示所有TCP连接信息
-u 显示所有UDP连接信息
7)man/help 获取命令帮助信息
man ls/ls --help
8)pwd 查看当前的路径
9)cat 查看文件内容
less/more 分页查看文件内容
10)tail 查看文件末尾的内容
-n 查看文件的末尾指定行数
-f 实时查看文件的末尾内容
-c 查看文件的末尾指定字节数
例:实时查看message的输入内容
tail -f message
11) telnet 用于远程登录到其他计算机或服务器的命令行工具
telnet [OPTIONS] HOST [PORT]
选项:
-a
:使用ASCII模式进行数据传输。-e CHAR
:设置终止字符。-l USER
:指定登录用户名。-n
:禁用本地命令解释器。-r
:强制重置终端。-t
:使用telnet协议选项。-v
:启用详细输出模式。
参数:
HOST
:指定要连接的远程主机的IP地址或域名。PORT
:指定要使用的端口号,默认为23。
实际常用来监测目标ip/端口是否通顺:
telnet 192.168.12.45 6637
12) chmod 更改文件/目录的权限
chmod [ugoa...][[+-=][rwxXstugo...]...][,...] fileu
表示文件所有者,g
表示文件所属组,o
表示其他用户,a
表示所有用户。+
表示增加权限,-
表示移除权限,=
表示设置权限。r
表示读权限,w
表示写权限,x
表示执行权限,X
表示仅当文件为目录或者至少有一个文件被执行时才添加执行权限,s
表示设置用户的ID位或组ID位,t
表示设置粘滞位
赋予文件执行权限:chomod +x filename
13)chown 用于更改文件或目录的所有者和所属组
更改文件用户组为tom:chown :tom aa
14)top 显示系统中CPU最“敏感”的任务列表
直接输入top
命令并按回车键,可以看到系统的整体运行状态,包括当前时间、系统运行时间、登录用户数、系统负载等,也可以使用交互命令来查看详细的信息:
* **P**:按%CPU排序。
* **M**:按%MEM排序。
* **N**:按PID排序。
* **T**:按TIME+排序。
* **k**:杀死一个进程。
* **r**:改变一个进程的优先级。
* **f**:选择显示的内容。
* **o**:改变列的显示顺序。
* **a-z**:将相应的列向右移动。
* **A-Z**:将相应的列向左移动。
* **E**:切换内存信息单位的显示。
* **m**:控制是否显示内存信息。
* **e**:切换进程列表中的内存显示单位。
* **x**:粗体显示当前排序的列。
* **R**:将当前的排序结果反转。
* **q**:退出`top`命令。
15)df 查看系统硬盘空间
-h 以人类可读的方式显示磁盘空间,例如,使用KB、MB等作为单位
-T 显示文件系统类型
16)fdisk 磁盘分区工具
fdisk [OPTIONS] DEVICE
选项:
-l
:列出设备的分区表信息。-s
:显示设备的分区大小。-u
:以扇区而非柱面为单位显示和操作。-c
:开启兼容模式,支持大容量硬盘。-b SECTORSIZE
:指定扇区大小。-h
:显示帮助信息。
参数:
DEVICE
:指定要操作的设备路径,如/dev/sda
。
交互命令:
m
:显示帮助信息。p
:显示设备的分区表信息。n
:创建一个新分区。d
:删除一个分区。l
:显示可用的分区类型。t
:改变一个分区的类型。w
:保存并退出。q
:退出而不保存。
列出设备的分区表信息并显示大小:fdisk -ls /dev/sda
17)lsblk 用于列出块设备信息的命令行工具
常用于查看磁盘挂载情况:lsblk
磁盘分区挂载/自动挂载参考:http://t.csdnimg.cn/T9IZI
18) grep 在文件中查找模式匹配的行
-i
:忽略大小写。-v
:显示不匹配模式的行。-n
:显示匹配行的行号。-c
:仅显示匹配行的数量。-r
:递归查找指定目录及其子目录下的文件。-l
:仅显示包含匹配行的文件名。-w
:仅匹配整个单词。-A
:显示匹配行后的N行。-B
:显示匹配行前的N行。-C
:显示匹配行前后的N行。-E
:使用扩展正则表达式。-F
:不使用正则表达式,而是按照字面意思匹配。-m
:仅在前N行中查找匹配行。
指定目录及其子目录下查找特定字符串:
grep -r "string" /path/to/directory
不区分大小写查到指定字符串,并显示匹配的行号:
grep -i -n "string" file.txt
19) traceroute 显示数据包到达目标主机所经过的路由路径
选项:
-I
:使用ICMP Echo请求代替UDP数据包。-T
:使用TCP SYN数据包。-U
:使用UDP数据包。-p PORT
:指定端口号。-q NUM
:设置每个跃点的发送数据包数量。-m MAX_HOPS
:设置最大跳数。-n
:显示IP地址而非主机名。-w SECONDS
:设置等待回复的超时时间。-h
:显示帮助信息。
参数:
HOSTNAME/IP_ADDRESS
:指定要跟踪的目标主机的主机名或IP地址。
使用ICMP Echo请求跟踪到目标主机,设置最大跳数为30,显示IP地址而非主机名:
traceroute -I -m 30 -n www.example.com
20) tcpdump 在命令行中捕获和分析网络流量
tcpdump [OPTIONS] [EXPRESSION]
选项:
-i INTERFACE
:指定要监听的网络接口。-c COUNT
:指定要捕获的数据包数量。-w FILE
:将捕获的数据包写入文件。-r FILE
:从文件中读取数据包进行分析。-s SNAPLEN
:设置要捕获的数据包的最大长度。-A
:以ASCII形式显示数据包内容。-X
:以十六进制和ASCII混合形式显示数据包内容。-n
:显示IP地址和端口号而非主机名和服务名。-v
:显示详细的输出信息。-vv
:显示更详细的输出信息。-vvv
:显示最详细的输出信息。-h
:显示帮助信息。
表达式:
host IP_ADDRESS
:过滤指定IP地址的流量。port PORT_NUMBER
:过滤指定端口号的流量。src IP_ADDRESS
:过滤源IP地址为指定IP地址的流量。dst IP_ADDRESS
:过滤目标IP地址为指定IP地址的流量。proto PROTOCOL
:过滤指定协议的流量。
过滤目标IP地址为指定IP地址的流量:tcpdump dst 192.168.1.100
监听指定网络接口上的前10个数据包:tcpdump -i eth0 -c 10
21)history 查看历史命令
history [OPTIONS] [N]
选项:
-c
:清除Shell历史记录。-d OFFSET
:删除指定偏移量的命令。-a
:将新命令追加到Shell历史记录中。-n
:不要将历史记录添加到Shell历史记录文件中。-r
:从历史记录文件中重新读取历史记录。-w
:将当前Shell历史记录写入历史记录文件。
参数:
N
:指定要显示的最近的N个命令,默认为所有命令。
常用使用时直接输入history即可
22)env 查看各类环境变量
常用方法:
- 显示所有环境变量:env
- 显示特定环境变量的值:env VARIABLE_NAME
- 设置环境变量:env VARIABLE_NAME=VALUE COMMAND
- 清楚环境变量:env -u VARIABLE_NAME COMMAND
23)which 查找指定命令在系统中的路径
which [OPTIONS] COMMAND
选项:
-a
:显示所有与命令相关的路径,而不仅仅是第一个匹配项。-s
:仅显示找到的命令的路径,而不显示其他信息。
参数:
COMMAND
:要查找的命令的名称。
which 只能查可执行文件,whereis 只能查二进制文件、说明文档,源文件等。
显示所有与命令相关的路径:
which -a python
24)awk 强大的文本处理工具,它用于从文本文件中提取和处理数据
一个贼牛的工具,暂时浅谈一下,后续看情况再专门更新一版关于awk的说明
awk [OPTIONS] 'pattern { action }' file
选项:
-F
:指定字段分隔符。-v var=value
:定义一个变量并赋值给它。
模式(pattern):
模式用于匹配输入文件的行。如果模式匹配成功,则执行指定的动作。
动作(action):
动作定义在模式匹配成功时要执行的操作。可以是打印行、执行数学计算、设置变量等。
文件(file):
要处理的输入文件的名称。
例:
1,以逗号作为字段分隔符,打印file.txt
文件中的第一个和第三个字段
awk -F ',' '{ print $1, $3 }' file.txt
2,打印file.txt
文件中第三个字段大于50的行
awk '$3 > 50 { print }' file.txt
25) 常用的一些系统命令和工具
1,重启网络服务:systemctl restart network
暂停网络服务:systemctl stop network,
2,重启防火墙服务:systemctl restart firewalld
暂停防火墙服务:systemctl stop firewalld
3,rz和sz工具:用于将文件下载和上传到服务器,需要下载软件包才能用:yum -y install lrzsz
rz 将文件上传到服务器:rz
sz 将文件从服务器下载到本地 sz filename
4,source:source
命令来重新加载配置文件:
source ~/.bashrc
会重新加载~/.bashrc
文件