1. 程式人生 > >linux檔案與目錄的基本操作、linux命令(cp、tar、歸檔、ls、cd、tr、su、more、less、vi、cat等)

linux檔案與目錄的基本操作、linux命令(cp、tar、歸檔、ls、cd、tr、su、more、less、vi、cat等)

 

1、Linux下的目錄結構:

/:根目錄,一般根目錄下只存放目錄,不要存放檔案,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分割槽中

/bin:/usr/bin:可執行二進位制檔案的目錄,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些檔案。/boot/vmlinuz為linux的核心檔案,以及/boot/gurb。建議單獨分割槽,分割槽大小100M即可

/dev:存放linux系統下的裝置檔案,訪問該目錄下某個檔案,相當於訪問某個裝置,常用的是掛載光碟機mount /dev/cdrom /mnt。

/etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置檔案之前記得備份。

注:/etc/X11存放與x windows有關的設定。

/home:系統預設的使用者家目錄,新增使用者賬號時,使用者的家目錄都存放在此目錄下,~表示當前使用者的家目錄,~test表示使用者test的家目錄。建議單獨分割槽,並設定較大的磁碟空間,方便使用者存放資料

/lib:/usr/lib:/usr/local/lib:系統使用的函式庫的目錄,程式在執行過程中,需要呼叫一些額外的引數時需要函式庫的協助,比較重要的目錄為/lib/modules。

/lost+fount:系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下,通常這個目錄會自動出現在裝置目錄下。如載入硬碟於/disk 中,此目錄下就會自動產生目錄/disk/lost+found

/mnt:/media:光碟預設掛載點,通常光碟掛載於/mnt/cdrom下,也不一定,可以選擇任意位置進行掛載。

/opt:給主機額外安裝軟體所擺放的目錄。如:FC4使用的Fedora 社群開發軟體,如果想要自行安裝新的KDE 桌面軟體,可以將該軟體安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下

/proc:此目錄的資料都在記憶體中,如系統核心,外部裝置,網路狀態,由於資料都存放於記憶體中,所以不佔用磁碟空間,比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系統管理員root的家目錄,系統第一個啟動的分割槽為/,所以最好將/root和/放置在一個分割槽下。

/sbin:/usr/sbin:/usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理員root使用的命令,一般使用者只能"檢視"而不能設定和使用。

/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以訪問,重要資料不可放置在此目錄下

/srv:服務啟動之後需要訪問的資料目錄,如www服務需要訪問的網頁資料存放在/srv/www內

/usr:應用程式存放目錄,/usr/bin存放應用程式,/usr/share存放共享資料,/usr/lib存放不能直接執行的,卻是許多程式執行所必需的一些函式庫檔案。/usr/local:存放軟體升級包。/usr/share/doc:系統說明檔案存放目錄。/usr/share/man: 程式說明檔案存放目錄,使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的內容建議單獨分割槽,設定較大的磁碟空間

/var:放置系統執行過程中經常變化的檔案,如隨時更改的日誌檔案/var/log,/var/log/message:所有的登入檔案存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程式或服務啟動後,其PID存放在該目錄下。建議單獨分割槽,設定較大的磁碟空間

2、顏色在linux下的重要性:

   藍色:目錄,

綠色:可執行檔案,

天藍色:符號檔案,

白色:普通檔案,

黃色:裝置檔案,

紅色:失效檔案的連結,

淺紅:壓縮檔案或tarball檔案,

粉色:圖片檔案

3、

[[email protected] root]$

[當前登陸使用者名稱@機器名  當前目錄]管理員

4、更改使用者許可權:

      更改使用者身份su命令

1)          由普通使用者更改為root

$ su

       Password:不顯示

2)          由root更改為普通使用者

# su zhangsan

不需要口令

5、命令

1)、cd  更改的路徑名

    cd   /   根目錄

    cd   ..   上級目錄

2)、ls 顯示檔案(目錄)資訊

幫助資訊:man   ls    ls   --help (有中文)

引數:

  -a 顯示所有檔案,包括以.開頭的隱藏檔案

  -l以長格式顯示檔案或子目錄的詳細資訊

  -R 遞迴的顯示指定目錄中的各個子目錄中的檔案

   -S 以檔案大小排序

   -s  給出每個目錄項所用的塊數

   -t  以檔案的修改時間的先後順序排序

   -d  如果引數是目錄,只顯示其名稱而不顯示其下的各檔案,往往與1選項一起使用,已得到目錄的詳細資訊

   -m 橫向顯示目錄下的檔案,檔名之間以逗號分隔。

