1. 程式人生 > >第二週(12.17--12.23)

第二週(12.17--12.23)

 

1、Linux上的檔案管理類命令都有哪些,其常用的使用方法及其相關示例演示。

mkdir   //建立目錄

-p   確保目錄名稱存在,不存在的就建一個。
-v   建立目錄並顯示詳細資訊

touch   //建立文字

-a   改變檔案的讀取時間記錄。
-m   改變檔案的修改時間記錄。
-c   假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
-d   設定時間與日期,可以使用各種不同的格式。
-t   設定檔案的時間記錄,格式與 date 指令相同。

cp     //複製檔案或目錄命令

-a   此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合
-d   複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式
-f    覆蓋已經存在的目標檔案而不給出提示
-i   與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋
-p   除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中
-r      若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案
-l    不復制檔案,只是生成連結檔案

mv    //命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置

-i:  若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案;
-f   在mv操作要覆蓋某已有的目標檔案時不給任何指示;

rm   //命令用於刪除一個檔案或者目錄

-i    刪除前逐一詢問確認。
-f   即使原檔案屬性設為只讀,亦直接刪除,無需逐一確認。
-r   將目錄及以下之檔案亦逐一刪除。

2、使用命令列展開功能,建立/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下建立目錄:x_y, x_z, q_y, q_z

tree  // 顯示目錄樹
-d        只顯示目錄
-L level    指定顯示的層級數目
-P pattern  只顯示由指定pattern匹配到的路徑

mkdir -p {a1/{a,b},a2}

mkdir {x,q}_{y,z}

3、檔案的元資料資訊有哪些,分別表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。

檔案的資料分為兩類:

元資料:  metadata   //元資料就是描述資料的資料,即是屬性資料,一般存放,檔名,檔案大小,訪問許可權,時間戳等資訊
資料:   data        //資料就是資料本身
使用stat命令檢視

修改時間戳用touch命令

touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案;
touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]
-a   改變檔案的讀取時間;
-m   改變檔案的修改時間;
-c   如果touch後的檔案不存在,不會建立新的檔案;存在則更新所有時間;
-r   使用參考時間記錄;
-t   自定義時間
舉例:

touch -a f1 改變檔案的讀取時間;
touch -m f1 改變檔案的修改時間;
touch -c f1 如果f1檔案不存在,不會建立新的檔案;存在則更新所有時間;
touch -r f1 f2 照著f1的時間修改f2;
touch -t 0808082121 f2 修改f2的檔案讀取時間個修改時間為08年8月8日21:21;

4、在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的檔案,檔名形如:tfile-2016-05-27-09-32-22。

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

5、複製/etc目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。

 cp -ra /etc/p*[^0-9] /data/tmp/mytest1/

6、建立使用者tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

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

7、常用的使用者以及檔案管理命令有哪些,並演示命令以及用法。

使用者管理命令:
useradd //建立使用者
useradd(選項)(引數)
-u UID
-o 配合-u 選項,不檢查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 不建立家目錄,用於非系統使用者
預設值設定:/etc/default/useradd檔案中
顯示或更改預設設定
useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP
usermod //修改使用者的基本資訊
usermod [OPTION] login
-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: 設定非活動期限
userdel //刪除使用者
userdel [OPTION]... login
-r: 刪除使用者家目錄