馬哥教育網絡班22期+第2周課程練習

1、Linux上文件/目錄相關命令有哪些?

  • 1)目錄管理類命令:mkdir、rmdir

    • (1)mkdir:make directorise 創建文件夾

       使用格式:
           mkdir [OPTION]... DIRECTORY...
           常用選項:
               -p:自動按需創建父目錄
               -v、verbose:顯示詳細過程
               -m MODE:創建目錄時直接給定權限,否則即為umask配置的默認權限;
    • (2)rmdir:remove empty directorise 刪除空目錄

      使用格式:
          rmdir [OPTION]... [DIRECTORY]...
          常用選項:
              -p:刪除某個目錄后,如果其上一級目錄為空,則一并刪除;
              -v:顯示操作過程;
              blob.png
              注:因當前目錄不是空目錄,所以操作.(當前目錄)時提示失敗。
  • 2)文件查看類命令:cat、tac、head、tail、more、less

    • (1)分屏查看命令:more與less

      使用格式:more|less FILE
      注:more命令翻屏至文件尾部后自動退出
    • (2)head命令:查看文件的前n行,默認為10行

      使用格式:head [OPTIONS] FILE

      常用選項:
          -n NUM:NUM表示要查看的行數;
          -NUM:NUM表示要查看的行數;
    • (3)tail命令:查看文件的后n行,默認為10行

      使用格式:tail [OPTIONS] FILE

      常用選項:
          -n NUM:NUM表示要查看的行數;
          -NUM:NUM表示要查看的行數;
    • (4)cat與tac

      使用格式:cat|tac FILE

  • 3)文件管理工具:cp、mv、rm

    • (1)cp命令:復制文件或目錄

          常用選項:
              -i,--interactive:交互式復制,即覆蓋前提示用戶確認;
              -f,--force:強制覆蓋目標文件;
              -R,-r,-recursive:遞歸復制目錄;
              -d:復制符號鏈接文件本身,并不復制其指向的源文件;
              -a:-dR --preserve=all,archive,用于實現歸檔
              -preserv=
                          mode    權限
                          owership    屬主與屬組
                          timestamps    時間戳
                          context    安全標簽
                          xattr    擴展屬性
                          link    符號鏈接
                          all    上述所有屬性
          實例:
              將文件file1復制成文件file2
                  cp file1 file2
      
              采用交互方式將文件file1復制成文件file2
                  cp -i file1 file2
      
              將文件file1復制成file2,因為目的文件已經存在,所以指定使用強制復制的模式
                  cp -f file1 file2
      
              同時將文件file1、file2、file3與目錄dir1復制到dir2
                  cp -R file1 file2 file3 dir1 dir2
    • (2)mv命令:是move的縮寫,可以用來移動文件或者將文件改名(move (rename) files),是Linux系統下常用的命令,經常用來備份文件或者目錄。

          常用選項:
              -i:交互式
              -f:強制覆蓋             
      
      實例1:將文件file1改名為file2,如果file2已經存在,則詢問是否覆蓋
          mv -i log1.txt log2.txt
      
      實例2:將文件file1改名為file2,即使file2存在,也是直接覆蓋掉
          mv -f log3.txt log2.txt
    • (3)rm命令:為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是刪除了鏈接,原有文件均保持不變。

          rm [OPTION]... FILE...
          常規選項:
              -i:交互式執行
              -f:強制執行,不提示任何信息
              -r:遞歸執行
                  刪除目錄:rm -rf /PATH/TO/DIR
                      危險操作:rm -rf / 、rm -rf /*
                  建議不用的不文件不要直接刪除,可移動至某個專用的目錄(模擬回收站)

2、bash的工作特性值命令執行狀態返回值和命令行展開;

  • 通過 $? 獲取上一次命令執行的結果,0表示成功,非0表示失敗。

  • 命令行展開

    • 花括號展開:{ }

      在非引號內的內容,如果用花括號包括,而且里面用逗號分隔(至少包含一個逗號,可以是空內容),這樣花括號里的內容會被展開成用空格分開的一個列表,花括號前后可以緊隨前綴和后綴

      如:

      echo {a,b,c}
      echo hello,{world,pig}
    • 波浪號展開:~

      從波浪號~到第一個未被引號包含的斜杠/(如果沒有斜杠,則全部算上),作為波浪號前綴。 在波浪號后面的字符串作為一個可能的登錄名:如果為空,被展開成該用戶的HOME變量,如果HOME變量未設置,則用用戶執行shell的主目錄替換。如果不為空,則按照該登錄名的主目錄替換。

      如:

      echo ~   # 顯示$HOME內容
      echo ~root  # 顯示root用戶主目錄
    • Shell參數和變量展開

      用$符號開始,后面接著變量名或者花括號括起來的變量名,如果是花括號內以嘆號開頭,那么就是變量名本身。 如:

      echo $PWD    # 顯示PWD對應的值
      echo ${PWD}  # 顯示PWD對應的值

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

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

    mkdir -pv /tmp/{a,b}_{c,d}
  • (2)創建/tmp/mylinux目錄下的如下目錄:

    實現命令:
    mkdir -pv /tmp/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 ~]# tree /tmp/mylinux/
        /tmp/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、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?

  • (1)文件的元數據:

    任何文件系統中的數據分為數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特征的系統數據,如訪問權限、文件擁有者、文件數據塊的分布信息(inode...)、文件時間戳信息等。
  • (2)查看文件的元數據

    stat FILE #使用stat命令可以查看文件或目錄的元數據
  • (3)修改文件的時間戳信息:

    touch命令:可以用于改變access time和modity time
    touch [OPTIONS]... FILE...
        -c:指定文件,當文件不存在時不予創建
        -a:僅改變access time
        -m:僅改變modify time
        -t STAMP:
                [[CC]YY]MMDDhhmm[.ss]

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

  • (1)如何定義命令的別名:

    alise NAME='COMMAND'
    注意:此方法僅對當前shell進程有效
  • (2)命令中引用另一個命令的執行結果:

    使用`COMMAND`
    如:
        ls -l `find /etc -name "pa*"`

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

    ls /var/ | grep "^l.*[0-9].*[[:lower:]]$"

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

    ls /etc/ | grep "^[0-9].*[^0-9]$"

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

    ls /etc/ | grep "^[^[:alpha:]][[:alpha:]].*"

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

    mkdir /tmp/tfile-$(date "+%Y-%m-%d-%H-%M-%S")

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

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

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

    cp -r /etc/*\.d /tmp/mytest2/

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

    cp -r /etc/[lmn].\.conf /tmp/mytest3/

原創文章,作者:N22-江西-H隨風,如若轉載,請注明出處:http://www.www58058.com/42475

(0)
N22-江西-H隨風N22-江西-H隨風
上一篇 2016-09-08 18:56
下一篇 2016-09-08 22:14

相關推薦

  • CentOS6 ELK實現

    1 簡介 我們來介紹Centos6.5基于SSL密碼認證部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同時為大家介紹如何集合如上組件來收集日志,本章的日志收集主要為大家介紹SYSTEM日志收集. 集中化日志收集主要應用場景是在同一個窗口臨時性或永久性鑒定分析系統,應用等各類日志,對用戶提供極大便…

    Linux干貨 2017-05-17
  • Linux上文件管理命令、元素據及時間戳、bash的工作特性回顯和命令展開、定義別名,命令引用。

    文件管理命令: mkdir 創建空目錄 語法: mkdir [選項]…目錄… 選項: -P:逐層創建目錄。 -v:顯示過程。 -m:直接給定權限。 注意:路徑的基名為命令作用對象。基名路徑必須存在。 示例 創建/tmp/x1/a/a1和/tmp/x1/b rmdir 移除空目錄 語法 rmdir [選項]…目錄&#8230…

    Linux干貨 2017-12-10
  • 通用二進制安裝MySQL(MariaDB)

    一、前言     MySQL是一個關系型數據庫管理系統,是最流行的關系型數據庫管理系統,由于其體積小、速度快、總體擁有成本低,并且之前是完全開源,所以大受歡迎。但由于后面MySQL賣給了SUN,隨后SUN被Oracle收購,雖然也有開源免費版本,但是很多功能都需要另外購買商業版本,導致現在MySQL使用份額逐漸減少。所…

    Linux干貨 2015-10-15
  • 用戶管理+文本處理+文件查找

    用戶管理 erter useradd (使用頻率2) /etc/default/useradd用戶模板文件說明 /etc/login.defs 關于新建用戶的默認配置文件 批量創建用戶和修改密碼 usermod 修改用戶的屬性 chpasswd修改密碼 2.chage option user 3.finger user 查看用戶信息 4.chfn user …

    Linux干貨 2017-04-09
  • 馬哥教育網絡班22期+第13周課程練習

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; &n…

    Linux干貨 2016-12-05
  • 馬哥linux運維網絡班第22期-第一周博客作業

    計算機的組成及其功能 計算機由運算器,控制器,存儲器,輸入裝置和輸出裝置組成 (1)運算器 對數據進行常規運算(+,-,*,/)和邏輯運算(與,或,非等)及比較位移等操作 (2)控制器 分析從存儲器中讀出的指令并按預先規定的步奏執行操作 (3)存儲器 存儲程序和數據信息并實現快速存取 (4)輸入設備 把各種類型的信息轉換為二進制編碼輸入進計算機存儲起來 (5…

    Linux干貨 2016-08-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-13 08:32

    以N開頭或者以N結尾,使用行首或行末牟定來實現。答題比較認真,繼續保持。

欧美性久久久久