文章目錄
- 同步GitHub在此 👉 [https://github.com/TeFuirnever/GXL-Skill-Tree](https://github.com/TeFuirnever/GXL-Skill-Tree)
- Linux介紹
- Linux與Windows
- 使用者與群組和其他人
- 1)檔案擁有者
- 2)群組
- 3)其他人
- 4)檔案位置
- Linux檔案權限
- 1)檔案權限
- 2)檔案個數
- 3)檔案擁有者
- 4)群組
- 5)檔案大小
- 6)檔案修改日期
- 7)檔案名
- whoami命令
- ls命令
- 1)重定向 >
- 2)追加 >
- 3)正則化匹配
- 快捷鍵命令
- 管道命令
- cd命令
- mkdir命令
- rmdir命令
- rm命令
- ln命令
- find命令
- cp命令
- mv命令
- tar命令
- gzip命令
- bzip2命令
- zip命令
- su命令
- 1)ubuntu設定root用戶密碼的方法
- 2)切換用戶
- 3)新建用戶
- 4)洗掉用戶
同步GitHub在此 👉 https://github.com/TeFuirnever/GXL-Skill-Tree
Linux介紹
Linux 是在計算機上面運行的,那么它是一組軟體還是一段程式?又或者它是作業系統或者應用程式?又或者它是在計算機軟體上運行還是在計算機硬體上運行?Linux和Windows誰厲害?
來看一張很有意思的圖,Linux 在喝 Windows ,,,哈哈

眾所周知,計算機主機是由一堆硬體所組成的,那么如何有效地控制這些硬體資源呢,計算機需要一個資源分配管理員,所以就有了作業系統這個概念,除了分配資源之外,還提供計算機運行所需功能,更是為工程師提供了更易開發的環境和介面,
到這里了,你大概就知道了,
Linux 就是【作業系統】,即【核心】與【系統呼叫】這兩層,也就是【硬體】與【應用程式】中間的部分,

摘自《鳥哥的Linux私房菜-基礎篇》第四版
從上圖可以看出,核心與硬體的關系密切,但是由于早期的 Linux 是針對 386 開發的,所以只是作業系統而不具備其他的應用程式,因此你還需要在 Linux 基礎上安裝你所需要的軟體,那么它和我們知道的 Windows 是一樣的嘛,可以在不同的電腦上運行?
不同種類的作業系統具有自己的核心,而硬體是由核心控制的,所以需要修改作業系統的原始碼才能進行【軟體移植】,
Linux與Windows
那么 Linux 與 Windows 誰厲害呢?
優缺點如下:
- 首先,個人感覺 UI 界面上 Windows 要比 Linux 更優美一些;
- 然后,Linux 軟體都是【開源】的,Windows 上有免費的但很多是需要授權的;
- 接著,Linux通常通過命令列來執行相關操作,Windows 可以直接打開圖形界面;
- 其次,Linux 不用補丁,并且由于其開源的特性,維護安全方面有保證,Windows 則需要經常打補丁;
- 最后,兩種系統都可以提供給普通用戶和商用服務器進行使用,
使用者與群組和其他人
1)檔案擁有者
對于首次接觸 Linux 的朋友來說,大改會覺得奇怪,為什么有這么多使用者,分什么擁有者,群組還有其他人之類的,有什么用?
其實這是一種相當健全且好用的安全防護功能,可以在最大程度上尊重每個人的隱私權,并且根據每個人的喜好進行作業環境的個性化,讓我用一個例子來說明這其中的關系,

假設你和自己的女票寫了情書,可能是微信,可能是email,現在你想把這個情書列印或者轉存成檔案,放在自己家里的電腦里,但是你并不希望其他人看到這個情書,

所以你把這個檔案設定成只有你才能查看和編輯,其他人只會知道這是一個有趣或者秘密的檔案,
2)群組
那么群組呢?其實群組也是最有用的功能之一,尤其是當你在團隊開發時,一方面,你需要開放一些資源給團隊的成員使用;另一個方面,你不能開放所有資源給團隊成員使用,
舉個例子,你的情書當然不會開放給群組使用,但是家庭相冊是需要開放給每個人使用和查看的,

這個時候你只需要開放大家查看和下載家庭相冊的權利即可,但是你需要給其他人別的權力,比如大家都可以上傳屬于自己的檔案,就像你的情書一樣,同時這是一個群組,也就是說,和微信或者QQ群一樣,除了家庭群組之外,你還可以擁有其他群組,比如基友,比如學校,
3)其他人
其他人是什么意思呢?還是以剛才的例子為例,

