(Linux五)Linux常用命令大全

(linux基礎(chǔ)命令入門到精通+實(shí)例講解+持續(xù)更新+命令備忘錄+面試復(fù)習(xí))

前言

本文特點(diǎn)

? ??????授之以漁:了解命令學(xué)習(xí)方法、用途:不再死記硬背,拒絕漫無目的;

? ??????準(zhǔn)確無誤:所有命令執(zhí)行通過(環(huán)境為centos7),拒絕復(fù)制粘貼;

? ??????實(shí)用性高:命令多為實(shí)際工作中用到的,實(shí)例講解,拒絕純理論;

? ??????條理清晰:分類歸納,快速找到想要的命令,拒絕天馬行空;

? ??????總結(jié)性強(qiáng):只列常用語法,易錯(cuò)情況強(qiáng)調(diào),拒絕照搬照套。

學(xué)前須知

? ??????適用人群:開發(fā)、測試、運(yùn)維等等

? ??????文檔用途:linux入門學(xué)習(xí)、命令備忘錄、面試復(fù)習(xí)

? ??????學(xué)習(xí)途徑:書籍(鳥哥的Linux私房菜)、視頻:慕課網(wǎng)等、百度谷歌搜索、qq群等

? ??????學(xué)習(xí)環(huán)境:虛擬機(jī)VirtualBox+centos7

? ??????學(xué)習(xí)記錄:多動(dòng)手,多聯(lián)想,多記錄,特別是遇到問題時(shí)

? ??????遇到問題:百度谷歌搜索、系統(tǒng)日志(/var/log/)、qq群

學(xué)前理論

? ??????linux主要特征?:一切且文件(目錄、硬盤等都是文件);硬件都在/dev 目錄,如硬盤、U盤為/dev/sd[a-d]; /dev/sr0(/dev/cdrom)是光驅(qū)的設(shè)備名(df命令查看),為設(shè)備文件,代表的是光驅(qū)本身,得把這個(gè)設(shè)備掛載到目錄下(一般為/mnt)(文件系統(tǒng)的臨時(shí)掛載點(diǎn)),才能對(duì)設(shè)備上的文件進(jìn)行讀寫等操作;

? ??????不懂的命令?:man 命令(查用法、全稱),只記得關(guān)鍵詞,可用man -k 關(guān)鍵詞;

? ??????Linux命令常用結(jié)構(gòu)?:Command [-option] [argument]

????????Command:即是要運(yùn)行的命令的本身,說白了就是一個(gè)軟件(程序);

????????Option:是選項(xiàng)(可選),選項(xiàng)是控制命令運(yùn)行狀態(tài)和行為的(可多個(gè)選項(xiàng)一起,如df -hT);

????????Argument:是參數(shù)(可選),是命令要操作對(duì)象如文件、路徑、數(shù)據(jù)、目錄等;

????????在指令的第一部分按[tab]鍵一下為[命令補(bǔ)全],兩下為所有命令選擇,在非第一部分按[tab]鍵兩下為[文件補(bǔ)全];

? ??????linux命令區(qū)分大小寫;

開關(guān)機(jī)

? ??????sync?:把內(nèi)存中的數(shù)據(jù)寫到磁盤中(關(guān)機(jī)、重啟前都需先執(zhí)行sync)

? ??????shutdown -r nowreboot?:立刻重啟

? ??????shutdown -h now?:立刻關(guān)機(jī)

? ??????shutdown -h 20:00?:預(yù)定時(shí)間關(guān)閉系統(tǒng)(晚上8點(diǎn)關(guān)機(jī),如果現(xiàn)在超過8點(diǎn),則明晚8點(diǎn))

? ??????shutdown -h +10?:預(yù)定時(shí)間關(guān)閉系統(tǒng)(10分鐘后關(guān)機(jī))

? ??????shutdown -c?:取消按預(yù)定時(shí)間關(guān)閉系統(tǒng)

系統(tǒng)信息

? ??????who am i?:查看當(dāng)前使用的終端

? ??????who?或?w?: 查看所有終端

? ??????uname -m?:顯示機(jī)器的處理器架構(gòu)(如x86_64)

? ??????cat /proc/version?:查看linux版本信息

? ??????uname -r?:顯示正在使用的內(nèi)核版本

? ??????lsb_release -a?:查看系統(tǒng)發(fā)行版本(如CentOS7)

