Linux的文件目錄管理
一、文件和目錄管理
1.cd命令與pwd命令 進(jìn)入文件目錄與現(xiàn)實(shí)當(dāng)前文件目錄
2.mkdir[-mp]命令:用于創(chuàng)建文件夾的命令
最常用的是mkdir -p ,創(chuàng)建多層文件夾
3.rmdir :刪除文件夾,用處不大,只能刪除空的文件夾,哪怕是rmdir -f,也只能刪除一連串空的文件夾
3.rm 命令:刪除命令,常用操作-r, -f
rm -r:刪除目錄用的選項(xiàng),會(huì)詢問(wèn)是否刪除
rm -f:強(qiáng)制刪除
經(jīng)常組合使用,rm -rf,表示刪除文件或者文件夾不詢問(wèn),所以常常有rm -rf / 的段子
4.環(huán)境變量PATH
4.1: which命令:查找某個(gè)命令的決定路徑。如:

可以看到rm是rm -i的別名,在/usr/bin/rm目錄下
4.2.ehco PATH可以查看哪些目錄在環(huán)境變量中,是變量的前綴符號(hào)
5.cp命令 復(fù)制文件
cp -i :縮寫(xiě)就是cp,在復(fù)制的時(shí)候文件已經(jīng)存在,就會(huì)詢問(wèn)是否覆蓋
cp -r: 復(fù)制目錄
6.mv命令(move簡(jiǎn)寫(xiě)):移動(dòng)或者重命名
格式: mv [選項(xiàng)] [源文件] [目標(biāo)文件]
命令有如下幾種情況:
目標(biāo)文件是目錄,但該目錄不存在:源目錄重命名
目標(biāo)文件是目錄,目錄存在:源文件或目錄移動(dòng)到該目錄中去
目標(biāo)文件是文件,文件不存在:源文件重命名
目標(biāo)是文件,文件存在:詢問(wèn)是否覆蓋
7.echo命令
echo $PATH:簡(jiǎn)單的打印
echo '111111' > file :把內(nèi)容寫(xiě)過(guò)文件中,覆蓋類型的寫(xiě)入
echo '22222' >> file:內(nèi)容寫(xiě)入文件,追加的寫(xiě)入
7.與文檔相關(guān)的命令(挺重要的,在查看日志的時(shí)候顯得尤為重要)
7.1 cat命令(可以通過(guò)man查看,任何命令可以通過(guò)man查看幫助,通過(guò)which查看位置)
cat -n 文件名:查看文件的時(shí)候把行號(hào)顯示
cat -A 文件名: 顯示所有內(nèi)容,包括隱藏的字符
7.2 tac命令(與cat反過(guò)來(lái),就知道是從后往前看)
tac 文件名
7.3 more命令
文件內(nèi)容過(guò)多的時(shí)候使用,按空格可以查看下一頁(yè)
ctrl+D: 上一頁(yè)
ctrl+F:向下翻屏
7.4 less命令(挺重要)
與more命令類似,但功能要多一些。命令后直接加文件名。
按j鍵向下,K鍵向上。
使用more和less的時(shí)候,可以使用搜索功能,按/在輸入字符串,回車即可。按n查看下一個(gè)。
輸入?來(lái)查找,是從下向上搜索
7.5 head命令
顯示文件的前10行,加-n則指定顯示前多少行
head -n file
7.6 tail命令
顯示文件最后10行,-n可以指定行數(shù)
*tail -f 文件名:可以動(dòng)態(tài)的查看
————————————————————————————————————————————
二、文件的所有者和所屬組
簡(jiǎn)述:一個(gè)Linux的目錄或者文件,都會(huì)有一個(gè)所有者和所屬組。所有者是文件的擁有者,所屬組是文件所屬的用戶組。
如果要兩個(gè)用戶可以查看同一個(gè)文件,就要在同一個(gè)組,并且該組有查看權(quán)限。
1.文件屬性查看與解釋
ls -l 文件名,可以查看該文件的詳細(xì)熟悉,如圖