Ls –l  以長格式顯示

自己的許可權可讀可寫

作者許可權

所屬組許可權

其他人許可權

檔案所有者     所屬的組   檔案型別   d表示目錄   -表示檔案   l表示連線

R  w  x

4   2  1

-l:以長格式顯示

        -         rwx           rw-           r--

      檔案型別     作者許可權    所屬組許可權    其他人許可權

                      111          110             100

                     4+2+1=7      4+2=6            4

     r:read  讀取     4

     w:write  寫入    2

     x:  可執行     1

           3)、cd更改目錄

cd  檔案目錄

            4)、   mkdir    touch(建立檔案)

           語法:  mkdir [引數] 目錄名 [目錄名]

目錄加上綠色必須有x許可權   能用cd命令

     檔案建立之後,沒有x許可權 

     引數:-m

               指定許可權:

[[email protected] home]# mkdir dir2 -m 755

           -p

       建立多級目錄,同時可建立它的子目錄

[[email protected] dir2]# mkdir -p d1 d2 d3

                     touch

如果touch 後面緊跟的檔名稱存在 就會更新為當前的時間

                           否則生成一個新的檔案(相當於新建一個空檔案)

 [[email protected] dir2]# touch *

將當前目錄下的所有檔案時間修該為當前系統時間。

                          [[email protected] dir2]# touch –d 200111118 test

                           將檔案test的時間修改為20011年11月18日

許可權掩碼umask  022  

    設定掩碼  在umask 後加上你要設定的 許可權掩碼 422

      目錄真實許可權=777-umask    755

      檔案真實許可權=666-umask    644

     5)、 rmdir    rm        

  語法:  rmdir [引數] 目錄名 [目錄名]

       rmdir 

          引數:

-p   遞迴刪除目錄,當子目錄刪除後其父目錄為空時,也一同被刪除。

刪除的必須是一個空目錄 ,並且當前目錄也不能為被刪除的目錄,或者是子目錄,否則目錄不能從系統中刪除。

       引數:

       rm

          引數:

                -i詢問使用者是否刪除,在進行刪除。

               -r  遞迴刪除

               Ctrl+c 停止刪除

               -f  強制刪除

      用rm刪除目錄時不能刪除子目錄,必須加上   -r   這個引數才可以 遞迴刪除  ctrl+c 停止刪除    強制刪除目錄  rm –f

      對於連線檔案,只是刪除了連線,原有檔案均保持不變

            6)、建立連線檔案:  ln命令

               ln [-s]  原始檔或目錄   連線檔名

               引數:-s  建立軟連線(或符號連線)

     7)、檢視被起別名的命令:alias 

          alias  命令名

     8)、臨時修改許可權:Chmod

1)      使用字母方式

U  表示user使用者

分為:加、減、等於

u- (r  w  x)

u+ (r  w  x)

u=(r  w  x)

[[email protected] root]# ls -l test.html

-rw-r--r--    1 root     root           65 12月  9 08:30 test.html

[[email protected] root]# chmod u-w test.html

[[email protected] root]# ls -l test.html

-r--r--r--    1 root     root           65 12月  9 08:30 test.html                

2)      使用數字方式   chmod 許可權 檔名

dir11  dir4  etc  file1  file2  shadow

 [[email protected] dir1]# chmod 644 file1

[[email protected] dir1]# ls

dir11  dir4  etc  file1  file2  shadow

      9)、檔案或目錄複製 cp  copy

  語法:  cp [引數] 原始檔或目錄  目標檔案或目錄

引數:

-f 如果目標檔案或目錄已經存在,不詢問使用者是否刪除,直接刪除在賦值

                     -i 如果目標檔案或目錄已經存在,詢問使用者是否刪除,在進行復制。

                     -R 遞迴複製目錄,即連同目錄下的子目錄和檔案一起復制

                 -p 在複製時保持原始檔的所有者、許可權和時間標誌。

              *:萬用字元,在檔名中出現表示萬用字元

         cp   file1 file2 在同一個目錄下表示將file1重新命名為file2

         Tab  補齊檔名

10)、mv  檔案移動和重新命名

      語法:  mv [引數] 原始檔  目標檔案

            mv用於檔名的修改,或者是將檔案或目錄由一個目錄移入另一個目錄

            如果移入一個目錄則原來的檔名不會變,如果目標檔案也是一個檔案,則原始檔會改為目標檔案的名稱

        引數:

-f 如果目標檔案或目錄已經存在,不詢問使用者是否覆蓋,直接進行覆蓋操作

                     -i 如果目標檔案或目錄已經存在,詢問使用者是否覆蓋原檔案或目錄

          [[email protected] user]# mv /tmp/a.txt .  將a.txt移動到當前目錄下

          [[email protected] user]# mv mydata   myfile 

     11)、cat 顯示檔案內容

          語法:  cat [引數] 檔名 [檔名]

將輸出的內容顯示等到螢幕上,如果有多個檔案,則依次讀取檔案內容並顯示,如果檔案過長,會自動出現滾屏,按ctrl+s 停止滾屏,  ctrl+q 回覆滾屏。

               引數:

                    -n 顯示輸出行的行號。

                    -s 將相連的多個空行用單一空行代替。

                    -e 在每行末尾顯示$符號。

     12)、顯示文字時用到的命令:more   less   wc   head   tail  

 (1)more

語法:  more[引數] 檔名

 ----分頁顯示 more 檔名稱  回車顯示下一行   空格顯示下一頁  不能回滾  只能向下移動

(2)less

語法:  less[引數] 檔名

  -分頁顯示 more 檔名稱  回車顯示下一行   空格顯示下一頁  能回滾 

(3)wc 統計

-c或--bytes或--chars   只顯示Bytes數。
  -l或--lines   只顯示行數。
  -w或--words   只顯示字數。每一個空格算一個

例題:

    [[email protected] user]# wc 3.txt  /home/user/a.php

統計3.txt  a.php  檔案中分別出現的行數、單詞數、字元數,以及總的結果數

3   4   65    3.txt

4   2   57    a.php

7   6   122   總用量

(4)head   顯示頭幾行

       Head  -10  檔名

   語法:  head[引數] 檔名列表

(5)tail     顯示後幾行

       Tail   -10  檔名

語法:  tail[引數] 檔名列表

              [[email protected] user]#  hear -10 | tail -1  a.php

顯示a檔案第十行 hear -10 | tail -1

13)、find查詢

find 可以指定查詢條件如名稱,型別,時間,檔案大小,許可權和所有者查詢,針對多個條件進行與或非的邏輯運算。我們可以控制find的查詢的行為,還可以和其他命令組合使用。

find
find .
find . -print
三者等效, 查詢當前目錄下所有的檔案和目錄(遞迴子目錄),以每行一個檔案或者目錄的形式列舉出,不包含隱藏檔案

find lib opt bin
同上,查詢指定的多個目錄(lib/opt/bin)

(1) 指定查詢條件

1) 按名稱查詢


find . -name readme.txt
查詢當前目錄下(遞迴子目錄)的所有名為readme.txt的檔案

find . -name \*.txt
find . -name "*.txt"
查詢當前目錄下(遞迴子目錄)的所有名稱以.txt結尾的檔案,注意*號的寫法,需要前面加\或者放到雙引號中

find . -iname \*.txt
預設find是區分大小寫的,如果不想區分大小寫,請使用-iname替代-name,如上則"abc.TXT"將被查詢到

2) 按型別查詢

find . -type d
查詢當前目錄下(遞迴子目錄)的所有目錄

find . -type f
查詢當前目錄下(遞迴子目錄)的所有檔案

find . -type l
查詢當前目錄下(遞迴子目錄)的所有符號連結

3) 按時間查詢

1. 以小時為單位的時間
find 命令三個選項用於按照時間查詢,單位都是小時:

mtime — 檔案內容上次修改時間
atime — 檔案被讀取或訪問的時間
ctime — 檔案狀態變化時間

這三個選項都需要配置一個n值使用,可以是-n / n / +n:
-n 小於 n
n 正好與 n 相等
+n 大於 n

find . -mtime -1
查詢當前目錄下(遞迴子目錄)的所有1小時內修改的檔案和目錄
find . -mtime +1
查詢當前目錄下(遞迴子目錄)的所有修改時間超過1小時的檔案和目錄
find . -mtime 1
查詢當前目錄下(遞迴子目錄)的所有恰好在1小時前修改的檔案和目錄

2. 以分鐘為單位的時間
用法和*time類似,mmin、amin和cmin 的不同在於單位時間是分鐘,用於查詢在不到1小時的時間內變化了的檔案和目錄