? ??????rpm -qa | grep kernel-devel?:查看kernel-devel版本(安裝軟件時(shí)編譯內(nèi)核用,故需要保持內(nèi)核版本一致性)

? ??????yum install -y "kernel-devel-uname-r == $(uname -r)":安裝和Linux內(nèi)核版本匹配的kernel-devel

? ??????hostnamectl set-hostname 主機(jī)名:修改主機(jī)名(包括靜態(tài)、瞬態(tài)和靈活主機(jī)名,如有域名解析記得手動(dòng)更新/etc/hosts)

? ??????date?:顯示系統(tǒng)日期 (date +%Y/%m/%d : 顯示效果如2018/01/01)

? ??????date 070314592018.00?:設(shè)置時(shí)間(格式為月日時(shí)分年.秒 )

? ??????clock -w?:將時(shí)間修改保存到 BIOS

? ??????cal 2018?:顯示2018年的日歷表

? ??????clear?:清空命令行

? ??????ifconfig?:顯示或設(shè)置網(wǎng)卡(查ip等)(類似windows中ipconfig)

? ??????ping -c 3 www.baidu.com?:測試百度與本機(jī)的連接情況( -c 3表示測試3次)

? ??????cat /proc/cpuinfo?:顯示CPU的信息

? ??????cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l?:查看物理CPU個(gè)數(shù)

? ??????cat /proc/cpuinfo| grep "cpu cores"| uniq?:查看每個(gè)物理CPU的核數(shù)

? ??????cat /proc/cpuinfo| grep "processor"| wc -l?:查看邏輯CPU個(gè)數(shù)即線程數(shù)

系統(tǒng)性能

? ??????top?:動(dòng)態(tài)實(shí)時(shí)顯示cpu、內(nèi)存、進(jìn)程等使用情況(類似windows下的任務(wù)管理器)

? ??????top -d 2 -p 7427?:-d為畫面更新的秒數(shù),默認(rèn)5秒,-p為指定進(jìn)程pid的信息

? ??????vmstat 2 10?:每隔2秒采集一次服務(wù)器狀態(tài),采集10次(查看內(nèi)存、io讀寫狀態(tài)、cpu)

? ??????free -h?:查看系統(tǒng)內(nèi)存及虛擬內(nèi)存使用情況

? ??????df -h?:顯示磁盤的空間使用情況

? ??????iostat?:可查io讀寫、cpu使用情況

? ??????sar -u 3 5?:查看cpu使用情況(3秒一次,共5次)

? ??????sar -d 2 3?:評(píng)估磁盤性能

? ??????ps aux|grep firefox?:獲取火狐的進(jìn)程號(hào)(PID)(可查看進(jìn)程占用cpu、內(nèi)存百分比及進(jìn)程觸發(fā)指令的路徑)

? ??????kill -9 進(jìn)程號(hào)?:強(qiáng)制殺死進(jìn)程

? ??????systemctl?:查看正在運(yùn)行的服務(wù)

文件和目錄

????????cd:是Change Directory的縮寫,用來切換工作目錄,語法:cd [相對(duì)或絕對(duì)路徑或特殊符號(hào)]

? ??????cd?:進(jìn)入該用戶的主目錄 ~(root用戶為/root,其他用戶為/home/用戶名)

? ??????cd ..?:返回上一級(jí)目錄(注意要空格)

? ??????cd -?:返回上次所在目錄

? ??????cd /?:返回根目錄 (絕對(duì)路徑)

? ??????cd ./目錄1/目錄2?:進(jìn)入當(dāng)前目錄下的子目錄(相對(duì)路徑)

? ??????pwd?:顯示工作路徑(Print Working Directory 的縮寫)

?????????ls:是List的縮寫,用于列出目錄下的文件,語法:ls [選項(xiàng)][目錄或文件名]

? ??????ls -a?:列出文件下所有的文件,包括以“.“開頭的隱藏文件

????????**ls -lh *.log** :列出文件的詳細(xì)信息(.log結(jié)尾,*為通配符代表任意多個(gè)字符)

? ??????file 文件或目錄?:顯示文件的類型(目錄、text、zip、shell腳本等)

? ??????mkdir dir1?:創(chuàng)建目錄(dir1)(mkdir為make directory的縮寫)

? ??????mkdir -p ./dir1/dir2?:遞歸創(chuàng)建目錄(-p:父目錄不存在時(shí),同時(shí)建立)