可以看到,詳細(xì)屬性信息,文件有9列。
第1列:分為兩部分,前1位和后9位。
前1位表示文件的類型,d表示文件目錄,-表示普通文件,l表示鏈接文件。其他的還有b表示塊設(shè)備,c表示船型端口設(shè)備文件,s表示套接字文件,這些我認(rèn)為不是專業(yè)的運(yùn)維都不怎么需要使用。
后9位,每3位一組,由rwx組合而成,分別是文件所有者、所屬組、組外用戶對(duì)該文件的權(quán)限。
r為可讀,w可寫(xiě),x可執(zhí)行,不支持就用-代替,chmod的時(shí)候會(huì)詳細(xì)說(shuō)明。
第2列:文件占用的節(jié)點(diǎn),目錄的話,與目錄下的子目錄數(shù)有關(guān)。
第3列:文件的所有者
第4列:文件的所屬組
第5列:文件的大小
第6、7、8列:最后一次修改的時(shí)間
第9列:文件名
2.更改文件的權(quán)限
2.1 命令chgrp(change group)
格式: chgrp [組名] [文件名]
更改文件的所屬組。
groupadd 組名:創(chuàng)建一個(gè)組
這只是修改了文件夾的組名,可以修改他的子目錄的的組別:
chgrp -R 組名 文件名
chgrp不常用,常用的是chown

2.2 命令chown(change owner)
格式:chown [-R] 賬戶名:組名 文件名
附:useradd test 添加用戶

2.3命令chmod 改變文件的權(quán)限
使用數(shù)字代替rwx,r等于4, w等于2,x等于1,-等于0,合起來(lái)最多就是7
rwxrwx---就是770
格式:chmod [-R] xyz 文件名
例如:chmod 750 test
其他用法:chmod u=rwx, og=rx
chmod u-x 文件名
2.4 命令umask 改變文件的默認(rèn)權(quán)限
默認(rèn)情況下,目錄是755,普通文件644.這是誰(shuí)定義的?涉及到umask
格式: umask xxx(xxx是三個(gè)數(shù)字)
默認(rèn)為022;
3.修改文件的特殊屬性
3.1 命令chattr
格式:chattr [+-=] [Asaci]
A:文件或目錄atime不可修改
s:數(shù)據(jù)同步寫(xiě)入磁盤
a:只能追加不能刪除
c:自動(dòng)壓縮,讀取自動(dòng)解壓
i:文件不能重命名、刪除、設(shè)定鏈接
3.2 命令lsattr :讀取文件或者目錄的特殊權(quán)限
格式:lsattr [-aR]
a:全部列出
R:連同子目錄列出
3.3 set uid、set gid、sticky bit
4.Linux下搜索文件
4.1 which 查詢決定路徑
4.2 whereis 查找文件
格式: whereis [-bms] 文件名
-b:二進(jìn)制文件
-m:幫助文件
-s:源代碼文件
4.3 locate查找文件
安裝:yum install -y mlocate
4.4 find搜索文件(最常用)
格式:find [路徑] [參數(shù)]
常用:
find -atime +n/-n 訪問(wèn)執(zhí)行時(shí)間大于或小于n天的文件
find -ctime 寫(xiě)入或更改inode時(shí)間
find -mtime 寫(xiě)入時(shí)間
find -name 文件名: 查找文件名
例如:find . -name file 其中.表示在現(xiàn)在文件夾下
find -type filetype: 通過(guò)類型查找
包含了f,b,c,d,l,s等類型
5.常見(jiàn)文件類型
-:普通文件
d:目錄
l:鏈接文件
d:設(shè)備文件
6.常用后綴名:
.sh:shell腳本
tar.gz:壓縮文件
my.conf:配置文件
.zjp:壓縮文件
7.linux的鏈接文件 ln(link)命令
鏈接分為硬鏈接和軟鏈接。
硬鏈接是增加一個(gè)指向這個(gè)文件的inode,不能鏈接目錄。
軟鏈接是建立一個(gè)獨(dú)立的文件,然后把讀取的行為轉(zhuǎn)發(fā)到該文件所鏈接的文件上。
格式:ln [-s] [來(lái)源文件] [目的文件]
加上-s就是建立軟鏈接,否則是硬鏈接
例如:ln -s password passord-soft