find . -mmin -10
查詢當前目錄下(遞迴子目錄)的所有10分鐘內修改的檔案和目錄

find . -mmin +20
查詢當前目錄下(遞迴子目錄)的所有20分鐘外1小時內修改的檔案和目錄

3. 與特定的檔案比較
-newer,-anewer和-cnewer選項用於查詢與特定的檔案比較的已修改或訪問過的檔案,類似mtime,atime和ctime
-newer 指內容最近被修改的檔案
-anewer 指最近被讀取過的檔案
-cnewer 指狀態最近發生變化的檔案

find . -newer a.txt
查詢當前目錄下(遞迴子目錄)的所有修改時間在a.txt之後(所以檔案更新)的檔案和目錄


4) 按檔案大小查詢

1. -size 選項用於查詢滿足指定的大小條件的檔案(注意不查詢目錄), +表示大於, -表示小於, 沒有+1表示正好等於。檔案大小的單位可以是位元組(用c表示), kb(用k表示)。

find . -size -100c
查詢當前目錄下(遞迴子目錄)的所有檔案大小小於100位元組的檔案

find . -size +100k
查詢當前目錄下(遞迴子目錄)的所有檔案大小大於100k的檔案

find . -size 0
查詢當前目錄下(遞迴子目錄)的所有檔案大小為0的檔案

2. -empty 查詢空檔案和空資料夾, 和-size 0不同的在於-size 0 只查詢空檔案,或者說-empty -type f 等同於-size 0 :

find . -empty
查詢當前目錄下(遞迴子目錄)的所有檔案大小為0的檔案和空資料夾

find . -empty -type f
查詢當前目錄下(遞迴子目錄)的所有檔案大小為0的檔案

find . -empty -type d
查詢當前目錄下(遞迴子目錄)的所有空目錄


5) 按許可權和所有者查詢

find . -perm 777
查詢當前目錄下(遞迴子目錄)的所有許可權為777的檔案和目錄

find . -perm -u=rwx
查詢當前目錄下(遞迴子目錄)的所有user許可權為rwx的檔案和目錄

find . -perm -ug=x
查詢當前目錄下(遞迴子目錄)的所有user和group許可權為x的檔案和目錄

find . -user sky
查詢當前目錄下(遞迴子目錄)的所有user為sky的檔案和目錄

find . -group users
查詢當前目錄下(遞迴子目錄)的所有group為users的檔案和目錄

(2) 查詢條件的邏輯運算

1. 邏輯與

find . -name "*.java" -size -mmin -10
find . -name "*.java" -a -size -mmin -10
查詢當前目錄下(遞迴子目錄)的所有名為*.java並且修改時間在10分鐘之內的檔案,-a是預設選項

2. 邏輯或
find . -name "*.class" -o -name "*.jar"
查詢當前目錄下(遞迴子目錄)的所有名為*.class或者*.jar的檔案和目錄

3. 邏輯非

find . ! -user sky
查詢當前目錄下(遞迴子目錄)的所有user不是sky的檔案和目錄

(3) 控制查詢的行為

find . -maxdepth 3 -name "*.txt"
查詢當前目錄下(遞迴子目錄)的所有名為*.txt的檔案,目錄深度不超過3層

find . -maxdepth 1 -name "*.txt"
查詢當前目錄下(不遞迴子目錄,因為maxdepth為1)的所有名為*.txt的檔案

find . -mindepth 3 -name "*.txt"
查詢當前目錄下(遞迴子目錄)的所有名為*.txt的檔案,目錄深度不低於3層

find . -mindepth 1 -name "*.txt"
查詢當前目錄下的子目錄中(遞迴子目錄)的所有名為*.txt的檔案,不包含當前目錄

find . -depth -name "*.txt"
查詢當前目錄下(遞迴子目錄)的所有名為*.txt的檔案,每個目錄都是先在目錄中進行查詢,然後才繼續查詢其子目錄

(4) find和其他命令的組合

find . -name "*.jar" -exec ls -l {} \;

find . -name "*.jar" -ls
查詢當前目錄下(遞迴子目錄)的所有*.jar檔案並使用ls -l列出詳細資訊

find . -name "*.java" -exec grep HashMap {} \;
查詢當前目錄下(遞迴子目錄)的所有的含有"HashMap"字樣的*.java檔案

find . -name "*.sh" -exec mv {} backup \;
查詢當前目錄下(遞迴子目錄)的所有的*.sh檔案並移動到backup目錄中