不同群組中的人之間就是其他人關系,除非大家通過共同的一個人,才能分享互相之間的資源,
4)檔案位置
在 Linux 系統中,默認情況下,所有的系統賬號與相關資訊,都記錄在下面這個檔案夾下 /etc/passwd,

個人密碼則是記錄在 /etc/shadow 中,

所有的組名都記錄在 /etc/group 中,

Linux檔案權限
對于上一節談到的檔案權限,作為一個重要指令,那么如何查看當前檔案的歸屬?

假設以圖中的主函式為例,可以看到一共分為七個部分,

從左向右,依次是檔案權限,檔案個數,檔案擁有者,群組,檔案大小,檔案修改日期,檔案名,
這里用到了一個命令列是:
ls -lah
具體的含義將會在下面詳細介紹,具體來看一下檔案權限部分的情況,
1)檔案權限

摘自《鳥哥的Linux私房菜-基礎篇》第四版
可以看到整個部分一共分為十個位置,分別是檔案型別,檔案擁有者權限,群組權限,其他人權限,其中,檔案型別一共分為幾種:
- -:普通檔案
- d:目錄檔案/檔案夾
- c:硬體字符設備(裝置檔案里的串行埠設備,如鍵盤,滑鼠<一次性讀取裝置>)
- b:硬體塊設備(裝置檔案里的可供儲存的介面設備<可隨機存取裝置>)
- s:管道檔案
- l:軟鏈接檔案
接下來的字符rwx分別是什么意思呢?
- r代表可讀(read)
- w代表可寫(write)
- x代表可執行(execute)
需要注意的是,這三種權限的相對位置不會發生改變,如果沒有該權限,那么該位置是 - ,
2)檔案個數
每個檔案都會和其他檔案之間構建一個檔案系統,這里需要注意的是,對于檔案夾來說,至少連接數是2,其實表示的就是當前檔案夾下的檔案夾個數,所以記得算上下面兩個,
- .代表當前目錄
- …代表上一級目錄
3)檔案擁有者
4)群組
這兩項可能決定了當前檔案在不同人手里的權限,可以通過一個命令進行查詢,
5)檔案大小
該項表示檔案大小,默認單位是bytes,如果想要變成帶單位的表示,只需要加上 -h 即可,這里檔案較小,所以差別較小,

6)檔案修改日期
如果想要顯示詳細時間的話,使用命令 ll 即可,

如果該檔案的修改時間距離現在太久,那么只會顯示年份,
7)檔案名
除了 . 和 … 之外,就是正常的檔案名,

特殊檔案會有相應的尾綴來表示其打開或運行方式,
whoami命令
如果想要查看自身用戶,可以使用 whoami 命令用于顯示自身用戶名稱,相當于執行 id -un 指令,

ls命令
Linux命令格式
command [-options] [parameter1] ...
ls -a 顯示所有檔案及目錄 (. 開頭的隱藏檔案也會列出)

ls -l 除檔案名稱外,亦將檔案型態、權限、擁有者、檔案大小等資訊詳細列出

ls -A 同 -a ,但不列出 “.” (目前目錄) 及 “…” (父目錄)

ls -F 在列出的檔案名稱后加一符號;例如可執行檔則加 “*”, 目錄則加 “/”

ls -R 若目錄下有檔案,則以下之檔案亦皆依序列出

ls --help 幫助檔案

man ls
空格:顯示手冊頁的下一屏
Enter鍵:一次滾動手冊頁的一行
b:回滾一屏
f:前滾一屏
q:推出man命令
h:列出所有功能鍵
/word 搜索word字串

ls -h以人能看懂的方式顯示

ls + 指定檔案名,顯示指定檔案是否存在

1)重定向 >
ls > test.txt
-
存在,覆寫


-
不存在,新建

2)追加 >
ls >> text.txt
- 存在,添加

- 不存在,新建

3)正則化匹配
*,? 通配符
其中 * 是代表多個字符的匹配,? 是代表某一個字符的匹配,

快捷鍵命令
Tab鍵可以自動補全

方向鍵可以回溯歷史

history可以看看歷史

clear 清屏

file world 查看檔案型別

which 在環境變數$PATH設定的目錄里查找符合條件的檔案

du ./目錄 -h 查看某個目錄大小

管道命令
| 管道
grep 關鍵字過濾

可以與多種命令進行結合
grep [0-9]abs[0-9] test.txt -n 查找4abc5

與 grep .abs. test.txt -n 等價

grep ^1 test.txt 搜尋以1開頭
grep 1$ test.txt 搜尋以1結尾

cd命令
cd 切換主目錄
cd ~ 切換主目錄
cd . 切換當前目錄
cd … 切換上級目錄
cd - 切換上一個目錄

