本篇博客的主要目的是總結Ubuntu終端中高頻使用的一些常用命令和操作,終端命令非常多,但常用的命令並不多,因此此博文的主要目的是不求全,但就精,能夠方便大家直接查詢,以及快速掌握一些常見用法。學習這些命令不要總想着一次性都掌握,或者花大把的時間去看,只需要在遇到的時候或者自己想要做某個操作的時候進行查詢並總結即可,因此本文也是會不斷更新的。
系統學習資源
ls命令
作用: ls=list,顧名思義用來列出當前路徑下的所有文件和文件夾,這個命令使用頻率非常高,也擁有很多選項,我們掌握基本的操作即可。
列出所有文件包括隱藏文件:
默認ls
命令不會列出.
開頭的隱藏文件,要想列出隱藏文件可以用下面命令:
ll
或者
ll -a
查看文件大小:
可以以KB或MB爲單位顯示文件大小:
ll -h
列出不同文件類型顏色代表的含義不同:
白色:表示普通文件
藍色:表示目錄
綠色:表示可執行文件
紅色:表示壓縮文件
天藍色:鏈接文件
紅色閃爍:表示鏈接的文件有問題
黃色:表示設備文件
灰色:表示其他文件
grep命令
作用: 1、過濾標準輸出的字符串,快速定位終端輸出中是否包含某字符串;2、查詢文件內容中是否包含指定字符串。
常見用法:
比如我通過ls
命令可以列出當前目錄下所有文件(文件夾)名,但如果文件很多,我想快速知道當前目錄下是否包含有文件名字有Example
的文件,那麼grep
命令就可以派上用場了。
區分字符串大小寫過濾字符串:
ls | grep Example
不區分大小寫過濾字符串:
ls | grep -i Example
grep命令字符串疊加:
https://blog.csdn.net/mmbbz/article/details/51035401
查找包含某字符串的文件:
http://einverne.github.io/post/2017/09/grep.html
https://blog.51cto.com/151wqooo/1162118
注:多個選項可以疊加在一起起作用
a. 當前目錄下是否有包含python
字符串的文件
grep python *
顯示字符串所在的行數:-n
選項
grep -n python *
b. 當前目錄及子目錄下是否有包含python
字符串的文件
-r
選項
grep -rn python *
c. 忽略大小寫查找
-i
選項:
grep -irn python *
d. 完全匹配某個字符串
-w
選項:
grep -rnw python *
此時只會查找包含完整的python
字符串的行,不會匹配上python2
或python3
等字符串。
e. 查找指定後綴名文件中是否包含某字符串
find ./ -type f -name "*.cpp" -o -name "*.h" | xargs grep -n python
需要結合find
命令來使用,上面這句命令就可以實現查找cpp或h文件中是否包含有python
字符串的功能。
【參考】
find命令
作用: 文件查找命令,可以實現在終端快速查找指定目錄下是否包含需要查找的文件或文件夾。
語法格式:
find 搜索路徑 [選項] 搜索內容
搜索路徑不寫的時候默認是當前路徑
選項:
-name: 按照文件名搜索;
-iname: 按照文件名搜索,不區分文件名大小;
-inum: 按照 inode 號搜索;
https://www.cnblogs.com/xudong-bupt/archive/2013/03/23/2976793.html
https://zhuanlan.zhihu.com/p/52746102
https://blog.csdn.net/dcrmg/article/details/78000961
https://wangchujiang.com/linux-command/c/find.html
默認遞歸查找當前目錄及子目錄文件:
find . -name "*.cpp"
或
find -name "*.cpp"
只查找當前目錄下文件:
find . -maxdepth 1 -name "*.cpp"
只查找文件:
find ./ -type f -name "lidar*"
只查找文件夾:
find ./ -type d -name "lidar*"
查找多個指定後綴文件:
find ./ -name "*.h" -o -name "*.cpp"
其中-o
表示or
,即用來組合不同的後綴格式。
或者寫成:
find -type f \( -name "*.png" -o -name "*.jpg" \)
其中f
表示只查找文件,\(
前後是有空格的。
【參考】
systemctl命令
系統控制或系統管理命令
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
apt相關命令
https://blog.csdn.net/yjk13703623757/article/details/78945576
https://www.jianshu.com/p/6432015c52a6