man: Manual 意思是手冊,可以用這個命令查詢其他命令的用法,例: man ls 查看 ls 命令的用法和詳解 (command --help 或 command -h 也可以查看 command 命令的詳解)
ls: List files 列出當前目錄下的文件(linux 中一切皆文件)
lsmod:List module,列出 linux 中加載的模塊列表
lscpu:List cpu,列出 linux 的 cpu 信息 CPU (Center Processing Unit) 中央處理單元
lsmem:List memory,列出 linux 的內存信息
lsattr:List attribute,列出文件的屬性信息
pwd: Print working directory 顯示當前所在的目錄(以絕對路徑顯示)
cd: Change directory 切換目錄,后面跟要進入的目的目錄,目錄路徑可以用相對路徑和絕對路徑表示,后面不跟選項和參數時和 cd ~ 命令可以一樣回到當前登錄用戶的家目錄。cd - 表示進入上次進入目錄的位置,cd - 連續使用即兩個目錄來回切換。cd .. 表示進入當前目錄的上一級目錄,例:當前目錄為/root,使用cd .. 命令后會回到 ‘/’ 目錄( ‘/’ 表示根目錄,也是 Linux 目錄結構的頂級目錄)
su:Switch user,切換用戶 (su - user1 和 su user1 都能切換到 user1,但盡量不要使用后者,因為后者只是 shell 層面上的切換,切換后用戶的環境變量還是之前用戶的)
alias:顯示和定義系統命令的別名
w:顯示當前登入系統的用戶信息
whoami:顯示當前登入系統的用戶,在PS1變量看不到當前登入用戶時可以使用這條命令
uptime:可以查看系統運行時間和系統負載信息
cat: Concatenate 串聯,在 linux 中主要查看文件的內容
tac:和 cat 命令類似,用於查看文件內容,但文件內容會從最后一行開始倒序排列
passwd:password 的縮寫,直接使用 passwd 命令,即命令后不跟選項和參數時表示更改當前登錄用戶的密碼
touch: 創建文件的命令,例:touch 1.txt 為創建一個 1.txt 的普通文件,但 touch 命令后面跟的文件是當前存在的文件,那么會更新該文件的時間戳
stat:status,命令后邊跟文件,即可查看文件的時間戳等信息
mkdir: mk=Make dir=directory,意為創建一個目錄(即文件夾)
ln: Link 創建一個鏈接文件,一般使用 -s 參數,指創建一個軟連接 (相當於 Windows 里的快捷方式)
mv: move,移動文件,也可以修改文件名。命令用法為 mv 原文件/目錄 目的文件/目錄,當 mv 命令后邊兩個參數都為文件時(且當前目錄下不存在和目的文件相同的目錄名稱),即將前原文件名改為目的文件名
rm: remove 刪除文件
rmdir:Remove directory 刪除目錄
rmmod:Remove module 刪除模塊
cp: copy 拷貝復制文件,命令用法為: cp 原文件/目錄 目的文件/目錄。命令用法和 mv 相似
chown: Change owner,可以改變文件的屬主和屬組
chgrp: Change group,只能改變文件的屬組
chmod: Change mode,改變文件三類人的權限,即屬主 (user)、屬組 (group)、其他人 (others)
chage: Change age,改變用戶的密碼信息
nmtui:Network management terminal user interface,偽圖形化用戶界面,用來修改編輯網卡信息
nmcli:Network management command line interface,網絡管理命令行工具,可以完成網卡上的配置並寫入配置文件中 (nmtui 命令和 nmcli 命令由 NetworkManager 服務提供,RHEL7 版本的 NetworkManager 服務默認是關閉的,因為 NetworkManager 服務和 network 服務沖突,RHEL7 版本若想使用這兩條命令可以把 NetworkManager 服務啟動並把 network 服務關閉)
ifconfig:Network interfaces configuring,顯示或設置網絡設備
ip :網絡配置工具,已逐漸取代 ifconfig 命令,在以后的 linux 發行版里可能不會再有 ifconfig 命令,但一定會有 ip 命令
sudo: Superuser do 權限委派,可以為普通用戶提升權限
ps:Process status 查看進程狀態
pstree:以樹狀圖的方式顯示進程狀態,可以清晰的看出父進程和子進程,常結合 -p 選項列出進程 pid
useradd: 創建用戶,也可以使用 adduser 命令,兩者命令的參數也一樣
groupadd:創建用戶組
userdel: User delete 刪除用戶
groupdel:Group delete 刪除用戶組
usermod:User modify 修改用戶的基本信息
uname: Unix name 系統名稱,可以查看內核版本等一系列信息
df: Disk free 空余硬盤,查看磁盤使用情況
du: Disk usage,查看文件所占磁盤空間的大小
vi/vim:文件編輯器,用於編輯文件內容
head: 查看文件前面的內容,默認為前十行
tail:查看文件后面的內容,默認為后十行
more:當文件內容比較多時,用 more 將文件內容從頭進行分頁查看,但 more 命令不支持往前翻頁
less:與 more 命令基本一致,但支持向前翻頁
sed:Stream editor,linux 中強大的文本編輯器
awk:awk 命令是因為其取了三位創始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符,也是 linux 中的文本編輯器
yum:Yellow dog Updater Modified,是 RedHat 中的 Shell 前端軟件包管理器 (Yellow dog 為創始人的一個外號),yum 命令同時也是 dnf 命令的軟鏈接
apt:Advanced package tool,高級軟件包工具,apt 源和 yum 源類似
(Redhat、CentOS、fedora的軟件包管理器為 yum;Debian、Ubuntu 的軟件包管理器為 apt;SUSE、Open SUSE 的軟件包管理器為 zypper)
ssh:Secure shell,命令格式為 ssh -p port username@ip_address
tar:Tape archive 壓縮文件,解壓文件,打包文件的命令
mount:將分區掛接到 linux 的一個文件夾下,從而將分區和該目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區
umount:用於卸載已經加載的文件系統
kill:根據 ps 查到的進程號殺死進程,一般配合 -9 選項強制殺死進程
pkill:一般多用於終止一個終端,即 -t 選項后跟要終止的終端名(可用 tty 命令查看當前終端名)
killall:根據進程名殺死進程
grep:可以查找文件或文件中的內容(強大的文本搜索工具)
find:查找和搜索文件,多用於查找文件的路徑
wc:Words count,統計文件的字節數,字數,行數
nl:Number list,列出文件的行號,但文件中的空白行不作為一行
cut:將文件的內容剪切,有些場景下可達到 awk 命令的效果並且比 awk 表達式簡便,但沒有 awk 功能強大
rpm:Redhat package management,紅帽系統的軟件包管理工具,Debian 和 Ubuntu 的軟件包管理工具為 dpkg:Debian Packager (Ubuntu 系統由 Debian 系統衍變而來,因此二者共用一個軟件包管理工具)
netstat:Network status,顯示網絡狀態,常用於查看端口的監聽狀態
ss:Socket statistics,套接字統計(套接字 = IP + Port),能達到和 netstat 命令一樣的效果,比 netstat 更高效
vmstat:Virtual memory status,顯示虛擬內存狀態
curl:Connect url (url可以理解為一個鏈接、網址) 文件傳輸工具,支持文件的上傳和下載
wget:Web get,通過指定的 url 來下載文件
ping:通過 ICMP 協議測試主機間的網絡連通性 ICMP (Internet Control Message Protocol) 控制報文協議,ping6 命令用於測試 ipv6 地址的連通性
pvcreate:Physical volume create,創建物理卷
pvs:Physical volume show,輸出物理卷信息
pvremove:刪除物理卷
vgcreate:Volume group create,創建卷組
vgs:Volume group show,輸出卷組信息
vgremove:刪除卷組
vgextend:擴展卷組
lvcreate:Logical volume create,創建邏輯卷
lvs:Logical volume show,輸出邏輯卷信息
lvcreate:刪除邏輯卷
lvextend:擴展邏輯卷
iptables:僅僅是用戶空間的 linux 內核防火牆管理工具,真正的功能實現是由 linux 內核模塊實現的。從 RHEL8 開始使用 firewalld 服務代替 iptables
setenforce:設置 SELinux 狀態,后面跟0表示為 permissive 狀態,后面跟1表示 enforcing 狀態,此命令設置的 SELinux 只能臨時生效,要想永久生效必須修改 SELinux 配置文件然后重啟
getenforce:獲取 SELinux 狀態,SELinux (Secure Enhanced Linux) 安全增強 Linux
chcon: Change context,臨時更改文件的安全上下文信息,重啟后恢復至之前默認的 SELinux 安全上下文。想要永久更改可參考 semanage 命令
semanage:SELinux management,管理 SELinux 安全上下文,設置上下文類型后永久生效,要分清和 chcon 的區別
restorecon:Restore context,修復 SElinux 文件屬性即恢復文件的安全上下文
at:一次性執行任務
crontab:定時(周期性)執行任務
setfacl:Set files ACL:設置文件ACL規則 ACL=(Access Control List)訪問控制列表
getfacl:Get files ACL:顯示文件ACL規則
fdisk:英文全稱為:Partition table manipulator for Linux,磁盤分區工具(磁盤分區大小<=2TB),該命令的分區方式為 MBR (Master Boot Record) 主引導記錄
gdisk:磁盤分區工具 (支持磁盤分區大小 >2TB 的分區),該命令的分區方式為 GPT (Globally Unique Identifier Partition Table) GUID 分區表。注: (MBR 最多只能支持 4個主分區+擴展分區,GPT 最多可以支持 128個主分區+擴展分區,若生產環境需要的磁盤分區大小大於 2TB,就必須選擇 GPT 分區方式)
parted:磁盤分區命令,可以為分區選擇 MBR 或 GPT 分區方式,該命令的子命令有 mkpart,mklabel 等
resize2fs:fs=File system,調整文件系統大小,格式化 ext2/3/4 系統(用於分區擴展后的部分的格式化)
xfs_growfs:格式化 xfs 文件系統(用於分區擴展后的部分的格式化)
mkswap:格式化 swap 分區
partprobe:重讀分區表
blkid:查看設備的 UUID,/etc/fstab 文件里要掛載的設備可以用設備名稱,也可以用 UUID
mkfs: Make file system 建立文件系統,在 Linux 中用來格式化文件系統
free:顯示系統內存情況
swapon:激活交換分區
swapoff:關閉交換分區
umask:設定權限掩碼