? ??????touch a.txt?:創(chuàng)建文件a.txt

?????????rm:可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉; 語法:rm (選項(xiàng))(參數(shù))(注:如果參數(shù)中含有目錄,則必須加上-r選項(xiàng));

? ??????rm 文件?:刪除文件

? ??????rm -r 目錄或文件?:刪除目錄(及目錄下所有文件)(非空也可以)

? ??????rm -rf 目錄或文件?:強(qiáng)制刪除,如:rm -rf * 為刪除當(dāng)前目錄下所有文件

? ??????find -inum 1842601 -exec rm -rf {} ;?:刪除亂碼文件或目錄(會(huì)提示找不到此文件或文件夾但其實(shí)已經(jīng)刪除了)(上傳中文文件會(huì)亂碼,rm命令刪除不了)(先使用ls -i命令找到inode,即文件或目錄前面的數(shù)字字符串,如1842601;)

?????????mv:是move的縮寫,可以用來剪切移動(dòng)文件、目錄或者將文件改名;

????????語法:mv 源文件 目標(biāo)文件(改名)或目錄(移動(dòng));

? ??????mv a b?:移動(dòng)或者重命名一個(gè)文件或者目錄(存在即移動(dòng)目錄或覆蓋文件,不存在即改名)

? ??????mv /opt/git/g /opt/a?:移動(dòng)g到opt目錄下并改名為a(a目錄不存在,若存在則為移動(dòng)g到a目錄下)

? ??????mv -t ./test a.txt b.txt?:移動(dòng)多個(gè)文件到某目錄下

?????????cp:復(fù)制文件或目錄;cp命令可以將單個(gè)或多個(gè)文件復(fù)制到一個(gè)已經(jīng)存在的目錄下;

????????常用:cp -ai 文件或目錄 目標(biāo)目錄;

? ??????cp -ai /opt/abc /opt/git/?:復(fù)制abc目錄(或文件)到git目錄下(選項(xiàng)a表示文件的屬性也復(fù)制、目錄下所有文件都復(fù)制;i表示覆蓋前詢問)

?????????ln:link的縮寫,用于建立硬(軟)鏈接,常用于軟件安裝時(shí)建軟鏈接(類似快捷方式)到PATH;

????????語法:ln [-s] 源文件 目標(biāo)文件

? ??????ln -s /opt/a.txt /opt/git/?:對(duì)文件創(chuàng)建軟鏈接(快捷方式不改名還是a.txt)

? ??????ln -s /opt/a.txt /opt/git/b?:(快捷方式改名為b)(下面的一樣可以改名)

? ??????ln -s /opt/mulu /opt/git/?:對(duì)目錄創(chuàng)建軟鏈接

? ??????ln /opt/a.txt /opt/git/?:對(duì)文件創(chuàng)建硬鏈接

文件權(quán)限

? ??????chmod [-R] 777文件或目錄?:設(shè)置權(quán)限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

?????????注: r(read)對(duì)應(yīng)4,w(write)對(duì)應(yīng)2,x(execute)執(zhí)行對(duì)應(yīng)1;

????????-R:遞歸更改文件屬組,就是在更改某個(gè)目錄文件的屬組時(shí),如果加上-R的參數(shù),那么該目錄下的所有文件的屬組都會(huì)更改)

? ??????chmod [{ugoa}{+-=}{rwx}][文件或目錄]?:如chmod u-w,g+x,o=r test.txt為user(擁有者)去掉寫權(quán)限,group(所屬組)加上執(zhí)行權(quán)限,other(其他人)權(quán)限等于只讀;

? ??????chown [-R] admin:root /opt/?:變更文件及目錄的擁有者和所屬組(-R遞歸處理所有文件和文件夾,admin為擁有者,root為所屬者)

文件查找

? ??????locate a.txt?:在系統(tǒng)全局范圍內(nèi)查找文件名包含a.txt字樣的文件(比find快);

?????????locate:原理是updatedb會(huì)把文件系統(tǒng)中的信息存放到數(shù)據(jù)庫databases中(但一般一天才執(zhí)行一次,所以locate找不到新創(chuàng)建的文件,需要先手動(dòng)執(zhí)行updatedb,再執(zhí)行l(wèi)ocate),locate從數(shù)據(jù)庫中讀數(shù)據(jù);

????????? find:在目錄結(jié)構(gòu)中搜索文件,并執(zhí)行指定的操作