14)、locate 查詢

   [[email protected] user]# Locate   file1

Locate: 在檔名資料庫中查詢檔案和目錄,速度比find命令快(不存在庫就會查不到)

     需要注意的是 如果用locate查詢必須先執行它Updatedb,保證查詢的準確性

15)、grep 查詢

語  法:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本檔案>][--help][範本樣式][檔案或目錄...]

參  數:
  -a或--text   不要忽略二進位制的資料。
  -A<顯示列數>或--after-context=<顯示列數>   除了顯示符合範本樣式的那一列之外,並顯示該列之後的內容。
  -b或--byte-offset   在顯示符合範本樣式的那一列之前,標示出該列第一個字元的位編號。
  -B<顯示列數>或--before-context=<顯示列數>   除了顯示符合範本樣式的那一列之外,並顯示該列之前的內容。
  -c或--count   計算符合範本樣式的列數。
  -C<顯示列數>或--context=<顯示列數>或-<顯示列數>   除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
  -d<進行動作>或--directories=<進行動作>   當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。
  -e<範本樣式>或--regexp=<範本樣式>   指定字串做為查詢檔案內容的範本樣式。
  -E或--extended-regexp   將範本樣式為延伸的普通表示法來使用。
  -f<範本檔案>或--file=<範本檔案>   指定範本檔案,其內容含有一個或多個範本樣式,讓grep查詢符合範本條件的檔案內容,格式為每列一個範本樣式。
  -F或--fixed-regexp   將範本樣式視為固定字串的列表。
  -G或--basic-regexp   將範本樣式視為普通的表示法來使用。
  -h或--no-filename   在顯示符合範本樣式的那一列之前,不標示該列所屬的檔名稱。
  -H或--with-filename   在顯示符合範本樣式的那一列之前,表示該列所屬的檔名稱。
  -i或--ignore-case   忽略字元大小寫的差別。
  -l或--file-with-matches   列出檔案內容符合指定的範本樣式的檔名稱。
  -L或--files-without-match   列出檔案內容不符合指定的範本樣式的檔名稱。
  -n或--line-number   在顯示符合範本樣式的那一列之前,標示出該列的列數編號。
  -q或--quiet或--silent   不顯示任何資訊。
  -r或--recursive   此引數的效果和指定“-d recurse”引數相同。
  -s或--no-messages   不顯示錯誤資訊。
  -v或--revert-match   反轉查詢。
  -V或--version   顯示版本資訊。
  -w或--word-regexp   只顯示全字符合的列。
  -x或--line-regexp   只顯示全列符合的列。
  -y   此引數的效果和指定“-i”引數相同。
  --help   線上幫助。

使用

如果預料到有許多輸出,您可以通過 管道將其轉到‘less’上閱讀: feedom.net

