歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

文件目錄管理命令

1.目錄管理:ls、cd、pwd、mkdir、rmdir、tree

ls

-l:長格式

文件類型:

-:普通文件

d: 目錄文件

b: 塊設備文件(block)

c: 字符設備文件(character)

l: 符號鏈接文件(symbolic link file)

p: 命令管道文件(pipe)

s: 套接字文件(socket)

文件權限:9位,每3位為一組,每組由rwx(讀、寫、執行)組成。

文件硬連接的次數

文件的屬主(owner)

文件的屬組(group)

文件的大小(size)單位是字節

時間戳(timestamp):最近一次被修改的時間,也就是文件內容被改變的時間

訪問時間:access

修改時間:modify,文件內容發生了改變

改變時間:change,metadata,元數據

-h:做單位轉換(默認字節轉換為kb)(K、M、G)

-a: 顯示以. 開頭的隱藏文件

. 表示當前目錄

.. 表示父目錄

-A:

-d:顯示目錄自身屬性

-i:index node inode(字節號)

-r:逆序顯示

-R:遞歸(recursive)顯示

cd: change directory

家目錄, 主目錄,home directory

cd ~USERNAME:進入指定用戶的家目錄

cd -: 在當前目錄和前一次所在目錄之間來回切換

命令類型:

內置命令(shell內置)

外部命令:在文件系統的某個路徑下有一個與命令名稱相應的可執行文件

type:顯示命令為哪種(內置/外部)類型

pwd:Printing Working directory 當前工作目錄

mkdir :創建空目錄

-p:parent 遞歸創建目錄,需要時創建目錄的上層目錄,但即使這些目錄已存在也不當作錯誤處理

-v:verbose 每次創建目錄都顯示信息

命令行展開:

(a+d)(b+c)=ab+ac+db+dc

{a,d}_{b,c} = a_b, a_c, d_b, d_c

rmdir:刪除目錄(remove directory)

刪除空目錄

-p:parents 刪除指定目錄及其上級文件夾

tree :查看目錄樹

2.文件管理:touch、stat、file、rm、cp、mv、nano

touch:每個文件的訪問時間和修改時間改為當前時間。

如果這個文件不存在則創建該文件文件

-a:只更改訪問時間

-c:--no-create 不創建任何文件

-m:只更改修改時間

-t: STNMP 使用[[CC]yy]MMDDhhmm[.ss]格式的時間而非當前時間

stat

用法:stat [選項]... 文件...

Display file or file system status.

-L, --dereference follow links

-Z, --context print the SELinux security context

-f, --file-system display file system status instead of file status

-c --format=格式 使用指定輸出格式代替默認值,每用一次指定格式換一新行

--printf=格式 類似 --format,但是會解釋反斜槓轉義符,不使用換行作

輸出結尾。如果您仍希望使用換行,可以在格式中

加入"\n"

-t, --terse 使用簡潔格式輸出

--help 顯示此幫助信息並退出

--version 顯示版本信息並退出

有效的文件格式序列(不使用 --file-system):

%a 八進制權限

%A 用可讀性較好的方式輸出權限

%b 計算已分配塊數(參見%B)

%B 以字節為單位輸出%b 所報告的每個塊的大小

%C SELinux 安全環境字符串

%d 十進制設備編號

%D 十六進制設備編號

%f 十六進制原始模式

%F 文件類型

%g 文件的屬組ID

%G 文件的屬組組名

%h 硬鏈接數量

%i Inode 編號

%n 文件名

%N 如果對象是一個符號鏈接,顯示引用到的其它文件名

%o I/O 塊大小

%s 總計大小,以字節為單位

%t 十六進制主設備類型

%T 十六進制子設備類型

%u 文件的屬主ID

%U 文件的屬主用戶名

%x 上次訪問時間

%X 從UNIX 元年起計的上次訪問時間

%y 上次修改時間

%Y 從UNIX 元年起計的上次修改時間

%z 上次更改時間

%Z 從UNIX 元年起計的上次更改時間

有效的文件系統格式序列:

%a 非超級用戶可用的剩余塊數

%b 文件系統的總數據塊數

%c 文件系統中文件節點總數

%d 文件系統中空閒文件節點數

%f 文件系統中空閒塊數

%C SELinux 安全環境字符串

%i 十六進制文件系統ID

%I 允許的文件名最大長度

%n 文件名

%s 塊大小(用於快速傳輸)

%S 基本塊大小(用於塊計數)

%t 十六進制類型描述

%T 可讀性較好的類型描述

ASCII

128不同的字符:

二進制:

2^6=0,63

2^7=0,127

000 0000 - 111 1111

2^16=65536

漢字標准:GB1830、GBK、 GB2312、Unicode

創建文件,可以使用文本編輯器 nano

^是Ctrl

^G 求助

^O 寫入

^R 讀檔

^Y 上頁

^K 剪下文字

^C 游標位置

^X 離開

^J 對齊

^W 搜尋

^V 下頁

^U 還原剪下

^T 拼寫檢查

file:Determine type of file 確定文件類型

