Linux文件管理和用戶管理

一、Linux文件管理

(1)目錄管理類?

mkdir :

使用方法:

????????????????mkdir [OPTION]... DIRECTORY...

常用選項:

????????????????-p: 自動按需創(chuàng)建父目錄;

????????????????-v: verbose,顯示詳細過程;

????????????????-m MODE:直接給定權限;

實例演示:

使用命令行展開功能,創(chuàng)建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下創(chuàng)建目錄:x_y, x_z, q_y, q_z

mkdir ?-pv ?/tmp/{a1/{a,b}/,a2}

命令行展開功能創(chuàng)建目錄1

mkdir -pv ?/tmp/{x,q}_{y,z}

命令行展開功能創(chuàng)建目錄2

命令行展開功能

????????~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

? ? ? ? ?{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;


rmdir:

使用方法:

????????????????rmdir [OPTION]... DIRECTORY... (只能刪除空目錄)

常用選項:

?? ? ? ? ? ? ? ?-p:刪除某目錄后,如果其父目錄為空,則一并刪除之;

????????????????-v: 顯示過程;

tree:

使用方法:

????????????????tree [options] [directory]

常用選項:

????????????????-L level:指定要顯示的層級

(2)文件查看類

more:

使用方法:

????????????????more FILE

less:

使用方法:

????????????????less FILE

head:查看文件前N行

使用方法:

? ? ? ? ? ? ? ? ? ?head [options] FILE

常用選項:

????????????????????-n 2 & -n :查看文件前2行

?tail:查看文件的后n行

使用方法:

????????????????????tail [options] FILE

常用選項:

????????????????????-n 2 ?& - 2 ?:表示查看文件后2行

? ? ? ? ? ? ? ? ? ? -f :查看文件后幾行不結束會話,并顯示新增的行的內容

stat:查看文件和文件系統(tǒng)狀態(tài)

使用方法:

? ? ? ? ? ? ? ? stat FILE

文件:由元數據(metadata)和數據組成(data)

實例演示:

文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

File: ? 文件名

Size :文件大?。ㄗ止?jié))

Blocks :文件使用的數據塊總數

IO Block :數據塊的大小

regular file:文件類型(常規(guī)文件)?

Device: 設備編號

Inode: 文件所在的Inode

Links: 硬鏈接次數

Access: 權限

Uid: 屬主id/用戶

Gid: 屬組id/組名
Access Time:簡寫為atime,表示文件的訪問時間。當文件內容被訪問時,更新這個時間?

Modify Time:簡寫為mtime,表示文件內容的修改時間,當文件的數據內容被修改時,更新這個時間。?

Change Time:簡寫為ctime,表示文件的狀態(tài)時間,當文件的狀態(tài)被修改時,更新這個時間,例如文件的鏈接數,大小,權限,Blocks數。

touch:

使用方法:

? ? ? ? ? ? ? ? touch ?file

常用選項:

? ? ? ? ? ? ? ? -c: 指定的文件路徑不存在時不予創(chuàng)建;

? ? ? ? ? ? ? ? ?-a: 僅修改access time;

? ? ? ? ? ? ? ? ?-m:僅修改modify time;

? ? ? ? ? ? ? ? ? -t STAMP?使用[[CC]YY]MMDDhhmm[.ss] 格式的時間設定文件時間戳

實例演示:

如何修改文件的時間戳信息


touch修改文件時間戳

(3)文件管理類

cp:

使用方法:

? ? ?單源復制:cp [OPTION]... [-T] SOURCE DEST

? ? ?多源復制:cp [OPTION]... SOURCE... DIRECTORY

? ? ? ? ? ? ? ? ? ? ? ? ?cp [OPTION]... -t DIRECTORY SOURCE...

? ? ?單源復制:cp [OPTION]... [-T] SOURCE DEST

? ? ?多源復制:cp [OPTION]... SOURCE... DIRECTORY

? ? ? ? ? ? ? ? ? ? ? ? ?cp [OPTION]... -t DIRECTORY SOURCE...


常用選項:

? ? ? ? ? ? ? ? ? ? ? ?-i:交互式復制,即覆蓋之前提醒用戶確認;

