Linux常用命令及解析
基本日常命令
init 3 (進(jìn)入命令行頁(yè)面)
steup (設(shè)置網(wǎng)絡(luò))
exit (退出用戶)
pwd(查看當(dāng)前所在目錄)
date(查看當(dāng)前系統(tǒng)時(shí)間)
舉例:(date +%Y-%m-%d)以年月日的格式顯示當(dāng)前系統(tǒng)時(shí)間;(date -s "2018-02-28" 18:20)將時(shí)間修改為此時(shí)間;
(date +%Y-%m-%d --date ="-1 day")當(dāng)前日期-1天;(date +%Y-%m-%d --date ="+2 month")當(dāng)前日期+2月;(date +%Y-%m-%d --date ="+3 year")當(dāng)前日期+3年。
(kwclock -w)修改時(shí)間后需要寫入硬件bios才能在重啟之后依然生效,否則重啟后失效,故需要追加此命令。
who (查看當(dāng)前在線用戶)
last (查看最近登錄歷史)
舉例:(last -3)查看最近三個(gè)登錄歷史。
shutdown(關(guān)機(jī))halt(立即關(guān)機(jī))備注:關(guān)機(jī)必須用root用戶
shutdown -h now(立即關(guān)機(jī));shutdown -h +10(10分鐘后關(guān)機(jī));shutdown -h 12:00:00(12點(diǎn)關(guān)機(jī));shutdown -r now(立即重啟)。
clear 或快捷鍵ctrl+l(清屏)ctrl+c或q(退出當(dāng)前進(jìn)程);ctrl+z(掛起進(jìn)程到后臺(tái),相當(dāng)于最小化);history(顯示命令歷史)
bg 進(jìn)程名(讓進(jìn)程在后臺(tái)繼續(xù)執(zhí)行);fg 進(jìn)程名(讓進(jìn)程回到前臺(tái))。
echo (打印)
舉例:(echo aaa)打印aaa到控制臺(tái);(a=123)(echo $a)將a變量中存儲(chǔ)的124打印到控制臺(tái)。
目錄操作
ls (查看目錄信息)
舉例:(ls /)查看根目錄下文件夾和文件信息;(ls .)查看當(dāng)前目錄下文件夾和文件信息;(ls ..)查看上一級(jí)目錄下文件夾和文件信息;
(ls -al)a是顯示隱藏文件,l是以更詳細(xì)的列表顯示;(ls -l或ll)以更詳細(xì)的列表顯示當(dāng)前目錄下的文件夾和文件信息。
cd (切換工作目錄)
舉例:(cd /)到根目錄;(cd /home/wxy)到wxy用戶目錄;(cd ~ 或cd)切換到用戶主目錄;(cd -)回退到上次所在目錄
mkdir (創(chuàng)建文件夾)
舉例:(mkdir tools)在當(dāng)前目錄下創(chuàng)建tools文件夾;(mkdir -p aaa/bbb/ccc)級(jí)聯(lián)創(chuàng)建目錄,創(chuàng)建aaa并在aaa中創(chuàng)建bbb,創(chuàng)建bbb,并在bbb中創(chuàng)建ccc;(mkdir -m 777 test)創(chuàng)建test并對(duì)其設(shè)置權(quán)限777
rmdir?(刪除文件夾)
舉例:(rmdir tools)可以刪除空目錄;(rm -r tools)刪除tools整個(gè)文件夾下的內(nèi)容,需要確認(rèn);(rm -rf tools)強(qiáng)制刪除tools,不需要確認(rèn)。
mv (修改文件夾)mv本質(zhì)上是移動(dòng),如果選定文件名在當(dāng)前目錄下沒(méi)有,則為修改,如果有則是移動(dòng)。
舉例:(mv wxy xiyang)將文件夾wxy改為xiyang;(mv xiyang wxy)將當(dāng)前目錄下的xiyang移動(dòng)到wxy中;(mv xiyang wxy /xiaobai)移動(dòng)并改名為xiaobai。
rename (批量修改文件名)
舉例:(rename .txt .docx *)將當(dāng)前目錄下所有txt文件全部改為docx文件。
文件操作
1.創(chuàng)建文件
touch(創(chuàng)建文件)
舉例:touch a.txt(創(chuàng)建名為a的文本文檔);touch b.avi(創(chuàng)建名為b的avi文件)
2.重定向文件
">"、">>"(創(chuàng)建文件,并通過(guò)echo打印命令像文件中寫入、覆蓋、追加內(nèi)容)
利用重定向">"功能,將一條指定的輸出結(jié)果寫入到一個(gè)文件中,會(huì)覆蓋原文件內(nèi)容,如果指令的文件不存在,則會(huì)創(chuàng)建此文件。">>"將一條指令的輸出結(jié)果追加到另一個(gè)文件中,不會(huì)覆蓋原文件。
舉例:echo "abc" >abc.txt(創(chuàng)建abc.txt文檔,并寫入內(nèi)容abc);echo "hhh" >abc.txt(如果abc.txt文檔已存在,則替換abc.txt文檔中的內(nèi)容為hhh);echo "def" >>abc.txt(追加內(nèi)容def到abc.txt文檔中)
3.文本編輯器
vi(創(chuàng)建文件,并自由編輯內(nèi)容)
舉例:vi 1.txt(如果1.txt存在,則是編輯此文件,如果1.txt文件不存在,則是創(chuàng)建并編輯此文件)
輸入vi 1.txt命令首先會(huì)進(jìn)入“一般模式”,此模式只接受各種命令快捷鍵,不能編輯內(nèi)容,
按"i"鍵就會(huì)從一般模式進(jìn)入編輯模式,此模式下,鍵入的都是文件內(nèi)容,
編輯完成后,按Esc退出編輯模式,回到一般模式,
再按":"鍵,進(jìn)入底行命令模式,輸入"wq"命令,回車即可。
編輯器中常用快捷鍵(在一般模式下使用)
a 在光標(biāo)后一位開(kāi)始插入
A 在該行的最后插入
I 在該行的最前面插入
o在光標(biāo)當(dāng)前所在行下添加一新行
O在光標(biāo)當(dāng)前所在行上添加一新行
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 刪除一行
3dd 刪除三行
yy 復(fù)制一行
3yy 復(fù)制三行
p 粘貼
u 回退
v 進(jìn)入字符選擇模式,選擇完成后,按y復(fù)制,按p粘貼
ctrl+v 進(jìn)入塊選擇模式,選擇完成后,按y復(fù)制,按p粘貼
shift+v 進(jìn)入行選擇模式,選擇完成后,按y復(fù)制,按p粘貼
顯示行號(hào):(:set nu)
隱藏行號(hào):(:set nonu)
編輯器中查找并替換(在底行命令模式中輸入)
查找關(guān)鍵字:(:/a)查找文件中出現(xiàn)的a,并定位到第一個(gè) 找到的地方,按n鍵可以定位到下一個(gè)匹配位置(按N鍵定位到上一個(gè))。
替換關(guān)鍵字(:s/aaa/bbb)查找光標(biāo)所在行的第一個(gè)aaa,替換為bbb;(:%s/aaa/bbb)查找文件中所有的aaa,替換為bbb。
3.cp、rm、mv(拷貝/刪除/移動(dòng))
舉例:(cp 1.doc /home/wxy)將當(dāng)前目錄下的1.doc文件拷貝到/home/wxy目錄中;(cp 1.doc /home/wxy/2.doc)將當(dāng)前目錄下的1.doc文件拷貝到/home/wxy目錄中并重命名為2.doc;(cp -r file /home/wxy)將當(dāng)前目錄下的file文件夾拷貝到/home/wxy目錄中。(注:如果執(zhí)行時(shí)出現(xiàn)”cp: omitting directory”的提示信息,但使用mv則可以成功剪切粘貼,是由于該目錄下含有子目錄,這個(gè)時(shí)候需要使用 cp -r 參數(shù)來(lái)遞歸拷貝這些及其子文件夾下的文件。)
(rm 1.doc)、(rm -r 1.doc)需要確認(rèn)是否刪除;(rm -rf 1.doc)直接刪除,不需要確認(rèn)。
(mv 1.doc /home)將當(dāng)前目錄下的1.doc移動(dòng)到/home目錄中
4.查看文件內(nèi)容
cat
舉例:(cat install.log)一次性將文件內(nèi)容全部輸出到控制臺(tái)。
分頁(yè)查看文件的命令
more
舉例:(more install.log)可以翻頁(yè)查看,下翻一頁(yè)(空格),上翻一頁(yè)(b),下翻%2(d),幫助(h),退出(q)。
less
舉例:(less install.log)可以翻頁(yè)查看,下翻一頁(yè)(空格),上翻一頁(yè)(b),上翻一行(↑),下翻一行(↓),搜索關(guān)鍵字(/keywod),跳到文件末尾(G),跳到文件首行(gg),退出less(q)。
head(顯示文件頭部指定行數(shù))
(head -n 20 install.log)查看文件前20行
(head -n -100 /etc/man.config)后面 100 行的數(shù)據(jù)都丌打印,只打印/etc/man.config 的前面幾行
tail(顯示文件尾部指定行數(shù))
(tail -n 10?install.log)查看文件尾部的10行
(tail -n +10 install.log)查看文件10-->末行
(tail -n +100 /etc/man.config)不知道/etc/man.config 有幾行,只想列出 100 行以后的數(shù)據(jù)
持續(xù)監(jiān)聽(tīng)文件內(nèi)容
(tail -f install.log)小f跟蹤文件的唯一inode號(hào),就算文件改名后,還是跟蹤原來(lái)這個(gè)inode表示的文件
(tail -F install.log)大F按照文件名來(lái)跟蹤
(haed -10 install.log)查看文件頭部的10行
例題--組合管道符使用:
(head -n 20 /etc/man.config | tail -n 10?)顯示 /etc/man.config 的第 11 到第 20 行
od (讀取二進(jìn)制文件)
/usr/bin/passwd,使用上邊提到的指令來(lái)讀取該文件的內(nèi)容時(shí), 會(huì)產(chǎn)生類似亂碼的數(shù)據(jù),可以用od命令解決。
(od -t c /usr/bin/passwd)將/usr/bin/passwd 的內(nèi)容使用 ASCII 方式展現(xiàn)
選項(xiàng)或參數(shù):
-t :后面可以接各種『類型 (TYPE)』的輸出,例如:
a :利用默認(rèn)的字符來(lái)輸出;
c :使用 ASCII 字符來(lái)輸出
d[size] :利用十進(jìn)制(decimal)來(lái)輸出數(shù)據(jù),每個(gè)整數(shù)占用 size bytes ;
f[size] :利用浮點(diǎn)數(shù)(floating)來(lái)輸出數(shù)據(jù),每個(gè)數(shù)占用 size bytes ;
o[size] :利用八進(jìn)制(octal)來(lái)輸出數(shù)據(jù),每個(gè)整數(shù)占用 size bytes ;
x[size] :利用十六進(jìn)制(hexadecimal)來(lái)輸出數(shù)據(jù),每個(gè)整數(shù)占用 size?bytes ;
5.打包壓縮
壓縮 gzip
舉例:(gzip a.txt)把a(bǔ).txt壓縮;(gzip -d a.txt.gz)把壓縮文件解壓縮
壓縮 bzip2
舉例:(bzip2 a.txt)把a(bǔ).txt壓縮;(bzip2 -d a.txt a.bz2)把壓縮文件解壓縮
打包 tar -cvf(c代表創(chuàng)建,,v代表顯示進(jìn)度,f代表一個(gè)文件包);解包tar -xvf(x代表解一個(gè)包);追加(r代表)
舉例:(tar -cvf test.tar 1.txt 2.txt aaa)將1.txt、2.txt、aaa打包到test.tar文件夾中;
(tar -xvf test.tar)將test.tar文件夾中1.txt、2.txt、aaa解包;
(tar -rvf test.tar 3.txt)將2.txt追加到test.tar文件夾中。
打包并壓縮?tar -zcvf
舉例:(tar -zcvf test.tar.gz 1.txt 2.txt aaa )將1.txt、2.txt、aaa打包到test.tar文件夾中,并壓縮;
(tar -zxvf test.tar.gz)將test.tar.gz文件夾中1.txt、2.txt、aaa解壓縮;(tar -zxvf test.tar.gz -C /usr)將test.tar.gz中的文件解壓到usr下
查看壓縮包內(nèi)容
舉例:(tar -ztvf test.tar.gz)查看test.tar.gz中的內(nèi)容
查找
which ls (查找可執(zhí)行的命令所在的路徑)
whereis ls (查找可執(zhí)行的命令和幫助的位置)
find / -name "wxy" (查找關(guān)鍵字包含wxy的文件夾或文件)
find / -name "wxy" -ls (查找關(guān)鍵字包含wxy的文件夾或文件并顯示詳細(xì)信息)?
查找并刪除
find -name "wxy" -ok rm{}\
find -name "wxy" -exec rm{}\
find /usr -user wxy -ls(查找用戶為wxy的文件)
文件權(quán)限的操作
1.權(quán)限含義
r:可讀;w可寫;x可執(zhí)行
舉例:(drwxr-x---它可以用二進(jìn)制進(jìn)行表示(有權(quán)限是1,無(wú)權(quán)限是0) 所以是111 101 000 --> 轉(zhuǎn)換成十進(jìn)制750)第一組:rwx:表示這個(gè)文件的所有者對(duì)它的權(quán)限:可讀可寫可執(zhí)行;
第二組:r-x表示這個(gè)文件的所屬組用戶對(duì)它的權(quán)限:可讀不可寫可執(zhí)行;第三組:---表示這個(gè)文件的其他用戶對(duì)它的權(quán)限:不可讀不可寫不可執(zhí)行。
2.修改文件權(quán)限?chmod?
舉例:chmod g-rw 123.dat 表示將123.dat對(duì)所屬組取消rw權(quán)限(g代表group);
chmod o-rw 123.dat 表示將123.dat對(duì)其他人取消rw權(quán)限(o代表other);
chmod u+x 123.dat 表示將123.dat對(duì)所屬用戶增加x權(quán)限(u代表user);
chmod a-x 123.dat? 表示將123.dat對(duì)所有用戶取消x權(quán)限(a代表all);
chomod u=rwx,go=rx?123.dat?表示將123.dat對(duì)所屬用戶rwx權(quán)限,所屬組和其他用戶rx權(quán)限;
也可以用數(shù)字的方式來(lái)修改權(quán)限(chmod 664 123.dat 就會(huì)改成rw-rw-r--)(4代表r,2代表w,1代表x);
如果將一個(gè)文件夾的所有內(nèi)容權(quán)限統(tǒng)一修改,則可以使用-R參數(shù)(chomd -R 770 wxy/)就是將wxy文件夾中所有的權(quán)限都改成rwxrwx---;
r:對(duì)文件來(lái)說(shuō)是可讀取內(nèi)容,對(duì)文件夾來(lái)說(shuō)是可以ls(看里邊東西);
w:對(duì)文件來(lái)說(shuō)是可修改文件內(nèi)容,對(duì)文件夾來(lái)說(shuō)是可以在其中創(chuàng)建或者刪除子節(jié)點(diǎn);
x:對(duì)文件來(lái)說(shuō)是能否運(yùn)行這個(gè)文件,對(duì)文件夾來(lái)說(shuō)是能否cd(進(jìn)入這個(gè)目錄)。
修改所屬?chown
舉例:(chown wxy:wxy a.txt) 說(shuō)明:此命令只能由root執(zhí)行
基本的用戶管理
1.添加用戶?useradd?舉例(useradd xiyang)新建一個(gè)xiyang用戶;(passwd? xiyang)為此用戶新建一個(gè)密碼;(userdel xiyang)把xiyang用戶刪除;(userdel -r xiyang)把xiyang用戶及用戶的目錄都刪除;(exit)退出當(dāng)前用戶;(cat /etc/passwd)查看所有用戶。
添加一個(gè)tom用戶,設(shè)置它屬于users組,并添加注釋信息
分步完成:useradd tom --> usermod -g users tom? --> usermod -c "hr tom"tom --> 設(shè)置tom用戶密碼 passwd tom
一步完成:useradd -g users -c "hr tom"tom?--> 設(shè)置tom用戶密碼 passwd tom
2.修改用戶
舉例:(usermod -l tomcat tom)修改tom用戶的登錄名為tomcat;(usermod -G sys,root tomcat)將tomcat添加到sys和root組中;(groups tomcat)查看tomcat的組信息;
3.用戶組操作
舉例:(groupadd america )添加一個(gè)叫america的組;(usermod -g america jerr)將Jerry添加到amecica組中;(gpasswd -d tomcat root)-->(gpasswd -d tomcat sys)將tomcat用戶從root組合sys組刪除(groupmod -n am america)將america組名修改為am。
4.為用戶配置sudo權(quán)限
(su)更換用戶為root,需要輸入root密碼;(sudo useradd user1 )因?yàn)樘砑佑脩羰莚oot的權(quán)限,所以普通用戶執(zhí)行添加用戶操作需要前面加上sudo,意思是獲取到root權(quán)限,但執(zhí)行此命令前提需要用root用戶先更改一下sudoers文件,(命令為:vi /etc/sudoers)在文件末尾向上幾行處,將(root ALL=(ALL) ALL)下增加一條(xiyang ALL=(ALL) ALL),其中xiyang為要分配此權(quán)限的用戶名,括號(hào)中的ALL是變量,可以指定任意一個(gè)路徑。
統(tǒng)計(jì)文件或文件夾大小
df -h 查看磁盤的剩余空間;
du -sh *(s是匯總h是單位)統(tǒng)計(jì)指定路徑下的所有子目錄和文件的大小;
舉例:(du -sh /home/user1)查找home目錄下的user1文件夾的大小。
系統(tǒng)服務(wù)管理 service
(service --status-all)查看系統(tǒng)所有的后臺(tái)服務(wù)進(jìn)程;
(service --status-all | grep httpd)從前面查找中的內(nèi)容中找httpd關(guān)鍵字;
(service sshd status)查看指定的后臺(tái)服務(wù)(sshd)進(jìn)程狀態(tài);
(service iptables status)查看防火墻服務(wù)進(jìn)程狀態(tài);
(service sshd stop)結(jié)束指定的后臺(tái)服務(wù)(sshd)進(jìn)程;
(service sshd start)啟動(dòng)指定的后臺(tái)服務(wù)(sshd)進(jìn)程;
(service sshd restart)重啟指定的后臺(tái)服務(wù)(sshd)進(jìn)程。
1.配置后臺(tái)服務(wù)進(jìn)程的開(kāi)機(jī)自啟 chkconfig
(chkconfig httpd on)讓httpd服務(wù)開(kāi)機(jī)自啟;
(chkconfig httpd off)讓httpd服務(wù)開(kāi)機(jī)不自啟;
(chkconfig --list)查看服務(wù)開(kāi)機(jī)自啟的狀態(tài);
(chkconfig --list | grep httpd)查看指定服務(wù)(httpd)開(kāi)機(jī)自啟的狀態(tài);
(chkconfig --level| 35 httpd on)讓httpd服務(wù)的第三項(xiàng)和第五項(xiàng)開(kāi)機(jī)自啟;
2.系統(tǒng)啟動(dòng)級(jí)別管理
vi /etc/inittab(進(jìn)入inittab中配置系統(tǒng)默認(rèn)啟動(dòng)級(jí)別,注意一定不要設(shè)置為0和6)
# 0 - halt (Do NOT set initdefault to this)系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0,否則不能正常啟動(dòng)
# 1 - Single user mode單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)多用戶模式,但不支持網(wǎng)絡(luò)系統(tǒng)
# 3 - Full multiuser mode沒(méi)有圖形界面的,全功能的多用戶模式,登陸后進(jìn)入圖形GUI模式
# 4 - unused系統(tǒng)未使用,保留
# 5 - X11帶圖形界面的,全功能的多用戶模式,登陸后進(jìn)入圖形GUI模式
# 6 - reboot (Do NOT set initdefault to this)系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)
3.進(jìn)程管理
top
free
ps
舉例(ps -ef |grep ssh)檢查ssh進(jìn)程是否存在,-e是顯示所有進(jìn)程,-f是全格式。
kill進(jìn)程查看命令
舉例(kill -9 2358)將指定進(jìn)程號(hào)(2358)的進(jìn)程殺死,-9就是強(qiáng)制殺死。
ssh免密登錄
?軟件安裝
1.查詢linux系統(tǒng)中的所有軟件包
命令1:(yum list)查詢所有軟件 --進(jìn)一步查詢可用(yum list | grep 軟件名),例如:(yum list | grep lrzsz)
命令2:(rpm -qa)查詢所有軟件--進(jìn)一步查詢可用(rpm -qa |grep 軟件名),例如:(rpm -qa | grep lrzsz)
2.安裝(二進(jìn)制文件直接下載解壓即可,例如jdk)
命令1:yum install lrzsz -y
命令2:wget + 鏈接
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm查詢命令
(rpm -qa)查詢linux系統(tǒng)中的所有軟件包(rpm -qa lrzsz)
(rpm - q)查詢指定名稱的軟件包是否安裝(rpm - q? lrzsz)
(rpm - qi)查詢指定名稱軟件包的詳細(xì)信息(rpm - qi? lrzsz)
(rpm - ql)查詢指定名稱軟件包中所包括的文件列表(rpm - ql lrzsz)
(rpm - qf)查詢指定文件所屬的軟件包(rpm - qf lrzsz)
(rpm - qpi)查詢指定RPM包文件的詳細(xì)信息(rpm - qpi lrzsz)
(rpm - qpi)查詢指定RPM包中包含的文件列表(rpm - qpl lrzsz)
yum命令
(yum update)升級(jí)系統(tǒng)
(yum install httpd)安裝指定的軟件包
(yum update httpd)升級(jí)指定的軟件包
(yum remove httpd)移除指定的軟件包
(yum search httpd)刪除指定的軟件包
(yum list httpd)列出軟件的詳細(xì)信息
?
轉(zhuǎn)載于:https://www.cnblogs.com/wxinyu/p/8493405.html
總結(jié)
以上是生活随笔為你收集整理的Linux常用命令及解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: wireshark专栏——仅保存过滤出的
- 下一篇: python中re.compile()用