【Linux操作系统】常用指令(三)
目錄
0.Linux根目錄下的文件介紹
1.打印日歷 cal
2.查找指定文件 find
3.行過濾工具 grep
3-1熱鍵第二彈
3-2 拓展[正則表達式]:
3-3 grep的使用
4.壓縮 zip與打包tar
4-1 壓縮zip
4-2 打包tar
打包和壓縮的區別
5.計算器 bc
6.查看系統的命令 uname
0.Linux根目錄下的文件介紹
首先cd /進到根目錄下,ls列出當前文件夾下所有文件:
- /
- root,存放root用戶的相關文件
- home,存放普通用戶的相關文件
- bin,存放常用命令的目錄,如vi,su
- sbin,要具有一定權限才可以使用命令
- mnt,默認掛載光驅和軟驅的目錄
- etc,存放配置的相關文件
- var,存放經常變化的文件,如網絡連接的sock文件 、日志
- boot,存放引導系統啟動的相關文件
- usr,安裝一個軟件的默認目錄,相當于windows下的program files
- proc,這個目錄是一個虛擬的目錄,它是系統內存的映射,訪問這個目錄來獲取系統信息
- srv ,service縮寫。該目錄存放一些服務啟動之后需要提取的數據
- sys,這是linux2.6內核的一個很大的變化,該目錄下安裝了2.6內核中新出現的一個文件系統
- tmp,這個目錄是用來存放一些臨時文件的
- del,類似于windows的設備管理器,把所有的硬件用文件的形式存儲
- media,系統提供該目錄是為了讓用戶臨時掛載別的文件系統的,我們可以將外部的存儲掛載在/mnt/上,然后進入該目錄就可以查看里面的內容了。
- opt,這是給主機額外安裝軟件所擺放,如安裝oracle數據庫就可放到該目錄下默認為空。
1.打印日歷 cal
全稱📆 :calender
作用:通過特定的選項,查看特定的年和月的信息
?1.打印當前年當前月的日歷模板:cal?2.打印某一年12個月的日歷:模板:cal 年份例子:cal 2022?3.打印當前年上個月,這個月,下個月的日歷模板:cal -3更多信息:
2.查找指定文件 find
基本的認識:我們在Linux中使用的指令,程序,工具其實也是c/c++等語言寫的,也是文件。
-
如果我們要查找一條指令,我們可以使用which + 指令
-
如果我們要查找一個文件,我們可以使用find命令
模板:? find? 路徑? 選項[查找的標準:按文件名,創建時間等]? ?參照的信息
例子:? find? ~? -name? test.c
(從家目錄開始遞歸查找所有test.c文件,打印出從家目錄開始的相對路徑)
?查看某路徑下,某文件的位置模板:find 路徑 -name 文件名例子:find . -name test.c當前文件結構下,比如我要在當前路徑,查找test.c文件:
3.行過濾工具 grep
基本認識:文本三劍客
-
grep 過濾行內容。
-
awk 過濾字段。
-
sed 過濾行內容;修改行內容。
3-1熱鍵第二彈
熱鍵:經常被使用的鍵
續第一彈熱鍵,借此行過濾工具的章節,我們今天再來給大家增加幾個熱鍵:
ctrl+r :通過ctrl+r,然后輸入歷史命令的部分片段,就可以從歷史命令中過濾出相匹配的命令。
tab :當我們只記得命令的前幾個字母,后面的字母想不起來的時候,就可以輸入記得的前幾個字母,然后按下兩次tab鍵,就可以從所有命令中檢索出所有已知字符開頭的命令。
上面的熱鍵我之所以在這里給大家講是因為這里的兩個熱鍵和我們行過濾工具grep的功能是類似的,好好體會一下吧~~
3-2 拓展[正則表達式]:
需求:有時候我們可能會想在一篇文章中找到所有的郵箱或者前后端手機號碼校驗的過程中看看用戶輸入的手機號碼符不符合第一個數字為1,總共11位數,我們這時候就會用到正則表達式。
定義:正則表達式又叫做規則表達式,是一種文本過濾模式,通過一些規則來過濾文本,從而匹配出我們需要的文本信息。(想一想爬蟲)
全稱:規則表達式(Regular Expression),通常叫做regex或RE.
更多關于正則表達式的一些知識(比如元字符之類的)參照:
[https://www.ydlclass.com/doc21xnv/javase/regex/#%E4%B8%80%E3%80%81%E5%85%83%E5%AD%97%E7%AC%A6] ??正則表達式
3-3 grep的使用
全稱:全局規則表達式打印(Global Regular Expression Print)
還記得我們之前通過shell腳本寫入file.txt文件中的hello 0到hello 1000的文本內容嗎?假如我打印file.txt中所有帶hello 99的文本行,我這個時候就可以grep 'hello 99' file.txt過濾出所有帶'hello 99'的文本行。
于此同時,我們還可以帶上更多的選項來完成我們更準確的需求:
?1.(正向匹配)匹配file.txt中所有帶'hello 99'的文本行:例子:grep 'hello 99' file.txt管道版本:cat file.txt | grep 'hello 99'?2.(反向匹配-v)匹配file.txt中所有不帶'hello 99'的文本行:例子:cat file.txt | grep -v 'hello 99'?3.(大小寫忽略-i)大小寫忽略匹配file.txt中所有帶'hello 99'的文本行:cat file.txt | grep -i 'hello 99'4.正則表達式的區間寫法: 正則提供一個元字符中括號 [] 來表示區間條件。
限定0到9 可以寫成[0-9],如果數字不是連續的,比如限定139,可以寫成[139]
限定A-Z 寫成[A-Z]
限定某些數字 [165] 例子:'hello 990'到'hello 999'的文本行就可以用正則表達式表示為:hello 99[0-9]
?4.(區間過濾 [0-9])區間過濾出'hello 990'到'hello 999'的文本行例子:cat file.txt | grep 'hello 99[0-9]'4.壓縮 zip與打包tar
Linux中的壓縮和打包命令灰常多,我們這里就給大家講一下zip和tar
4-1 壓縮zip
?1.壓縮普通文件模板:zip 壓縮的目標文件 壓縮的源文件例子:zip code.zip file.txt ?2.壓縮目錄模板:zip -r 目標文件 源文件例子:zip -r dir.zip dir.zipps:如果你不帶-r壓縮目錄,就會只壓縮空目錄,解壓后自然也就只能得到空目錄.
肯定的,你是想壓縮目錄里面的內容,而非空目錄,所以帶上-r選項就可以講目錄里面的內容一起壓縮.
這個可以下來自己驗證一下.
?3.解壓普通文件/目錄到當前文件夾(默認解壓到當前文件夾)模板:unzip 要解壓的壓縮文件例子:unzip dir.zip ? 4.解壓普通文件/目錄到指定文件夾(解壓到指定目錄)模板:unzip 要解壓的壓縮文件 ?-d 路徑例子:unzip dir.zip ~下面給大家展示一下默認和指定解壓的命令對比:
4-2 打包tar
問題:到這里有人會問:有了zip命令為什么還要有tar的壓縮命令?
解答:我通過查閱資料了解到,有些Linux不支持直接zip壓縮,而是要通過tar再gz形成壓縮文件,這也就是為什么偶爾能看到.tar.gz的壓縮文件了,總結來說,就是因為這個文件是經歷了打包再壓縮的過程.
tar格式(該格式僅僅打包,不壓縮,理解)
打包:tar -cvf [目標文件名].tar [原文件名/目錄名]
解包:tar -xvf [原文件名].tar
注:c參數代表create(創建),x參數代表extract(提取,解包),v參數代表verbose(打包的詳細信息),f參數代表filename(文件名),所以f后必須接文件名。
tar.gz格式
方式一:利用前面已經打包好的tar文件,直接用壓縮命令。(理解)
壓縮:gzip [原文件名].tar
解壓:gunzip [原文件名].tar.gz
注: g unzip ==gunzip
方式二:一次性打包并壓縮、解壓并解包(重要,推薦)
打包并壓縮: tar -czvf [目標文件名].tar.gz [原文件名/目錄名]
解壓并解包: tar -xzvf [原文件名].tar.gz
注:1. z代表用gzip算法來壓縮/解壓
2..tar.gz可以縮略的寫成后綴.tgz
如果你想要再方式二(推薦)一氣呵成打包和壓縮的過程,且想要將解壓后的文件解壓并解包到指定目錄,我們可以使用-C選項.(C一定是大寫哦)
打包和壓縮的區別
打包:把東西裝在一起,資源的空間并沒有減少,防止東西丟失 (tar)
壓縮:壓縮了資源的空間(直接zip或先tar再gzip)
5.計算器 bc
?1.通過bc命令打開計算器完成簡單運算bc全稱: Binary Caculator
與管道相結合:
?2.通過管道使用計算器:echo '1+2+3' | bc6.查看系統的命令 uname
?作用:打印系統命令uname 選項選項:1.-a 所有系統信息?2.-s 內核名稱?3.-r 內核版本?3.-n 網絡節點主機名?4.-m 機器名稱總結
以上是生活随笔為你收集整理的【Linux操作系统】常用指令(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax同步请求出现浏览器页面假死,阻塞
- 下一篇: linux 安装tomcat教程(配图详