Linux普通玩家,熟悉這些高頻命令就行了
回想當時入門Linux時抱著鳥叔的私房菜啃,看了沒幾頁就放棄了。
如果主要從事算法相關工作,其實高頻使用的命令就那么些,一起看看吧!
用戶相關
? id – 顯示用戶的詳細信息(uid、gid和group)
? last – 列出有關最近登錄的信息,包括時間、用戶名、IP地址和會話持續(xù)時間
? who – 顯示已授權的用戶
? groupadd "testgroup" – 創(chuàng)建名為 "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 – 創(chuàng)建名為 'NewFolder' 的新目錄
? rm NewFile – 刪除名為 'NewFile' 的文件
? rm -f NewFile – 強制刪除名為 'NewFile' 的文件
? rm -r NewFolder – 遞歸刪除名為 'NewFolder' 的目錄
? rm -rf NewFolder – 強制遞歸刪除名為 'NewFolder' 的目錄
? cp oldfile1 newfile2 – 復制 'oldfile1' 的內(nèi)容到 'newfile2'
? cp -r olddir1 newdir2 – 遞歸復制目錄 'olddir1' 到 'newdir2'。如果不存在,將創(chuàng)建 Dir2
? mv oldfile1 newfile2 – 將 'oldfile1' 重命名為 'newfile2'
? ln -s /etc/log/file logfile – 創(chuàng)建指向文件的符號鏈接
? touch newfile – 創(chuàng)建名為 'newfile' 的空文件
? cat > newfile – 將標準輸入放入 'newfile'
? more newfile – 逐屏輸出 'newfile' 的內(nèi)容
? head newfile – 輸出文件 'newfile' 的前10行
? tail newfile – 輸出文件 'newfile' 的最后10行
? gpg -c newfile – 使用密碼以gpg格式加密 'newfile' 并保存在相同目錄中
? gpg newfile.gpg – 解密gpg文件
? wc newfile – 顯示新文件中的字節(jié)數(shù)、單詞數(shù)和行數(shù)
文件/目錄權限相關
? chmod 777 /root/ssh – 為所有有權訪問服務器的人(所有者、組、其他人)設置讀、寫和執(zhí)行權限
? 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' 創(chuàng)建一個壓縮 'archive.tar'
? tar -xf archive.tar – 解壓文件 'archive.tar' 的內(nèi)容
? tar -zcvf archive.tar.gz /var/log/ – 從 /var/log/ 目錄創(chuàng)建一個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曾經(jīng)是使用的工具,但最近已被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 – 更新系統(tǒng)(Debian、Ubuntu、Mint等)中的軟件包并更新倉庫
進程相關
? ps – 顯示當前正在運行的進程
? ps aux | grep 'bash' – 查找 'bash' 的進程ID(PID)
? pmap -x 11 – 在進程內(nèi)存中映射具有PID 11的進程
? top – 顯示所有正在運行的進程
? kill pid – 通過PID終止一個進程
? killall process – 終止所有名稱為 ‘process’的進程
? pkill process-name – 通過名稱向一個進程發(fā)送信號
? bg – 將一個暫停的進程發(fā)送到后臺
? fg – 將一個運行中的進程帶到前臺
? fg process – 將名為 ‘process‘ 的進程帶到前臺
? lsof – 列出被進程打開的文件
? renice 19 PID – 為一個進程設置最低優(yōu)先級
? pgrep bash – 查找 'bash' 的進程ID
? pstree – 顯示進程的樹狀表示
系統(tǒng)相關
? uname – 顯示系統(tǒng)信息
? uname -r – 顯示有關Linux內(nèi)核的信息
? uptime – 顯示系統(tǒng)運行時間和平均負載
? hostname – 顯示主機名
? hostname -i – 顯示主機的IP地址
? last reboot – 顯示重啟歷史
? date – 顯示日期和時間
? timedatectl – 輸出并修改日期和時間設置
? cal – 顯示日歷
? w – 顯示當前登錄的用戶
? whoami – 顯示你的用戶名
? finger root – 顯示有關root用戶的信息(需要使用 "apt-get install finger" 進行安裝)
硬件相關
? dmesg – 在啟動期間顯示系統(tǒng)消息
? cat /proc/cpuinfo – 顯示處理器信息
? cat /proc/meminfo – 顯示內(nèi)存信息
? lshw – 顯示設備的詳細信息
? lsblk – 顯示塊設備信息
? free -m – 釋放內(nèi)存: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 – 執(zhí)行壞塊測試
磁盤管理相關
? df -h – 顯示掛載分區(qū)上的可用空間(以字節(jié)為單位)
? df -i – 顯示文件系統(tǒng)中的空閑inode
? fdisk -l – 提供關于磁盤、分區(qū)和文件系統(tǒng)的信息
? du -sh – 以MB、GB、TB顯示掛載分區(qū)上的未分配空間
? findmnt – 顯示所有掛載點
? mount /dev/sdb1 /mnt – 將sdb磁盤的分區(qū)1掛載到 /mnt 目錄
網(wǎng)絡相關
? ip addr show – 顯示所有可用網(wǎng)絡接口的IP地址
? ip address add 192.168.0.1/24 dev eth0 – 為eth0接口分配地址192.168.0.1
? ifconfig – 顯示所有可用網(wǎng)絡接口的IP地址
? ping 192.168.0.1 – 發(fā)送ICMP協(xié)議請求以連接到192.168.0.1節(jié)點
? whois domain – 顯示有關域名的信息
? dig domain – 檢索有關域的DNS信息
? dig -x 192.168.0.1 – 執(zhí)行反向DNS解析
? host serverspace.us– 解析主機地址
? hostname -I – 顯示本地地址
? wget file_name(link to file) – 下載文件
? netstat -pnltu – 顯示主機上所有正在監(jiān)聽的端口(需要 "apt-get install net-tools" 進行安裝)
遠程連接相關
? ssh root@host – 以root用戶身份通過ssh連接到遠程主機
? ssh -p port_number user@host – 使用非默認ssh端口連接到遠程主機,指定用戶
? ssh host – 使用當前用戶使用默認連接
? telnet host – 使用telnet連接(端口23)