作為一位Java后端開發,怎能不會點Linux命令?總結了一套非常實用的Linux命令(基于CentOS 7.6),希望對大家有所幫助!
[系統服務管理]
[systemctl]
systemctl
命令是service
和chkconfig
命令的組合體,可用于管理系統。
- 輸出系統中各個服務的狀態:
systemctl list-units --type=service
image
- 查看服務的運行狀態:
systemctl status firewalld
image
- 關閉服務:
systemctl stop firewalld
image
- 啟動服務:
systemctl start firewalld
image
- 重新啟動服務(不管當前服務是啟動還是關閉):
systemctl restart firewalld
- 重新載入配置信息而不中斷服務:
systemctl reload firewalld
- 禁止服務開機自啟動:
systemctl disable firewalld
image
- 設置服務開機自啟動:
systemctl enable firewalld
image
[文件管理]
[ls]
列出指定目錄下的所有文件,列出/
目錄下的文件:
ls -l /
image
[pwd]
獲取目前所在工作目錄的絕對路徑:
image
[cd]
改變當前工作目錄:
cd /usr/local
image
[date]
顯示或修改系統時間與日期;
date '+%Y-%m-%d %H:%M:%S'
image
[passwd]
用于設置用戶密碼:
passwd root
image
[su]
改變用戶身份(切換到超級用戶):
su -
[clear]
用于清除屏幕信息
[man]
顯示指定命令的幫助信息:
man ls
[who]
- 查詢系統處于什么運行級別:
who -r
image
-
顯示目前登錄到系統的用戶:
who -buT
image
[free]
顯示系統內存狀態(單位MB):
free -m
image
[ps]
- 顯示系統進程運行動態:
ps -ef
- 查看
sshd
進程的運行動態:
ps -ef | grep sshd
image
[top]
查看即時活躍的進程,類似Windows的任務管理器。
image
[mkdir]
創建目錄:
image
[more]
用于分頁查看文件,例如每頁10行查看boot.log
文件:
more -c -10 /var/log/boot.log
image
[cat]
用于查看文件,例如查看Linux啟動日志文件文件,并標明行號:
cat -Ab /var/log/boot.log
image
[touch]
用于創建文件,例如創建text.txt
文件:
touch text.txt
image
[rm]
- 刪除文件:
rm text.txt
- 強制刪除某個目錄及其子目錄:
rm -rf testdir/
image
[cp]
用于拷貝文件,例如將test1
目錄復制到test2
目錄
cp -r /mydata/tes1 /mydata/test2
[mv]
用于移動或覆蓋文件:
mv text.txt text2.txt
[壓縮與解壓]
[tar]
- 將
/etc
文件夾中的文件歸檔到文件etc.tar
(并不會進行壓縮):
tar -cvf /mydata/etc.tar /etc
- 用
gzip
壓縮文件夾/etc
中的文件到文件etc.tar.gz
:
tar -zcvf /mydata/etc.tar.gz /etc
- 用
bzip2
壓縮文件夾/etc
到文件/etc.tar.bz2
:
tar -jcvf /mydata/etc.tar.bz2 /etc
image
- 分頁查看壓縮包中內容(gzip):
tar -ztvf /mydata/etc.tar.gz |more -c -10
image
- 解壓文件到當前目錄(gzip):
tar -zxvf /mydata/etc.tar.gz
- 解壓文件到指定目錄(gzip):
tar -zxvf /mydata/etc.tar.gz -C /mydata/etc
[磁盤和網絡管理]
[df]
查看磁盤空間占用情況:
df -hT
image
[dh]
查看當前目錄下的文件及文件夾所占大小:
du -h --max-depth=1 ./*
image
[ifconfig]
顯示當前網絡接口狀態:
image
[netstat]
- 查看當前路由信息:
netstat -rn
image
- 查看所有有效TCP連接:
netstat -an
- 查看系統中啟動的監聽服務:
netstat -tulnp
image
- 查看處于連接狀態的系統資源信息:
netstat -atunp
[wget]
從網絡上下載文件
image
[文件上傳下載]
- 安裝上傳下載工具
lrzsz
;
yum install -y lrzsz
- 上傳文件,輸入以下命令
XShell
會彈出文件上傳框;
rz
- 下載文件,輸入以下命令
XShell
會彈出文件保存框;
sz fileName
[軟件的安裝與管理]
[rpm]
RPM是
Red-Hat Package Manager
的縮寫,一種Linux下通用的軟件包管理方式,可用于安裝和管理.rpm
結尾的軟件包。
- 安裝軟件包:
rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
- 模糊搜索軟件包:
rpm -qa | grep nginx
- 精確查找軟件包:
rpm -qa nginx
- 查詢軟件包的安裝路徑:
rpm -ql nginx-1.12.2-2.el7.x86_64
- 查看軟件包的概要信息:
rpm -qi nginx-1.12.2-2.el7.x86_64
- 驗證軟件包內容和安裝文件是否一致:
rpm -V nginx-1.12.2-2.el7.x86_64
- 更新軟件包:
rpm -Uvh nginx-1.12.2-2.el7.x86_64
- 刪除軟件包:
rpm -e nginx-1.12.2-2.el7.x86_64
[yum]
Yum是
Yellow dog Updater, Modified
的縮寫,能夠在線自動下載RPM包并安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,非常方便!
- 安裝軟件包:
yum install nginx
- 檢查可以更新的軟件包:
yum check-update
- 更新指定的軟件包:
yum update nginx
- 在資源庫中查找軟件包信息:
yum info nginx*
- 列出已經安裝的所有軟件包:
yum info installed
- 列出軟件包名稱:
yum list nginx*
- 模糊搜索軟件包:
yum search nginx
[用戶管理]
[用戶信息查看]
- 查看用戶信息:
cat /etc/passwd
- 用戶信息格式如下(密碼已過濾):
# 用戶名:密碼:用戶標識號:組標識號:組注釋性描述:主目錄:默認shell
root:x:0:0:root:/root:/bin/bash
macro:x:1000:982:macro:/home/macro:/bin/bash
- 查看用戶組信息:
cat /etc/group
- 用戶組信息格式如下:
# 組名:密碼:組標識號:組內用戶列表
root:x:0:
docker:x:982:macro,andy
[passwd]
用于設置用戶密碼:
passwd root
[圖片上傳失敗...(image-a668cc-1623200914501)]
[su]
改變用戶身份(切換到超級用戶):
# 切換到root用戶
su -
# 切換到macro用戶
su macro
[groupadd]
添加用戶組,使用-g
可以設置用戶組的標志號:
groupadd -g 1024 macrozheng
[groupdel]
刪除用戶組:
groupdel macrozheng
[useradd]
添加用戶,-u
設置標志號,-g
設置主用戶組:
useradd -u 1024 -g macrozheng macro
[usermod]
修改用戶所屬用戶組:
usermod -g docker macro
[userdel]
刪除用戶,使用-r
可以刪除用戶主目錄:
userdel macro -r