馬哥教育網絡班21期-第二周課程練習

STOP WISHING

START DOING

                                          —- WEEKLY PLAN


內心是很不愿意寫作業的,費時費力。就寫作業這會時間都可以聽馬主持最少2節課程了。為了讓按時完成作業,兩個個"護法(班主任)"居然是 威脅加利誘(色誘),可憐寺里的純情小男人立即就妥協了。那些說自己是硬漢子的人呢?當 "護法" 放出一張照片之后,我都能想象到他們狼吼+口水的畫面。就差……….(此處省略1w字)

小僧早些時候在某個地方看到過這樣一句話:衡量一個程序員價值的標準并不是他掌握了多少知識,而是他掌握的知識與學會這些所花的時間之比 ] 。這***讓小爺很尷尬。(不知道老師怎么看?)


[root@CentOS7: ~]$ cd /作業
[root@CentOS7: /作業]$ cat week2
1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
3、請使用命令行展開功能來完成以下練習:
   (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_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
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

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

小僧僅寫出自己平時常用到的(腦子一時間想不到更多的),如有錯誤辛苦老師指出:cd,ls,pwd,chmod,cat,vim,find,grep,mkdir,rm,tail,cp,mv,wc,cut,sort,touch

示例1:進入/var/log 目錄,監視message日志

[root@CentOS7: ~]$ cd /var/log/
[root@CentOS7: /var/log]$ tail -f messages
Jul  6 09:00:01 CentOS7 systemd: Removed slice user-0.slice.
Jul  6 09:00:01 CentOS7 systemd: Stopping user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Created slice user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Starting user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Started Session 77 of user root.
Jul  6 09:01:01 CentOS7 systemd: Starting Session 77 of user root.
Jul  6 09:01:01 CentOS7 systemd: Removed slice user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Stopping user-0.slice.
Jul  6 09:07:13 CentOS7 chronyd[530]: Frequency -1199959.7 ppm exceeds allowed maximum
Jul  6 09:07:13 CentOS7 chronyd[530]: System clock wrong by 331.812631 seconds, adjustment started

示例2:在/tmp目錄下,新建一個test目錄并在里面建立一個test文件,將/etc/passwd和/etc/group的內容放進去,將test更名為sb

[root@CentOS7: ~]$ cd /tmp/
[root@CentOS7: /tmp]$ mkdir test
[root@CentOS7: /tmp]$ cd test/
[root@CentOS7: /tmp/test]$ touch test
[root@CentOS7: /tmp/test]$ cat /etc/passwd > test && cat /etc/group >> test 
[root@CentOS7: /tmp/test]$ mv test sb
[root@CentOS7: /tmp/test]$ ls
sb

示例3:刪除/tmp/test/ 內所有文件,查找/etc/下的最近1天修改過的配置文件,放到該目錄

[root@CentOS7: ~]$ rm -rf /tmp/test/*
[root@CentOS7: ~]$ find /etc/ -name *.conf -type f  -ctime -1 -exec cp '{}' /tmp/test/ ';'
[root@CentOS7: ~]$ ls /tmp/test/
global.conf  resolv.conf

示例4:只顯示出/etc/passwd 里面root有關的信息。只打印帳號和uid

[root@CentOS7: ~]$ grep root /etc/passwd | cut -d: -f 1,3
root:0
operator:11

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

命令執行狀態只有兩種結果

  • 正確

  • 錯誤 

執行成功返回0,錯誤返回1-255數字(詳細信息自己搜)

#查看命令
[root@CentOS7: ~]$ bls
bash: bls: 未找到命令...
[root@CentOS7: ~]$ echo $?
127
[root@CentOS7: ~]$ ls
adduser.sh  anaconda-ks.cfg  disk.sh  testshell.sh
[root@CentOS7: ~]$ echo $?
0

命令行展開所涉及內容(筆記截圖)

blob.png

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

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

[root@CentOS7: /tmp]$ mkdir -pv {a,b}_{c,d}
mkdir: 已創建目錄 "a_c"
mkdir: 已創建目錄 "a_d"
mkdir: 已創建目錄 "b_c"
mkdir: 已創建目錄 "b_d"

(2) 省略(太占地方)。小僧這么節約的一個人

[root@CentOS7: /tmp]$ mkdir -pv 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}\
> }
mkdir: 已創建目錄 "mylinux"
mkdir: 已創建目錄 "mylinux/bin"
mkdir: 已創建目錄 "mylinux/boot"
mkdir: 已創建目錄 "mylinux/boot/grubdev"
mkdir: 已創建目錄 "mylinux/etcrc"
mkdir: 已創建目錄 "mylinux/etcd"
mkdir: 已創建目錄 "mylinux/etcd/init.d"
mkdir: 已創建目錄 "mylinux/etcsysconfig"
mkdir: 已創建目錄 "mylinux/etcsysconfig/network-scripts"
mkdir: 已創建目錄 "mylinux/lib"
mkdir: 已創建目錄 "mylinux/lib/modules"
mkdir: 已創建目錄 "mylinux/lib64"
mkdir: 已創建目錄 "mylinux/proc"
mkdir: 已創建目錄 "mylinux/sbin"
mkdir: 已創建目錄 "mylinux/sys"
mkdir: 已創建目錄 "mylinux/tmp"
mkdir: 已創建目錄 "mylinux/usr"
mkdir: 已創建目錄 "mylinux/usr/local"
mkdir: 已創建目錄 "mylinux/usr/local/bin"
mkdir: 已創建目錄 "mylinux/usr/local/sbin"
mkdir: 已創建目錄 "mylinux/var"
mkdir: 已創建目錄 "mylinux/var/lock"
mkdir: 已創建目錄 "mylinux/var/log"
mkdir: 已創建目錄 "mylinux/var/run"
[root@localhost: /tmp]# tree 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

24 directories, 0 files

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

blob.png

修改文件時間戳信息命令:touch

blob.png

blob.png

blob.png

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

命令:aliax

小僧在用戶目錄下.bashrc里面進行的設定,僅對當前的root用戶有效

blob.png

 

  善意的提醒:該文件內的設定之后需要通過 source 命令使設置生效。

        另外:在命令行直接使用命令設置的話只對當前進程有效       

  補充:/etc/bashrc 內設置的話將是全局有效(所有用戶)

 

引用另一個命令的執行結果,可以通過管道符"|" 。示例:

[root@localhost: ~]# cat .bashrc | grep alias
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ssh5='ssh 10.90.50.217'
alias mysqll='mysql -uroot -p'

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

[root@CentOS7: ~]$ ls -d /var/l*[0-9]*[[:lower:]]

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

[root@CentOS7: ~]$ ls -d /etc/[0-9]*[^0-9]

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

[root@CentOS7: ~]$ ls /etc/[^[:alpha:]][[:alpha:]]*

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

[root@CentOS7: ~]$ touch tfile-`date +%F-%H-%M-%S`

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

[root@CentOS7: ~]$ cp /etc/p*[^0-9] /tmp/mytest1

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

[root@CentOS7: ~]$ cp /etc/*.d /tmp/mytest2/

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

[root@CentOS7: ~]$ cp /etc/[lmn]*.conf /tmp/mytest3/

總結:

寫作業的時候,小僧比較忙。過程會以完任務形式進行。。,but 我還是較為用心的。不足之處已心中了然。

 

2016年 07月 06日 星期三 16:46:32 CST


THE END

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

(0)
勇爺勇爺
上一篇 2016-07-07
下一篇 2016-07-07

相關推薦

  • 我與Linux的第一次親密接觸

        作為一個新手,經過一周的學習,我對Linux目前有了些許的了解,從Linux的發展史中,開源共享精神深深的感染了我,也使得我對Linux的興趣更加濃厚。對于一個一直翹計算機課的我來說,入門和基礎是一項非常艱巨的任務,初期為了搭建學習的環境,也是費了不小的功夫,相信許多萌也對此有很大的感觸,在這里,我來和大家分享一下如何去構建環境。…

    Linux干貨 2017-03-26
  • Linux磁盤管理

    設備文件 一切皆文件 open(), read(), write(), close() 磁盤結構 磁盤接口類型 并行 IDE:133MB/s SCSI:640MB/s 串口 SATA:6Gbps SAS:6Gbps USB:480MB/s rpm rotationsper minute 硬盤每分鐘轉數 硬盤結構  圖一…

    Linux干貨 2016-08-30
  • 郵件原理你真的造嗎

    一、前言     雖然現在QQ、微信等即時聊天工具原來越盛行,但是在企業與企業之間大部分還是會使用郵件系統進行信息交換。所以作為運維人員,更需要了解這個技術的原理。下面會慢慢介紹郵件的組件功能,將其組成部分。以及郵件的工作原理。     小貼士:郵件系統是一個比較復雜的系統,過程…

    Linux干貨 2015-08-17
  • Linux之bash shell腳本編程入門篇(一)

    什么是bash shell腳本編程? 答:Linux里面有多種shell,而CentOS和redhat的默認shell是bash shell。至于shell腳本,這個跟windows操作系統里面的批處理文件有點像(.bat的文件)。不知道大家還是否記得Linux的哲學思想嗎?其中有那么兩點點:由眾多目的的單一應用程序組成:一個程序只做一件事,且做好;組合目的…

    Linux干貨 2016-08-15
  • N25第一周作業

    個人習慣用導圖寫的作業

    Linux干貨 2016-12-04
  • Linux系統程序包管理工具-RPM

    一、rpm是什么 RPM 是RPM Package Manager(RPM軟件包管理器)的縮寫,這一文件格式名稱雖然打上了RedHat的標志,但是其原始設計理念是開放式的。RPM包管理器(RPM)是一個強大的命令行驅動的包管理系統能夠安裝、卸載、驗證、查詢和更新計算機軟件包。每個軟件包包括存檔的文件連同包和它的版本信息,描述等。還有一個庫API,允…

    Linux干貨 2015-11-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-07 11:00

    寫的很好,排版也很棒,為了照片,你可以幾個明亮的常用參數加以說明,加油

欧美性久久久久