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命令(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私房菜學習筆記(二)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系統中最多的一種