文章目錄
簡 述: 在 Linux
中,對於一些經常會使用到的命令(不做知識點的搬運工),作業個簡短的記錄📝,主要作爲日後快速查找。還有對於操作系統的主次版本號的含義,shell
,bash
的區別等簡單做一個說明。主要有如下知識點:
- Linux 和 GNU 的區別
- shell 和 bash 的區別
- 光標相關快捷鍵
- 文件目錄的結構組成,
- 文件 / 文件夾操作命令 tree,pwd,mkdir,rm,cp,mv,touch
- 顯示文件相關信息 cat,more,head,less,tial
- 軟硬鏈接 ln -s
- 用戶組,權限 chmod, chown
- 文件查找和檢索文件內容 find,grep
- 壓縮與解壓 tar,rar,zip,gz,bz2
Linux 和 GNU 的區別與聯繫:
Linux 發行版 == Linux 內核 + GNU 應用軟件的操作系統
-
Linux 是類 Unix 計算機操作系統的統稱
-
Linux 操作系統的內核也是 ”Linux“
-
Linux 這個單詞只表示 Linux 內核,但是實際上人們已經習慣用 Linux 來形容基於 Linux 內核的整個操作系統
-
Linux 是由芬蘭大學生 Linus Torvallds 1991 年編寫
-
GNU 是一個類 Unix 操作系統。它是由多個應用程序、系統庫、開發工具乃至遊戲構成的程序集合。
總結:
Linux 確實存在,許多人都在使用它,但它僅僅是所用系統的一部分。Linux是內核:它是爲你運行的其他程序分配計算機資源的程序。內核是操作系統的基本部分,但是它自己並無用處;它只能在完整的操作系統框架下才能發揮作用。Linux一般和GNU操作系統一起使用:整個系統基本上就是GNU加上Linux,或叫GNU/Linux。所有被叫做“Linux”的發行版實際上是GNU/Linux發行版。
詳細參考:
- Linux和GNU系統 https://www.gnu.org/gnu/linux-and-gnu.html
- GNU是什麼? https://www.gnu.org
Linux 版本號和 PATH:
-
Linux 版本號: 主版本號是雙數爲 STL 支持 5 年;此版本.04 (4月份穩定版),.10爲 debug 版本
-
環境變量: 一些列的路徑,在 shell 裏面輸入的命令,系統就會在這個路徑裏面去查找該命令是否存在;若存在則執行對應的操作
echo $HOME echo $PATH
shell 和 bash 的區別:
shell
--unix 全稱:Bourne(伯恩) shellbash
--linux 首字母縮寫:Bourne age shell
解釋一下,先有 Unix 系統,當時是以伯恩開發的和系統進行交互的軟件,命名爲 shell ;隨後在出現 Linux (類 Unix)系統,伯恩想要將 shell 遷移到 Linux 上面,但是又不重名,所以稱呼爲 Bourne age shell,簡寫爲 bash。
shell 命令參數風格:
命令參數,其實是由帶 - 和不帶 - 兩種的。
光標相關快捷鍵:
history
(crtl + p/n 向上向下遍歷歷史命令)crtl + b/f
(前進後退:backward,forward)crtl + a/e
(移動到首尾:begin,end)crtl + u/k
(刪除一行、刪除光標到結尾)crtl + h/d
(刪除光標前面、後面一個字母: del)Tab
單詞提示補全
Linux 目錄文件結構:
-
Linux 目錄根文件/結構
-
/bin
二進制文件,可執行文件,shell 命令 -
/dev
Linux 下一切皆文件,硬盤,顯卡,顯示器 -
/lib
動態庫 -
/met
手動的掛載目錄 -
/media
外設的自動的掛載目錄,如 U 盤 -
/root
超級用戶的家目錄 -
/usr
->unix system resource- 頭文件,遊戲,用戶安裝的程序(usr/local)
-
/etc
存放配置文件 -
/opt
安裝第三方應用程序(如:火狐瀏覽器,notepadqq) -
/home
Linux 操作系統下所有用戶的家目錄 -
/tmp
存放臨時文件,可能重啓會被清除裏面的文件 -
/boot
系統開機的一些配置文件
文件目錄相關的命令:
-
tree
查看目錄的內容- # -C 表示輸出帶彩色, -N 直接顯示編碼輸出(中文不亂碼);
alias tree='tree -CN'
- -L 顯示多少層的樹
- # -C 表示輸出帶彩色, -N 直接顯示編碼輸出(中文不亂碼);
-
ls
查看文件或者目錄-
-a 顯示包括影隱藏文件, -l 每個文件的詳細信息
-
-F 若是文件夾,則文件夾名字後加 / 標識
-
-h 以人類能夠看得懂的方式顯示,大小帶單位
Linux 下文件夾永遠是 4K; 而 unix 下不是 4K。
-
-
pwd
顯示完整當前路徑 (printf work dir) -
mkdir
創建文件夾- -p 循環創建多個文件夾
-
touch
創建文件- 若是文件已存在,則只更改文件創建時間
-
rm
刪除目錄(刪除之後,不能恢復)-
-r 遞歸刪除;-f 刪除時候不彈出確認是否;-i 刪除時候添加提示信息
rmdir (辣雞,只能刪除空文件夾)
-
-
cp
複製文件、文件夾- cp fileA fileB (fileB 無,則創建;fileB 已存在,則覆蓋)
- cp dirA/ dirB
- dirB 無 (dirA 文件夾(含) 拷貝到 目錄 dirB)
- dirB 存在 (dirA 文件夾(不含) 拷貝到 目錄 dirB)
-
mv
移動、改名
顯示文件內容命令 cat / more:
cat
把文件內容打印到終端more
瀏覽文件(回車瀏覽下一行;空格翻頁;q 退出)less
和 more 相似head
顯示文件頭部的前 10 行tail
顯示文件尾部 10 行
軟硬鏈接:
軟連接 ln -s:
-
可以看做 快捷方式
-
ln -s 文件名 快捷方式名
(文件名帶上絕對路勁,快捷方式任何地方都可用) -
目錄也可以創建快捷方式
硬鏈接 ln:
-
ln 文件名 硬鏈接名
(不需要帶路徑)
用戶權限,用戶,用戶組 chmod / chown:
- 目錄必須要有執行權限,纔可以進去
- 查看所屬用戶 cat /etc/passwd
- 查看所屬於組 cat /etc/group (看到的 x 表示加密的密碼)
chmod
修改文件或者目錄的權限(同命令,在 Linux 可運行,在 Unix 不一定可以通過);含義:u、g、o、a (usr/group/other/all)- 默認是使用 a(all) 所有人的權限
- eg: chmod ugo+x 20200314_205632.png (加減不同權限用逗號)
- eg: chmod 777 20200314_205632.png (覆蓋權限)
- eg: chmod -440 20200314_205616.png (加減權限)
- 默認是使用 a(all) 所有人的權限
chown
修改文件所有者或所屬組- chown 新的所有者 文件名
- chown 新的所有者:新的組 文件名
chgrp
修改文件所屬組(可以看做弱一點的命令)- chgrp 新的組 文件名
文件查找和檢索 find / grep:
-
find
根據文件屬性查找-
name、type、size、ctime/mtime/atime (創建、修改、訪問日期)、mindepth/maxdepth/ (最淺、深的層數)
- eg: find ~/ -name “*.txt”
- eg: find . -type d (七種文件類型:f,d,l,p,s,c,b)
- eg: find . -size +4k -size -1M (4k < 文件大於 < 1M)
- eg: find . -ctime -2 (在2天之內創建的文件)
- eg: find . -maxdepth 2 (查找當前目錄下最深爲 2 層的目錄)
-
高級查找:
-
find . -type d -exec ls -l {} ; (ls -l 爲具體的shell 命令,紅色爲固定格式 )
# exec 也可以替換爲 ok; ok還會彈出確認提示,要加上分號 find . -type d -exec 命令 {} \; find . -type d -ok 命令 {} \;
-
find . -type d | xargs shell命令 (用管道效率比上面高)
-
-
-
grep
根據文件內容查找- grep -r (有文件夾) ”查找的內容“ 搜索路徑 -n; (-n 顯示匹配到的字符串的行數)
- eg: grep -r “aa” ~/Desktop -n (文件夾可以沒有)
- grep -r (有文件夾) ”查找的內容“ 搜索路徑 -n; (-n 顯示匹配到的字符串的行數)
壓縮包的管理:
Linux 常見壓縮格式 .gz / .bz2:
.gz
--gzip 工具壓壓縮出來的.bz2
--bzip2 工具壓壓縮出來的- 上面兩個命令,只能壓縮文件,很弱,一般是被間接使用
常用壓縮命令 tar / rar / zip:
總結:
壓縮:
tar zcvf 壓縮包名 原材料 (若含文件夾,壓縮則需要 -r)
rar a 壓縮包名 原材料 (若含文件夾,壓縮則需要 -r)
zip 壓縮包名 原材料 (若含文件夾,壓縮則需要 -r)
解縮:
tar zxvf 壓縮包名 -C 解壓路徑
rar x 壓縮包名 解壓路徑
unzip 壓縮包名 -d 解壓路徑
tar
–壓縮解壓- 參數:
- c -創建壓縮文件
- x -釋放壓縮文件
- v -打印提示信息(可不寫)
- f -指定壓縮包的名字
- z -使用 gzip 壓縮文件 -xxx.tar.gz
- j -使用 bzip 壓縮該文件 -xxx.tar.bz2
- 壓縮:
- tar 參數 壓縮包名字 原材料
tar zcvf test.tar.gz A b.txt c.png d.exe
- 解壓:
- -C -解壓目錄
tar zxvf test.tar.gz -C 解壓目錄
- 參數:
rar
–壓縮解壓- 壓縮:
rar a 壓縮包名(不用指定後綴) 壓縮內容
(有目錄則加 -r 參數) - 解壓:
rar x 壓縮包名 解壓目錄
- 壓縮:
zip
–壓縮解壓- 壓縮:
zip 參數 壓縮包名 原材料
- 解壓縮:
unzip 解壓文件 -d 解壓路徑
- 壓縮:
系列地址:
https://github.com/xmuli/linuxExample
歡迎 star 和 fork 這個系列的 linux 學習,附學習由淺入深的目錄。