????????語法:find pathname -options [-print -exec ...]

????????pathname :為 find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄(find查找范圍為目標(biāo)目錄及其子目錄所有文件及目錄);

????????-exec: find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' { } ;,注意{ }和;之間的空格;

????????-print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出;

? ??????find /home -mtime -2?:在/home下查最近2*24小時(shí)內(nèi)改動(dòng)過的文件

? ??????find . -size +100M?:在當(dāng)前目錄及子目錄下查找大于100M的文件

? ??????find . -type f?:f表示文件類型為普通文件(b/d/c/p/l/f 分別為塊設(shè)備、目錄、字符設(shè)備、管道、符號(hào)鏈接、普通文件)

? ??????find . -mtime +2 -exec rm {} ;?:查出更改時(shí)間在2*24小時(shí)以前的文件并刪除它**

? ??????find . -name '*.log' -exec grep -i hello {} \; -print?:在當(dāng)前目錄及子目錄下查出文件名后綴為.log的文件并且該文件內(nèi)容包含了hello字樣并打印,-exec 命令 {} \表示對(duì)查出文件操作,-i表示不區(qū)分大小寫;

? ??????find . -name '*.log'|grep hello?:在當(dāng)前目錄及子目錄下查出文件名后綴為.log的文件并且文件名包含了hello字樣(grep用來處理字符串);

? ??????grep -i 'HELLO' . -r -n?:在當(dāng)前目錄及子目錄下查找文件內(nèi)容中包含hello的文件并顯示文件路徑(-i表示忽略大小寫)

? ??????which java?:在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件,并顯示路徑(查詢運(yùn)行文件所在路徑)

? ??????whereis java?:查看安裝的軟件的所有的文件路徑(whereis 只能用于查找二進(jìn)制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令)

查看文件的內(nèi)容

? ??????cat [-n] 文件名?:顯示文件內(nèi)容,連行號(hào)一起顯示

? ??????less 文件名?:一頁一頁的顯示文件內(nèi)容(搜索翻頁同man命令)

? ??????head [-n] 文件名?:顯示文件頭n行內(nèi)容,n指定顯示多少行

? ??????tail [-nf] 文件名:顯示文件尾幾行內(nèi)容,n指定顯示多少行,f用于實(shí)時(shí)追蹤文件的所有更新,常用于查閱正在改變的日志文件(如tail -f -n 3 a.log 表示開始顯示最后3行,并在文件更新時(shí)實(shí)時(shí)追加顯示,沒有-n默認(rèn)10行)

? ??????sed -n '2,$p' ab?:顯示第二行到最后一行;

? ??????sed -n '/搜索的關(guān)鍵詞/p' a.txt?:顯示包括關(guān)鍵詞所在行

? ??????cat filename |grep abc -A10?:查看filename中含有abc所在行后10行(A10)、前10行(B10)內(nèi)容

? ??????less a.txt|grep git?:顯示關(guān)鍵詞所在行,管道符”|”它只能處理由前面一個(gè)指令傳出的正確輸出信息,對(duì)錯(cuò)誤信息信息沒有直接處理能力。然后傳遞給下一個(gè)命令,作為標(biāo)準(zhǔn)的輸入;

? ??????cat /etc/passwd |awk -F ':' '{print $1}'?:顯示第一列

文本處理

? ??????ls -l>file?:輸出重定向>(改變原來系統(tǒng)命令的默認(rèn)執(zhí)行方式):ls -l命令結(jié)果輸出到file文件中,若存在,則覆蓋

? ??????cat file1 >>file?:輸出重定向之cat命令結(jié)果輸出追加到file文件(>表示覆蓋原文件內(nèi)容,>>表示追加內(nèi)容)

? ??????ls fileno 2>file?: 2>表示重定向標(biāo)準(zhǔn)錯(cuò)誤輸出(文件不存在,報(bào)錯(cuò)信息保存至file文件);

? ??????cowsay <a.txt?:重定向標(biāo)準(zhǔn)輸入’命令<文件’表示將文件做為命令的輸入(為從文件讀數(shù)據(jù)作為輸入)

? ??????sed -i '4,$d' a.txt?:刪除第四行到最后一行($表示最后一行)(sed可以增刪改查文件內(nèi)容)

? ??????sed -i '$a 增加的字符串' a.txt?:在最后一行的下一行增加字符串

