1. 程式人生 > >基本命令使用(二)

基本命令使用(二)

1.1 建立目錄 mkdir

mkdir /data  建立目錄
mkdir /data/use -p 遞迴建立目錄 mkdir a{1..10} 建多個目錄 

1.2 切換目錄 cd

1cd data  切換到data
2cd .. 返回上一級目錄 3cd / 返回根目錄 4cd - 返回上一次目錄 5cd ~ 

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之間的行