$ grep magic /usr/src/linux/Documentation/* | less

這樣,您就可以更方便地閱讀。

有一點要注意,您必需提供一個檔案過濾方式(搜尋全部檔案的話用 *)。如果您忘了,‘grep’會一直等著,直到該程式被中斷。如果您遇到了這樣的情況,按 <CTRL c> ,然後再試。

下面是一些有意思的命令列引數:

·         grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,

·         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 的行。

這裡還有些用於搜尋的特殊符號:

·         < 和 > 分別標註單詞的開始與結尾。
例如:

o        grep man * 會匹配 ‘Batman’、‘manic’、‘man’等,

o        grep \'<man\' * 匹配‘manic’和‘man’,但不是‘Batman’,

o        grep \'<man>\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字串。

·         \'^\':指匹配的字串在行首,

·         \'$\':指匹配的字串在行尾,

·         如果您不習慣命令列引數,可以試試圖形介面的‘grep’,如 reXgrep 。這個軟體提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。


.grep 搜尋字串
命令格式:
grep string filename
尋找字串的方法很多,比如說我想找所有以M開頭的行.此時必須引進pattern的觀
念.以下是一些簡單的□例,以及說明:
^M 以M開頭的行,^表示開始的意思
M$ 以M結尾的行,$表示結束的意思
^[0-9] 以數字開始的行,[]內可列舉字母
^[124ab] 以1,2,4,a,或b開頭的行

* 星號表示0個以上的字母(可以沒有)
+ 加號表示1個以上的字母
/ 斜線可以去掉特殊意義

 16)、重定向和管道符號(|) > 覆蓋  >>追加   cat (讀取檔案)

>定向 把要輸出到螢幕的內容儲存下來,定向到一個指定的檔案中 ,發生覆蓋        

   ls > file1          將顯示的內容寫入file1裡

Cat file1 > file3   讀取file1到file3裡

     cat file1 顯示內容

       >>重定向  到另一個地方 不會發生覆蓋,會在尾部追加。

Cat file2 >> file3   將file2裡德內容追加到file3中

Cat file3

17)、Tar  命令(歸檔、備份(也可壓縮))

Tar 壓縮檔案  相當於歸檔(不完全是壓縮)有*.tar.zp

壓縮檔案  *.Z  *.c  *.gz  *.Zip等

引數

-c  create建立歸檔檔案

-t   list顯示歸檔檔案的內容

-x   恢復(顯示)歸檔檔案

-C   儲存歸檔檔案到外部的儲存裝置

-f  file 指定歸檔檔案的名稱

-F  force 

-v  berbose  顯示執行過程中的詳細資訊

-z 壓縮

1、建立歸檔檔案(備份)

       整合需要的檔案和資料夾(不等於壓縮)

       Tar –cvf  /etc  自定義的歸檔檔名稱.tar  需要歸檔的檔案或資料夾名稱(多個之間用空格分開)

2、檢視歸檔檔案內容(多個歸檔檔案共存)

       當passwd  huo shadow 被損壞時

[[email protected] home]# tar  -tvf  user.tar(歸檔檔名)

3、釋放歸檔檔案(需要還原系統)

       從外部裝置拷貝到系統 mnt掛載點

       釋放歸檔檔案

              Tar  -xvf  (歸檔檔名)

18)、壓縮:zip  unzip

 語法:zip[引數]  壓縮檔名  被壓縮的檔案或目錄

   引數:

-D 不在zip檔案中儲存檔案的目錄資訊

     -g 將檔案壓縮後新增到zip檔案中

     -m 將特定檔案移入zip檔案中,並且刪除特定檔案

     -r  遞迴壓縮

   [[email protected] home]# zip   test.zip  test/*

     將test目錄下的所有檔案壓縮為test.zip

解壓: unzip  [引數]  (指定要被解壓的檔名)

     -d 將解壓後的檔案存放到指定的資料夾下。

     -v  檢視壓縮檔案目錄,但不解壓。

     -n  不覆蓋已經存在的檔案

     -o  覆蓋已經存在的檔案,但是不需要使用者確認

     -j  不重建文件的目錄結構,把所有檔案解壓到同一目錄下。

     19)、gzip  gunzip

          Linux系統中常見的壓縮和解壓縮的命令,檔名以“.Gz“為字尾。壓縮後,預設情況下原始檔被壓縮後的檔案所取代。

       語法:gzip[引數]  壓縮  (解壓縮) 的檔案

       引數:

 -c 將輸出寫到標準輸出上,並保留原始檔。

-d  將壓縮檔案解壓

           -l  對每個壓縮檔案,顯示壓縮檔案的大小,未壓縮檔案的大小,壓縮比等資訊。

           -v 對每一個壓縮和解壓的檔案,顯示檔名和壓縮比。

           -r  遞迴式的查詢指定目錄並壓縮其中的所有檔案或者是解壓縮。

   [[email protected] home]# gzip  -v  ls.txt

       [[email protected] home]# gzip  -dv  ls.txt.gz   解壓   -d

       [[email protected] home]# gunzip  ls.txt.gz      解壓    gunzip

20)、vi編輯器

1、用vi開啟一個已經編輯過的檔案  vi  test.html

內容為:qqqqqqq  

現在:(注意:必須是已經編輯完的檔案並且都要在命令狀態下(ESC))

Esc退出

按鍵:

   小寫a  此時輸出的內容在游標所處地之後輸出

   小寫i  此時輸出的內容在游標所處地之前輸出

小寫o  此時輸出的內容在游標所處的行之後另起一行輸出

大寫a  此時輸出的內容在游標所處的行尾輸出

   大寫i  此時輸出的內容在游標所處的行首輸出

大寫o  此時輸出的內容在游標所處的行之前另起一行輸出

2、ESC命令後  由編輯狀態到命令狀態

退出  :q    儲存退出:shift+Z+Z     強制儲存退出:wq!

3、加上行號 set nu(number) 加行號

   取消行號 set nonu  

4、Ctrl+d 強制結束輸入

Ctrl+Z

Ctrl+C強制結束執行

5、合併兩個檔案的內容

File1    aaaaaaa

File2    bbbbbbb

現在將file1的內容讀入到file2中

首先開啟file1 在命令狀態下(ESC或者進來什麼都沒有操作的情況下)

Shift+:read  file2    ->  enter   這時就會把file2中的內容複製到游標所在地

6、執行外部命令::r  !  命令

     命令狀態下:

            :r  !date

            :r  !ls –l  同樣會把應當顯示到螢幕上的內容儲存到該檔案中

7、gg      檔案第一行

   Shift+g  檔案尾行

   H      當前頁第一行(header)

   L       當前頁尾行  (lower)

   M       當前頁中間行 (middle)

:set  ic 不區分大小寫的查詢

  按照行號查詢

:先要設定行號 :set nu  

:行號 (12)

8、替換  s

    1) :s/要替換的內容/替換成什麼/

2) :s/要替換的內容/替換成什麼/g    

g表示替換當前行中的所有出現的要替換的內容

3) 多行替換:

      :2,34s/要替換的內容/替換成什麼/ [g]

10、複製 yy  yy前無數字表示覆制一行  像這樣:3yy複製3行(複製包括當前游標在向下數3-1行)

    貼上  p

u撤銷   d刪除

11、 刪除

     X    按照字元刪除  x    nx

     dd   按照段落刪除 

     ndd  多段刪除

     r     替換一次(游標上的那個)  abcdefg

     R     替換多次abcdefg   

12、在檔案裡寫命令

# 表示註釋,

但是在 #!  bin/bash這條語句中不是,他代表要用那種shell

      在這裡可以寫任意的命令

不過要把它的許可權設定為可執行檔案

用到的時候就去執行這個檔案,他會把裡面的命令全部執行,比如可以做一個定時執行的東西

注意:只有在該檔案為綠色的時候才能被執行,修改它的許可權的方法是 chmod  數字許可權  檔名

21)、清屏

Clear

相關推薦

linux檔案目錄基本操作linux命令cptar歸檔lscdtrsumorelessvicat

  1、Linux下的目錄結構: /:根目錄,一般根目錄下只存放目錄,不要存放檔案,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分割槽中 /bin:/usr/bin:可執行二進位制檔案的目錄,如常用的命令ls、tar、mv、cat等。 /boot

鳥哥的Linux私房菜學習筆記Linux 檔案目錄磁碟格式 —— Linux檔案目錄管理

4.檔案與目錄的預設許可權與隱藏許可權1) 檔案預設許可權:umaskumask 就是檢視或指定 『目前使用者在建立檔案或目錄時候的許可權預設值』[[email protected] ~]# umask[[email protected] ~]# umask -S查閱的方式有兩種,一種可以

《鳥哥的Linux私房菜基礎》第七章Linux 檔案目錄管理

絕對路徑:『一定由根目弽 / 寫起』;相對路徑:『不是由 / 寫起』 特殊目錄有:., .., -, ~, ~account需要注意; 與目錄相關的指令有:cd, mkdir, rmdir, pwd 等重要指令; rmdir 僅能刪除空目錄,要刪除非空目錄需使用『 rm

Linux檔案目錄管理

int 最終 改名 方式 增加 列目錄 絕對路徑 時間排序 存取 pwd -P 顯示絕對路徑,而非link路徑 mkidr -m 預設權限,忽略umask值,如 [[email protected]/* */ ~]# rm -rf test/ [[email&

