一:權限管理指令
指令名稱:chown
指令原意:change file ownership
指令所在路徑:/bin/chown
執行權限:所有使用者
文法:chown 【使用者】【檔案或目錄】
範例:chown pengliang japan.list 改變japan.list的所有者為penglinag
root和檔案所有者可以改變檔案的權限,
例如一個使用者建立了一個檔案,該檔案的權限所有者和root都可以
注意:檔案所有者可以改變檔案的權限,但是不能改變檔案的所有者,隻有root可以
useradd【使用者名】添加普通使用者
groupadd【使用者組名】添加使用者組
指令名稱:chgrp
原意:change file group ownership
指令所在路徑:/bin/chgrp
執行權限:所有使用者
文法:chgrp 【使用者組】 【檔案或目錄】
功能描述:改變檔案或目錄的所屬組
範例:chgrp dajia japan 改變檔案japan的所屬組為dajia
誰建立了檔案誰就是檔案的所有者,他的使用者組就是他的預設組,每個使用者隻能有一個預設組,誰建立了檔案,檔案的使用者組就是所有者的預設組
當建立一個檔案或目錄是都有一個預設的權限,怎麼樣該預設權限呢
指令名稱:umask
原意:the user file-creation mask
指令所在路徑:shell内置指令
執行權限:所有使用者
文法:umask 【-S】
-S以rwx形式顯示建立檔案預設權限(即建立檔案的預設權限)
功能描述:顯示,設定檔案的預設權限
範例:umask -S
umask 顯示檔案的預設權限的掩碼
掩碼詳解:比如umask指令後顯示0022 第一個0是特殊的權限先不管, 022就是權限的掩碼。有什麼用呢?
可以計算出預設檔案的權限,即777-022=755 755就是-rwxr-xr-x
linux的任何建立檔案都沒有x權限,目錄有,安全性方面的考慮
更改預設權限
範例:比如要設定預設權限為754不能直接umask 754 可以計算掩碼777-754=023
可以umask 023
一般不要改預設的預設權限,系統預設的就很好了系統預設是(755)
二.檔案搜尋指令find
搜尋會占用大量的資源,是以盡量在建檔案的時候就規劃好檔案目錄結構
不要再伺服器高峰期的時候做搜尋,搜尋條件越精準越好
指令名稱:find
指令所在路徑:/bin/find
執行權限:所有使用者
文法:find 【搜尋範圍】 【比對條件】
功能描述:檔案搜尋
範例:
find/etc -name init 在/etc目錄中查找檔案init
find/etc -name *init* 搜尋/etc目錄下的所有檔案名含有init的檔案(*是通配符)
find/etc -name init??? 搜尋init後面的跟三個字元的檔案(?比對單個字元)
find/etc -iname init 搜尋init檔案不區分大小寫
根據大小查找
find/ -size +204800(LINUx中資料塊是最小的機關,這裡的機關是資料塊,一個資料塊為0.5K) 在根目錄下查大于100M的檔案(+n大于 -n小于 n等于)
根據所有者來查找
find/home -user shenchao 在/home下查找所有者為shenchao的檔案
根據時間的屬性來查找
-amin通路時間
-cmin檔案屬性
-mmin檔案内容
find/etc -cmin -5 在/etc下查找5分鐘内被修改過屬性的檔案
find/etc -mmin -30 在/etc下查找30分鐘内被修改過内容的檔案
稍微複雜的find
find/etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的檔案
-a兩個條件同時滿足(and)
-o兩個條件滿足任意一個即可(or)
find/etc -name inittab -exec ls -l {} \
在/etc下查找inittab檔案并顯示其詳細資訊
-exec/-ok指令 {} \;對搜尋結果執行操作(\表示轉義符,-ok會在執行前詢問,-exec不會)
find/etc -name init* -a -exec -type f ls -l {} \ 查找以init開頭的檔案,并顯示其詳細資訊
-type根據類型查找
f檔案 d目錄 l軟連結檔案
find/etc -name init* -a -type f 在/etc查找以init開頭并且是檔案
find/etc -name init* -a -type d 在/etc下查找以init開頭并且是目錄
-inum根據結點查找檔案
find. -inum 31531 -exec rm {} \ 查找并删除i結點為31531的檔案
指令名稱:locate
指令所在路徑:/usr/bin/locate
執行權限:所有使用者
文法:locate 檔案名
功能描述:在檔案資料庫中查找檔案
範例:locate inittab
速度比較快!因為locate'在檔案系統中維護着一個資料庫,在/var/mlocate/mlocate.db
缺點:假使建立的檔案沒有收錄更新在庫中就會找不到!而find就不會
怎樣更新?用指令:updatedb
此時便會被收錄!
注意:但是查找的檔案在/tmp臨時檔案夾中,即使update也是找不到的。
locate-i hehe.log 不區分大小寫查找hehe.log
指令名稱:which
指令所在路徑:/usr/bin/which
執行權限:所有使用者
文法:which指令
功能描述:搜尋指令所在目錄及别名資訊
範例:which ls 查找ls指令所在的路徑
which cp 查找cp指令所在的目錄
結果中的alias ‘指令’=‘指令别名’
如:
which cp 查找cp指令所在的目錄結果顯示 aliascp='cp -i'後面的cp -i就是cp的别名
指令名稱:grep
指令所在路徑:/bin/grep
執行權限:所有使用者
文法:grep -iv 【指定字串】【檔案】
功能描述:在檔案中搜尋字串比對的行并輸出
-i不區分大小寫
-v排除指定字串
範例:grep mysql /root/install.log
在linux中#表示注釋行
grep-v ^# /etc/inittab 去掉以#開頭的行,比如讀取apache的配置檔案時用,用來排除注釋的幹擾
三.檔案搜尋指令--幫助指令
指令名稱:man
原意:manual
指令所在路徑:/usr/bin/man
執行權限:所有使用者
文法:man 【指令或配置檔案】
功能描述:獲得幫助資訊
範例:man ls 檢視ls的幫助資訊
man services 檢視配置檔案的services的幫助資訊(注意。此處的配置檔案不要加絕對路徑,隻要名稱就可以了)就是檢視配置檔案的作用等
幫助類型的說明:
1表示指令說明
5表示檔案說明
下面是一些檢視指令或簡短的作用
whatis【指令名稱】 檢視ls指令的作用
apropos【配置檔案名】 檢視配置檔案的作用
【指令】 --help 列出指令的屬性
如ls --help 列出ls指令的屬性(-a -l等)
man很有用,可以檢視指令的格式等,不必強記
指令名稱:help
所在路徑:Shell内置指令
執行權限:所有使用者
文法:help 指令
功能描述:獲得Shell内置指令的幫助資訊
範例:help umask 檢視umask指令的幫助資訊
内置指令是沒有路徑的
如which cd會找不到路徑
manumask找不到umask的幫助資訊,找到的是shell的幫助資訊
helpumask可以找到umask的幫助資訊
是以找不到shell指令的格式的話,可以help