碰巧有些 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


共有 0 則留言