rm:刪除文件

-i: 在刪除前需要確認

-f: force 強制刪除。忽略不存在的文件,不提示確定

-r: recursive 遞歸刪除目錄及內容

復制和移動文件

復制文件

cp:copy 將源文件復制至目標文件,或將多個源文件復制至目標目錄。

用法:cp [選項]... [-T] 源文件 目標文件

或:cp [選項]... 源文件... 目錄

或:cp [選項]... -t 目錄 源文件...

-r:遞歸復制目錄及其子目錄內的所有內容

-i: interactive 蓋前詢問(使前面的 -n 選項失效)

-f: 如果目標文件無法打開則將其移除並重試(當 -n 選項)

-p: 等於--preserve=模式,所有權,時間戳

--preserve[=屬性列表保持指定的屬性(默認:模式,所有權,時間戳),如果可能保持附加屬性:環境、鏈接、xattr 等]

-a: 不保留指定的文件屬性,復制前在目標目錄創建來源文件路徑中的所有目錄

移動文件

mv:move 將源文件重命名為目標文件,或將源文件移動至指定目錄。

用法:mv [選項]... [-T] 源文件 目標文件

或:mv [選項]... 源文件... 目錄

或:mv [選項]... -t 目錄 源文件...

3.文本處理:cat、more、less、head、hail、sort、wc、uniq、grep

查看文本

cat、more、less、head、tail

cat:連接並顯示 將[文件]或標准輸入組合輸出到標准輸出。

用法:cat [選項]... [文件]...

-n: --number 對輸出的所有行編號

-E: --show-ends 在每行結束處顯示"$"

分屏顯示

more、less

more:向後翻

less:

翻屏:

向後翻一屏:SPACE

向前翻一屏:b

向後翻一行:ENTER

向前翻一行:k

查找:

/KEYWORD: 向後

n: 下一個

N:前一個

?KEYWORD:向前

n: 下一個

N:前一個

q: 退出

head:查看前n行

tail:查看後n行

-n

tail -f: 查看文件尾部,不退出,等待顯示後續追加至此文件的新內容可以監控日志文件);

文本處理:

cut、join、sed、awk(sed、awk查看單獨文檔)

cut:文本剪切

-d:指定字段分割符(默認是一個空格)

-f:指定要顯示的字段

-f 1,3:第一段和第三段

-f 1-3:第一段到第三段

join:針對每一對具有相同內容的輸入行,整合為一行寫到標准輸出,

默認的內容連接區塊是由第一個空白符代表的分界符號。當文件1

或文件2 都被指定為"-"時,程序將從標准輸入讀取數據。

用法:join [選項]... 文件1 文件2

-a 文件編號 文件編號的值可以是1 或2,分別對應文件1 和 文件2。

此選項用於根據指定文件編號輸出不成對的行目。

-e 字符 將缺失的輸入區塊替換為指定字符

-i, --ignore-case 比較時忽略大小寫

-j 域 等於"-1 域 -2 域"

-o 格式 按照指定格式構造輸出行

-t 字符 使用指定字符作為輸入和輸出的分隔符

-v 文件編號 類似 -a 文件編號,但禁止組合輸出行

-1 域 在文件1 的此域組合

-2 域 在文件2 的此域組合

文本排序:sort

sort:只影響顯示,默認是根據ASIIC的升序排列

-n:按照數值大小升序排序

-r:降序排序

-t:字段分隔符

-k:以哪一個字段進行比較

-u:排序後相同行只顯示一次

-f:排序時忽略字符大小寫

uniq:相同並相鄰行只顯示一次

-d:報告顯示重復的行

-c:顯示文件中某一行重復的次數

文本統計:wc(word count)

行數 單詞數 字節數(包括空格)

-l:只顯示行數

-L:只顯示最長的行包含多少字符

-w:只顯示單詞數

-c:只顯示字節數

-m:只顯示字符數

字符處理命令:tr:轉換或刪除字符

用法:tr [OPTION]... SET1 [SET2]

-d:刪除出現字符集中的所有字符

grep:在每個 FILE 或是標准輸入中查找 PATTERN。

用法: grep [選項]... PATTERN [FILE]...

正則表達式選擇與解釋:

-E, --extended-regexp PATTERN 是一個可擴展的正則表達式(縮寫為 ERE)

-F, --fixed-strings PATTERN 是一組由斷行符分隔的定長字符串。

-G, --basic-regexp PATTERN 是一個基本正則表達式(縮寫為 BRE)

-P, --perl-regexp PATTERN 是一個 Perl 正則表達式

-e, --regexp=PATTERN 用 PATTERN 來進行匹配操作

-f, --file=FILE 從 FILE 中取得 PATTERN

-i, --ignore-case 忽略大小寫

-w, --word-regexp 強制 PATTERN 僅完全匹配字詞

-x, --line-regexp 強制 PATTERN 僅完全匹配一行

-z, --null-data 一個 0 字節的數據行,但不是空行

後面會有單獨的章節介紹sed、awk、grep。

Copyright © Linux教程網 All Rights Reserved