? ??????sed -i 's/old/new/g' a.txt?:替換字符串;格式為sed 's/要替換的字符串/新的字符串/g' 修改的文件

? ??????vim 文件:編輯查看文件(同vi)

用戶與權(quán)限

? ??????useradd 用戶名?:創(chuàng)建用戶

? ??????userdel -r 用戶名?:刪除用戶:(-r表示把用戶的主目錄一起刪除)

? ??????usermod -g 組名 用戶名?:修改用戶的組

? ??????usermod -aG 組名 用戶名?:將用戶添加到組

? ??????groups test?:查看test用戶所在的組

? ??????cat /etc/group |grep test?:查看test用戶詳情:用戶名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄Shell

? ??????passwd [ludf] 用戶名?:用戶改自己密碼,不需要輸入用戶名,選項(xiàng)-d:指定空口令,-l:禁用某用戶,-u解禁某用戶,-f:強(qiáng)迫用戶下次登錄時(shí)修改口令

? ??????groupadd 組名?:創(chuàng)建用戶組

? ??????groupdel 用戶組?:刪除組

? ??????groupmod -n 新組名 舊組名?:修改用戶組名字

? ??????su - 用戶名:完整的切換到一個(gè)用戶環(huán)境(相當(dāng)于登錄)(建議用這個(gè))(退出用戶:exit)

? ??????su 用戶名?:切換到用戶的身份(環(huán)境變量等沒變,導(dǎo)致很多命令要加上絕對(duì)路徑才能執(zhí)行)

? ??????sudo 命令?:以root的身份執(zhí)行命令(輸入用戶自己的密碼,而su為輸入要切換用戶的密碼,普通用戶需設(shè)置/etc/sudoers才可用sudo)

磁盤管理

? ??????df -h?:顯示磁盤的空間使用情況 及掛載點(diǎn)

? ??????df -h /var/log?:(顯示log所在分區(qū)(掛載點(diǎn))、目錄所在磁盤及可用的磁盤容量)

