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
命令行展開所涉及內容(筆記截圖)
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、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
修改文件時間戳信息命令:touch
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令:aliax
小僧在用戶目錄下.bashrc里面進行的設定,僅對當前的root用戶有效
善意的提醒:該文件內的設定之后需要通過 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
寫的很好,排版也很棒,為了照片,你可以幾個明亮的常用參數加以說明,加油