用戶分爲三類:
1.root用戶
2.虛擬用戶:不具有登錄系統的能力,一般系統自身擁有,比如bin,daemon,ftp,mail
3.普通用戶
useradd:
-g:指定用戶私有組
-G:添加附加組
-d:指定用戶家目錄,如果不存在可以結合-m創建
-m:如果家目錄不存在則自動創建
-u:指定UID,和-o一起可以重複使用其他用戶的UID,必須>=100
注意useradd的用戶沒有密碼還不能登錄
usermod:修改用戶賬號
-d[directory]:改變用戶登錄時的目錄,注意不是改變家目錄
-e[days]:修改賬號的有效期
-g[group]:修改用戶所屬組
-p[password]:修改用戶密碼,這裏修改密碼在/etc/shadow中是明文顯示的,所以不推薦
-s[shell]:指定用戶登錄shell
userdel:刪除用戶賬號,-r連同刪除用戶家目錄
passwd:用戶口令管理
-l:鎖定用戶口令,即禁止使用該用戶賬號,實質爲在/etc/shadow中的密鑰部分開頭加了!
-u:口令解鎖
-d:關閉使用者的密碼確認功能,使用者登錄時不需輸入密碼即可登錄
groupadd:用戶組添加命令
-g:指定GID,除非使用-o,否則GID唯一
-r:加入低於499的GID系統賬號
groupmod:組修改
-g:指定新的GID,除非使用-o否則唯一,注意修改後原來屬於該組的目錄和文件不屬於該組而是屬於該組的原GID
-n:改名,因爲系統用GID標識組的,所以改名不會有任何影響
groupdel:刪除組,必須先刪除該組的用戶
ls:
-a:列出所有目錄和文件(包括隱藏和. ..)
-A:列出除了.和..的所有目錄和文件(包括隱藏)
-c:按文件的修改時間排序
-d:顯示目前所在目錄的名稱,常與-l一起,顯示所在目錄的詳細信息
-l:顯示詳細信息
-L:若指定的名稱爲符號鏈接文件,則顯示鏈接所指向的文件
-R:遞歸顯示指定目錄的各個子目錄中的文件
cp:
-a:複製目錄,遞歸複製並且保留擁有人擁有組權限等文件屬性
-r:複製目錄,遞歸複製但是文件屬性丟失,比如root執行復制那麼該目錄和目錄下的目錄和文件的擁有人擁有組都變爲root
-p:複製文件,保留修改時間和權限等文件屬性
-i:如果複製的目標文件已經存在則提示用戶,防止已存在的文件或目錄被破壞,默認alias "cp=cp -i"
-f:目標已存在不提醒用戶,常用於腳本
mv:
-i:目標已存在則提醒用戶
-f:目標已存在不提醒用戶,常用於腳本
-p:移動保持權限
rm:
-r:遞歸刪除目錄及目錄下的文件和子目錄
-f,-i同上
mkdir
-m:對新建目錄設置權限,如mkdir -m 777 c1
-p:創建目錄樹,即一串目錄
-v:每次創建都顯示創建信息
如:
[root@localhost home]# mkdir -pv a1/a2/a3
mkdir: created directory `a1'
mkdir: created directory `a1/a2'
mkdir: created directory `a1/a2/a3'
rmdir
只能刪除空目錄
-p:刪除子目錄後如果父目錄爲空則同時刪除父目錄
--ignore-fail-on-non-empty:忽略非空目錄的錯誤信息
如:
[root@localhost a1]# touch a1.txt
[root@localhost ~]# rmdir -p /home/a1/a2/a3
rmdir: /home/a1: Directory not empty
cd -:返回上次訪問的目錄
chmod:改變文件或目錄的權限
SUID:當一個設置了SUID位的可執行文件被執行,該文件以擁有者的身份運行,任意使用該文件擁有人能使用的全部資源
SGID:當一個設置了SGID位的可執行文件被執行,該文件以擁有組的身份運行,任意使用該文件擁有組能使用的全部資源;若一個目錄設置了SGID,則複製到該目錄下的所有文件或目錄的擁有組都被改爲該目錄,除非使用cp -p
chmod u+s a.sh chmod g+s dir1 如果原x位爲's'表明有x權限,爲'S'表明無x權限
chown:更改文件或目錄的擁有人
find
查找文件命令
find [路徑] [選項] [操作]
選項:
name 根據文件名查找
perm 根據權限查找
prune 不在當前指定目錄查找
user 根據擁有人查找
group 根據擁有組查找
mtime -n +n 根據修改時間查找,-n爲n天之內,+n爲n天前
nogroup 查找無效擁有組
nouser 查找無效擁有人
-newer file1 !file2 查找修改時間比file1新但比file2舊的文件(修改時間爲file2~file1)
type 查找某一類型的文件,b:塊設備文件 d:目錄 c:字符設備文件 p:管道文件 l:符號鏈接文件 f:普通文件
size n:[c] 查找長度問n塊的文件,有c長度爲字節
depth 現在當前目錄查找,然後在子目錄中查找
操作:
print 輸出到標準輸出
exec 對匹配的文件執行該參數所給出的shell命令,命令形式爲'command' {} \;
ok 同上,只是每執行一個命令(查找到一個文件)都會提示用戶是否執行
例:
find . -name 'clc*' -perm 775 -mtime -90 -print
[root@localhost tmp]# find . -name 'a*' -ok rm {} \;
< rm ... ./a3 > ? y
< rm ... ./a2 > ? y
< rm ... ./a1 > ? n
< rm ... ./ssh-MFTFtw4452/agent.4452 > ? n
[root@localhost tmp]# ls | grep a*
a1
gedit:打開gedit圖形化文本編輯器