Linux文件、用戶、組

一、Linux上的文件管理類命令,其常用的使用方法及其相關示例演示。

  • cp:複製文件或目錄,linux中複製分以下情況
    (1)如果複製的是目錄,則會把目錄中的文件一起復制。
    (2)如果複製的文件已經存在,則詢問是否覆蓋該文件,不存在就正常複製。
    cp命令常用選項
    -p保留原始文件的屬性
    -n: 不覆蓋,注意兩者順序
    -d 若對象爲“鏈接文件”,則保留該“鏈接文件”的屬性
    -r 遞歸持續複製(用於目錄)
    -i 若目標文件存在則詢問是否覆蓋
    -a 相當於-pdr(p、d、r爲上述參數),複製後的文件與原文件權限相同
    Linux文件、用戶、組
  • mv:用於剪切文件或將文件重命名。剪切會默認把源文件刪除掉,只保留剪切後的文件。如果在同一個目錄中對一個文件進行剪切操作,其實也就是對其進行重命名。
    -i: 交互式
    Linux文件、用戶、組
    -f: 強制
    Linux文件、用戶、組
    -b:當文件存在時,覆蓋前,爲其創建一個備份
    Linux文件、用戶、組
  • rm
    rm -d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
    rm -f:強制刪除文件或目錄;
    rm -i:刪除已有文件或目錄之前先詢問用戶;
    Linux文件、用戶、組

    rm -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;

  • touch:創建空白文件或設置文件的時間
    touch [選項] [文件]
    -a 僅修改“讀取時間”(atime)
    -m僅修改“修改時間”(mtime)
    -d 同時修改atime與mtime
  • mkdir:創建空白的目錄
    mkdir -p 遞歸穿件具有嵌套關係的文件目錄
    Linux文件、用戶、組
  • ls:用於顯示目錄中的文件信息
    ls -h參數高可讀性查看文件信息,一般配合-l參數一起使用
    ls -a 包含隱藏文件
    Linux文件、用戶、組
    ls -l 顯示額外的信息
    Linux文件、用戶、組
    ls -R 目錄遞歸通過
    ls -1 文件分行顯示
    Linux文件、用戶、組
    ls –S 按從大到小排序
    ls –u 配合-t 選項,顯示並按atime 從新到舊排序
    ls -d */:只顯示目錄
    Linux文件、用戶、組
  • rmdir:只能刪除空目錄
    -p: 遞歸刪除父空目錄
    -v: 顯示詳細信息
    -r 遞歸刪除目錄樹
  • cd:切換工作目錄
    “cd -”命令返回到上一次所處的目錄
    “cd ..”命令進入上級目錄
    “cd ~”命令切換到當前用戶的家目錄
    “cd ~username”切換到其他用戶的家目錄

