【注】文章中的所有截圖均為centos下實驗結果,親測命令正確= ̄ω ̄=
【參考資料】《Linux從入門到精通(第2版)》劉憶智 等編著
*************************************************和團隊共享文件***************************************************
1、和團隊共享文件:創建工作目錄,並創建一個用戶組管理該目錄。 $ sudo groupadd workgroup ##新建用戶組命名為workgroup $ sudo useradd -G workgroup lucy ##新建用戶lucy並歸入workgroup組 $ sudo passwd lucy ##為lucy設置密碼 $ cd /home ##切換目錄 $ sudo mkdir work ##新建目錄work $ sudo chgrp workgroup work/ ##將work所有權交給workgroup組 $ sudo chmod g+rwx work/ ##賦予讀、寫、執行權限 $ sudo chmod o-rwx work/ ##撤銷其他用戶的讀、寫、執行權限 $ sudo chown lewis work/ ##目錄的組長(所有者) $ su lewis ##切換用戶 $ cd /home/work/ ##切換目錄 $ touch test ##新建空文件 $ su peter ##切換用戶 $cd /home/work/ ##切換目錄 $rm test ##刪除文件
*************************************************建立文件和目錄***************************************************
2、建立文件和目錄
$ mkdir document picture ##新建兩個目錄
$ mkdir ~/picture/temp ##指定路徑創建目錄
$ mkdir -p ~/tempx/job ##-p選項用於創建完整的目錄結構,tempx不存在時也可執行
$ touch hello ##建立空文件,另一個用途是更新文件的建立時間,在自動備份時很有用
*******************************************移動、復制和刪除***********************************************
3、移動、復制和刪除
$ mv hello bin/ ##將hello移動到bin目錄下(出現同名文件有覆蓋危險)
$ echo "Hello" > hello ##重定向新建一個文件,將字符串Hello輸入文件
$ cat hello ##顯示hello文件內容
$ mv -i hello test/ ##同名時詢問是否覆蓋
$ mv -b hello test/ ##在目標文件的同名文件後加~避免覆蓋
$ mv hello~ hello_bak ##重命名
$ cp hello bin/ ##將hello復制到bin目錄下(出現同名文件有覆蓋危險)
$ cp -i hello test/ ##同名時詢問是否覆蓋
$ cp -b hello test/ ##在目標文件的同名文件後加~避免覆蓋
$ cp test/ bin/ ##cp會忽略文件夾
$ cp -r test/ bin/ ##使用-r命令可以連同子目錄及其中的文件一起復制
$ rmdir remove ##刪除文件夾,但只有文件夾空時可用,一般用得較少
$ rm test/*.php ##刪除文件
$ rm -i test/hello ##刪除文件時給出提示,只讀文件不寫-i也會提示
$ rm -f hello ##對出現的提示默認回答y,慎用。
$ rm -r test/ ##遞歸地刪除目錄下的內容,最後刪除目錄,慎用。
第一個字段一個字符:- 代表文件類型,這是一個普通文件;
九個字符 rwx、r-x、r-x,分別代表屬主、屬組、其他人的讀取、寫入、執行權限,被禁用的權限用 - 表示;
接著的3組權限位數字表示鏈接數目,此處1表示只有一個硬鏈接;
三、四個字段分別表示文件的屬主和屬組,分別是root用戶和root組;
33064表示文件大小(字節);
文件最後修改的日期、時間、完整路徑。
$ ls -ld /etc/ ##目錄的屬性
$ ls -l ##當前目錄下所有文件(不包括隱藏文件)的屬性
$ sudo chown lewis:root days ##分別改變days文件的屬主和屬組,屬組前必須有冒號,且前邊和屬主之間沒空格
$ sudo chown lewis days ##改變屬主
$ sudo chown :root days ##改變屬組
$ sudo chown -R lewis iso/ ##改變目錄所有權
$ sudo chgrp nogroup days ##專門用來改變屬組的語句,也有-R選項
可以設置權限的用戶組有:u 文件屬主、g 文件屬組、o 其他人、a 所有人。注意在用相等符號設置權限時,用戶原本的權限不會被保留,只會更新語句中提到的權限,因此不能用相等語句修改部分權限,必須涉及對rwx的全部考量後再選擇語句內容。
$ sudo chmod u+x days ##為屬主增加執行權限
$ sudo chmod a-x days ##撤銷所有人的執行權限
$ sudo chmod ug=rw,o=r days ##賦予屬主和屬組讀寫權限,其他人寫權限
$ sudo chmod o=u days ##其他人的權限與屬主相同
用chmod助記符形式比較直觀,但繁瑣,9個位置上每個位置只有兩種選擇,可以用二進制表示,則3位2進制可以用1位8進制,3個8進制數就可以完成對三組權限的表示。其中1代表x,2代表w,4代表r(與實際順序相反),只要將數字相加就可以代表多種權限。
$ sudo chmod 774 days ##賦予屬主、屬組讀寫執行權限,賦予其他人讀權限

程序默認接收輸入的地方為標准輸入,通常指鍵盤。
$ cat ##輸入cat後回車,系統會等待輸入
$ HELLO ##每輸入一行系統會將輸入打印在屏幕上
管道將重定向更進一步,通過“ | ”,將一條命令輸出連接到另一條命令輸出,如下:
$ ls | grep ay ##首先用 ls 給出文件名列表, 管道接收輸出並發送給 grep 命令,從這些輸出中找出包含“ay” 的文件名並打印,也可以用多個管道連接出復雜的命令