目錄
目錄與路徑
相對路徑與絕對路徑
目錄的相關操作
檔案與目錄管理
檔案内容查閱
檔案與目錄的預設權限與隐藏權限
檔案預設權限:umask
檔案隐藏權限:chattr,lsattr
檔案特殊權限:SUID、SGID、SBIT
檢視檔案類型:file
指令與檔案的查詢
腳本檔案名的查詢
Find查找
目錄與路徑
相對路徑與絕對路徑
相對路徑:以目前目錄為基準,. 表示目前路徑;.. 表示目前目錄的上一個目錄
絕對路徑:所有完整的路徑
目錄的相關操作
目錄的切換與檢視:cd,pwd
切換目錄:cd (change directory)
顯示使用者目前所在目錄:pwd
cd ~zhangsan/ 切換到zhangsan的家目錄
cd ~/zhangsan 切換到家目錄下面的zhangsan檔案夾
注意:在Linux中~表示的是使用者的家目錄,無論在那個目錄下隻要使用cd指令都可以直接切換到使用者的家目錄中
退回到上一次所在目錄:cd -
目錄的建立與删除:mkdir,rmdir
建立目錄:mkdir test
在父檔案夾不存在的情況下,建立子檔案夾:mkdir –p test1/xx
建立多個子檔案夾:mkdir -p test1/{xx,yy,zz}
删除目錄:rmdir test
強制遞歸删除:rm –rf test1/ (r表示遞歸,f表示強制;這個指令謹慎使用!!!)
檔案路徑的變量
在Linux中每一個指令實際就是存放在某個檔案夾中的一個程式,但是我們在執行指令的時候并沒有将指令的完整路徑寫出來;這是因為系統中路徑變量的緣故;在我們執行一條指令的時候,系統會從預設設定的一些目錄中來查找需要執行的指令,如果沒有找到則會提示沒有找到該指令;是以我們在執行某條指令的時候需要指明指令的路徑,或者将該指令加入到系統的内置指令中去
執行檔案路徑的變量:$PATH
檢視系統的内置路徑:echo $PATH
檔案與目錄管理
檢視檔案與目錄:ls
ls指令:list的意思,列出目錄中的内容
ls –l :以長模式列出檔案或檔案夾的詳細資訊
ls -1:将内容逐行顯示出來
ls –a:顯示所有的檔案,包括隐藏檔案
ls –s:附帶顯示檔案的大小
ls –sh:h顯示檔案大小的機關
ls –ld:d檢視檔案夾本身的資訊
ls –R /:遞歸顯示檔案夾中所有内容 (容易消耗資源)
ls –d :檢視檔案夾資訊
複制檔案與目錄:cp 源位址 目标位址
例:cp /path1/xx /path2/yy
注:如果說yy是一個檔案夾的話,就将xx拷貝到yy這個檔案夾下;如果yy不存在或者yy不是檔案夾,則表示将xx拷貝到path2檔案夾下并将檔案重命名為yy
例:cp -rf /etc/ /mnt
注:強制遞歸将一個目錄複制到另外一個目錄中;r表示遞歸,f表示強制;預設情況下cp是不能夠直接複制檔案夾的
例:cp /etc/services /mnt –p
注:p參數是帶有屬性資訊的複制,會把檔案的建立時間等資訊複制過去;預設情況下是不複制屬性資訊
例:cp –u /etc/services /mnt/services
注:u參數是帶有版本檢測的複制,根據時間來判斷,如果前面的檔案較新則覆寫,否則不覆寫
删除檔案與目錄:rm
rm services
注:rm –rf /* 強制删除;這個指令很強大,幾乎沒有不能删除的,謹慎使用!!!
剪切檔案與目錄:mv 源位址 目标位址
例:mv /path1/xx /path2/yy
注:如果說yy是一個檔案夾的話,就将xx剪切到yy這個檔案夾下;如果yy不存在或者yy不是檔案夾,則表示将xx剪切到path2檔案夾下并将檔案重命名為yy
檔案内容查閱
檢視文本檔案的内容:cat tac head nl tail more less od等
cat /etc/hosts
注:預設顯示最後一屏,适合檢視一些小檔案;-n參數表示加上行号
tac /etc/hosts
注:預設從最後一條開始顯示
nl /etc/hosts
注:預設加上行号,相當于cat –n
more /etc/services
注:回車逐行顯示,空格逐屏顯示;不過隻能往後翻,不能往前翻
less /etc/services
注:回車逐行顯示,空格逐屏顯示;PageUp往前翻,PageDown往後翻;Home首頁,End末尾
head /etc/services (預設檢視前十行)
head –n 5 /etc/services (檢視前五行,或者直接寫成-5)
tail /etc/services (預設檢視末尾10行)
tail -5 /etc/services (檢視尾五行,或者直接寫成-5)
tail –f /var/log/messages
注:-f屬性表示檢視檔案并不退出,一直處于監測狀态;可以用此功能來監測日志檔案;tail –f就等于tailf
非純文字檔案:od, strings
od –t c /bin/ls 或者 strings /bin/ls
od -t c /bin/ls
strings /bin/ls
修改檔案時間或建立新檔案:touch
建立檔案:touch xx
注:如果touch後面跟的這個檔案不存在就會建立出一個新的檔案;如果這個檔案存在,就會将該檔案的建立時間或修改時間更改為目前
設定指定的時間戳:touch –t 201812251428 xx
檔案與目錄的預設權限與隐藏權限
檔案預設權限:umask
當我們登入系統之後建立一個檔案總是有一個預設權限的,那麼這個權限是怎麼來的呢?這就是umask幹的事情,umask設定了使用者建立檔案的預設權限,它與chmod的效果剛好相反;我們可以把umask稱為權限過濾符,在我們建立檔案夾或者檔案的時候本身是滿權限的,可是經過umas過濾之後就不再是滿權限;
舉例:
修改umask值:umask 333
注:umask值設定為333之後,表示w和x的權限都要過濾;
umask -S
注:使用umask –S表示要保留的權限,即均保留隻讀權限,其餘的都過濾
檔案隐藏權限:chattr,lsattr
前面我們了解了可以用chmod來更改一個檔案或者一個檔案夾的權限,實際上我們還可以修改一些隐藏的權限;
增加隐藏權限:chattr
例:chattr +a xx/
注:a參數是給檔案夾設定隻能添加不能删除的隐藏權限;
例:chattr +i aa/
注:i參數是給檔案夾添加不能添加也不能删除的隐藏權限;
檢視隐藏權限:lsattr
删除隐藏權限
chattr -a xx/
chattr -i aa/
注:更多的使用方法請檢視幫助資訊
檔案特殊權限:SUID、SGID、SBIT
SUID:特殊權限表示為s,作用在可執行檔案的檔案所有者owner上面,該權限表示任何擁有執行該檔案權限的人,在執行的過程時都臨時擁有該檔案所屬人的權限
例:chmod u+s xx
注:當一個檔案在其所有者位置上加上s位權限之後,表示系統中其他使用者在使用這個檔案的時候将具有該檔案所有者的權限
例如:passwd
注:Linux中通過passwd指令來更改使用者的密碼資訊,雖然這個指令的所有者為root,但是由于加上了s位,普通使用者就可以獲得所有者(root)的權限,進而通過passwd指令來修改自己的密碼
說明:上圖中的 ls -l `which passwd`指令
在Linux中當一個指令嵌套在其他指令中的時候,是不會執行的;如果想要執行,需要加上反引号,或者用$();
SGID:當對一個目錄作用了SGID權限之後,則該目錄下建立的所有檔案或者目錄所有的權限都繼承該組的權限
例:chmod g+s .
注:當在所在組上增加了s位,之後在檔案夾中的操作均會繼承所在組的權限
SBIT:當一個指令的權限其他人位置上存在一個t,則表示該目錄下的檔案除了root使用者和所有者之外,其他人即使有權限,也無法删除
例:chmod o+t test
注:SBIT隻能作用在檔案夾的其他人組
檢視檔案類型:file
例:file /etc/services
指令與檔案的查詢
腳本檔案名的查詢
檢視指令所在路徑:which
檢視某個檔案的位置:whereis
注:不加參數的表示将所有包含ls的資訊都顯示出來;b參數表示檢視二進制檔案,即該條指令的目錄;m參數表示查找man page的幫助資訊
檢視檔案夾:locate zhangsan
注:locate是查詢所有包含關鍵字的檔案;由于locate是從資料庫中查找,是以最新建立的檔案查不到;需要等第二天資料庫更新之後才能查找的到;或者可以使用指令updatedb更新一下資料庫,就可以查找得到
Find查找
Find 目錄 -屬性 值
根據檔案名查找:
find / -name zhangsan 根據檔案名查找
find / -iname zhangsan 根據檔案名查找,忽略大小寫
根據所有者查找:
find / -user zhangsan 查找所有者是張三的檔案
find / -user zhangsan –group zhangsan 查找所有者、所在組都是zhangsan的檔案
find / -user zhangsan -or –group zhangsan 查找所有者或者所在組是zhangsan的檔案
根據檔案大小查找:
find / -size 4M 查找檔案大小為4M的檔案
find / -size +4M 查找大于4M的檔案
find / -size +2M –sieze -5M 查找大于2M小餘5M的檔案
根據時間查找:
find –ctime 1 查找一天内建立的檔案
find –ctime +1 查找建立了超過一天的檔案
find -cmin 1 查找一分鐘内建立的檔案
find -cmin +1 查找建立超過一分鐘的檔案
find -cmin -10 查找建立時間小于10分鐘的檔案
find –newer file1 查找比file新的檔案
根據權限查找:
find /mnt –perm 222 查找權限為222的檔案
find /mnt –perm +222 +号表示ugo中隻要有一個w,就符合比對條件(或的關系)
find /mnt –perm -222 -号表示ugo三個位置中必須都要有w,就符合比對條件(和的關系)
find /mnt –perm -2 表示other中要有一個w
find /mnt –perm -22 表示other中要有一個w,group中要有一個w
find /mnt –perm -222 表示user、group、other中都要有w
原創文章,轉載請注明出處