? ? ? ? ? ? ? ? ? ? ? ?-f:強制覆蓋目標文件;

? ? ? ???????????????? -r, -R:遞歸復制目錄;

? ? ? ???????????????? -d:復制符號鏈接文件本身,而非其指向的源文件;

? ? ? ???????????????? -a:-dR --preserve=all, archive,用于實現歸檔;

? ? ????????????????? --preserv=

? ? ? ???????????????????????????? mode:權限

? ? ????????????????????????????? ownership:屬主和屬組

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? timestamps: 時間戳

? ????????????????????????????? ? context:安全標簽

? ????????????????????????????? ? xattr:擴展屬性

? ????????????????????????????? ? links:符號鏈接

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? all:上述所有屬性

mv:

使用方法:

? ? ? ???????? mv [OPTION]... [-T] SOURCE DEST

? ? ? ? ? ? ? ?mv [OPTION]... SOURCE... DIRECTORY

? ? ? ? ? ? ? ? mv [OPTION]... -t DIRECTORY SOURCE.. ? ?

常用選項:

? ? ????????????? -i:交互式;

???????????????????? -f:force

? ? rm:

????????????使用方法:

???????????????????? rm [OPTION]... FILE...

????????????常用選項:

???????????????????? -i:interactive

???????????????????? -f:force

???????????????????? -r: recursive

? ? 刪除目錄:rm -rf ?/PATH/TO/DIR

