碰巧有些 Linux 終端機命令很難記住,將它們作為備忘單保存在電腦或紙上是一個很好的做法。此列表並不詳盡,但包含最常用的命令。請隨意在下面的評論中加入您最常用的命令並分享此列表✌️。
Id – 有關使用者的詳細資訊(uid、gid 和群組)。
last – 列出有關最近登入的訊息,包括時間、使用者名稱、IP 位址和會話持續時間。
who – 顯示授權使用者。
groupadd "testgroup" – 建立一個名為「testgroup」的群組。
adduser NewUser – 新增名為「NewUser」的使用者。
userdel NewUser – 刪除名為「NewUser」的使用者。
usermod NewUser – 修改使用者「NewUser」的資訊。
cd /- 導覽至根目錄。
cd - 導航到主目錄(使用 $HOME 變數)。
cd /root - 導覽至 /root 目錄。
cd .. - 向上移動一級。
cd /root/.ssh - 導航到隱藏資料夾 .ssh。
ls -al – 顯示目前資料夾中的檔案和目錄。
pwd – 顯示目前工作目錄。
mkdir NewFolder – 建立一個名為「NewFolder」的新目錄。
rm NewFile – 刪除名為「NewFile」的檔案。
rm -f NewFile – 強制刪除名為「NewFile」的檔案。
rm -r NewFolder – 遞歸刪除名為「NewFolder」的目錄。
rm -rf NewFolder – 強制遞歸刪除名為「NewFolder」的目錄。
cp oldfile1 newfile2 – 將「oldfile1」的內容複製到「newfile2」。
cp -r olddir1 newdir2 – 遞歸地將目錄「olddir1」複製到「newdir2」。如果 Dir2 不存在,則會建立它。
mv oldfile1 newfile2 – 將「oldfile1」重新命名為「newfile2」。
ln -s /etc/log/file logfile – 建立到檔案的符號連結。
touch newfile – 建立一個名為「newfile」的空白檔案。
cat > newfile – 取得 STDIN 並將其放入「newfile」中。
head newfile – 輸出檔案「newfile」的前 10 行。
tail newfile – 輸出「newfile」的最後 10 行。
gpg -c newfile – 使用密碼以 gpg 格式加密「newfile」並將其儲存在同一目錄中。
gpg newfile.gpg – 解密 gpg 檔案。
wc newfile – 顯示新檔案中的位元組數、字數和行數。
chmod 777 /root/ssh – 為有權存取伺服器的每個人(擁有者、群組、其他人)設定讀取、寫入和執行權限。
chmod 755 /root/ssh – 將擁有者的權限配置為 rwx,將群組和其他人的權限配置為 r_x。
chmod 766 /root/ssh – 設定擁有者的 rwx 以及群組和其他人的 rw。
chown newuser newfile – 將 newfile 的擁有者改為 newuser。
chown newuser:newgroup newfile – 將 newfile 的擁有者和群組擁有者變更為 newuser 和 newgroup。
chown newuser:newgroup newfolder – 將目錄 newfolder 的擁有者和群組擁有者變更為 newuser 和 newgroup。
stat -c “%U %G” newfile – 顯示 newfile 的使用者和群組擁有者。
grep searchargument newfile – 在 newfile 中搜尋 searchargument。
grep -r searchargument newfolder – 遞歸搜尋 newfolder 中所有檔案中的 searchargument。
定位新檔案 – 顯示新檔案的所有位置。
find /etc/ -name "searchargument" – 在 /etc 目錄中尋找名稱以 searchargument 開頭的檔案。
find /etc/ -size +50000k – 在 /etc 目錄中尋找大小大於 50000k 的檔案。
tar -cf archive.tar newfile – 從檔案「newfile」建立檔案「archive.tar」。
tar -xf archive.tar – 提取檔案「archive.tar」的內容。
tar -zcvf archive.tar.gz /var/log/ – 從 /var/log/ 目錄建立檔案並使用 gzip 對其進行壓縮。
gzip newfile – 壓縮新檔案(副檔名為 .gz)。
rpm -i pkg_program.rpm – 在 CentOS、RHEL 等上安裝 RPM 軟體包。
rpm -e pkg_name – 刪除 CentOS、RHEL 等上的 RPM 軟體包。
dnf install pkg_name – 在 CentOS、RHEL 等上使用 DNF 從儲存庫安裝軟體包。以前使用 YUM,但最近已被 DNF 取代。
dpkg -i pkg_name – 從 Debian、Ubuntu、Mint 等上的 DEB 軟體包安裝。
dpkg -r pkg_name – 刪除 Debian、Ubuntu、Mint 等上的 DEB 軟體包。
apt install pkg_name – 在 Debian、Ubuntu、Mint 等上從儲存庫安裝軟體套件。
apt remove pkg_name – 移除 Debian、Ubuntu、Mint 等上的軟體套件。
apt update && apt update – 更新系統中的軟體包(Debian、Ubuntu、Mint 等)並更新儲存庫。
ps – 顯示目前正在執行的進程。
ps aux | grep 'bash' – 尋找 'bash' 的程序 ID (PID)。
pmap -x 11 – 在進程記憶體中映射 PID 11 的進程。
top – 顯示所有正在執行的進程。
kill pid – 透過 PID 終止進程。
killall process – 終止名為「process」的所有程序。
pkill process-name – 按名稱向程序發送訊號。
bg – 將掛起的程序傳送到背景。
fg – 將正在執行的進程帶到前台。
fg process – 將名為「process」的進程帶到前台。
lsof – 列出進程開啟的檔案。
renice 19 PID – 設定進程的最低優先權。
pgrep bash – 尋找「bash」的進程 ID。
pstree – 顯示進程的樹狀表示。
uname – 顯示系統資訊。
uname -r – 顯示有關 Linux 核心的資訊。
hostname – 顯示主機名稱。
hostname -i – 顯示主機的 IP 位址。
date – 顯示日期和時間。
timedatectl – 輸出和修改日期和時間設定。
cal – 顯示日曆。
w – 顯示目前登入的使用者。
whoami – 顯示您的使用者名稱。
finger root – 顯示有關 root 使用者(需要使用「apt-get install Finger」的資訊進行安裝)。
dmesg – 在啟動期間顯示系統訊息。
cat /proc/cpuinfo – 顯示有關處理器的資訊。
cat /proc/meminfo – 顯示有關記憶體的資訊。
lshw – 顯示有關裝置的詳細資訊。
lsblk – 顯示有關區塊裝置的資訊。
free -m – 釋放記憶體:RAM 和交換(切換 -m 表示 MB)。
lspci -tv – 在樹狀圖視圖中顯示 PCI 裝置資訊。
lsusb -tv – 在樹狀圖視圖中顯示 USB 裝置。
dmidecode – 顯示有關 BIOS 設備的資訊。
hdparm -i /dev/xda – 顯示有關磁碟的資訊。
hdparm -tT /dev/xda – 顯示 xda 的讀寫速度。
badblocks -s /dev/xda – 執行壞扇區測試。
df -h – 顯示已安裝分割區上的可用空間(以位元組為單位)。
df -i – 顯示檔案系統中的空閒 inode。
fdisk -l – 提供有關磁碟、分割區和檔案系統的資訊。
du -sh – 顯示已安裝分割區上的未分配空間(以 MB、GB、TB 為單位)。
findmnt – 顯示所有安裝點。
mount /dev/sdb1 /mnt – 將 sdb 磁碟的分割區 1 掛載到 /mnt 目錄。
ip addr show – 顯示所有可用網路介面的 IP 位址。
ip address add 192.168.0.1/24 dev eth0 – 將位址 192.168.0.1 指派給 eth0 介面。
ifconfig – 顯示所有可用網路介面的 IP 位址。
ping 192.168.0.1 – 發送 ICMP 協定請求以連接到 192.168.0.1 處的節點。
whois 網域 – 顯示有關網域的資訊。
dig 網域 – 檢索有關網域的 DNS 資訊。
dig -x 192.168.0.1 – 執行反向 DNS 解析。
host serverspace.us – 解析主機位址。
hostname -I – 顯示本機位址。
wget file_name(連結到檔案) – 下載檔案。
netstat -pnltu – 顯示主機上正在偵聽的所有連接埠(需要「apt-get install net-tools」)。
ssh root@host – 以 root 使用者身分透過 ssh 連線到遠端主機。
ssh -p port_number user@host – 使用非預設 ssh 連接埠連接到遠端主機,指定使用者。
ssh host – 使用目前使用者的預設連線。
telnet host – 使用 telnet 連線(連接埠 23)。
原文出處:https://dev.to/serverspace/linux-commands-cheat-sheet-aif