? ??????du -sm /var/log/* | sort -rn?: 根據(jù)占用磁盤空間大小排序(MB)某目錄下文件和目錄大小

? ??????fdisk -l?:查所有分區(qū)及總?cè)萘?,?dev/sda為查硬盤a的分區(qū))

? ??????fdisk /dev/sdb?:對(duì)硬盤sdb進(jìn)行分區(qū)

? ??????mount /dev/sda1 /mnt?:硬盤sda1掛載到/mnt目錄(mount 裝置文件名 掛載點(diǎn))

? ??????mount -t cifs -o username=luolanguo,password=win用戶賬號(hào)密碼,vers=3.0 //10.2.1.178/G /mnt/usb?:遠(yuǎn)程linux 共享掛載windows的U盤,G為U盤共享名,需設(shè)置U盤共享

? ??????mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS?:掛載iso文件

? ??????umount /dev/sda1?:取消掛載(umount 裝置文件名或掛載點(diǎn))

壓縮、解壓和打包備份

????????單純tar僅為打包(多個(gè)文件包成一個(gè)大文件),加上參數(shù)-j(bzip2格式.bz2)、-z(gzip格式.gz)可以備份、壓縮(-c)、解壓(-x),備份一般比壓縮多加參數(shù)-p(保留原本文件的權(quán)限與屬性),-C可以指定解壓到特定目錄;bzip2、gzip只能對(duì)單一文件壓縮;

? ??????file 文件名?:查文件類型(可看是用哪一種方式壓縮的)

? ??????tar -zxvf a.tar.gz -C ./test?:解壓tar.gz到當(dāng)前目錄下的test目錄

? ??????tar -zcvf /opt/c.tar.gz ./a/?:壓縮tar.gz(把當(dāng)前目錄下的a目錄及目錄下所有文件壓縮為 /opt/目錄下的c.tar.gz,這樣tar -zxvf c.tar.gz解壓出來帶有目錄a)

? ??????tar -jxvf a.tar.bz2?:解壓tar.bz2(到當(dāng)前目錄)

? ??????tar -jcvf c.tar.bz2 ./a/?:壓縮tar.bz2(把當(dāng)前目錄下的a目錄及目錄下所有文件壓縮到當(dāng)前目錄下為c.tar.gz2)

? ??????unzip a.zip?:解壓zip(到當(dāng)前目錄)

? ??????unzip -o mdmtest.war -d /opt/mdm?:推薦使用unzip解壓war包(-o覆蓋原有文件,-d指定文件解壓后存儲(chǔ)的目錄)

? ??????zip -r c.zip ./a/?:壓縮zip(把當(dāng)前目錄下的a目錄及目錄下所有文件壓縮到當(dāng)前目錄下為c.zip

? ??????bzip2 -k file1?: 壓縮一個(gè) 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)

? ??????bzip2 -d -k file1.bz2?: 解壓一個(gè)叫做 'file1.bz2'的文件

? ??????gzip file1?: 壓縮一個(gè)叫做 'file1'的文件(gzip格式)(不能保留源文件)

? ??????gzip -9 file1?: 最大程度壓縮

? ??????gzip -d file1.gz?: 解壓縮一個(gè)叫做 'file1'的文件

軟件安裝

????????盡量用yum源(apt-get)安裝,不行就rpm、deb包安裝,能不手動(dòng)編譯的就不要手動(dòng)編譯;

????????dpkg只能安裝已經(jīng)下載到本地機(jī)器上的deb包. apt-get能在線下載并安裝deb包,能更新系統(tǒng),且還能自動(dòng)處理包與包之間的依賴問題,這個(gè)是dpkg工具所不具備的;

????????rpm 只能安裝已經(jīng)下載到本地機(jī)器上的rpm 包. yum能在線下載并安裝rpm包,能更新系統(tǒng),且還能自動(dòng)處理包與包之間的依賴問題,這個(gè)是rpm 工具所不具備的;

????????yum、rpm安裝文件分布在/usr的bin、lib、share不同目錄,不用配置PATH,直接用命令,但可用命令卸載更新;

????????手動(dòng)編譯軟件,默認(rèn)位置為/usr/local下不同子目錄下,不用配置PATH直接用命令(手動(dòng)指定安裝路徑需要加PATH),使得軟件更新和刪除變得很麻煩。編譯安裝的軟件沒有卸載命令,卸載就是把所有這個(gè)軟件的文件刪除。

二進(jìn)制(Binaries)包

?yum安裝

? ? ? ?在線下載并安裝rpm包,適用于CentOS、Fedora、RedHat及類似系統(tǒng)

? ??????yum install epel-releas?:安裝第三方y(tǒng)um源EPEL(企業(yè)版 Linux 附加軟件包的簡稱)

? ??????yum repolist enabled?:顯示可用的源倉庫(/etc/yum.repos.d/目錄下配置)

? ??????yum install yum-fastestmirror?:自動(dòng)選擇最快的yum源

? ??????yum list installed |grep java?:列出已安裝的軟件(查看已安裝的JDK)

? ??????yum remove java-1.8.0-openjdk.x86_64?:卸載軟件(卸載JDK)

? ??????yum list java*?:列出已安裝和可安裝的軟件(查看yum庫中的JDK包)

? ??????yum install [-y] java-1.8.0-openjdk?:安裝軟件JDK(-y自動(dòng)安裝)(推薦這種方式安裝)

? ??????yum install docker-ce-18.03.1.ce?:安裝指定版本的軟件(已知docker-ce.x86_64 18.03.1.ce-1.el7.centos,則rpm包名為docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm)

? ??????yum check-update [kernel]?:列出所有可更新的軟件(檢查更新kernel)

? ??????yum update tomcat?:更新軟件(可所有)

? ??????rpm -ql 軟件名稱?:查詢yum安裝路徑(軟件名稱可通過rpm -qa|grep java)

? ??????yum info kernel?:查看軟件(kernel)的信息

? ??????yum clean all?:(清除緩存,使最新的yum配置生效)

yum安裝常用工具

? ??????yum install -y unzip zip?:安裝壓縮、解壓縮命令(zip、unzip)

rpm包手動(dòng)下載安裝

?????????yum中沒有時(shí)用,適用于CentOS、Fedora、RedHat及類似系統(tǒng);

? ??????wget -P /opt?https://網(wǎng)址?:下載到/opt目錄

? ??????rpm -ivh wps-office-版本.x86_64.rpm?:安裝rpm包(包要先下載)(要先裝依賴包)

? ??????rpm -e wps-office?:卸載軟件(注意不要軟件名不要版本號(hào))

? ??????rpm -qa |grep wps?:查看安裝的rpm包

? ??????rpm -ql 軟件名稱?:查看rpm包安裝路徑(軟件名稱可通過rpm -qa|grep java)

apt方式安裝

?????????安裝deb包,類似yum安裝,適用于Debian, Ubuntu 以及類似系統(tǒng);

? ??????apt-get install aptitude?:安裝aptitude工具,實(shí)現(xiàn)依賴自動(dòng)安裝,依賴版本自動(dòng)降級(jí)或升級(jí)

? ??????aptitude install 軟件?:安裝軟件(推薦這種方式安裝)

? ??????apt-cache search 軟件?:搜索軟件

? ??????apt-get install 軟件?:安裝軟件

? ??????apt-get purge 軟件?:卸載軟件(包括配置文件,只刪除軟件purge換成remove)

? ??????apt-get upgrade?:更新所有已安裝的軟件包

? ??????apt-get update?:升級(jí)列表中的軟件包

? ??????apt-get clean?:從下載的軟件包中清理緩存

deb包安裝

?????????適用于Debian, Ubuntu 以及類似系統(tǒng);

? ??????dpkg -i package.deb?:安裝一個(gè) deb 包

? ??????dpkg -r package_name?:從系統(tǒng)刪除一個(gè) deb 包

? ??????dpkg -l |grep chrome?:查詢系統(tǒng)中所有已經(jīng)安裝的 deb 包

? ??????dpkg -L 軟件名稱?:查軟件安裝的文件

解壓即用

? ????????大多數(shù)非開源的商業(yè)軟件都采取這種辦法;

? ????????二進(jìn)制(Binaries)包如apache-jmeter-3.3.tgz,下載復(fù)制解壓到/opt,然后然后將該軟件的 bin 目錄加入到 PATH 中即可(vim /etc/profile export PATH=$PATH:/opt/apache-jmeter-3.3/bin);

軟件自己的模塊/包管理器

????????? 如python:系統(tǒng)的源中不可能包含該軟件的所有模塊; 系統(tǒng)的源中該軟件的模塊的更新要遠(yuǎn)遠(yuǎn)滯后于最新版本;手動(dòng)安裝python,并用Python 自帶的 pip 安裝模塊(類似yum);

? ??????pip install?redis?:安裝python軟件包redis

? ??????pip unstall?redis?:卸載

? ??????pip show --files?redis?:pip查看已安裝的包

? ??????pip list --outdated?:檢查更新

源代碼(Source)包

編譯安裝

????????? 源代碼包(一般有install文件)如hello-2.2.tar.bz2,下載復(fù)制到/opt;

? ??????tar -jxvf hello-2.2.tar.bz2?:解壓

? ??????./configure --prefix=/opt/軟件目錄名稱?:為編譯做好準(zhǔn)備,加上 prefix 手動(dòng)指定安裝路徑

? ??????make?:編譯

? ??????make install?:安裝

? ??????make clean?:刪除安裝時(shí)產(chǎn)生的臨時(shí)文件

? ??????vim /etc/profile export PATH=$PATH:/opt/目錄/bin?:手動(dòng)指定安裝路徑需要加path

? ??????hello?:執(zhí)行軟件:看INSTALL和README文件(是否源碼包、如何安裝、執(zhí)行都看這兩個(gè))

? ??????rm -rf 軟件目錄名稱?:卸載軟件

服務(wù)與進(jìn)程

? ??????netstat -lnp|grep 端口號(hào)/進(jìn)程號(hào)/進(jìn)程名?:根據(jù)查端口是否打開確認(rèn)服務(wù)是否啟動(dòng),配合ps命令可查服務(wù)占用的端口

常用參數(shù):

????????-p:獲取進(jìn)程名、進(jìn)程號(hào);

????????-n:禁用域名解析功能,查出IP且速度快;

????????-l:只列出監(jiān)聽中的連接;

????????-t:只列出 TCP協(xié)議的連接。

????????示例:ps aux|grep tomcat netstat -lnp|grep 進(jìn)程號(hào) :查tomcat服務(wù)占用的端口;

? ??????ps aux|grep 進(jìn)程號(hào)/進(jìn)程啟動(dòng)命令/服務(wù)名?:進(jìn)程查看命令ps(可查進(jìn)程狀態(tài);進(jìn)程占用cpu、內(nèi)存;配合netstat根據(jù)某服務(wù)端口查出進(jìn)程號(hào)用于殺進(jìn)程,查服務(wù)啟動(dòng)命令及服務(wù)路徑 )

原文地址https://www.cnblogs.com/caozy/p/9261224.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容