Linux文件管理類命令相關

Linux文件管理類命令相關


1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

1)、查看文件命令:

(1)ls命令:

  • list,列出目錄下的內容

語法:
  • ls [OPTION]… [FILE]…

常用選項:
  • -a: 顯示所有文件,包括隱藏文件;

  • -A:顯示除.和..之外的所有文件;

  • -l: –long, 長格式列表,即顯示文件的詳細屬性信息;

  • -h, –human-readable:對文件大小單位換算;換算后結果可能會非精確值;

  • -d:查看目錄自身而非其內部的文件列表;

  • -r: reverse, 逆序顯示;

  • -R:recursive,遞歸顯示;


(2)cat命令:

  • concatenate,是一個文本文件查看和連接工具。查看一個文件的內容,用cat比較簡單,就是cat 后面直接接文件名。

語法:
  • cat [OPTION]… [FILE]…

常用選項:
  • -n:給顯示的文本行編號;

  • -E: 顯示行結束符$;

  • -b: 對非空輸出行編號;

  • -s:不輸出多行空行;


(3)file命令:

  • 查看文件類型;

語法:

*file [FILE]…

常用選項:
  • -c:詳細顯示指令執行過程,便于排錯或分析程序執行的情形;

  • -L:查看對應軟鏈接對應文件的文件類型;

  • -z:嘗試去解讀壓縮文件的內容;


(4)echo命令:

  • 回顯,echo的功能是在顯示器上顯示一段文字,一般起到一個提示的作用;

語法:
  • echo [SHORT-OPTION]… [STRING]…

常用選項:
  • -n: 不進行換行;

  • -e:讓轉義符生效;\n:換行\t:制表符

注意:
  • TRING可以使用引號,單引號和雙引號均可用; a,單引號:強引用,變量引用不執行替換;b,雙引號:弱引用,變量引用會被替換;

  • 變量引用的正規符號: ${name}


(5)which命令:

  • 命令用于查找文件 

語法:
  • which [文件…]

常用選項:
  • -n<文件名長度>:指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名;

  • -p<文件名長度>:與-n參數相同,但此處的<文件名長度>包括了文件的路徑;


(6)whereis命令:

  • whereis命令只能用于程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。 和find相比,whereis查找的速度非??欤@是因為linux系統會將 系統內的所有文件都記錄在一個數據庫文件中,當使用whereis和下面即將介紹的locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率自然會很高。

語法:
  • whereis [-bfmsu][-B <目錄>…][-M <目錄>…][-S <目錄>…][文件…]

常用選項:
  • -b:只查找二進制文件;

  • -B<目錄>:只在設置的目錄下查找二進制文件;

  • -f:不顯示文件名前的路徑名稱;

  • -m:只查找說明文件;

  • -M<目錄>  只在設置的目錄下查找說明文件;

  • -s:只查找原始代碼文件;

  • -S<目錄>:只在設置的目錄下查找原始代碼文件;

  • -u:查找不包含指定類型的文件;


(7)more命令:

  • more命令的功能是分屏查看;特點:翻屏至文件尾部后自動退出;

語法:
  • more FILE

常用選項:
  • -#: 一次顯示#行;

  • +#:從#行開始顯示;

  • -c:從頂部清屏,然后顯示;

  • -s:把連續的多個空行顯示為一行;

常用的操作命令:
  • Enter:向下n行,需要定義。默認為1行

  • Ctrl+F:向下滾動一屏

  • 空格鍵:向下滾動一屏

  • Ctrl+B:返回上一屏

  • =:輸出當前行的行號

  • :f :輸出文件名和當前行的行號

  • V : 調用vi編輯器

  • !命令:調用Shell,并執行命令

  • q:退出more


(8)less命令:

  • less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。

語法:
  • less [參數] 文件

選項:
  • -e:當文件顯示結束后,自動離開;

  • -i:忽略搜索時忽略大小寫;

  • -N:顯示每行的行號;

  • -o<文件名>:將less輸出的文件保存至指定的文件;

  • -s:顯示連續的空行為一行;

  • /字符串:向下搜索“字符串”功能;

  • ?字符串:向上搜索“字符串”功能;

  • n:重復前一個搜索(與 / 或 ? 有關)

  • N:反向重復前一個搜索(與 / 或 ? 有關)

  • b:向后翻一頁

  • d:向后翻半頁

  • h:顯示幫助界面

  • Q:退出less 命令

  • u:向前滾動半頁

  • y:向前滾動一行

  • [pagedown]:向下翻動一頁

  • [pageup]:向上翻動一頁


(9)head命令:

  • 查看文件的前n行

語法:
  • head [options] FILE

常用選項:
  • -c <#>:顯示#個字節數;

  • -n <#>:顯示#行;


tail命令:

  • 查看文件的后N行;

語法:
  • tail[必要參數][選擇參數][文件]

常用選項:
  • -f:循環讀取;

  • -q:不顯示處理信息;

  • -v:顯示詳細的處理信息;

  • -c<數目>:顯示的字節數;

  • -n<行數>:顯示行數;


(10)stat命令:

  • stat – display file or file system status,顯示文件或文件的狀態信息;

語法:
  • stat FILE…

常用選項:
時間戳:
  • access time(訪問時間):2015-12-10 16:12:22.776423693 +0800

  • modify time(修改時間):2015-12-10 16:12:22.776423693 +0800

  • change time(狀態改變時間):2015-12-10 16:12:22.776423693 +0800


(11)touch命令:

  • touch – change file timestamps,可以用來創建文件;

語法:
  • touch [OPTION]… FILE…

常用選項:
  • -c: 指定的文件路徑不存在時不予創建;

  • -a: 僅修改access time;

  • -m:僅修改modify time;

  • -t:使用指定的日期時間,而非現在的時間;[[CC]YY]MMDDhhmm[.ss];


2)管理文件命令:

(1)cp命令:

  • copy,復制命令;

語法:
  • cp [OPTION]… [-T] SOURCE DEST

  • cp [OPTION]… SOURCE… DIRECTORY

  • cp [OPTION]… -t DIRECTORY SOURCE…

常用選項:
  • -i:交互式復制,即覆蓋之前提醒用戶確認;

  • -f:強制覆蓋目標文件;此時不會提示你是否覆蓋了,直接強制覆蓋;

  • -r, -R:遞歸復制目錄;

  • -d:復制符號鏈接文件本身,而非其指向的源文件;

  • -a:-dR –preserve=all, archive,用于實現歸檔;


(2)mv命令:

  • move,移動命令;

語法:
  • mv [OPTION]… [-T] SOURCE DEST

  • mv [OPTION]… SOURCE… DIRECTORY

  • mv [OPTION]… -t DIRECTORY SOURCE..

常用選項:
  • -i:交互式;

  • -f:force,強制移動;

  • -u:若目標文件已經存在,且 source 比較新,才會更新(update);

  • -t:即指定mv的目標目錄,該選項適用于移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在后;


(3)rm命令:

  • remove,刪除;

語法:
  • rm [OPTION]… FILE…

常用選項:
  • -i:interactive,交互式刪除;

  • -f:force,強制刪除;

  • -r: recursive,將參數中列出的全部目錄和子目錄均遞歸地刪除;


2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。

1)bash的工作特性之命令執行狀態返回值;

  • 在 Linux 下,任意一個命令執行結束之后,bash都會返回0-255之間的數值以表示命令執行成功與否;其返回值保存于bash的特殊變量$?中;

  • 其中0表示:執行成功;1-255表示執行錯誤;

  • 例如:

  • [root@localhost ~]# ls

  • anaconda-ks.cfg initial-setup-ks.cfg

  • [root@localhost ~]# $?

  • bash: 0: 未找到命令…

  • [root@localhost ~]# lsa

  • bash: lsa: 未找到命令…

  • [root@localhost ~]# $?

  • bash: 127: 未找到命令…


2)bash的工作特性之命令行展開:

  • bash中命令行展開主要有兩種:

(1)~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

(2){}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;

  • 例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b;


3、請使用命令行展開功能來完成以下練習:

(1)、創建/tmp目錄下的:ac, ad, bc, bd

  • ]# mkdir -p /tmp/{a,b}_{c,d}

  • 或者:

  • ]# touch /tmp/{a,b}_{c,d}