二、使用命令行展開功能,創建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下創建目錄:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
Linux文件、用戶、組
mkdir -p /tmp/{x,q}_{y,z}
Linux文件、用戶、組
三、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。
元數據描述一個文件的特徵的系統數據,包含文件大小、權限、所有者、時間戳等。
使用stat命令顯示文件元數據,文件屬性信息均可看到
Linux文件、用戶、組
使用touch命令可以修改文件的時間戳信息
touch -a 修改“讀取時間”(atime)
Linux文件、用戶、組
touch -m修改“修改時間”(mtime)
Linux文件、用戶、組
touch -d 同時修改atime與mtime
Linux文件、用戶、組
四、在/data目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /data/tfile-date +"%Y-%m-%d-%H-%M-%S"
Linux文件、用戶、組
五、複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/data/mytest1目錄中。
cp -rp /etc/p*[^[:digit:]] /data/mytest1
Linux文件、用戶、組
六、創建用戶tom,指定UID爲5001,指定家目錄爲/data/tom, 指定shell爲/bin/zsh, 指定基本組爲tom,附加組爲jack
useradd -u 5001 -d /data/tom -s /bin/zsh -g tom -G jack tom
Linux文件、用戶、組
七、常用的用戶以及文件管理命令有哪些,並演示命令以及用法。
(1)/etc/passwd :用戶及其屬性信息( 名稱、UID 、主組ID等)
每行文件內容由7個字段組成,用":"分隔,代表一個用戶屬性
getent passwd unername 查看指定用戶屬性信息
Linux文件、用戶、組
用戶:密碼佔位符:用戶ID:組ID:用戶全名或註釋:用戶家目錄:默認使用shell
vipw 功能和使用vi /etc/passwd一樣,vipw可以檢查語法格式
pwck 檢查passwd文件格式
(2)/etc/shadow :用戶密碼及其相關屬性
文件內容格式,9個字段,用":"分隔
Linux文件、用戶、組
賬號:$6使用sha512加密密碼:密碼最近一次被更改的時間:密碼再過幾天可以被變更:密碼再過幾天必須被變更:密碼過期前幾天系統提醒用戶:密碼過期幾天後帳號會被鎖定:密碼失效日期
如果密碼位置用'!'佔位,表示鎖定用戶,用戶就不能登錄
usermod -U username 解鎖用戶
usermod -L username 鎖定用戶
Linux文件、用戶、組
passwd username 修改用戶密碼
passwd -e username 設置不使用初始密碼登錄,登錄後立即修改密碼
change -d 0 username 設置立即修改密碼
設置默認用戶密碼最大有效期 cat /etc/login.defs 修改PASS_MAX_DAYS的值爲指定大小。
Linux文件、用戶、組
2.2新建用戶相關文件
/etc/login.defs 設置用戶帳號限制的文件(密碼最大有效期、最小有效期、組ID範圍、自動創建家目錄等),但該文件裏的配置對root用戶無效
Linux文件、用戶、組
/etc/defaul/useradd 該目錄在創建用戶時默認分配用戶的家目錄、默認組、默認shell、是否建立郵箱等
/etc/skel/* 目錄是用來存放新用戶配置文件的目錄,當我們添加新用戶的時候,這個目錄下的所有文件會自動被複制到新添加的用戶的家目錄下
Linux文件、用戶、組
newusers:批量創建用戶
chpasswd:批量修改用戶密碼
假如要把一臺服務器下的多個用戶在另外一臺服務器中創建出來,流程如下:
(1)把用戶及其屬性信息複製在user_list.txt文件中
(2)遠程複製文件 scp user_list.txt ip:/data 把user_list.tx文件複製到ip/data目錄下
newusers user_list.txt 批量創建用戶
(3)創建完成後設置用戶密碼,把用戶和密碼保存在pass_list.txt文件,格式 username:password
(4)設置完密碼後,批量修改用戶密碼 cat pass_list.txt | chpasswd
2.3用戶管理命令
2.3.1useradd
useradd [options] username
-u 指定UID,如果不指定,默認系統分配
-o 配合-u選項,不檢查UID的唯一性,創建uid相同的用戶(一般不推薦用一樣uid的不同用戶)
-g 指定GID :指明用戶所屬基本組,可爲組名,也可以GID
-c "COMMENT" :設置用戶的註釋信息
-d HOME_DIR: 以指定的路徑(不存在時自動創建)爲家目錄
-s SHELL : 設置用戶的默認shell 程序,可用列表在/etc/shells 文件中
-G GROUP1[,GROUP2,...] :爲用戶指明附加組,組須事先存在
-N 不創建私用組做主組,使用users 組做主組
-r: 創建系統用戶 CentOS 6: ID<500 ,CentOS 7: ID<1000,默認不創建家目錄
-m 強制創建家目錄,用於系統用戶
-M 不創建家目錄,用於非系統用戶
實例:創建用戶lisi ,附加組爲zhang和root 默認shell爲/bin/csh ,註釋信息爲"Lisi Distribution"
2.3.2usermod
usermod [options] username
-u UID: 新UID
-g GID: 新 主 組
-G GROUP1[,GROUP2,...[,GROUPN]]] :新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a 選項
-s SHELL :新的默認SHELL
-c 'COMMENT' :新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m 選項
-l login_name: 新的名字;
-L: lock 指定用戶, 在/etc/shadow 加密碼欄的增加!(鎖定用戶)
-U: unlock 指定用戶,將/etc/shadow的密碼欄的!拿掉(解鎖用戶)
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設定非活動期限
2.3.3userdel
userdel [options] username
-r 刪除用戶家目錄
2.3.4查看用戶ID 信息
id [OPTION]... [USER]
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱,需配合ugG
2.3.5切換用戶
切換用戶的方式:
(1)su username 非登錄式切換,即不會讀取目標用戶的配置文件,也不改變當前工作目錄
Linux文件、用戶、組
(2)su - UserName :登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換,相當於使用該用戶登錄
Linux文件、用戶、組
(3)root su 至其他用戶無須密碼;非root用戶切換時需要密碼
(4)su [-] UserName -c 'COMMAND' 切換用戶執行命令,執行完返回之前用戶
說明:exit 使用完後切換回原來的用戶
2.3.6設置用戶密碼
passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶有權限修改普通用戶密碼
passwd: 修改自己的密碼
常用選項:
-l: 鎖定指定用戶
-u: 解鎖指定用戶
-e: 強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天開始警告
-i inactivedays :非活動期限

--stdin :從標準輸入接收用戶密碼 echo " PASSWORD " | passwd --stdin USERNAME
echo centos | passwd --stdin sarah 把sarah的密碼設置爲centos
2.3.7修改用戶密碼策略
chage [OPTION]... username
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 顯示密碼策略

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章