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 常用命令,不僅能大幅提升運維效率,還能在企業生產環境中快速排查問題、優化系統性能。持續整理中…