1. cal指令:
我們的cal指令有日歷的意思
看上面,我們輸入一個cal指令,可以查看當前月的日歷,
我們給cal指令后面加上 - 3,他就會顯示這個月為中間的三個月的日歷,但是-4 不行,-5 也不行。只能 - 3。
我們也可以是給他后面加上2025,他會顯示出整年的日歷,
當然其他的年份也是可以看到的:
2. find指令:
find指令是我們用來在我們的樹狀結構中查找文件用的。
比如看上面,我們想在家目錄里面查找名為test.c的文件,他就會給我們所有路徑下有test.c的文件。
我們看這個,這個*表示的是通配符,表示可以是任意的內容,但是后面的結尾必須是.c結尾
所以我們就會看到所有.c結尾的文件。
查找的方式我們就是
find 后面跟上路徑,然后再跟上 -name 再跟上我們要查的文件就可以了。
我們說,Linux下一切皆是文件,所以我們敲出的指令也是文件。
看我們上面的圖片:我們的指令的本質:是Linux系統下固定目錄下的可執行文件。(這個固定目錄是usr/bin)。
所以我們不用怕這個指令,它本質上就是在我們的usr/bin/目錄下存在的二進制文件罷了。(這個二進制文件和我們自己編寫的C語言代碼沒有什么區別)。
所以我們上面學習的指令的目錄都是我們的usr/bin/,
3. which指令:
Linux除了給了我們可以用來查找文件的指令find,也提供給了我們一個專門用來搜指令的指令which指令,
which這個指令會給我們顯示我們要查的這個指令他的全路徑,
我們看上面的圖片:我們使用which指令,查看我們之前學習過的指令,我們得到結果,都是再usr/bin/路徑下的文件。
所以:
我們說我們的which是專門用來搜索我們的指定的命令的,你使用find也可以搜索,我們說find可以搜文件,我們的指令就是文件。
4. file指令:
file命令是用來查看一個文件詳細類型的,
我們看上面的圖片:我們查看各種文件,我們用紅筆圈出來的executable表示這個文件是一個二進制可執行文件,
5. alisa指令:
alisa指令可以給我們的指令取別名:
我們來看上面的圖片:我們給我們的ls -a -l指令取一個新的名字zhangsan,,然后后面我們想要使用ls -a -l指令的時候,我們就可以直接使用zhangsan就可以。
當我們不想要zhangsan這個別名的時候:
我們直接把空賦給zhangsan,這時候zhangsan這個別名就指代不了我們的指令了。
注意:
在我們的Linux下,我們執行指令會優先執行我們的別名:
我們再看上面的圖片:
我們給我們的指令取上別名,我們剛才說我們的指令是我們的Linux目錄下的可執行文件。存在于磁盤上的。
那我們的別名是不是呢?我們ls 后面跟上固定目錄試一下,不行,
別名我們現在不推薦使用,當我們對Linux比較熟了,這時候我們可以使用別名,
6. grep指令:
grep指令是用來進行一個文本處理的命令;這是一個行文本過濾工具;
它可以根據一個關鍵詞,把一個大文本當中包含該關鍵詞的行,以行為單位,把行過濾出來。
我們看下面的圖片:
看上面,我們之前學習了管道,最開始是cat后面跟上管道,表示我們要cat查看文件內容,我們就可以把hello.txt文件里面的前2100行的后100行提取出來,然后我們現在學習了grep,我們就可以再加上一個管道,提取這些數據的包含有‘8’的行。
我們看上面的圖片,上面我們已經知道了,現在我們假如有了新的需求,我們現在的要求是把含有關鍵字’8‘的行不顯示出來,其他不含有關鍵字’8‘的行顯示出來。
看我們上面的圖片,我們使用一個 -v就可以解決,這個v的意思就是reverse,表示逆轉。
我們繼續看:看上面的圖片,我們后面改成 -n的話,我們的結果就會加上一個行號,表示他是第幾行的,(要注意,這里grep給你的行編號,他是在grep的視角上看他收到了多少內容,我們的前面的管道并起來給到我們的grep的時候就是十行數據,所以)。
然后我們改成 -nv的時候,這時候就是沒有含有關鍵字’8‘的行都被成列出來
還有就是:我們的grep對我們的這個大小寫是比較敏感的。
但是如果我們不想要讓他對大小寫敏感的話,我們可以加上 -ni,這時候我們看上面的圖片:原本我們過濾Hello的時候,我們就只能找到Hello,大小寫區分開,然后我們加上 -ni的時候,這時候我們打上Hello,這時候所有hello不論大小寫這時候就都出來了。
我們上面的是加了 -n的,其實不一定非要加上 -n,-i 就可以表示你要忽略大小寫。
這三個東西怎么交叉都可以:
我們看這個,三個一起拼湊到一起,表示我們帶上行號并且忽略大小寫,并且有關鍵字的行我們都不要。(順序不要緊,可以自由的匹配)
那么什么是我們的grep的主要用途呢?
比如當我們查看日志的時候,日志的話內容很多,有時候我們已經知道我們要查詢的文件的文件名了,這時候我們就可以直接使用管道加上grep ’關鍵字‘ ,這時候我們就可以直接過濾出我們的文件。
7. top指令:
我們的window環境下,我們的電腦里,我們都有一個任務管理器,我們可以通過任務管理器發現那些進程,什么東西正在運行,,
在我們的Linux環境下,top指令就扮演了任務管理器的角色。
比如我們看這個,這個指令就表示把我們的任務管理器打開并且每隔一秒刷新一次,然后刷新5次后結束。
然后這個指令就表示我們的任務管理器每隔5秒就刷新一次,總共刷新5次。
下面我們來講最后一批命令,打包壓縮命令:
8. zip指令和unzip指令:
我們看上面的圖片:
我們現在想要打包lesson5,我們準備把整個目錄進行打包。
我們來看上面的圖片:我們打包我們的lesson5成為lesson5.zip文件,打包的話不影響我們的原文件,這時候我們ll查看當前目錄下的文件,發現了我們的lesson5.zip文件。
然后我們剛才新建了一個目錄test,現在我們把我們打包的文件放到test里面,這時候再cd進入到test里面,然后ll查看,我們就發現了我們剛才打包壓縮的壓縮包lesson5.zip文件,
然后我們現在看,這時候我們就要對我們的壓縮包進行解壓才能得到我們要的文件。
我們就unzip指令后面跟上我們的壓縮包,然后ll查看當前目錄下的文件,這時候我們就發現了解壓出了我們的文件lesson5。
但是我們tree一下當前目錄(. 表示當前目錄),然后我們發現我們解壓的lesson5里面什么都沒有
那這是為什么呢?我們只把目錄打包了,里面的文件都沒有打包。
因為我們的目錄是樹狀的,如果我們想要把整個目錄打包的話,我們就要遞歸的進行打包壓縮。
上面的打包方式是我們打包壓縮單個文件的時候使用的方式。
我們看這個上面的,當我們遞歸式的進行打包壓縮的時候,這時候就可以了。
然后我們繼續往下看:
注意:我們剛才已經刪除了test文件的內容,這時候我們再把壓縮包移動到test文件里面然后進入到test文件內部。
然后這時候我們再對我們的壓縮包進行解壓,unzip指令后面跟上壓縮包就行,就會得到我們的lesson5。
這時候的這個lesson5就是我們的lesson5了。
看上面是我們的兩個指令,我們的zip是把后者壓縮成前者。普通文件直接打包壓縮,目錄的話要加上 -r,遞歸式的打包壓縮。
rm * -rf指令的話,含義是把當前目錄下的所有的文件刪除掉。
我們剛才解壓我們的壓縮包的時候,默認的都是解壓到我們的當前目錄下,但是我們也可以解壓到其他的目錄上,
我們看這個:
看上面的圖片,我們還是先把lesson5進行打包壓縮,然后
我們插敘一個東西:
我們的windows和Linux是可以互傳東西的,我們需要先在Linux中安裝上我們的工具就可以,
具體的場景就是:我們可以在我們的Linux環境下打包壓縮我們的文件,然后把壓縮包傳到我們的windows環境下進行解壓得到我們的文件。
從我們的Linux環境下傳文件到我們的windows環境下使用指令sz + 文件/壓縮包就可以。
然后如果你想把你本地的文件上傳到Linux環境下的時候,直接拖拽到Linux環境的面板就可以了
9. tar指令:
我們的zip結尾的打包壓縮的文件在Linux環境中會使用,但是不是最主流的,我們的Linux環境下最主流的打包壓縮我們可以學習下tar指令;
我們看上面的圖片:我們tar指令建立壓縮包,czf,c表示創造文件,z表示具有壓縮屬性,f表示指明對應文件。
然后我們來看解壓:
我們的解壓的指令,我們把c變成x就好了,x是解開指令
我們記住這兩個就行了,上面是壓縮文件,下面是解壓文件。
我們繼續說:
我們說我們解壓壓縮包默認的是會解壓到當前目錄下的,那我們能不能解壓到其他的目錄下呢?
我們先rm * -rf 清空我們的test目錄,然后執行我們的指令:
看我們上面的圖片:我們解壓指令的后面我們跟上一個 -C,然后后面跟上指定的目錄。
我們就解壓到指定的目錄了。