?
1、Linux目錄結(jié)構(gòu)
Linux的目錄結(jié)構(gòu)為樹狀結(jié)構(gòu),最頂級(jí)的目錄為根目錄/。
其他目錄通過掛載可以將它們添加到書中,通過解除掛載可以移除他們。
絕對(duì)路徑與相對(duì)路徑:
絕對(duì)路徑:由根目錄/寫起,例如:/usr/share/doc這個(gè)目錄。
相對(duì)路徑:不是由/寫起,例如由/usr/share/doc要到/usr/share/man底下時(shí),可以寫成:cd../man這就是相對(duì)路徑的寫法。
1.1、查看目錄
Linux系統(tǒng)當(dāng)中,ls命令可能是最常被運(yùn)行的。
語法:
ls:查看當(dāng)前路徑下的文件名稱
ls-a:全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)
ls-d:僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用)
ls-l:長數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)
ll:等價(jià)于ls-l
ls-al:目錄下的所有文件列出來(含屬性與隱藏檔)
1.2、切換目錄
cd是ChangeDirectory的縮寫,這是用來變換工作目錄的命令。
語法:
cd[相對(duì)路徑或絕對(duì)路徑]
#使用絕對(duì)路徑切換到local目錄
cd/usr/local/
#表示回到自己的家目錄,亦即是/root這個(gè)目錄
cd~
#表示去到目前的上一級(jí)目錄,亦即是/root的上一級(jí)目錄的意思;cd..
1.3、顯示當(dāng)前目錄
pwd是PrintWorkingDirectory的縮寫,也就是顯示目前所在目錄的命令。
語法:
pwd
1.4、創(chuàng)建目錄
mkdir(makedirectory)用來創(chuàng)建新的目錄。
語法:mkdir[-mp]目錄名稱
-m:配置文件的權(quán)限,直接配置,不需要看默認(rèn)權(quán)限的臉色
-p:直接將所需要的目錄(包含上一級(jí)目錄)遞歸創(chuàng)建起來!
查看幫助mkdir--help
1.5、刪除目錄
rmdir命令用來刪除空的目錄。
語法:rmdir[-p]目錄名稱
-p:連同上一級(jí)[空的]目錄也一起刪除
2、文件操作
2.1、查看文件內(nèi)容
cat查看所有內(nèi)容
語法:cat由第一行開始顯示文件內(nèi)容
more一頁一頁的顯示文件內(nèi)容
語法:more文件名稱
在more這個(gè)程序的運(yùn)行過程中,有以下按鍵功能:
空格鍵(space):代表向下翻一頁;
Enter:代表向下翻【一行】;
:f:立刻顯示出檔名以及目前顯示的行數(shù);
q:代表立刻離開more,不再顯示該文件內(nèi)容。
less一頁一頁翻動(dòng)
語法:less文件名稱
less運(yùn)行時(shí)可以輸入的命令有:
空格鍵:向下翻動(dòng)一頁;
[pagedowm]:向下翻動(dòng)一頁;
[pageup]:向上翻動(dòng)一頁;
q:離開less這個(gè)程序;
2.2、創(chuàng)建文件
語法:touch創(chuàng)建一個(gè)空白的普通文件
2.3、寫入內(nèi)容
echo把內(nèi)容重定向到指定的文件中,有則打開,無則創(chuàng)建
語法:
echo'內(nèi)容'>文件名稱覆蓋模式
echo'內(nèi)容'>>文件名稱追加模式
2.4、復(fù)制/拷貝文件
語法:cp[-adfilprsu]來源檔(source)目標(biāo)檔(destination)
-a:相當(dāng)于-pdr的意思
-d:若來源檔為連接檔的屬性(linkfile),則復(fù)制連接檔屬性而非文件本身;
-f:為強(qiáng)制(force)的意思,若目標(biāo)文件已經(jīng)存在且無法開啟,則移除后再嘗試一次;
-i:若clear動(dòng)作的進(jìn)行
-l:進(jìn)行硬式連結(jié)(hardlink)的連結(jié)檔創(chuàng)建,而非復(fù)制文件本身;
-p:連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用)
-r:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為:(常用)
-s:復(fù)制成為符號(hào)連接檔(symboliclink),亦即【捷徑】文件;
-u:若destination比source舊才升級(jí)destination
2.5、移動(dòng)文件
mv可以移動(dòng)文件與目錄,或修改名稱。
語法:mv[-fiu]sourcedestination
-f:force強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋;
-i:若目標(biāo)文件(destination)已經(jīng)存在時(shí),就會(huì)詢問是否覆蓋;
-u:若目標(biāo)文件已經(jīng)存在,且source比較新,才會(huì)升級(jí)(update)
2.6、刪除文件
rm可以移除文件或目錄
語法:rm[-fir]文件或目錄
-f:就是force的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告信息。
-i:互動(dòng)模式,在刪除前會(huì)詢問使用者是否動(dòng)作
-r:遞歸刪除,最常用在目錄的刪除,此操作危險(xiǎn)
3、打包與拆包
一般Linux上常用的壓縮方式是選用tar將許多文件打包成一個(gè)文件,再以gzip壓縮命令壓縮成xxx.tat.gz(或者xxx.tgz)的文件。
常用參數(shù):
-c:創(chuàng)建一個(gè)新tar文件
-v:顯示運(yùn)行過程的信息
-f:指定文件名
-z:調(diào)用gzip壓縮命令進(jìn)行壓縮
-t:查看壓縮文件的內(nèi)容
-x:解開tar文件
打包:tar-cvfxxx.tar要打包的文件或目錄的列表,用空格隔開
打包并且壓縮:tar-zcvfxxx.tar.gz要打包的文件或目錄的列表,用空格隔開
解壓:tar-xvfxx.tar
? ? ? ? tar-zxvfxx.tar.gz-C/usr/my注意-C大寫,防止拆包解壓的路徑找不到
4、查看進(jìn)程快照
ps:-aux顯示當(dāng)前進(jìn)程的快照
查看Java進(jìn)程:ps-aux|grepjava
查看MySQL進(jìn)程:ps-aux|grepmysql
5、管道|
管道是Linux中比較重要且常用的一個(gè)內(nèi)容,其作用是將一個(gè)命令的輸出作為另一個(gè)命令的輸入,組合使用。
ls--help|more#? 分頁查看幫助信息,按q退出
6、VIM編輯器
vim共分為三種模式,分別是命令模式(Commandmode),輸入模式(Insertmode)和底線命令模式(Lastlinemode)
命令模式:
用戶剛剛啟動(dòng)vi/vim,便進(jìn)入了命令模式。
此狀態(tài)下敲擊鍵盤動(dòng)作會(huì)被vim識(shí)別為命令,而非輸入字符。比如我們此時(shí)按下i,并不會(huì)輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。
以下是常用的幾個(gè)命令:
i切換到輸入模式,以輸入字符。
x刪除當(dāng)前光標(biāo)所在處的字符。
:切換到底線命令模式,以在最低一行輸入命令。
若想要編輯文本:啟動(dòng)vim,進(jìn)入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
輸入模式:
在命令模式下按下i就進(jìn)入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACKSPACE,退格鍵,刪除光標(biāo)前一個(gè)字符
DEL,刪除鍵,刪除光標(biāo)后一個(gè)字符
方向鍵,在文本中移動(dòng)光標(biāo)
HOME/END,移動(dòng)光標(biāo)到行首/行尾
PageUp/PageDown,上/下翻頁
Insert,切換光標(biāo)為輸入/替換模式,光標(biāo)將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式:
在命令模式下按下:(英文冒號(hào))就進(jìn)入了底線命令模式。
底線命令模式可以輸入單個(gè)或多個(gè)字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經(jīng)省略了冒號(hào)):
q退出程序
w保存文件
按ESC鍵可隨時(shí)退出底線命令模式。
8、Linux的文件權(quán)限
Linux操作系統(tǒng)中對(duì)權(quán)限的管理很嚴(yán)格。Linux系統(tǒng)中不僅是對(duì)用戶與組根據(jù)UID,GID進(jìn)行了管理,還對(duì)Linux系統(tǒng)中的文件,按照用戶與組進(jìn)行分類,針對(duì)不同的群體進(jìn)行了權(quán)限管理,用他來確定誰能通過何種方式和目錄進(jìn)行訪問和操作。
權(quán)限共有10個(gè)字符,我們將它分為4大部分來理解:
第1部分、表示文件的類型
-表示是一個(gè)文件
d表示是一個(gè)目錄
l表示是一個(gè)連接(理解為快捷方式)
第2部分、當(dāng)前用戶具有的對(duì)該文件的權(quán)限(owner屬主,縮寫u)
第3部分、當(dāng)前組內(nèi)其他用戶具有對(duì)該文件的權(quán)限(group屬組,縮寫g)
第4部分、其他組的用戶具有的對(duì)該文件的權(quán)限(other其他,縮寫o)
r:Read讀
w:Write寫
x:execute執(zhí)行
針對(duì)目錄加執(zhí)行權(quán)限,文件不加執(zhí)行權(quán)限(因文件具備執(zhí)行權(quán)限有安全隱患)
針對(duì)文件和目錄來說,r,w,x有著不同的作用和含義
針對(duì)文件:r:讀取文件內(nèi)容
w:修改文件內(nèi)容
x:執(zhí)行權(quán)限對(duì)除二進(jìn)制程序以外的文件沒什么意義
針對(duì)目錄:目錄本質(zhì)可看做是存放文件列表、節(jié)點(diǎn)號(hào)等內(nèi)容的文件
r:查看目錄下的文件列表
w:刪除和創(chuàng)建目錄下的文件
x:可以cd進(jìn)入目錄,能查看目錄中文件的詳細(xì)屬性,能訪問目錄下文件內(nèi)容(基礎(chǔ)權(quán)限)
PS:root賬戶不受文件權(quán)限的讀寫限制,執(zhí)行權(quán)限受限制
用戶獲取文件權(quán)限的順序:先看是否為所有者,如果是,則后面權(quán)限不看;再看是否為所屬組,如果是,則后面權(quán)限不看。
8.2、修改文件權(quán)限
chown是changeowner的意思,主要作用就是改變文件或者目錄所有者。
chmod修改文件和文件夾讀寫執(zhí)行屬性。使用權(quán)限:所有使用者
chown修改文件和文件夾的用戶和用戶組屬性。使用權(quán)限:root
8.2.1、mode方式
語法:chmod who opt per file
who:ugoa(all)(u用戶user,g用戶組group,o其他用戶,a所有用戶默認(rèn))
opt:+添加某個(gè)權(quán)限-取消某個(gè)權(quán)限=賦予權(quán)限
per:rwxX
示例:
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log //r讀,w寫,x執(zhí)行
8.2.2、數(shù)字方式
語法:
chmod xxx? file
rwx? ? ?rw-? ?r--
421? ? 420? 400
? 7? ? ? ?6? ? ? 4
0表示無權(quán)限,1表示可執(zhí)行=x,2表示寫入權(quán)限=w,4表示可讀權(quán)限=r
例如:
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log
用戶權(quán)限=rwx=4+2+1=7
所屬組權(quán)限=r--=4+0+0=4
其他用戶權(quán)限=r--=4+0+0=4
組合:744
修改權(quán)限:
都加入寫入權(quán)限+2
給用戶組加入寫入權(quán)限:+2
給其他用戶加入可執(zhí)行權(quán)限:+1
chmod 765 a.txt
9、Linux常用網(wǎng)絡(luò)操作
9.1主機(jī)名操作
hostname:顯示主機(jī)名
hostname XXX:修改主機(jī)名,不推薦,臨時(shí)生效
永久生效修改主機(jī)名需要修改/etc/sysconfig/network文件
9.2查詢系統(tǒng)完整信息
uname-a:顯示完整的系統(tǒng)信息
9.3IP地址操作
查看IP地址:ipaddr
修改IP地址:修改/etc/sysconfig/network-scripts/
重啟網(wǎng)絡(luò)服務(wù):servicenetworkrestart
9.4、域名映射
修改/etc/hosts文件
9.5、網(wǎng)絡(luò)服務(wù)管理
查看網(wǎng)絡(luò)服務(wù)狀態(tài):systemctlstautsnetwork
啟動(dòng)網(wǎng)絡(luò)服務(wù):systemctlstartnetwork
停止網(wǎng)絡(luò)服務(wù):systemctlstopnetwork
重啟網(wǎng)絡(luò)服務(wù):systemctlrestartnetwork
設(shè)置開啟啟動(dòng):systemctlenablenetwork
9.6、防火墻設(shè)置
查看防火墻狀態(tài):systemctlstatusfirewalld
啟動(dòng)防火墻:systemctlstartfirewalld
關(guān)閉防火墻:systemctlstopfirewalld
查看防火墻服務(wù)是否開機(jī)啟動(dòng):systemctlis-enablefirewalld
開機(jī)時(shí)啟用防火墻服務(wù):systemctlenablefirewalld
開機(jī)時(shí)禁用防火墻服務(wù):systemctldisablefirewalld
查詢已經(jīng)啟動(dòng)的服務(wù)列表:systemctllist-unit-files|grepenabled
查詢啟動(dòng)失敗的服務(wù)列表:systemctl--failed
?
評(píng)論