前文
Linux--初識和基本的指令(1)-CSDN博客
Linux--初識和基本的指令(2)-CSDN博客
Linux--初識和基本的指令(3)-CSDN博客
目錄
前文
前言
?1.剩余指令部分
1.1 打包和壓縮的其它指令
2.權限部分
2.1權限預備知識
2.2 理解權限
前言
在前面我們學習了Linux基本的指令操作,本節我們將進入Linux權限的學習。
? ? ? ? 本節重點:
? ? ? ? ? ? ? ? 1.剩余的幾條指令(tar),(sz,rz,scp)(uname)
? ? ? ? ? ? ? ? 2.Linux中的用戶和權限操作
? ? ? ? ? ? ? ? 3.權限所引出的問題。
?1.剩余指令部分
1.1 打包和壓縮的其它指令
????????在上篇文章中我們學習了zip和unzip指令,這兩個都屬于打包和壓縮的指令,除了這兩個指令外,打包和壓縮還有對應的其他指令。
? ? ? ? 1.tar指令(后綴為.tgz)
tar指令(重要):打包/解包,不打開它,直接看內容
tar [-cxtzjvf] 文件與目錄 ....?參數: ?
- -c :建立一個壓縮文件的參數指令(create 的意思);
- -x :解開一個壓縮文件的參數指令!
- -t :查看 tarfile 里面的文件!
- -z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
- -j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
- -v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
- -f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數!
- -C : 解壓到指定目錄
tar指令的常用組合項,-cvzf/-xzvf
eg:
? ? ? ? 打包dir目錄
我們可以看到dir包括dir中的文件都已經被打包壓縮了
那我們現在把test.tgz解壓
我們可以看到被解壓出來的dir了
解壓到指定目錄:-C(大寫的C)
把test.tgz傳輸到本地系統中去????????我們學習打包和壓縮就是為了便于網絡的傳輸,因此我們將引出一條新的指令sz
sz 是使用安全 shell (SSH) 協議在本地系統和遠程系統之間傳輸文件的命令行實用程序。
eg:我們使用sz傳輸給本地
傳輸成功
我們在本地打開(打開成功,內容一致)
從本地傳輸文件到Linux系統中使用rz 指令
eg:
????????我們在本地創建了一個test.txt的文件,文件里的內容為“hello Linux”,并添加到test.zip當中,現在我們要把這個文件傳輸到Linux系統中去。
啟動rz指令,選擇文件,傳輸成功
路徑當中出現了test.zip
我們將dir目錄解壓出來。
那如果想實現兩臺Linux機器之間的互傳呢?使用scp指令
????????scp 是 Secure Copy 的縮寫,是一個命令行工具,用于在兩個計算機之間安全地復制文件。它使用 SSH 協議,因此需要在兩臺計算機上都安裝 SSH 客戶端和服務器。
其中,source_file 是源文件的路徑,destination_file 是目標文件的路徑。
????????scp 命令支持以下選項:
????????????????* **-r**:遞歸復制文件夾和文件。
????????????????* **-p**:保留文件的權限和修改時間。
????????????????* **-v**:顯示詳細的傳輸信息。 * **-q**:靜默模式,不顯示任何傳輸信息。
????????????????* **-C**:使用壓縮傳輸文件。
? ? ? ? ? ? ? ? * **-i**:指定 SSH 密鑰文件。
????????????????* **-l**:指定最大傳輸速度。
????????????????* **-t**:指定傳輸超時時間。
以下是一些使用 scp 命令的示例:
* 復制文件/home/user/file.txt 到遠程主機
user@host.example.com
上的/tmp/file.txt?:scp /home/user/file.txt user@host.example.com:/tmp/file.txt
總結一下:
? ? ? ? 打包并壓縮/解壓:
?1.2 uname指令
語法: uname [選項]
功能: uname用來獲取電腦和操作系統的相關信息。
補充說明: uname可顯示linux主機所用的操作系統的版本、硬件的名稱等基本信息。
常用選項:
? ? ? ?*** -a或–all 詳細輸出所有信息,依次為內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱? ? ? ?***-r 顯示操作系統內核的版本。
2.權限部分
2.1權限預備知識
1.大部分指令都是文件,如果把指令對應的文件刪除了,那么這條指令就使用不了了。
2.用戶執行某種功能的時候,不是直接讓操作系統執行對應的指令的,而是先交給外殼程序
常見的外殼程序有,圖形化界面和命令行。
1.外殼程序是什么?
? ? ? 外殼程序就是介于用戶和操作系統之間的軟件,簡單的來說就是,命令行解釋器? 。
2.為什么要有外殼程序?
? ? ? ? ***因為用戶不善于與操作系統之間進行交互。
? ? ? ? ***外殼shell的存在,可以對請求進行合法性檢測,變相的保護操作系統。
3.外殼程序也不是直接進行,而是創建一個子進程交給子進程操作,bash只需要進行等待就行了,命令不合法也不會影響到bash。
2.2 理解權限
1.什么是權限?
? ? ? ? 就如看視頻要vip,門禁。。。。
? ? ? ? 總的來說,就是通過一定的條件,攔住一部分人,給另一部分人權利,來訪問某種資源。也就是有無,或者能不能的問題!
2.權限的本質?
? ? ? ? 通過1我們知道了權限一定和人有關。
? ? ? ? 再舉個例子,我們只能在愛奇藝看視頻,而不能在愛奇藝寫代碼。因此權限也和事物的屬性有關。
? ? ? ? 因此權限 = 人 (角色)+ 事物屬性
3. Linux中的用戶
? ? ? ? ***root(超級管理員)不受權限約束
? ? ? ? ***其他用戶
? ? ? ? 如果想讓兩者之間進行身份切換該如何去做
eg:
? ? ? ? 我們現在切換到了普通用戶
????????現在我要切換回普通用戶,這里直接su/su -就行了,然后操作系統就會提醒我們要輸入root的賬號
演示su:
演示su -
? ? 兩者的區別就是路徑發生改名,沒有很大的差別,兩個指令隨便用
???????? 現在我們像回退到普通用戶,直接CTRL+D就行了
eg:
? ? ? ? root賬戶切換為普通賬戶
? ? ? ? 直接su+用戶名,而且不用輸入密碼’
eg:
? ? ? ? 我不想變成root,但我想以root的身份執行指令該怎么做
? ? ? ? 在指令前面加上sudo(指令提權),這里會讓我們輸入密碼,不過這里是輸入用戶自己的密碼,而不是root的密碼? ? ? ?
我們輸入密碼后發現,你沒有權限使用 light 命令,這是為什么呢?
? ? ? ? 在 Linux 中,普通用戶默認沒有 sudo 權限。這是為了防止普通用戶執行一些可能對系統造成損害的命令。 如果普通用戶需要使用 sudo 權限,可以通過以下方式進行設置: 1. 將普通用戶添加到 sudo 組。 2. 修改 sudoers 文件,允許普通用戶使用 sudo 命令。
? ? ? ? 這個就類似于白名單的功能。
4.Linux中的角色
? ? ?Linux中有三種角色:
? ? ? ? ? ? ? ? ? ? ? ? 擁有者
? ? ? ? ? ? ? ? ? ? ? ? 所屬組:在多人協作的時候更好的進行權限管理
? ? ? ? ? ? ? ? ? ? ? ? othre? ? ?
? ? ? ? 在下面我們可以看到第一列顯示的是擁有著,第二列顯示的是所屬組,那other呢?
因為other是在匹配完擁有者和所屬組之后,發現沒有,那么就屬于other了。
? ? ?
本節完!!下節我們將學習Linux中權限更多的問題。