(2)、創建/tmp/mylinux目錄下的:

  • G6]F(D36DRS`N17NFUX]BBQ.png

  • ]# mkdir -pv /tmp/mylinux/{bin,boot/gtub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

  • ]# tree /tmp/mylinux

  • 注意:tree命令安裝: yum -y install tree


4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

1)文件的元數據信息及查看

  • 文件的數據分兩種:一種元數據,既屬性數據;一種就是數據本身;可使用stat命令查看文件的元數據:

  • 例如:

  • ]# stat /etc/passwd

  • 文件:"/etc/passwd"

  • 大小:2483 塊:8 IO 塊:4096 普通文件

  • 設備:fd00h/64768d Inode:136755684 硬鏈接:1

  • 權限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)

  • 環境:systemu:objectr:passwdfilet:s0

  • 最近訪問:2016-09-22 22:07:14.897045766 +0800

  • 最近更改:2016-09-20 18:10:23.223086880 +0800

  • 最近改動:2016-09-20 18:10:23.227086888 +0800

  • 創建時間:-

其中:

  • file:文件名;

  • size:文件大小

  • block:文件占了多少個數據塊

  • IO Block:文件所占數據塊的塊大小

  • Device:硬件,既說明該文件在硬盤的那個柱面

  • Inode:節點號

  • links:鏈接

  • Access(第一個):權限

  • Uid:該文件所屬的屬主

  • Gid:該文件所屬的屬組

  • context:安全上下文

  • Access(第二個):文件上一次的訪問時間

  • Modify:文件上一次修改的時間

  • Change:文件上一次屬性更改的時間


2)修改文件的時間戳信息:

  • 可以使用touch命令更改文件的時間戳:

語法:
  • touch [OPTION]… FILE…

常用選項:
  • -c: 指定的文件路徑不存在時不予創建;

  • -a: 僅修改access time;

  • -m:僅修改modify time;

  • -t:使用指定的日期時間,而非現在的時間;[[CC]YY]MMDDhhmm[.ss];

例如:
  • 待補充


5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

命令別名使用alias命令;

  • ~]#alias NAME='COMMAND'

在一個命令中引用另一個命令的執行結果也是bash的特性之一,引用。

  • 方法:$(COMMAND) 或者 COMMAND

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄?

  • ~]# ls -d /varl[0-9][a-z]

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

  • ~]# ls -d /etc/[0-9]*[^0-9]

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。

  • ~]# ls -d /etc/[^[:alpha:]][:alpha:]*

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

  • ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

  • ~]# tree /tmp 查看輸出結果

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

  • ~]# mkdir /tmp/mytest1

  • ~]# cp -r /tmp/p*[^0-9] /tmp/mytest1

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

  • ~]# mkdir /tmp/mytest2

  • ~]# cp -r /etc/*.d /tmp/mytest2

12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

  • ~]# mkdir /tmp/mytest3

  • ~]# cp -r /etc/{l,m,n}*.conf /tmp/mytest3

  • ~]# tree /tmp/mytest3

原創文章,作者:shiyekun,如若轉載,請注明出處:http://www.www58058.com/48871

(0)
shiyekunshiyekun
上一篇 2016-09-24
下一篇 2016-09-24

相關推薦

  • 簡述Linux那些年–發展史

    Linux發展史 作者:任飛鵬          日期:2016-10-13 Linux簡介: Linux同Windows一樣,都是一套OS(操作系統)。Linux是一套開源的類Unix操作系統,可以免費使用和自由傳播。是一個基于POSIX和UNIX的多用戶、多任務、支…

    Linux干貨 2016-10-19
  • mkdir練習

    課外資料 mkdir命令用來創建目錄。該命令創建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名,則在當前目錄下創建由dirname指定的目錄;如果給出了一個已經存在的路徑,將會在該目錄下創建一個指定的目錄。在創建目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名。 注意:在創建文件時,不要把所有的文件都存放在主目錄中,可以創建子目錄,通過它…

    Linux干貨 2016-08-08
  • mount中-o的選項利用

        Mount下—-o 選項的各項用處  mount-o 選項 sync,async 同步模式,異步模式(defaults)         此選項的默認模式為異步模式。在同步模式下,內存的任何修改都會實時的同步到硬盤當中,這種模式的…

    2017-08-19
  • vim基本總結

    ASCII可以將計算機存儲的0或1轉成我們認識的文字。在Linux中,絕大部分的配置文件都是以ASCII的純文本形態存在。通過文本編輯器,可以實現對這些文本文件的更改。常風的文本編輯器有emacs, pico,nano,joe與vi(vim是vi的升級版)等。那么為會么要學vi呢? l 因為vi是內置編輯器,系統安裝好就有了 l 很多軟件…

    2017-08-05
  • 你的數據根本不夠大,別老扯什么Hadoop了

    本文原名“Don’t use Hadoop when your data isn’t that big ”,出自有著多年從業經驗的數據科學家Chris Stucchio,紐約大學柯朗研究所博士后,搞過高頻交易平臺,當過創業公司的CTO,更習慣稱自己為統計學者。對了,他現在自己創業,提供數據分析、推薦優化咨詢服務,他的郵件是:stucchio@gmail.co…

    Linux干貨 2015-04-04
  • N26 – 第三周作業

    1、列出當前系統上所有已登錄的用戶的用戶名,同一用戶登錄多次只顯示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登錄到當前系統的用戶的相關信息     ~]#id $(last | h…

    Linux干貨 2017-01-03
欧美性久久久久