筆記《鳥哥的Linux私房菜》7 Linux檔案目錄管理

lin 隱藏 lsa root less 創建 /var/ roo 專用 cd cd xxx 更換目錄 cd~ 回到家目錄 cd- 回到前一目錄 pwd pwd 當前目錄路徑 pwd -P 非鏈接路徑 mkdir mkdir xxx 創建目錄 mkdir -p x

Linux檔案目錄管理大全

我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。 其他目錄通過掛載可以將它們新增到樹中,通過解除掛載可以移除它們。 在開始本教程前我們需要先知道什麼是絕對路徑與相對路徑。 絕對路徑: 路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。

Linux - 檔案目錄管理 李作強

我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。 其他目錄通過掛載可以將它們新增到樹中,通過解除掛載可以移除它們。 在開始本教程前我們需要先知道什麼是絕對路徑與相對路徑。 絕對路徑: 路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。

linux檔案目錄管理——路徑目錄

                                  路徑與目錄 1.相對路徑與絕對路徑   絕對路徑: 在bash中進行目錄相關的路徑操作時,從 ‘/’開始寫的目錄。eg:/home/student/Desktop. 特點:比較準如果是在寫程式管理系統的情

Linux學習筆記10——Linux 檔案目錄管理

一、目錄與路徑 如果是在寫程式 (shell scripts) 來管理系統的條件下,務必使用絕對路徑的寫法。 怎麼說呢?因為絕對路徑的寫法雖然比較麻煩,但是可以肯定這個寫法絕對不會有問題。 如果使用相對路徑在程式當中,則可能由於你執行的工作環境不同,導致一些問題的發生。