mkdir命令
mkdir abs 創建abs目錄
mkdir ./a/b/c -p 遞回創建目錄

rmdir命令
rmdir abs 洗掉空檔案夾

rm命令
rm abs -r 洗掉目錄

rm 1.c 洗掉檔案

rm * -rf 洗掉所有,遞回,無提示

rm *.png -rf 和 rm * .png -rf
- rm *.png -rf 是洗掉所有的png格式檔案

- rm * .png -rf 是洗掉所有檔案和所有的png格式檔案

rm 1.c -i 人性化詢問

ln命令
ln -s 創建一個軟鏈接,相當于快捷方式,洗掉源檔案,軟鏈接置零

如果沒有引數,ln默認創建的是硬鏈接,

修改源檔案,硬鏈接也修改

硬鏈接只能鏈接普通檔案,不能鏈接目錄,
find命令
find可以遞回查找指定目錄下所有子目錄
- find ./ -name b.txt 在當前目錄下查找名字叫b.txt的檔案
- find ./ -name test.txt 在當前目錄下查找名字叫test.txt的檔案

find ./ -size 4k/+4k/-4k 在當前目錄下尋找大小等于/大于/小于4k的檔案(k小寫,M大寫)

find ./ -size +1k -size -3k 在當前目錄下尋找大小大于1k小于3k的檔案

find ./ -perm 0777 在當前目錄下尋找權限為777的檔案

cp命令
cp hello.c mike.c 復制hello.c為mike.c

cp test/ mike -r 復制test目錄為mike目錄

cp hello.c result.c -v 能看到復制的進度

mv命令
mv hello.c test 移動并改名

mv hello.c a.c 移動并改名
mv a.c amd 移動并改名

tar命令
tar -cvf abc.tar abc 把abc這個目錄打包,生成一個檔案名字叫abc.tar

tar -xvf abc.tar 把abc.tar這個檔案中所有的檔案提取出來

tar -xvf abc.tar -C mike 指定解壓目錄

tar只負責把多個檔案打包,而不負責壓縮
其中,-c 創建 -x 解壓 -v 進度 -f 檔案名
gzip命令
gzip 【-r】 abc.tar 把abc.tar檔案壓縮為abc.tar.gz


gzip -d abc.tar.gz 把abc.tar.gz解壓為abc.tar

tar -czvf abc.tar.gz 所需檔案,一步到位,從普通檔案之間變成tar.gz

tar -xzvf abc.tar.gz 一步到位,從tar.gz變成普通檔案

bzip2命令
bzip2 abc.tar 壓縮檔案為abc.tar.bz2

bzip2 -d abc.tar.bz2 解壓縮檔案為abc.tar

tar -cjvf abc.tar.bz2 所需檔案

tar -xjvf abc.tar.bz2

zip命令
zip -r abc.zip abc.tar 把abc.tar壓縮為abc.zip

unzip abc.zip abc.tar 把abc.zip解壓為abc.tar

su命令
1)ubuntu設定root用戶密碼的方法
ubuntu系統在安裝的時候沒有設定過root用戶的密碼,或者設定了密碼都可以:
- sudo passwd root
- 提示你輸入當前用戶的密碼
- 輸入你當前用戶的密碼
- 提示你輸入root用戶的密碼,要輸兩遍

2)切換用戶
su -
再輸入root密碼就可以了

3)新建用戶
useradd -d /home/abc abc -m 新建一個用戶,用戶名叫abc
passwd abc 修改abc用戶的密碼

- -d的意思是指定用戶的主目錄
- 什么是主目錄?每個用戶都有一個家,這個家其實是一個目錄,用戶登陸的時候默認的當前目錄,所有的用戶都需要有一個主目錄,普通用戶的主目錄一般是在/home目錄下,用戶名和主目錄的名字是一樣的,
- -m的意思是,如果主目錄不存在,那么就自動創建這個目錄
- 如果創建用戶的時候,沒有指定用戶所屬的組名,那么系統會自動創建一個和用戶名一樣的組名,并且自動的把這個用戶放到同名的組里
- 創建完用戶,緊接著就要修改用戶密碼
su不加-,只是切換用戶,但不改變當前目錄
su - ,切換用戶,同時將當前目錄切換到目標用戶的主目錄

4)洗掉用戶
userdel abc
洗掉abc這個用戶,但不會自動洗掉abc的主目錄
userdel -r abc
洗掉abc用戶,同時自動洗掉用戶的主目錄
CSDN認證博客專家
TensorFlow
PyTorch
影像處理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260339.html
標籤:其他
下一篇:Nginx-1.18 +Https(免費版) + openresty-1.17.8.2 + LVS+keepalived實戰(Centos7.8)
