第二周-作業

第二周作業:

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

Linux上常見的文件管理類命令有mkdir、touch、cp、mv、rm、stat。

    mkdir:創建新目錄

        用法:mkdir /PATH/TO/NEW_DIR

        示例:~]# mkdir -p -m 777 /tmp/a/test

    touch:創建文件及修改時間戳

        用法:touch /PATH/TO/NEW_FILE

        示例:~]# touch /tmp/a/test/new_file

        修改時間戳的選項:

            -a:修改access time

            -m:修改modify time

    cp:拷貝文件

        用法:cp /PATH/TO/OLD_FILE PATH/TO/NEWFILE

        示例:~]# cp /tmp/a/test/new_file /tmp/a/test/new_file2

        需要注意:

            拷貝目錄時,加-r表遞歸復制

            在測試時發現,由于cp是cp -i的別名,所以覆蓋時會有詢問,在腳本中實施即使加-f在覆蓋多個文件時也會有詢問,因此一般用\cp來使用,表不用cp -i別名

    mv:移動或重命名文件

        示例:~]# cp /tmp/a/test/new_file /tmp/a/test/new_file2

    rm:刪除文件或目錄

        示例:rm -rf /

        需要注意:刪除操作非常危險,因此應該自己在系統上使用一個路徑模擬回收站,把需要刪除的文件先mv到模擬回收站上

    stat:查看文件狀態屬性

        示例:~]# stat /etc/crontab

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

1、命令執行狀態返回值

返回值用于判定命令執行正確與否

    示例:

        ~]# cd /etc/ssssss > /dev/null

        ~]# echo $?

        結果:1

2、命令行展開

以bash能夠解釋的符號來代替命令中的一些重復字段

    示例:

        ~]# cd ~

        ~]# touch /tmp/a/test/{w,t}

題3:使用命令行展開完成以下練習

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

    ~]# touch /tmp/a_{c,d} /tmp/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@www ~]# 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:文件的元數據信息有哪些,分別表示什么含義,如何查看,如何修改文件的時間戳信息。

[root@localhost ~]# stat test

File: `test'

Size: 0         Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 2097162     Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-12-07 08:52:40.587661871 -0500

Modify: 2016-12-07 08:52:40.587661871 -0500

Change: 2016-12-07 08:52:40.587661871 -0500

輸出結果釋義:

    File:文件名

    Size:文件大小

    Block:占據多少磁盤塊

    IO Block:一個磁盤塊大小為4096k

    regular empty file:常規的空文件

    Device:文件所在設備主編號和次編號

    Inode:inode編號

    Linux:文件被硬鏈接的次數,1表示沒有硬鏈接

    第一個Access:權限,屬主uid及名字,屬組gid及名字

    第二個Access:文件最后一次被訪問的時間

    Modify:文件的數據最后一次被修改的時間

    Change:文件的元數據最后一次變化的時間

修改文件的時間戳:touch

    ~]# touch -m -t 201312011002.15  test

    ~]# touch -c -t 201102010802  test

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

定義別名:

    1、臨時

    ~]# alias clear=cln

    2、永久

    定義在~/.bashrc或者/etc/bashrc

命令中引用另一個命令的執行結果:

    例:~]# echo -e "look here\n $(who)"

    使用反引號“、$()

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

    ~]# find  /var/  -name  "l[0-9]*[a-z]"

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

    ~]# find /etc/ -name "[0-9]*[^0-9]"

題8:顯示/etc目錄下,以非字母開頭,后邊跟了一個字母以及其他任意長度任意字符的文件或目錄

    ~]# find /etc/ -name "[^[:alpha:]][[:alpha:]]*"

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

    ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`    

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

    ~]# cp -r /etc/p*[^[:digit:]] /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

原創文章,作者:N25_水煮魚,如若轉載,請注明出處:http://www.www58058.com/62991

(0)
N25_水煮魚N25_水煮魚
上一篇 2016-12-08 00:46
下一篇 2016-12-08 16:52

相關推薦

  • bash變量之位置參數變量

        什么是變量     變量是 bash 環境中非常重要的一個玩意兒,就是讓某一個特定字串代表不固定的內容就是了,講的更簡單一點,我們可以“用一個簡單的 "字眼" 來取代另一個比較復雜或者是容易變動的數據”。    &nbsp…

    Linux干貨 2016-08-15
  • 【招聘福利】深圳/系統運維工程師/薪資彈性,可面談

    深圳市鑫順諾科技有限公司 有意向的學員,請聯系magedu-小助手QQ:1522609717 職位職能: 系統運維工程師崗位職責:1、公司日常機房網絡和辦公室網絡管理調優、日常辦公電腦維護。2、管理、維護網站服務器運行狀態,處理系統運行故障;3、負責服務器集群的操作系統安裝、升級、定制、部署與維護工作;4、負責服務器集群的系統監控和自動化腳本的設計與部署;5…

    Linux干貨 2015-11-06
  • nginx配置(三)

    ngx_http_upstream_module模塊     #分流The ngx_http_upstream_module module is used to define groups of servers that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pa…

    Linux干貨 2017-05-08
  • LVS集群類型

     lvs:Linux Virtual Server         l4:四層路由、四層交換          根據請求報文的目標IP和目標PORT將其調度轉發至后端的某主機;      IPTABLES:  …

    Linux干貨 2017-01-10
  • Shell編程if語句

    Shell編程if語句 條件選擇if語句(#if輸入keywork) 選擇執行: 注意:if語句可嵌套 單分支 if 判斷條件(#如果為真執行下一條);then 條件為真的分支代碼 fi(結尾) 雙分支 if 判斷條件; then 條件為真的分支代碼 else 條件為假的分支代碼 fi if 語句 多分支 if 判斷條件1; then 條件為真的分支代碼 e…

    2018-01-01
  • 軟件包管理rpm和yum基本使用

    RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows里面的“添加/刪除程序”因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級,間接提升了Linux的適用度。 rpm 執行安裝包 二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,…

    Linux干貨 2016-08-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 15:47

    贊~~總結的很仔細~如果能使用markdown來格式化輸出會更好~加油~

欧美性久久久久