Linux文件管理及bash特性詳解

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

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

      cp命令:copy

      源文件:目標文件

 單源復制:cp [OPTION]… [-T] SOURCE DEST

 多源復制:cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

 單源復制:如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST中

          如果DEST存在:

              如果DEST是非目錄文件,則覆蓋目標文件

              如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流至目標文件;

 多源目錄:如果DEST不存在,錯誤

          如果DEST存在:

              如果DEST是非目錄文件,錯誤

              如果DEST是目錄文件;分別復制每個文件至目標目錄中,并保存原名;

 常用選項:

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

     -f:強制覆蓋目標文件;

     -r:遞歸復制目錄

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

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

     –preserv=

        mode:權限

        ownership:屬主和屬組

        timestamp:時間戳

        context:安全標簽

        xattr:擴展屬性

        links:符號鏈接

        all:上述所有屬性

 mv命令:跟cp差不多,只不過是mv把源文件刪除了

        -f:force,強制刪除

        -i:交互式

 rm命令:remove,刪除文件,還可以刪除目錄

        -i:interacive

        -f:force,強制刪除

        -r:遞歸刪除

        刪除目錄:rm -rf /PATH/TO/DIR

        危險操作:rm -rf /

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

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

 bash的基礎特性之:命令行展開

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

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

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

tree命令:

  tree [options] [direcrory]

      -L level:指定要顯示的層級

bash的基礎特性:命令的執行狀態結果

  命令執行的狀態結果:

      bash通過狀態返回值來輸出此結果;

          成功:0

          失敗:1-255

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

  命令正常執行時,有的還會有命令返回值;

      根據命令及其功能不同,結構各不相同;

 

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

   (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

# mkdir {a,b}_{c,d}

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

# mkdir -p /tmp/mylinux1/{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}}

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

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

  文件:兩類數據

        元數據:metadate,用stat查看出來的信息,就是元數據

        數據:data,用cat命令查看出來的信息,稱為數據

    

    時間戳:每一個文件都有三個時間戳

    Access: 2016-10-27 20:22:43.389000014 +0800——–atime

    Modify: 2016-10-27 20:22:36.544000003 +0800——–mtime

    Change: 2016-10-27 20:22:42.078000012 +0800——–ctime

    touch命令:改變文件的時間戳,也可以創建空文件(不推薦此方法)

    -c:指定的文件路徑不存在時不予創建;

    -a:僅修改access time

    -m:僅修改modify time

    -t STAMP:自定義時間戳

       use [[CC]YY]MMDDhhmm[.ss] instead of current time

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

 命令別名:獲取所有可用別名的定義:alias

     定義別名:alias NAME=‘COMMAND’,注意:僅對當前shell進程有效

     撤銷別名:unalias NAME

 引用命令的執行結果:

          $(COMMAND)

          或者‘COMMAND’

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

# ls -d /var/l?[[:lower:]]

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

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

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

 #ls -d /etc/[^a-z][a-z]*

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

 #touch "tfile-$(date +%Y-%m-%d-%H-%M-%S)"

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

 #cp -d /etc/p*[^0-9] /tmp/mytest1

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

 #cp -d /etc/*.d /tmp/mytest2

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

  #cp -d /etc/[lmn]*.conf /tmp/mytest3

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

(0)
evergreen1989evergreen1989
上一篇 2016-11-06
下一篇 2016-11-06

相關推薦

  • Linux終端類型

    適用對象:本文適用于初學Linux以及有志于學習Linux的朋友們。   一、         什么是終端 計算機體系中,終端主要是指與計算機連接,并可以與用戶(人類)進行交互的設備。 二、      &nbs…

    Linux干貨 2016-10-14
  • 使用Nmap掃描系統風險點

    0x00 迅速了解Nmap Nmap是一款掃描目標網絡信息的工具,可以是黑客用來探測主機信息,收集情報的神器。也可以是運維人員掃描網絡環境,及時發現系統漏洞的好幫手。 0x01 它的功能 1、主機發現(Host Discovery)#探測目標網絡環境中有哪些主機是可以進行通信的,當然你也可以用ping命令試一下 2、端口掃描(Port S…

    Linux干貨 2015-04-19
  • mysql mariadb 備份恢復、主從

    備份類型分為: 完全備份、增量備份、差異備份 熱備、溫備、冷備 邏輯備份、物理備份 每種類型區別: 增量備份:根據上一次備份的增量備份或完全備份備份 差異備份:根據上一次備份的完全 溫備:備份過程中只支持讀備份備份熱備:備份過程中支持讀寫 冷備:停服務備份 邏輯備份:schema和數據存儲在一起,巨大的sql語句、單個巨大的備份文件,恢復備份較慢。優點可以還…

    2017-03-01
  • Linux LVM介紹及管理

    什么是LVM? LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,用來提高磁盤分區管理的靈活性。系統管理員可以通過LVM輕松的管理磁盤分區,如:將若干個磁盤分區或物理磁盤連接為一個整塊的卷組 (volumegroup),形成一個存儲池。管理員可以…

    Linux干貨 2016-08-30
  • 第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 2、取出最后登錄到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。 5、取出當前主機的…

    Linux干貨 2017-02-06
  • N25-第二周博客作業

    1. Linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示. 文件管理工具有cp, mv, rm cp命令: 復制文件或文件夾 語法: cp [OPTION]… [-T] SOURCE DEST 單源復制cp [OPTION]… SOURCE… DIRECTORY 多源復制 常用選項:  &nb…

    Linux干貨 2016-12-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-10 18:57

    總結的不錯,贊~~可以多想幾種方法來實現~繼續加油~

欧美性久久久久