1. 程式人生 > >Linux基礎命令複習-操作檔案命令詳解

Linux基礎命令複習-操作檔案命令詳解

操作檔案命令詳解

建立檔案:
touch
-a  或--time=atime或--time=access或--time=use  只更改存取時間
-c  或--no-create  不建立任何文件
-d  使用指定的日期時間,而非現在的時間
-f  此引數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題 --------難得看到一個 -f 吃癟,從來無視別人的,終也被人無視了。^^
-m   或--time=mtime或--time=modify  只更改變動時間。-------說實話,我也不知道這功能到底有啥用,你們要是誰知道了也告訴我呀。
-r  把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同。
-t  使用指定的日期時間,而非現在的時間
[
[email protected]
lucy]# touch 1 2 3
[[email protected] lucy]# ls
1  2  3

echo
- 用於字串的輸出  
[[email protected] lucy]# echo "4">4
[[email protected] lucy]# ls
1  2  3  4
[[email protected] lucy]# echo "5">>5
[[email protected] lucy]# ls
1  2  3  4  5
注意 > 與 >> 的區別

vi
- vi也可以建立檔案
[[email protected] lucy]# vi 6
[[email protected] lucy]# ls
1  2  3  4  5  6

檢視檔案內容:
cat
-n 或 –number 由 1 開始對所有輸出的行數編號
-b 或 –number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 –show-nonprinting
[[email protected]
lucy]# cat 1 >> 6 
[[email protected] lucy]# ls
1  2  3  4  5  6

head
-n<行數> 顯示的行數
cat > head.txt<<EOF
#顯示前5行
head -n  5 head.txt

tail
-f 該引數用於監視File檔案增長。
-n Number 從 Number 行位置讀取指定檔案。
tail -f filename
說明:監視filename檔案的尾部內容(預設10行,相當於增加引數 -n 10),重新整理顯示在螢幕上。退出,按下CTRL+C。
tail -n 20 filename
說明:顯示filename最後20行。

more
more命令和cat的功能一樣都是檢視檔案裡的內容,但有所不同的是more可以按頁來檢視檔案的內容,還支援直接跳轉行等功能。
+n         從笫n行開始顯示
-n        定義螢幕大小為n行
[[email protected] lucy]# more +5 head.txt
[[email protected] lucy]# more -10 head.txt
Enter   向下n行,需要定義。預設為1行
Ctrl+F  向下滾動一屏
空格鍵  向下滾動一屏
Ctrl+B  返回上一屏
 
less
less 工具也是對檔案或其它輸出進行分頁顯示的工具,應該說是linux正統檢視檔案內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。 在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按 鍵的功能來往前往後翻看檔案,更容易用來檢視一個檔案的內容!除此之外,在 less 裡頭可以擁有更多的搜尋功能,不止可以向下搜,也可以向上搜
[[email protected] lucy]# less head.txt
PgUp    PgDn

vi編輯器
命令列模式 輸入模式 末行模式
預設進入到命令列模式
命令列模式常用快捷鍵:yy-p yy10-p,dd 10dd d $^,u  ,G gg,ZZ
末行模式常用命令:wq,q,x,set nu,%s/PASS=/PASS=000000/g
輸入模式:i與o均可進入輸入模式

find 命令
find / -name "head*"
find / -iname "head*" //不區分大小寫

tar  處理壓縮檔案
[[email protected] ~]# tar cvf interersting.tar.gz interersting/
[[email protected] ~]# ls
3                EDG  install.log         interersting
anaconda-ks.cfg  IG   install.log.syslog  interersting.tar.gz
[[email protected] ~]# tar xvf interersting.tar.gz -C /var/
[[email protected] ~]# ls /var/
cache  db     games         lib    lock  mail  opt       run    tmp
cvs    empty  interersting  local  log   nis   preserve  spool  yp


awk 
 -F 指定分隔符
獲取當前主機的IP地址
[[email protected] ~]# ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
192.168.48.20
[[email protected] ~]# ifconfig eth0 | grep "inet addr" | awk -F" " '{print $2}'|awk -F":" '{print $2}'
192.168.48.20


sed
-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的資料一般都會被列出到終端上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
-e :直接在命令列模式上進行 sed 的動作編輯;
-f :直接將 sed 的動作寫在一個檔案內, -f filename 則可以執行 filename 內的 sed 動作;
-r :sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i :直接修改讀取的檔案內容,而不是輸出到終端。
function:
a :新增行, a 的後面可以是字串,而這些字串會在新的一行出現(目前的下一行)
c :取代行, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行
d :刪除行,因為是刪除,所以 d 後面通常不接任何引數,直接刪除地址表示的行;
i :插入行, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p :列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起執行
s :替換,可以直接進行替換的工作,通常這個 s 的動作可以搭配正規表示法,例如 1,20s/old/new/g 一般是替換符合條件的字串而不是整行

sed -i 's/^#//g' filepath
sed -i 's/^#//g' /etc/xiandian/openrc.sh 

磁碟分割槽