? ? 危險操作:rm -rf /*

? ? 注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站)

命令引用:

????????????強引用:''

????????????弱引用:""

????????????命令引用:``

實例演示:

在/tmp目錄下創(chuàng)建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch tfile-`date +%Y-%m-%d-%H-%M-%S`

命令引用date命令創(chuàng)建文件

globbing:文件名通配(整體文件名匹配,而非部分)

匹配模式:元字符

????????????????*:匹配任意長度的任意字符

?:匹配任意單個字符

[]:匹配指定范圍內的任意單個字符

? ? ? ? ? ? ? ? ? 有幾種特殊格式:

????????????????????????????[a-z], [A-Z], [0-9], [a-z0-9]

????????????????????????????[[:upper:]]:所有大寫字母

????????????????????????????[[:lower:]]:所有小寫字母

????????????????????????????[[:alpha:]]:所有字母

????????????????????????????[[:digit:]]:所有數字

????????????????????????????[[:alnum:]]:所有的字母和數字

? ? ? ? ? ? ? ? ? ? ? ? ? ? [[:space:]]:所有空白字符

????????????????????????????[[:punct:]]:所有標點符號

? ? ? ? ? ? ? ? ? ? ? ? ? ? pa[0-9][0-9], 2[0-9][0-9]

[^]:匹配指定范圍外的任意單個字符

實例演示:

復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/test目錄中。

cp -r /etc/p*[^0-9] ?/tmp/test


二、常用的用戶以及用戶管理

groupadd:添加組

使用方法:

????????????????groupadd [選項] group_name

常用選項:

????????????????-g GID:指定GID;默認是上一個組的GID+1;

????????????????-r: 創(chuàng)建系統(tǒng)組;

groupmod:修改組屬性

使用方法:

????????????????groupmod [選項] GROUP

常用選項:

????????????????-g GID:修改GID;

? ? ? ? ? ? ? ? ?-n new_name:修改組名;

groupdel:刪除組

使用方法:

????????????????groupdel [選項] GROUP

?useradd:創(chuàng)建用戶

使用方法:

????????????????useradd [選項] 登錄名

常用選項:

????????????????-u, --uid UID:指定UID;

? ? ? ? ? ? ? ? -g, --gid GROUP:指定基本組ID,此組得事先存在;

????????????????-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;

????????????????-c, --comment COMMENT:指明注釋信息;

? ? ? ? ? ? ? ? -d, --home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環(huán)境配置文件;

????????????????-s, --shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;

????????????????-r, --system:創(chuàng)建系統(tǒng)用戶;

????????????????注意:創(chuàng)建用戶時的諸多默認設定配置文件為/etc/login.defs

useradd -D:顯示創(chuàng)建用戶的默認配置;

useradd -D: 選項: 修改默認選項的值;

????????????????????修改的結果保存于/etc/default/useradd文件中;

usermod:修改用戶屬性

使用方法:

????????????????usermod [選項] 登錄

常用選項:

????????????????-u, --uid UID:修改用戶的ID為此處指定的新UID;

? ? ? ? ? ? ? ? -g, --gid GROUP:修改用戶所屬的基本組;

????????????????-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;

????????????????-a, --append:與-G一同使用,用于為用戶追加新的附加組;

????????????????-c, --comment COMMENT:修改注釋信息;

????????????????-d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;

? ? ? ? ? ? ? ? -m, --move-home:只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄;

? ? ? ? ? ? ? ? ?-l, --login NEW_LOGIN:修改用戶名;

????????????????-s, --shell SHELL:修改用戶的默認shell;

? ? ? ? ? ? ? ? ?-L, --lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!";

????????????????-U, --unlock:解鎖用戶的密碼;

userdel:刪除用戶

使用方法:

????????????????userdel [選項] 登錄

常用選項:

????????????????-r:刪除用戶時一并刪除其家目錄;


passwd:修改用戶密碼

使用方法:

? ? ? ? ? ? ? ? ?passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

????????????????(1) passwd:修改用戶自己的密碼;

????????????????(2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;

常用選項:

????????????????-l, -u:鎖定和解鎖用戶;

????????????????-d:清除用戶密碼串;

????????????????-e DATE: 過期期限,日期;

????????????????-i DAYS:非活動期限;

????????????????-n DAYS:密碼的最短使用期限;

????????????????-x DAYS:密碼的最長使用期限;

????????????????-w DAYS:警告期限;

????????????????--stdin: echo "PASSWORD" | passwd --stdin USERNAME

gpasswd:組密碼 ?組密碼文件:/etc/gshadow

使用方法:

????????????????gpasswd [選項] group

常用選項:

????????????????-a USERNAME:向組中添加用戶

????????????????-d USERNAME:從組中移除用戶

newgrp:臨時切換指定的組為基本組;

使用方法:

????????????????newgrp [-] [group]

? ? ? ? ? ? ? ? -: 會模擬用戶重新登錄以實現重新初始化其工作環(huán)境;

chage:更改用戶密碼過期信息

使用方法:

????????????????chage [選項] 登錄名

常用選項:

????????????????-d: --lastday 最近日期 ? ? ? ?將最近一次密碼設置時間設為“最近日期”

????????????????-E: --expiredate 過期日期 ? ? 將帳戶過期時間設為“過期日期”

? ? ? ? ? ? ? ? ?-W: --warndays 警告天數 ? ? ? 將過期警告天數設為“警告天數”

? ? ? ? ? ? ? ? ?-m: --mindays 最小天數 ? ? ? ?將兩次改變密碼之間相距的最小天數設為“最小天數”????????????????

? ? ? ? ? ? ? ? ? -M:--maxdays 最大天數 ? ? ? ?將兩次改變密碼之間相距的最大天數設為“最大天數”

id:顯示用戶的真和有效ID;

使用方法:

????????????????id [OPTION]... [USER]

常用選項:

????????????????-u: 僅顯示有效的UID;

? ? ? ? ? ? ? ? -g: 僅顯示用戶的基本組ID;

????????????????-G:僅顯示用戶所屬的所有組的ID;

????????????????-n: 顯示名字而非ID;

su:switch user ? ?注意:管理員可無密碼切換至其它任何用戶;

使用方法:

????????????????登錄式切換:會通過讀取目標用戶的配置文件來重新初始化

????????????????su - USERNAME

????????????????su -l USERNAME

????????????????非登錄式切換:不會讀取目標用戶的配置文件進行初始化

????????????????su USERNAME

常用選項:

-c 'COMMAND':僅以指定用戶的身份運行此處指定的命令

實例演示:

創(chuàng)建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

useradd ?tom ?-u 5001 -d ?/tmp/tom ? -s /bin/zsh ?-g tom -G?jack


創(chuàng)建步驟
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容