創作初心:在加深個人對知識系統理解的同時希望可以幫助到更多需要的同學
😄柯一夢的專欄系列
🚀柯一夢的Gitee主頁
🛠?柯一夢主頁詳情
座右銘:心向深耕,不問階序;汗沃其根,花自滿枝
date指令
指定格式顯示時間:date+%Y/%m/%d
用法:date? [OPTION]......[+FORMAT],為什么指定格式內容之前要加+呢?其實+是為了區分選項和格式內容。
1.在格式內容的顯示方面:
- %Y:完整的年份
- %m:月份
- %d:日
- %F:相當于%Y-%m-%d
- %H:小時
- %M:分鐘
- %S:秒
- %s:按照時間戳的格式輸出
左邊(+
?之前)的都是?命令選項(比如?-d
?指定時間、-u
?用 UTC 時區),負責告訴?date
“要處理哪個時間、用什么規則處理”;
右邊(+
?之后)的都是?格式內容(比如?%Y-%m-%d
、%H:%M:%S
),負責告訴?date
“最終要以什么樣子輸出時間”。
2.時間戳和時間之間的轉化
date -d @1716000000 +"%Y-%m-%d %H:%M"
date -d "2024-05-17 10:13:20" +%s
舉個之前的例子再印證下:
時間戳轉化為可視化時間:
可視化時間轉化為時間戳:
cal指令
cal指令用來顯示公歷(陽歷)日歷。公歷是現在國家通用歷法,又稱為格列歷,統稱為陽歷。
命令格式:cal 參數 [年份]
功能:用于查看日歷等時間信息,如只有一個參數,則表示當前年份,如有兩個參數,則表示月份和年份。
常用選項:
- -3 系統顯示前一個月
- -j 顯示在當年中的第幾天(一年當中的日期按天算,從1月1號算起,默認顯示當天在一年中的天數)
- -y 顯示當前年份的日歷
- 無參數:默認顯示當前月份的日歷(如?
cal
?顯示當前月)。 - 1 個參數:參數為年份(如?
cal 2025
),顯示該年份的全年日歷(1-12 月)。 - 2 個參數:第一個參數為月份(1-12),第二個參數為年份(如?
cal 10 2025
),顯示指定年份的指定月份日歷。
舉例:
無參數:
1個參數(表示年份):
2個參數(形式是月份 年份):
顯示天數:
find指令
find命令會在指定的路徑下面遞歸式的搜索所有文件,并且會把相關文件的路徑緩存起來,所以當你重復使用的時候它會搜索的越來越快。
- Linux下find命令在目錄結構中搜索文件,并且執行指定的操作
- Linux下的find命令提供了相當多的查找條件,功能非常強大。由于find具有強大的功能,所以它的選項很多,并且都值得我們花時間去了解一下
- 在運行一個非常耗費資源的find命令式時,人們傾向于把它放在后臺去執行,因為遍歷一個打的文件系統可能匯劃費很長的時間
語法:find pathname(路徑名稱) -options(選項)
功能:用于在文件樹中(遞歸)查找文件,并且做出相應的處理
常用選項
- -name 按照文件名查找文件
- 其他選項需要自己下去查,這個命令其實比較復雜
舉例:
其實有一個小細節,*.exe代表什么呢,*是通配符可以代表任意內容,其實就是尋找后綴為.exe的文件。
我們在這里再補充一些理論知識:我們使用的大部分命令都是二進制的可執行文件
我們可以看到,我們之前使用的ls,居然是/usr/bin/ls路徑下的一個可執行文件,所以我們不僅可以ls展開當前路徑下的信息,還可以使用/usr/bin/ls去查看
既然我們使用的大部分命令都是二進制文件,那么我們可以自己寫一個二進制文件當指令嗎?當然可以,但是我們自己寫的二進制文件想要運行,必須要加./文件名。為什么呢?要執行一個程序,首先要知道那個程序在哪里。那我們不妨大膽猜測一下,是不是我們的文件儲存的位置不同,導致系統不能直接找到我們的文件呢?答案是是的,系統會現在/usr/bin這個路徑下去尋找命令,并且直接執行,這樣的話就不需要./文件名 這么挫的方法了。
所以 如果你自己寫了一個可執行文件,并且把它移到/usr/bin目錄下,那么就相當于你給你的系統裝了一個自己寫的指令。
其實我們在Windows系統下安裝軟件的本質就是拷貝可執行文件到某個目錄下。
which指令
which的核心功能:查找并顯示某個可執行命令在系統中的具體路徑。
find也可以搜索,但是which更快,因為which是在指定的/usr/bin路徑下面去搜索那個命令的
所以which = find /usr/bin -name? (那個bin代表的就是二進制)
舉例:
注意:我們通常不建議把自己寫的指令拷貝到系統中,因為自己寫的沒有經過測試,可能會造成污染。所以我們自己使用時,通常都是./ 進行使用(這個操作就是為了找到二進制文件)
file指令
file指令通過分析文件的內容(而非文件名或擴展名),判斷文件的實際類型(比如文本、二進制、圖片、壓縮包等)
舉例:file /usr/bin/ls
whereis指令
主要功能:在系統預設的標準目錄中,搜索與指定命令 / 程序相關的二進制文件(可執行文件)、源代碼文件和手冊頁(man page)的位置。
了解即可
alias指令
我們在使用which ls的時候,第一行為什么會出現一個alias?
這個指令的作用就是給一些命令或者文件起別名,我們可以看到 ls 是 ls --color的別名,所以我們平時使用的 ls 并不只是 /usr/bin/ls 而是 ls --color
所以:執行命令時,會優先搜索別名。
值得注意的是,我們自己取的別名是內存級的,你退出系統員以后,它會自動刪除。
最好不要給你的命令設置別名
grep指令(行文本過濾工具)
語法:grep [選項] 搜索字符串 文件
功能:在文件中搜索字符串,將找到的行列打印出來
常用選項:
- -i:忽略大小寫的不同(所以grep默認是大小寫敏感的)
- -n:順便輸出行號
- -v:反向選擇,也就是顯示沒有“搜尋字符串”內容的那一行
舉例:
顯示行號:
反向搜索:
htop指令
功能:一款交互式系統資源監控與進程管理工具
格式:htop -d **? -n **
- -d:刷新的時間間隔
- -n刷新的次數
zip指令
產生背景:打包 壓縮與解壓 解包 都是在本地的計算機上完成的,他減少的是文件的傳輸效率,相當于用空間來換時間
語法:zip [選項] 壓縮文件名.zip 要壓縮的文件或目錄...
常用選項:
- -r:遞歸處理,將指定目錄下的所有文件和子目錄一并處理
用法:以為內我們常常打包壓縮多個文件,所以不妨把那些文件放在一個目錄下,然后再對那個目錄進行遞歸打包,這樣就可以實現對多個文件的打包
舉例:
unzip指令
在解包的時候我們通常會把那個壓縮包轉移到一個新建的目錄下,這是為了防止解壓出來的文件對系統里面本身的文件造成污染。所以解壓一般是配合著mv使用,但是也可以指定目錄下解包
語法:unzip 壓縮包 ( [選項] 指定目錄 )
常用選項:
- -d:指定路徑下解包
用法:如果沒有-d,也就是指定路徑解包,默認是在當前目錄下解包
舉例:
手動在指定路徑下解包
使用命令中的選項在指定路徑下解包
rzsz指令
這個指令分為兩個小指令,認rz(接收文件)和sz(發送文件),主要功能是實現Linux系統和Windows系統之間的文件互傳
rz指令:
sz:
tar指令
語法:tar [選項] 文件與目錄
選項:
- -c:建立一個壓縮文件的參數指令
- -z:告訴tar這個文檔是否使用gzip算法
- -f:告訴tar具體要操作的是哪個壓縮包文件
- -v:壓縮過程中顯示文件壓縮進程
- -x:告訴tar要解壓一個文件
- -C:解壓到指定目錄
- -t:查看tarfile里面的文件
舉例:
壓縮文件(值得注意的是:使用?tar czf
?壓縮目錄時,會自動遞歸處理目錄內的所有內容(包括子目錄、文件等),無需額外添加?-r
?選項)
解壓:
bc指令
bc
?是 Linux 命令行中一款強大的任意精度計算器工具,支持整數、浮點數運算,以及數學函數、條件判斷、循環等簡單編程功能,常用來在終端中快速執行數學計算
使用方法很簡單,直接在命令界面輸入bc,然后就可以進行計算了
uname -r 指令
uname是Linux / 類 Unix 系統中用于顯示系統內核及硬件相關信息的命令,常用于快速查詢系統的基本屬性(如內核版本、硬件架構等)
- -a:內核名稱 主機名 內核版本 內核編譯信息 硬件架構 處理器類型 操作系統
- lsb_release -a:查看操作系統版本
舉例:
-a:
lsb_release-a: