本次博文我們來學習下Linux系統中使用頻率比較高的文件管理類命令哈。
主要內容:
1、文件管理的概述;
2、文件管理命令詳解;
上次博文,我們學習了Linux的哲學思想,其中之一就是:Linux中一切皆文件。由此,文件管理就是Linux系統的重要功能之一。
一、文件管理的概述:
問題引入:Linux系統是如何管理文件的?
這個問題我們在上次博文也闡述過了哈。在Linux系統中,文件/目錄被組織成一顆倒置的樹狀結構。層次化結構能夠大大減小查找的復雜度–>如果系統內文件很多,則目錄文件會變得很長,要查找某個文件將耗費太多的時間(例如:我們要查找一個文件,但不知道它存儲在什么地方,此時我們就需要從“/”開始查找,那肯定是非常耗時間哈。若此時我們知道這個文件保存在"/var/log/” 下,那查找起來肯定快的多哈?。涫且环N層次化的數據結構,它由根結點,子結點以及子子結點組成。Linux借用樹狀結構來組織它的文件目錄,形成樹型目錄組織。樹型目錄組織是多級目錄組織的一種形式。
對應的文件操作為:增(創建新文件)、刪(刪除文件)、查(查看、查找一個文件)、改(修改一個文件的名稱或內容)4種。做個簡單的歸納,如下圖所示:
二、文件管理命令詳解:
根據上面的文件管理命令歸納圖,我們詳細介紹下具體的使用方法和注意事項。
1、mkdir:創建目錄命令
命令名稱:mkdir 命令 英文原意:make directories 命令所在路徑:/bin/mkdir 執行權限:所有用戶 語法:mkdir [選項] [目錄名] 功能描述:創建新目錄 常用的選項: -p:如果父目錄不存在則創建之 -v:顯示創建過程
范例:創建/tmp/etc/rc.d, /tmp/etc/rc.d/init.d, /tmp/etc/rc.d/rc0.d, /tmp/etc/sysconfig, /tmp/etc/pam, /tmp/etc/yum.repos.d/
2、cp:復制文件或目錄命令
命令名稱:cp命令 英文原意:copy 命令所在路徑:/bin/cp 執行權限:所有用戶 語法:cp 選項 [源文件或目錄] [目的目錄] 常用選項: -r,-R:遞歸復制 -a:全遞歸復制,盡可能將檔案狀態、權限等資料都照原狀予以復制,其作用等于dpR選項的組合 -i:交互式(覆蓋前提醒確認) -v:顯示命令執行過程
范例:將上個例子中的/tmp/etc/下的內容復制到/root/etc/
3、rm:刪除命令
命令名稱:rm 命令英文原意:remove 命令所在路徑:/bin/rm 執行權限:所有用戶 功能描述:刪除 文件語法:rm [選項] [文件或目錄] 常用選項: -i:交互式(刪除前提醒確認) -f:強行刪除 -r:遞歸刪除目錄及其內部的所有文件
范例:強行刪除/目錄下的所有文件(注意,刪除前在虛擬機中做好快照備份)
提示說刪除根是非常危險的哈(root用戶有至高無上的權力,可以刪除一切),這里有保護不給直接刪除,不過看下面的:
找不到命令了都,文件徹底沒了哈!~所以,慎用rm -rf 命令;
4、rmdir:刪除空目錄
命令名稱:rmdir 命令英文原意:remove directory 命令所在路徑:/bin/rmdir 執行權限:所有用戶 功能描述:刪除目錄,注意,目錄必須為空目錄 語法:rmdir [選項] [文件或目錄]
范例:
5、ls:列出目錄內容
命令名稱:ls 命令英文原意:list 命令所在路徑:/bin/ls 執行權限:所有用戶 功能描述:顯示目錄內容 語法:ls [選項] [文件或目錄] 常用選項: -a:顯示所有文件,包括隱藏文件 -l: 以長列表方式顯示目錄下的文件(文件的元數據信息) -i:顯示文件的inode號(關于inode號的知識以后詳解哈) -d:只顯示目錄本身 -A:跟-a相同,但不顯示.和.. -n:類似于-l,但是以用戶及組的id號排序 -h:與-l一起使用,文件大小會自動進行單位換算 -r:文件名逆序顯示 -R:遞歸顯示
范例:以長列表模式顯示/tmp/目錄下的所有內容,并顯示/tmp/etc/目錄的屬性情況。
6、pwd:顯示當前/工作目錄
命令名稱:pwd 命令英文原意:print working directory 命令所在路徑:/bin/pwd 執行權限:所有用戶 語法:pwd 功能描述:顯示當前所在的工作目錄
范例:顯示當前處在哪個目錄下
7、cat/tac:顯示文件的內容
命令名稱:cat(tac) 命令英文原意:concatenate and display files 命令所在路徑:/bin/cat 執行權限:所有用戶 功能描述:顯示文件內容 語法:cat [文件名]
范例:顯示目錄/etc/的內容,顯示/etc/fstab文件的內容
8、less/more:分屏顯示文件內容
命令名稱:less/more 命令所在路徑:/bin/less(more) 執行權限:所有用戶 功能描述:分屏顯示文件內容 語法:less/more [文件名]
范例:man命令顯示的幫助文檔,是用解壓軟件解壓后用less命令顯示出來的。例如顯示/etc/rc.sysinit文件的內容
基本操作: 1、搜索 當使用命令 less file-name 打開一個文件后,可以使用下面的方式在文件中搜索。搜索時整個文本中匹配的部分會被高亮顯示。 向前搜索 / - 使用一個模式進行搜索,并定位到下一個匹配的文本 n - 向前查找下一個匹配的文本 N - 向后查找前一個匹配的文本 向后搜索 ? - 使用模式進行搜索,并定位到前一個匹配的文本 n - 向后查找下一個匹配的文本 N - 向前查找前一個匹配的文本 2、全屏導航 ctrl + F - 向前移動一屏 ctrl + B - 向后移動一屏 ctrl + D - 向前移動半屏 ctrl + U - 向后移動半屏 3、單行導航 j - 向前移動一行 k - 向后移動一行 4、 其它導航 G -移動到最后一行 g -移動到第一行 q 或Q-退出 less 命令
9、head/tail:查看文件的前(后)幾行
命令名稱:head/tail 命令所在路徑:/bin/head(tail) 執行權限:所有用戶 功能描述:查看文件的前(后)幾行,默認查看前(后)10行 語法:head -num [文件名] 常用選項: -num 顯示文件的前(后)num行
范例:查看/etc/passwd文件的后5行
10、wc:文字統計命令
語法:wc [選項] [文件] 常用選項: -l:只顯示行數 -w:只顯示單詞數 -c:只顯示字節數
例如:
第一個字段的數字 :行數
第二個字段的數字:單詞數
第三個字段的數字:字節數
11、cut:以列為單位切割文本
語法:cut [選項]... [文件]... 常用選項: -d:以指定分隔符切割(默認是以tab為分隔符) -f:指定切割第幾字段,一般后接數字
范例:切割/etc/passwd文件,以:為分隔符,顯示用戶名(第一字段)
12、tr:字符集轉換
語法:tr [options] '原來的字符集合' '轉換為的字符集合' 常用選項: -d '字符集合':把出現的文件中的、屬于字符集合中的字符統統刪除; 說明:tr命令的結果不會在標準輸出顯示,經常通過管道連接使用
范例:將hello world句子中的小寫字母轉換為大寫;
把“hello world“句子中的o、w刪除:
說明:文本處理三劍客grep、sed、awk和文件查找命令find因為涉及到正則表達式的知識,我們后面再用博文總結!
13、mv:移動文件或改名
命令名稱:mv 命令英文原意:move 命令所在路徑:/bin/mv 執行權限:所有用戶 功能描述:移動文件、更名 語法:mv [選項] 源文件或目錄 目的目錄
范例:將/tmp/etc/目錄重命名為/etc/config
14、touch:修改文件時間戳
命令名稱:touch 命令所在路徑:/bin/touch 執行權限:所有用戶 語法:touch [文件名] 功能描述:修改文件時間戳,如果文件不存在則創建空文件 常用選項: -a:改變訪問時間 -m:改變修改時間 -t:用[[CC]YY]MMDDhhmm[.ss]代替當前時間
范例:修改/tmp/touch.txt文件的時間戳
可以看到用touch命令創建了一個空文件?,F在的問題是如何查看/tmp/touch.txt的時間戳呢?
補充命令:stat–查看文件的屬性信息
用touch命令修改文件/tmp/touch.txt的時間戳:
15、cd:切換目錄
命令名稱:cd 命令英文原意:change directory 命令所在路徑:shell內置命令 執行權限:所有用戶 語法:cd [目錄] 功能描述:切換目錄
范例:
-
回用戶的家目錄:
-
切換至USERNAME的家目錄 (注:必須要有相應的權限):cd ~USERNAME :
-
在兩個目錄間來回切換:cd –
本次博文就這么多哈,歡迎各位大大指正!~~
原創文章,作者:N4_jjx,如若轉載,請注明出處:http://www.www58058.com/57450
贊,總結的比較全面~~注意下排版會更好~加油~