天天看點

Linux指令入門-檔案與權限

體驗簡介

本場景将

提供一台配置了Aliyun Linux 2的ECS執行個體(雲伺服器)

。您可以參考本教程學習Linux系統中常用的檔案目錄管理與檔案權限管理指令。

雲伺服器ECS

雲伺服器(Elastic Compute Service,簡稱ECS)是阿裡雲提供的性能卓越、穩定可靠、彈性擴充的IaaS(Infrastructure as a Service)級别雲計算服務。雲伺服器ECS免去了您采購IT硬體的前期準備,讓您像使用水、電、天然氣等公共資源一樣便捷、高效地使用伺服器,實作計算資源的即開即用和彈性伸縮。阿裡雲ECS持續提供創新型伺服器,解決多種業務需求,助力您的業務發展。

Aliyun Linux 2

Aliyun Linux 2是阿裡雲推出的下一代 Linux 發行版,它為雲上應用程式環境提供 Linux 社群的最新增強功能,在提供雲上最佳使用者體驗的同時,也針對阿裡雲基礎設施做了深度的優化。Aliyun Linux 2 OS 鏡像可以運作在阿裡雲全規格系列 VM 執行個體上,包括彈性裸金屬伺服器 (神龍)。

目錄一:檔案目錄管理指令

tree

指令描述:tree指令用于以樹狀圖列出目錄的内容。

tree指令沒有内置在系統中,使用tree指令需要執行以下指令來安裝:

yum install -y tree           

指令使用示例:

tree /usr/share/wallpapers/           

指令輸出結果:

Linux指令入門-檔案與權限

ls

指令描述: ls指令用于顯示指定工作目錄下的内容。

指令格式:ls [參數] [目錄名]。

參數 說明
-a 顯示所有檔案及目錄(包括隐藏檔案)
-l 将檔案的權限、擁有者、檔案大小等詳細資訊列出(ll等同于ls -l)
-r 将檔案反序列出(預設按英文字母正序)
-t 将檔案按建立時間正序列出
-R 遞歸周遊目錄下檔案

檢視目前目錄下的所有檔案(包括隐藏檔案)。

ll -a           
Linux指令入門-檔案與權限

pwd

指令描述:擷取目前工作目錄的絕對路徑。

Linux指令入門-檔案與權限

cd

指令描述:cd指令用于切換工作目錄。

Linux指令入門-檔案與權限

在路徑表示中:

  • 一個半角句号(.)表示目前目錄,例如路徑./app/log等同于app/log。
  • 兩個半角句号(..)表示上級目錄,例如路徑/usr/local/../src等同于/usr/src,其中local和src目錄同級。

cd 指令的預設參數為~,符号 ~ 表示目前使用者的家目錄,即在root使用者登入時,指令cd、cd ~和cd /root執行效果相同。

touch

指令描述:touch指令用于修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。

指令格式:touch [參數] [檔案]。

參數說明:

-c 如果指定檔案不存在,不會建立新檔案
使用參考檔案的時間記錄
設定檔案的時間記錄

建立兩個空檔案。

Linux指令入門-檔案與權限

修改demo1.txt的時間記錄為目前系統時間。

Linux指令入門-檔案與權限

更新demo2.txt的時間記錄,使其和demo1.txt的時間記錄相同。

Linux指令入門-檔案與權限

mkdir

指令描述:mkdir指令用于建立子目錄。-p參數確定目錄名稱存在,不存在的就建立一個。

建立目錄a/b/c/d,并使用tree指令檢視建立後的目錄結構。

Linux指令入門-檔案與權限

rm

指令描述:rm指令用于删除一個檔案或者目錄。

指令格式:rm [參數] [檔案]。

-i 删除前逐一詢問确認
-f 無需确認,直接删除
删除目錄下所有檔案

無需确認直接删除檔案。

Linux指令入門-檔案與權限

無需确認直接删除目錄a及其目錄下所有子目錄和檔案。

Linux指令入門-檔案與權限

cp

指令描述: cp指令主要用于複制檔案或目錄。

指令格式:cp [參數] [源檔案] [目标檔案]。

-d 複制時保留連結
覆寫已經存在的目标檔案而不給出提示
覆寫前詢問
-p 除複制檔案的内容外,還把修改時間和通路權限也複制到新檔案中
複制目錄及目錄内的所有項目

将目錄c/d中的所有内容複制到目錄a/b下。

