回想當時入門linux時抱著鳥叔的私房菜啃,看了沒幾頁就放棄了。
如果主要從事算法相關工作,其實高頻使用的命令就那么些,一起看看吧!

用戶相關
• id – 顯示用戶的詳細信息(uid、gid和group)
• 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 – 將標準輸入放入 'newfile'
• more newfile – 逐屏輸出 '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
• locate newfile – 顯示newfile的所有位置
• 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/ 目錄創建一個tar壓縮,并使用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 upgrade && 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內核的信息
• uptime – 顯示系統運行時間和平均負載
• hostname – 顯示主機名
• hostname -i – 顯示主機的IP地址
• last reboot – 顯示重啟歷史
• date – 顯示日期和時間
• timedatectl – 輸出并修改日期和時間設置
• cal – 顯示日歷
• w – 顯示當前登錄的用戶
• whoami – 顯示你的用戶名
• finger root – 顯示有關root用戶的信息(需要使用 "apt-get install finger" 進行安裝)
硬件相關
• dmesg – 在啟動期間顯示系統消息
• cat /proc/cpuinfo – 顯示處理器信息
• cat /proc/meminfo – 顯示內存信息
• lshw – 顯示設備的詳細信息
• lsblk – 顯示塊設備信息
• free -m – 釋放內存:RAM和swap(使用-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 – 為eth0接口分配地址192.168.0.1
• ifconfig – 顯示所有可用網絡接口的IP地址
• ping 192.168.0.1 – 發送ICMP協議請求以連接到192.168.0.1節點
• whois domain – 顯示有關域名的信息
• dig domain – 檢索有關域的DNS信息
• dig -x 192.168.0.1 – 執行反向DNS解析
• host serverspace.us– 解析主機地址
• hostname -I – 顯示本地地址
• wget file_name(link to file) – 下載文件
• .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)






