====基本命令====
# pwd [-P] :顯示當(dāng)前的工作目錄
-P:選項(xiàng)表示顯示實(shí)際的工作目錄,而非連接文件本身的目錄名
# mkdir [-mp] 目錄名:新建目錄
-m:設(shè)置文件的權(quán)限,直接設(shè)置,不需要看默認(rèn)權(quán)限(umask)
-p:遞歸創(chuàng)建目錄
# rmdir [-p] 目錄名稱:刪除空的目錄
-p:連同上層空目錄也一起刪除
# echo $PATH 可以顯示可執(zhí)行文件路徑,如果在當(dāng)前目錄下,必須輸入./xx才能執(zhí)行,默認(rèn)當(dāng)前路徑.不在PATH中。
# ls [-adhlSt] 目錄:列出目錄里的文件
-a:所有文件,包含隱藏文件
-d:僅僅列出目錄的信息,不列出里面的文件
-h:文件大寫(xiě)以K,M,G顯示
-l:一行一行顯示詳細(xì)信息
-S:按文件大小排序,而不是默認(rèn)的文件名排序
-t:依文件修改時(shí)間排序
–full-time:文件修改的完整時(shí)間
====文件的復(fù)制====
# cp [-apdriu] source1 source2 … directory
-a:相當(dāng)于-pdr
-p:連同文件屬性一起復(fù)制,而非使用默認(rèn)屬性(備份常用)
-d:若源文件為link file,則復(fù)制link file而非文件本身
-r:遞歸復(fù)制,用于目錄復(fù)制行為(常用)
-i:若目標(biāo)文件存在,在覆蓋時(shí)候詢問(wèn)操作的進(jìn)行(常用)
-u:若目標(biāo)文件比源文件舊才更新目標(biāo)文件
注意:cp dir1/* dir2/ 和 cp -r dir1/ dir2/的區(qū)別,前一個(gè)復(fù)制dir1下的所有文件到dir2,后一個(gè)復(fù)制dir1目錄到dir2(-r 連帶目錄下的文件也遞歸復(fù)制)
====文件的刪除====
# rm [-fir] 文件或者目錄
-f:force,忽略不存在的文件,不出現(xiàn)警告信息,也不詢問(wèn)用戶是否刪除
-i:互動(dòng)模式,詢問(wèn)用戶是否刪除
-r:遞歸刪除,謹(jǐn)慎小心!!
====文件的移動(dòng)====
# mv [-fiu] source1 source2 … directory
-f:force,不詢問(wèn),直接覆蓋
-i:目標(biāo)文件已經(jīng)存在,詢問(wèn)是否覆蓋
-u:如果目標(biāo)文件已存在,且source比較新,才覆蓋
====獲取path和filename====
# dirname /etc/sysconfig/network 得到/etc/sysconfig
# basename /etc/sysconfig/network 得到 network
====文件內(nèi)容查詢====
cat:從第一行開(kāi)始顯示
tac:最后一行開(kāi)始顯示
nl:顯示的時(shí)候,輸出行號(hào)
more:一頁(yè)頁(yè)顯示,只能向后翻頁(yè)
less:一頁(yè)頁(yè)顯示,可以向前向后翻頁(yè),man頁(yè)面就是調(diào)用的less
head -n 100:只顯示頭100行,head -n -100:前面的所有行,不包括最后的100行
tail -n 100 -f /var/log:只顯示結(jié)尾100行(-f可以持續(xù)顯示內(nèi)容,很有用),tail -n +100:顯示后面所有行,但不包括最前面的100行
od:以二進(jìn)制方式讀取文件內(nèi)容
====文件的三個(gè)比較重要的時(shí)間屬性====
mtime:modification time,文件的創(chuàng)建或者修改時(shí)間
ctime:文件的狀態(tài)status改變的時(shí)間,比如權(quán)限或者屬性更改
atime:access time,文件被訪問(wèn)被讀取的時(shí)間
可使用命令:ls -l –time=atime/ctime/mtime 顯示。默認(rèn)是mtime
利用touch命令可以修改以上三個(gè)時(shí)間,可以用來(lái)創(chuàng)建一個(gè)空的文件
====默認(rèn)權(quán)限與隱藏權(quán)限====
chattr設(shè)置隱藏屬性,lsattr查看隱藏屬性
# umask -S :查看默認(rèn)權(quán)限
對(duì)文件和目錄的默認(rèn)權(quán)限是不用的:
對(duì)文件而言:-rw-rw-rw
對(duì)目錄而言:drwxrwxrwx
而umask的數(shù)值指的是在此基礎(chǔ)上剪掉的權(quán)限部分。
# umask 002 可設(shè)置
# chattr [+-=][ai] 文件或者目錄
+:增加,如果原本存在,不動(dòng),-也是一樣,=直接賦值
a:這個(gè)文件只能增加數(shù)據(jù),也不能刪除也不能修改數(shù)據(jù),只有root可以設(shè)置這個(gè)東東
i:這個(gè)就厲害了,可以讓一個(gè)文件不被刪除、改名、設(shè)置連接也無(wú)法寫(xiě)入或添加數(shù)據(jù),只有root可以設(shè)置。
# lsattr [-adR] 文件或目錄,可以查看隱藏屬性
====文件特殊權(quán)限:SUID,SGID,SBIT====
當(dāng)s出現(xiàn)在owner的x上時(shí)候,代表SUID,其含義是:
* SUID權(quán)限僅對(duì)二進(jìn)制程序(binary program)有效;
* 執(zhí)行者對(duì)于該程序需要具備x的可執(zhí)行權(quán)限;
* 本權(quán)限僅在執(zhí)行程序過(guò)程中(run-time)有效;
* 執(zhí)行者將具有該程序owner的權(quán)限。
當(dāng)s出現(xiàn)在group的x上時(shí)候,代表SGID,其含義是:
對(duì)文件來(lái)講 –>
* SGID對(duì)二進(jìn)制程序有用;
* 程序執(zhí)行者對(duì)該程序來(lái)說(shuō),需具備x的權(quán)限;
* 執(zhí)行者在執(zhí)行過(guò)程中會(huì)獲得該程序用戶組的支持。
對(duì)目錄來(lái)講–>
* 用戶如果對(duì)此目錄具有r與x的權(quán)限,該用戶可以進(jìn)入該目錄;
* 用戶在此目錄下的有效用戶組(effective group)變?yōu)樵撃夸浀膅roup;
* 若用戶在此目錄下具有w權(quán)限,則用戶創(chuàng)建的新文件的group與此目錄的group一樣。
SBIT(Sticky Bit)只對(duì)目錄有效,作用是:
* 當(dāng)用戶對(duì)于此目錄有w,x權(quán)限的時(shí)候;
* 用戶在該目錄下創(chuàng)建文件或者目錄,僅有自己和root才能刪除
4為SUID,2為SGID,1為SBIT
chmod 4755 filename,你懂得。如果是S和T表示連x的權(quán)限都沒(méi)有了,那s和t的設(shè)置就沒(méi)有啥用了,擺設(shè)而已,空的。
====命令與文件的查詢====
# which command:查找命令的位置,根據(jù)$PATH去查找的。
文件名的查找:
先用whereis 和 locate查找,速度快,因?yàn)橹苯硬樵償?shù)據(jù)庫(kù),而找不到后再用find,直接搜索硬盤(pán)
# whereis [-bmsu] 文件或目錄名
-b:只找二進(jìn)制文件
-m:只找說(shuō)明文件manual路徑下的文件
-s:只找source源文件
-u:查找不在上述三個(gè)選項(xiàng)中的其他特殊文件
# locate [-ir] keyword
-i:忽略大小寫(xiě)
-r:正則式查找
最后一個(gè)find命令,太強(qiáng)大了,不想寫(xiě)了,自己去查吧。
find /var -mtime +4:大于等于5天前的文件名
find /var -mtime -4:小于等于4天內(nèi)的文件名
find /var -mtime 4:4~5天那一天
find /home -user yidao
find / -nouser
find / -name password:名字為password的文件
find /var -type s:socket文件
find / -perm +7000
find / -perm +7000 -exec ls -l {} \;
find /etc -name ‘*httpd*’ :通配符形式也行