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