Linux學習:Linux 檔案目錄管理

引用:《鳥哥的Linux私房菜基礎篇第三版》 在前一章我們認識了Linux系統下的檔案許可權概念以及目錄的配置說明。 在這個章節當中,我們就直接來進一步的操作與管理檔案及目錄吧!包括在不同的目錄間變換、 建立與刪除目錄、建立與刪除檔案,還有尋找檔案、檢視檔案內容等等,都

Linux 檔案目錄管理知識隨筆

目錄管理 1、目錄概念     Linux 當中所有內容都已檔案形式存在,所以檔案管理,目錄管理我自認為是一個最基本的知識了。Liunx目錄結構以根目錄為頂點,往下是樹狀結構分別是 /bin /sbin /user  /boot /dev /etc /home 等 &nbs

7.linux檔案目錄管理

1.目錄與路徑 ①特殊的目錄:     .    代表此層目錄     ..   代表上一層目錄(根目錄的.與..都是同一個目錄)     -    代表前一個工作目錄    ~    代表“目前使用者身份”所在的主資料夾,如~liupeng911,代表liupeng911

Linux - 檔案目錄【資料夾】的管理

檔案與目錄的管理上,不外乎『顯示屬性』、 『拷貝』、『刪除檔案』及『移動檔案或目錄』等等,由於檔案與目錄的管理在 Linux 當中是很重要的, 複製、刪除與移動: cp, rm, mv  cp -a :可以完整複製檔案許可權、時間的選項,但是與擁有者、群組相關的,即使加上-a

第七章:Linux檔案目錄管理

一、目錄與路徑 1.1、絕對路徑與相對路徑 絕對路徑:/ 相對路徑:非/開頭 2、目錄的相關操作 幾個比較特殊的目錄 1、.:當前目錄; 2、..:上一層目錄; 3、-:前一個目錄; 4、~:當前目錄所在的主資料夾 5、~使用者:該使用者

Linux-檔案目錄的預設許可權隱藏許可權

[[email protected] ~]# chattr [+-=][ASacdistu] 檔案或目錄名稱 選項與引數: + :新增某一個特殊引數,其他原本存在引數則不動。 - :移除某一個特殊引數,其他原本存在引數則不動。 = :配置一定,且僅有後面接的引數 A :當配置了

Linux學習筆記】Chapter 7 Linux檔案目錄管理_筆記

【記錄整理自《鳥哥的Linux私房菜》】 一、目錄與路徑 1.相對路徑與絕對路徑 1)絕對路徑:路徑的寫法一定由根目錄(/)寫起,比如/usr/share/doc這個目錄 a)用途:正確度比較

Linux 基礎學習 Linux檔案目錄管理

Linux distribution : ubuntu 16.04 LTS 參考書籍: 《鳥哥的Linux私房菜 基礎學習篇(第三版)》 今天白天除錯了一天的Wifi模組透傳,有點小累,不過還是要繼續學習Linux基礎。 1.本章中主要使用的常見的處理目錄的命令:  

Linux檔案目錄的三種時間狀態(mtime,atime,ctime)區別

                                Linux檔案與目錄的三種時間狀態 1.mtime(modify time):最後一次修改檔案或目錄的時間 2.ctime(change time) :最後一次改變檔案或目錄(改變的是原資料即:屬性)的時間

2.Linux檔案目錄管理

Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。 其他目錄通過掛載可以將它們新增到樹中,通過解除掛載可以移除它們。 絕對路徑: 路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。 相對路徑: 路徑的寫法,不是由 / 寫起,例

Linux檔案目錄管理(1)

Linux一般將檔案可存取的身份分為三個類別(owner/group/others),三種身份各自具有各自的r/w/x許可權。 Linux檔案型別: 1、普通檔案(regular file,符號'-'): a、純文字(ASCII):Linux系統中最多的一種