Linux指令入門-檔案與權限

mv

指令描述: mv指令用來為檔案或目錄改名、或将檔案或目錄移入其它位置。

指令格式:mv [參數] [源檔案] [目标檔案]

若指定目錄已有同名檔案,則先詢問是否覆寫舊檔案
如果目标檔案已經存在,不會詢問而直接覆寫

将檔案名a.txt改為b.txt。

Linux指令入門-檔案與權限

将c目錄移動到a/b/c/d/下。

Linux指令入門-檔案與權限

将目前目錄内容全部移動到/tmp目錄中。

mv ./* /tmp           

rename

指令描述:rename指令用字元串替換的方式批量改變檔案名。rename指令有C語言和Perl語言兩個版本,這裡介紹C語言版本的rename指令,不支援正規表達式。

  • 将目前目錄下所有檔案名中的字元串demo改為大寫的字元串DEMO。
Linux指令入門-檔案與權限
  • 将目前目錄下所有.txt檔案字尾都改為text。
Linux指令入門-檔案與權限

目錄二:檔案權限管理

檔案權限管理

ls指令可以檢視Linux系統上的檔案、目錄和裝置的權限。

ls -l /boot/           
Linux指令入門-檔案與權限

上述ls -l指令中顯示的第一列就是檔案權限資訊,共11位字元,分5部分。

  • 第1位表示存檔類型,d表示目錄,-表示一般檔案。
  • 第2~4位表示目前使用者的權限(屬主權限)。
  • 第5~7位表示同使用者組的使用者權限(屬組權限)。
  • 第8~10位表示不同使用者組的使用者權限(其他使用者權限)。
  • 第11位是一個半角句号.,表示SELinux安全标簽。

使用者權限每組三位,rwx分别表示讀、寫、執行權限,對應八進制表示為4、2、1。

例如efi目錄的root使用者權限為drwxr-xr-x.。

  • 該目錄對root使用者具有讀寫和執行所有權限。
  • 該目錄對root組其他使用者有讀和執行權限。
  • 該目錄對其他使用者有讀和執行權限。

是以該權限表示對應八進制權限表示為:

  • 屬主權限:4+2+1=7。
  • 屬組權限:4+1=5。
  • 其他使用者權限:4+1=5。

即755。

chmod

chmod指令用于修改檔案權限mode,-R參數以遞歸方式對子目錄和檔案進行修改。

1.建立名為hello.sh的Shell腳本,該腳本将會輸出Hello World。用ll指令可以看到建立的腳本沒有執行權限,其權限用八進制表示為644。

echo "echo 'Hello World'" > hello.sh
ll           
Linux指令入門-檔案與權限

2.将hello.sh檔案增加屬主的執行權限。

chmod u+x hello.sh
ll           
Linux指令入門-檔案與權限

3.将hello.sh檔案撤銷屬主的執行權限。

chmod u-x hello.sh
ll           
Linux指令入門-檔案與權限

4.将hello.sh檔案權限修改為八進制表示的744權限。

chmod 744 hello.sh
ll           
Linux指令入門-檔案與權限

5.使用bash指令解釋器執行hello.sh腳本檔案。

/bin/bash hello.sh           
Linux指令入門-檔案與權限

其中,u+x表示增加屬主的執行權限,u表示屬主,g表示屬組,o表示其他,a表示所有使用者。

chown

chown指令修改檔案的屬主和屬組;-R參數以遞歸方式對子目錄和檔案進行修改;ls -l指令顯示的第三列和第四列就是檔案的屬主和屬組資訊。

1.建立一個文本檔案test.txt,用ll指令可以看到該檔案的屬主和屬組是root。whoami指令可以檢視目前Shell環境登入的使用者名。

whoami           
touch test.txt
ll           
Linux指令入門-檔案與權限

2.建立兩個使用者。

useradd test
useradd admin           

3.修改test.txt檔案的屬主使用者為test。

chown test test.txt
ll           
Linux指令入門-檔案與權限

4.修改test.txt檔案的屬主和屬組為admin。

chown admin:admin test.txt
ll           

chgrp

chgrp指令用于修改檔案的屬組。

将test.txt檔案的屬組改為root。

chgrp root test.txt
ll           
Linux指令入門-檔案與權限

以上就是【Linux指令入門-檔案與權限】 的所有内容了

更多體驗場景請至開發者實驗室:

https://developer.aliyun.com/adc/labs/

繼續閱讀