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