linux(ubuntu)~终端(terminal)shell操作指令
shell是指計算機操作指令,是用戶、計算機程序、內核之間溝通的橋梁,是計算機圖形化之前操作計算機的方式,現在包含:sh-shell、bash-shell、csh-shell、tcsh-shell、ash-shell等類型。
目錄
1. 安裝操作
2. 文件操作
3. shell-find指令~查找文件
4. shell-grep指令~查找包含特定字符串的文件
1. 安裝操作
- 安裝軟件~sudo apt-get install
- 卸載軟件~sudo apt remove
- 更新軟件~sudo apt update
- 更新已安裝軟件~sudo apt upgrad
----拓展:ubuntu在終端安裝python包~sudo pip install
2. 文件操作
- 查看當前路徑(目錄)、子目錄及目錄內容~pwd、dir、ls
- 打開文件夾及查看文件~cd、cat
- 返回終端主目錄~cd ~
- 創建目錄(文件夾)~mkdir
- 強制刪除~rm -rf
- 重命名文件及文件夾~mv a b
- 移動文件夾~mv /a /b
----拓展:ubuntu終端copy、paste命令:ctrl+shift+c、ctrl+shift+v
3. shell-find指令~查找文件
用途:Linux find 命令用來在指定目錄下查找文件。
語法:
find path -option [ -print ] [ -exec -ok command ] {} \;參數說明?:
find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫
-type c : 文件類型是 c 的文件。
-ctime n : 在過去n天內被修改過的文件
案例:
- 根據文件名查找
列出當前目錄以及子目錄下的所有文件
find . -name "*.c"找到當前目錄下名字為11.png的文件
find . -name "11.png"找到當前目錄下所有的jpg文件
find . -name "*.jpg"找到當前目錄下的jpg文件和png文件
find . -name "*.jpg" -o -name "*.png"找出當前目錄下不是以png結尾的文件
find . ! -name "*.png"- 根據正則表達式查找
備注:正則表示式比原先想的要復雜,支持好幾種類型。可以參考這里
找到當前目錄下,文件名都是數字的png文件。
find . -regex "\./*[0-9]+\.png"- 根據路徑查找
找出當前目錄下,路徑中包含wysiwyg的文件/路徑。
find . -path "*wysiwyg*"- 根據文件類型查找
通過-type進行文件類型的過濾。
f 普通文件
l 符號連接
d 目錄
c 字符設備
b 塊設備
s 套接字
p Fifo
舉例,查找當前目錄下,路徑中包含wysiwyg的文件
find . -type f -path "*wysiwyg*"- 根據訪問/修改/變化時間
支持下面的時間類型。
訪問時間(-atime/天,-amin/分鐘):用戶最近一次訪問時間。
修改時間(-mtime/天,-mmin/分鐘):文件最后一次修改時間。
變化時間(-ctime/天,-cmin/分鐘):文件數據元(例如權限等)最后一次修改時間。
舉例,找出1天內被修改過的文件
find . -type f -mtime -1找出最近1周內被訪問過的文件
find . -type f -atime -7- 找出空文件
參考:https://www.cnblogs.com/soymilk2019/p/11758086.html;https://www.runoob.com/linux/linux-comm-find.html
4. shell-grep指令~查找包含特定字符串的文件
語法:grep [option] pattern file
如果你想在當前目錄下 查找"hello,world!"字符串,可以這樣:
grep -rn "hello,world!" *
* : 表示當前目錄所有文件,也可以是某個文件名(不是文件夾名)
-r 是遞歸查找
-n 是顯示行號
-R 查找所有文件包含子目錄
-i 忽略大小寫
下面是一些有意思的命令行參數:
grep -i pattern files :不區分大小寫地搜索。默認情況區分大小寫。(files用空格隔開),如:當前目錄下,grep -rni "test for grep" test.txt test1.txt
grep -l pattern files :只列出匹配的文件名,?
grep -L pattern files :列出不匹配的文件名,?
grep -w pattern files :只匹配整個單詞,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),?
grep -C number pattern files :匹配的上下文分別顯示[number]行,?
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,?
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。?
參考:https://blog.51cto.com/151wqooo/1162118,https://www.runoob.com/linux/linux-comm-grep.html
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的linux(ubuntu)~终端(terminal)shell操作指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html调试和js脚本调试
- 下一篇: linux scp远程拷贝文件及文件夹