基本命令使用(二)
阿新 • • 發佈:2019-01-05
1.1 建立目錄 mkdir
mkdir /data 建立目錄
mkdir /data/use -p 遞迴建立目錄 mkdir a{1..10} 建多個目錄
1.2 切換目錄 cd
1、cd data 切換到data
2、cd .. 返回上一級目錄 3、cd / 返回根目錄 4、cd - 返回上一次目錄 5、cd ~
1.3 檢視目錄下檔案 ls
- ls -a 檢視目錄下所有檔案包括.開頭的隱藏檔案
- ls -l 例出文件的詳細信
例:
drwxr-xr-x. 2 root root 6 Nov 5 2016 home lrwxrwxrwx. 1 root root 7 Oct 16 19:19 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Oct 16 19:19 lib64 -> usr/lib64
- ls -i 輸出檔案的 i 節點的索引信
- ls -d 將目錄當做檔案一樣顯示
- ls -p -F
在每個檔名後附上一個字元以說明該檔案的型別:
“*”表示可執行的普通檔案;
“/”表示目錄; “@”表示符號連結; “|”表示FIFOs; “=”表示套接字(sockets)
- ls -r 對目錄反向排序
- ls -t 以時間排序
- ls -u 以檔案上次被訪問的時間排序
- ls -S 以檔案大小排序
- ls -s 在每個檔名後輸出該檔案的大小
1.4 pwd
- pwd 返回當前工作目錄列表
- rmdir 刪除空目錄
1.5 檔案建立命令touch
- touch a.txt 建立檔案
- 修改檔案時間戳
-a 或--time=atime或--time=access或--time=use 只更改存取時間。 -d 使用指定的日期時間,而非現在的時間。 -m 或--time=mtime或--time=modify 只更改變動時間。 -t 使用指定的日期時間,而非現在的時間。
1.5 增加內容到檔案
- 方法1:使用vi命令開啟vi編輯器,按i鍵進入編輯模式,可以輸入內容,按esc鍵退出編輯模式,按:wq儲存並退出,按:q退出,按:q!強制退出
- echo
> 符號前預設為1
1、重定向,檔案不存在就建立,有內容就清空; echo “aaa">a 建立檔案a,寫入內容aaa 2、追加內容 echo "oldboyedu.com" >> /data/oldboy.txt 將oldboyedu.com追加到已存在的檔案中 注: 2>> 錯誤追加重定向 把內容追加到檔案的結尾 2> 錯誤重定向 先把檔案內容清空,把內容追加到檔案的結尾
1.6 檔案操作 查內容、複製、移動、改名、刪除
- 檢視單個或者多個檔案內容 cat a.txt
- cp qqc /tmp/ 複製檔案qqc到tmp目錄
- mv 移動檔案
- rename 改名
rename .htm .html *.htm
將當前目錄下所有以.htm結尾的檔案改成以.html
- rm 刪除檔案 先備份再刪除。 替代方法使用mv移動到臨時目錄
1.7 查詢find
find data/
列出目錄及子目錄下的所有檔案及資料夾find root/data/ -name *.txt
查詢指定目錄下所有包含.txt的檔案- find -type 根據檔案型別查詢
d 目錄; f 普通檔案; s 套接字; l 符號連線; b 裝置; c 字元裝置;
- 根據時間搜尋
-atime使用者最近一次訪問時間
-mtime檔案內容最後一次被修改時間
-ctime檔案元資料(例如許可權或所有權)最後一次改變的時間 -newer引數,指一個參考檔案,然後找出比指定檔案更新(修改時間)所有檔案 -size基於檔案大小的搜尋 –size +2k大於2k,-size -2M 小於2M b-塊、c-位元組、w-字、k-1024位元組、M-1024k、G-1024M
- -delete刪除找到的檔案
- -perm基本檔案許可權、-user基本於所有權匹配
1.8 檢視檔案內容head、tail 、more、less
- head head取檔案的前幾行,如果不加引數預設取檔案的前10行。常用引數-n後接數字,表示顯示前n行;例
head -5
- tail取檔案的後幾行,用法同head; -f引數用於接收檔案尾部的變化,常用於檢視日誌檔案更新
- more 載入整個文佳
- less
b 向後翻一頁
d 向後翻半頁
u 向前滾動半頁
y 向前滾動一行
[pagedown]: 向下翻動一頁 [pageup]: 向上翻動一頁 Q 退出less 命令
1.9 文字搜尋 grep
- 搜尋所指定字元的文字行
grep "js" oldboy.txt
- 指定多個檔案查詢相關的字元
grep "js" a.txt b.txt c.txt
- 使用正則表示式需用-E 或者egrep
grep -E "^g.*" a.txt
egrep "^g.*" b.txt
- 輸出包含匹配到的行之外的所有行
grep -v "js" a.txt
- 輸出包含匹配字串的行號
grep -n "js" a.txt
2.0 sed 取行、文字替換
- 刪除空行,用正則表示式^$配置空行,d表示刪除符合模式的行
sed "/^$/d" a.txt
- 刪除行首空格
sed 's#^ * ##g' test.txt
- 在第2行後面新增一行內容“hello wd!”,a表示新增,後接字串,新增到當前行的下一行
sed '2a hello wd!'|head -5
- 將2-4內容替換成“I am study Linux.”c表示替換,後接字串,用它替換n1-n2之間的行