Linux 操作系统命令整理
在企业级运维、开发和日常工作中,Linux 命令是绕不开的核心技能。不论是日志排查、进程管理,还是高效运维优化,掌握这些命令都能让你事半功倍!本篇文章整理了自己在日常工作中积累最常用的 Linux 命令,希望对你有帮助!
Linux 查看相关常用命令
查看连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
示例
[root@centos ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
ESTABLISHED 1075
FIN_WAIT2 1
TIME_WAIT 140
查看 TCP 连接
netstat -n | grep tcp
示例
[root@centos ~]# netstat -n | grep tcp
tcp 0 0 192.168.100.1:5432 192.168.100.233:59446 ESTABLISHED
...
查看统计端口连接数
netstat -nat | grep -i "443" | wc -l
netstat -nat | grep -i "80" | wc -l
查看目录下文件大小
直接在目录下执行
du -sh *
查看当前流量带宽
nethogs
示例
[root@centos ~]# nethogs
PID USER PROGRAM DEV SENT RECEIVED
22196 root sshd: root@pts/1 eth0 0.521 0.053 KB/sec
1219 root /usr/local/qcloud/tat_agent/tat_agent eth0 0.011 0.011 KB/sec
10909 root barad_agent eth0 0.000 0.000 KB/sec
查看目录下文件大小
ll -h /opt/data/backup/
示例
[root@localhost ~]# ll -h /opt/data/backup/
总用量 631M
-rwxrwxr-x 1 root root 4.4M 8月 16 09:59 database.bak
-rwxrwxr-x 1 root root 627M 8月 16 09:59 web.tar.gz
Linux 修改相关常用命令
Linux 修改时间
修改具体时间
date -s "2020-11-26 14:14:00"
修改日期
date -s "2020-11-26"
Linux 修改用户密码
root 修改普通用户的密码
sudo passwd user_name
然后连续两次输入新的用户密码即可;
root 查看普通用户密码
密码是无法被查看的,即使是 root 也不行,因此普通用户要是遗忘了密码,可以参照上一步,让管理员使用 root 权限修改密码,然后再将新密码告知普通用户;
普通用户修改自己的密码
passwd
直接使用上述命令 passwd 即可,之后它会要求你输入原先的密码和新的密码。
Linux 租赁IP地址
在企业网络环境中,Linux 服务器通常通过 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 获取 IP 地址。当网络发生变更,或者需要手动续租/重新获取 IP 地址时,我们可以使用以下命令来处理:
dhclient
如果网络有异常或者 dhclient 无法解决问题,可以尝试 systemctl restart network.service 彻底重启网络服务,确保 IP 地址重新获取。
systemctl restart network.service
Linux 网卡文件位置
编辑以下网卡文件
/etc/sysconfig/network-scripts/ifcfg-ens33
Linux 配置网关等信息
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.192.0
GATEWAY=192.168.1.254
DNS1=66.13.26.69
Linux 修改网络地址重启服务
service network restart
Linux 常用系列命令
netstat 命令
查看网络端口情况(Linux 查看端口监听状态)
netstat -anutp
参数含义:
-a 显示所有
-n 以ip形式显示当前建立的有效连接和端口
-u 显示UDP协议
-t 显示TCP协议
-p 显示对应PID与程序名
对查询结果进行过滤
netstat -antup | grep 8443
查询结果
Protocol Recv-Q Send-Q Local Address Foregin Address State PID/Program name
tcp 0 0 0.0.0.0:9443 0.0.0.0:* LISTEN 11641/nginx
tcp 0 0 :::9443 :::* LISTEN 11641/nginx
tcp 32 0 ::ffff:132.190.99.12:47728 ::ffff:132.190.99.12:9443 CLOSE_WAIT 23626/java
查询进程信息
[root@localhost shell]# netstat -anp | grep 8443
tcp6 0 0 :::8443 :::* LISTEN 10565/java
top 命令
top -p 查看进程的详细情况
$ top -p 进程号
[root@centos121 ~]# top -p 80897
top - 14:02:42 up 19 days, 22:29, 7 users, load average: 1.17, 1.47, 1.49
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu0 : 6.2/0.0 6[| ] %Cpu1 : 0.0/6.2 6[| ]
%Cpu2 : 0.0/6.7 7[| ] %Cpu3 : 0.0/0.0 0[ ]
%Cpu4 : 0.0/6.7 7[| ] %Cpu5 : 0.0/6.7 7[| ]
%Cpu6 : 0.0/0.0 0[ ] %Cpu7 : 0.0/0.0 0[ ]
GiB Mem : 72.1/31.2 [ ]
GiB Swap: 3.5/15.7 [ ]
PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
80897 kafka 20 0 14.3g 2.1g 40.0 6.7 314:22.60 S /opt/kafka/bin/java -Xmx2G -Xm+
ps 命令
[root@localhost ~]# ps -ef|grep Tomcat
root 2107 1 12 2021 ? 3-05:32:50 /usr/java/jdk1.8.0_134/jre/bin/java
lsof 命令
链接
使用 -i 显示所有连接
tar 命令
解压命令
tar -zxvf xxx.tar.gz
压缩命令
tar -cvf xxx.tar.gz ROOT/
curl 命令
链接
firewall-cmd 防火墙命令
centos 7 使用 firewall-cmd 相关命令来关闭防火墙
查看开放端口
firewall-cmd --list-all
设置开放的端口号
firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
iptables 防火墙命令
防火墙放开 80 端口
[root@localhost html]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost html]# /etc/init.d/iptables save
[root@localhost html]# /etc/init.d/iptables restart
查看防火墙信息
/etc/init.d/iptables status
关闭防火墙服务
/etc/init.d/iptables stop
删除一条防火墙规则
# 查找所有规则
iptables -L INPUT --line-numbers
# 删除一条规则
iptables -D INPUT 11 #(注意,这个11是行号,是iptables -L INPUT --line-numbers 所打印出来的行号)
[root@localhost etc]# iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:postgres
2 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
[root@localhost etc]# iptables -D INPUT 1
重启 iptables
service iptables save && service iptables restart
指定开放 IP 和端口
iptables -A INPUT -p tcp -s 192.168.137.1,192.168.137.102 --dport 22 -j ACCEPT
对所有 IP 禁止访问 22 端口
iptables -A INPUT -p tcp --dport 22 -j REJECT
对所有主机开放 5432 端口
/sbin/iptables -I INPUT -p tcp --dport 5432 -j ACCEPT
📢 结语
熟练掌握 Linux 常用命令,不仅能大幅提升运维效率,还能在企业生产环境中快速排查问题、优化系统性能。持续整理中…