linux文件管理類命令匯總及幾個通配的查找事例

linux文件管理類命令匯總

1.文本文件查看類命令:cat,tac,more,less,tail,head

cat(tac): 正向(反向)顯示

cat [OPTION]... [FILE]...

               -E:顯示行結束符$
-n:對顯示出的每一行進行編號

more [OPTIONS…] FILE…

特點:翻屏至文件尾部后自動退出;

-d:顯示翻頁及退出提示
space:向下翻頁
                       Enter:向下翻一行
b,ctrl+b:向回翻頁
/STRING:向下查詢該字符串
q:離開

less:一頁一頁翻屏

less[OPTIONS...] FILE...

用法:

Space,ctrl+V  向下翻頁
                       b ctrl+B 向文件首部翻屏
d ctrl+D 向文件尾部翻半屏
u ctrl+U 向文件首部翻半屏
         
           Enter :向文件首部翻一行
                   
ctrl+K :向文件首部翻一行
q: 退出
#;跳轉至第#行
                      1G:回到文件首部
      G:回到文件尾部

head:查看前面#行 (默認10行)

head [OPTIONS...] [FILE...]

        -n #:指定獲取前#行
-#:指定獲取前#行

tail:查看后面#行(默認10行)

tail[OPTIONS...] [FILE...]

      -n #:指定獲取后#行
-#:指定獲取后#行
 -f:查看文件到尾部不退出,繼續觀察文件后續內容.

文件管理工具:cp, mv, rm

cp NAME

cp - copy files and directories

cp命令:copy 源文件;目標文件;

        單源復制:cp [OPTION]... [-T] SOURCE DEST
       多源復制:cp [OPTION]... SOURCE... DIRECTORY
      cp [OPTION]... -t DIRECTORY SOURCE...

      單源復制:cp [OPTION]... [-T] SOURCE DEST
      如果DEST不存在:則事先創建此文件,并復制源文件的數據流至DEST中;
      如果DEST存在:
      如果DEST是非目錄文件:則覆蓋目標文件;
      如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流;

      多源復制:cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

      如果DEST不存在:錯誤;
      如果DEST存在:
      如果DEST是非目錄文件:錯誤;
      如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名;

      常用選項:
      -i:交互式復制,即覆蓋之前提醒用戶確認;      
      -f:強制覆蓋目標文件;      
      -r, -R:遞歸復制目錄;      
      -d:復制符號鏈接文件本身,而非其指向的源文件;      
      -a:-dR --preserve=all, archive,用于實現歸檔;      
      --preserv=mode:權限
      ownership:屬主和屬組
      timestamps: 時間戳
      context:安全標簽
      xattr:擴展屬性
      links:符號鏈接
      all:上述所有屬性

mv命令:move

mv [OPTION]... [-T] SOURCE DEST
      mv [OPTION]... SOURCE... DIRECTORY
      mv [OPTION]... -t DIRECTORY SOURCE..    

      常用選項:
      -i:交互式;      
      -f:force
   rm命令:remove
    rm [OPTION]... FILE...

    常用選項:
    -i:interactive    
    -f:force    
    -r: recursive
    刪除目錄:rm -rf /PATH/TO/DIR
    危險操作:rm -rf /*

    注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站)

文件權限管理類命令 chown,chgrp,umask

chown命令:

chown [OPTION]... [OWNER][:[GROUP]] FILE...    		
chown [OPTION]... --reference=RFILE FILE...    
選項:    
-R:遞歸修改

chgrp命令:

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
     注意:僅管理員可修改文件的屬主和屬組;

umask:

文件的權限反向掩碼,遮罩碼; 文件: 666-umask    目錄: 777-umask

注意:之所以文件用666去減,表示文件默認不能擁有執行權限;如果減得的結果中有執行權限,則需要將其加1;
  umask: 023
  666-023=644
  777-023=754

  umask命令:
  umask:查看當前umask
  umask MASK: 設置umask

  注意:此類設定僅對當前shell進程有效;

文本處理工具 wc,sort,uniq,diff,path

wc:word count wc [OPTION]… [FILE]…

                    -l: lines

                  -w:words

                   -c: bytes

cut: cut OPTION… [FILE]…

            -d   CHAR:以指定的字符為分隔符;			
           -f FIELDS:挑選出的字段;
           #:指定的單個字段
           #-#:連續的多個字段;
   #,#:離散的多個字段;

sort: sort [OPTION]… [FILE]…

                  -n:基于數值大小而非字符進行排序;		
                 -t CHAR:指定分隔符;
                 -k #:用于排序比較的字段; -
                 -r:逆序排序;
                 -f:忽略字符大小寫
                 -u:重復的行只保留一份;
             

uniq:報告或移除重復的行

uniq [OPTION]... [INPUT [OUTPUT]]
-c:顯示每行的重復次數;
-u:僅顯示未曾重復過的行;
-d:僅顯示重復過的的行;

diff:compare files line by line

diff [OPTION]... FILES

diff  /PATH/TO/OLDFILE  /PATH/TO/NEWFILE > /PATH/TO/PATCH_FILE
-u:使用unfied機制,即顯示要修改的行的上下文,默認為3行;

patch:向文件打補丁

patch [OPTIONS] -i /PATH/TO/PATCH_FILE /PATH/TO/OLDFILE

patch /PATH/TO/OLDFILE < /PATH/TO/PATCH_FILE

文件內容類型查看命令:file  — determine file type

                    f: 普通文件 d: 目錄文件
                   l:符號鏈接文件
                   b:塊設備 文件
                   c:字符設備文件
                   p:管道文件
                   s:套接字文件

文件的時間戳管理工具:touch,stat

stat命令: stat – display file or file system status

stat FILE...

文件:兩類數據
元數據:metadata
數據: data

時間戳:
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

touch命令:
touch - change file timestamps

touch [OPTION]... FILE...
-c: 指定的文件路徑不存在時不予創建; c, --no-create
                             do not create any files

-a: 僅修改access time;  無論是修改access time還是modify time,change time總會改變
-m:僅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]      
date 設置時間時格式:date [MMDDhhmm[[CC]YY][.ss]]

2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示 bash的基礎特性:命令的執行狀態結果

命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失?。?-255

命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;

bash的基礎特性之:命令行展開 ~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b

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

  1. (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d mkdir /tmp/{a,b}_{c,d} (2)、創建/tmp/mylinux目錄下的: mylinux/ ├── bin ├── boot │   └── grub ├── dev ├── etc │   ├── rc.d │   │   └── init.d │   └── sysconfig │   └── network-scripts ├── lib │   └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │   └── local │   ├── bin │   └── sbin └── var ├── lock ├── log └── run

[root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scirpts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local,bin,sbin},var/{lock,log,run}}

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

文件:兩類數據
元數據:metadata
數據: data

a.文件的元數據是指文件的屬性、大小、創建時間、訪問時間、屬主屬組等信息。

b.三個時間戳:

access time:訪問時間,簡寫atime,讀寫文件內容

           modify time: 修改時間,mtime,改變文件內容(數據)          
           change time:改變時間,ctime,元數據發生改變    
           
c.修改文件的時間戳:touch    

       touch [OPTION]...FILE...

           -a:only atime

           -m:only mtime

不能單獨修改ctime, 無論是修改access time還是modify time,change time總會改變

-s STAMP                           [[CC]YY]MMDDhhmm[.ss]

-c:如果文件不存在,則不予創建

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

alias:顯示當前shell進程所有可用的命令別名    alias NAME="VALUE":命名別名

   注意:在命令行中定義的別名,僅對當前shell進程有效,如果想永久有效,要定義配置文件

   僅對當前用戶:~/.bashrc

   對所有有效:/etc/bashrc

在命令中引用另一個命令的執行結果: 通常借助管道,前一個命令的輸出作為另一 個命令的輸入.

[root@localhost ~]# cat /etc/passwd | wc -l

 [root@localhost ~]# 43

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

[root@localhost ~]# ls -d /var/l*[[:lower:]]

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

[root@localhost ~]# ls -d /etc/[[:digit:]]*[^0-9]

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

[root@localhost ~]# ls -d /etc/[^a-z][a-z]*

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

~]#touch "tfile-date +%F-%H-%M-%S"

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 [root@localhost ~]# mkdir /tmp/mytest1 [root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/

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

[root@localhost ~]# mkdir /tmp/mytest2 [root@localhost ~]# cp -r /etc/*.d /tmp/mytest2

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

[root@localhost ~]# mkdir /tmp/mytest3 [root@localhost ~]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3

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

(0)
oranixoranix
上一篇 2016-09-24 15:45
下一篇 2016-09-24 17:57

相關推薦

  • ?卸載kernel玩一玩

    卸載kernel玩一玩 廢話不多說,下面開始卸載內核這一驚險之旅,特別提醒在開始之前做好虛擬機的快照,也許會造成系統無法啟動,也許會出現各種錯誤,也許會笑著刪數據庫跑路,也許會從入門到放棄,,請系好安全帶。  練習 冒泡排序法 #!/bin/bash##Author:jasonmc#Date:2016-08-24#Description:buble…

    Linux干貨 2016-08-26
  • ?文件服務器 – vsftpd

    文件服務器 – vsftpd 概述 FTP協議 vsftpd的配置文件 vsftpd + pam + file_db + virtual_vsftp_user vsftpd + pam + mysql + virtual_vsftp_user 登錄時錯誤類型 總結 文件服務器是一種專供其他電腦訪問文件和存儲的程序。文件服務器通常比一般的個人電腦擁…

    Linux干貨 2016-10-15
  • Linux硬鏈接、軟鏈接的介紹及兩者的區別

    一、硬鏈接 鏈接數就是名字的數量: ln(link) 硬鏈接,多個相同的inode文件(同分區),多個硬鏈接文件的存在在硬盤上只占用一個文件的容量 創建的硬鏈接是平等的,inode相同,刪除某一個互不影響,其他文件仍然可以使用 硬鏈接的本質:給一個文件創建多個名字   創建多個硬鏈接,觀察鏈接數的變化(+1),鏈接數是幾就是有幾個文件名 同一分區中…

    Linux干貨 2016-08-04
  • DNS高級應用之子域授權&區域轉發

    一、環境準備:    1、準備三臺測試服務器,劃分如下:    主DNS服務器:eth0:192.168.10.203;負責mylinux.com域解析;確保可以正常解析      子域DNS服務器:eth0:192.168.10.120; 負責子域ops.mylinux.com解析; &…

    Linux干貨 2015-06-01
  • 馬哥教育網絡班第19期+第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:一種網路裝置,負責網路橋接,將網絡的多個網段在數據鏈路層連接起來。 集線器:將多條以太網線或光纖集合連接在同一段物理介質下的裝置。工作在物理層。 二層交換機:工作在數據鏈路層,交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今后的通…

    Linux干貨 2016-08-22
  • Linux三劍客之grep使用入門指南

    Linux的grep是一個具有強大功能的文本搜索工具,正確的學習和使用,能很大程度上提高工作效率,減輕運維工作所面臨的壓力。

    2017-09-09
欧美性久久久久