馬哥教育網絡20期+第二周練習博客

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

ls

使用方式:ls [OPTION]… [DIR]…

常用選項:
-a:顯示所有檔案及目錄; 
-A:顯示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列顯示輸出結果。這是默認選項; 
-l:與“-C”選項功能相反,所有輸出信息用單列格式輸出; 
-F:在每個輸出項后追加文件的類型標識符, 
-i:顯示文件索引節點號(inode)。
-k:以KB(千字節)為單位顯示文件大小;
-l:以長格式顯示目錄下的內容列表。
-s:顯示文件和目錄的大小,以區塊為單位;
-R:遞歸處理

stat:獲取文件的源數據

cat:查看文件

file:查看文件內容類型

echo:回顯命令

常用選項:
-n: 禁止自動添加換行符號;
-e: 允許使用轉義符;
    \n: 換行
    \t: 制表符

cp:復制

常用選項:
-i:交互式
-r, -R: 遞歸復制
-a: 歸檔,保留文件所有屬性
-f:強制

mv:移動

常用選項:
-i: 交互式
-f: 強制

rm:刪除

常用選項:
-i: 交互式
-f: 強制刪除
-r: 遞歸

install:復制

常用選項:
-m:指定目標文件權限
-o:指定目標文件屬主
-g:指定目標文件屬組
-d:創建空目錄

touch:創建空文件或修改時間戳

-a -t STAMP:訪問時間戳
-m -t STAMP:修改時間戳
-c:如果文件不存在就不創建

head:顯示文件前N行

常用選項:
-c #:獲取前#字節內容
-n #:獲取前#行內容

tail:顯示文件后N行

常用選項:
-c #:獲取后#字節內容
-n #:獲取后#行內容
-f:實時監測文件新增內容

wc:文件統計

常用選項:
-l:顯示文件行數
-w:顯示文件單詞數
-c:顯示文件字節數

sort:排序

常用選項:
-f:忽略字符大小寫
-r:逆序
-t DELIMITER -k #:以DELIMITER為分隔符,以第#個字段為標準排序
-n:以數值大小進行排序
-u:排序后去重

uniq:排序

常用選項:
-c:顯示每行重復出現的次數
-d:僅顯示重復過的行
-u:僅顯示不曾重復過的行

cut:切片

常用選項:
-d DELIMITER:指明字段分隔符
-f #:指明取第#個字段
--output-delimiter=:指明輸出字段分隔符

tr:替換

常用選項:
-d:刪除給出的字符集
-dc:字符集補集,將不在補集中的所有字符刪除

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

(1)命令執行狀態返回值

[root@study03 ~]# ls /etc &> /dev/null 
[root@study03 ~]# echo $?
0
[root@study03 ~]#

(2)命令行展開

[root@study03 ~]# ls
anaconda-ks.cfg
[root@study03 ~]# cp anaconda-ks.cfg{,.bak}
[root@study03 ~]# ls
anaconda-ks.cfg  anaconda-ks.cfg.bak

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

[root@study03 ~]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 "/tmp/a_c"
mkdir: 已創建目錄 "/tmp/a_d"
mkdir: 已創建目錄 "/tmp/b_c"
mkdir: 已創建目錄 "/tmp/b_d"
[root@study03 ~]# tree /tmp
/tmp
├── a_c
├── a_d
├── b_c
├── b_d
├── fstab
├── ks-script-mXddqP
├── yum.log
└── yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx

4 directories, 4 files
[root@study03 ~]#

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

源數據:

文件大小
創建時間
文件的權限
文件的屬主屬組
atime
mtime
ctime
文件類型
文件被硬鏈接的次數
.......

如何查看:

[root@study03 ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:960       	塊:8          IO 塊:4096   普通文件
設備:fd00h/64768d	Inode:202352576   硬鏈接:1
權限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
最近訪問:2016-06-21 10:07:00.487995284 +0800
最近更改:2016-06-15 18:44:55.739969731 +0800
最近改動:2016-06-15 18:44:55.739969731 +0800
創建時間:-
[root@study03 ~]#

修改時間戳:請使用touch命令,前面已有介紹,這里不再演示

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

定義別名:

[root@study03 ~]# alias ld='ls -d'

命令引用:

[root@study03 ~]# ll `which passwd`
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

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

[root@study03 ~]# ls /var/l*[[:lower:]]

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

[root@study03 ~]# ls /etc/[0-9]*[^0-9]
/etc/5ks:

/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# ls /etc/[^a-zA-Z][a-zA-Z]*
/etc/5ks:
/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# touch /tmp/tfile-$(date "+%F-%H-%M-%S")
[root@study03 ~]# ls /tmp
a_c  b_c  fstab             tfile-2016-06-21-11-18-28  yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx
a_d  b_d  ks-script-mXddqP  yum.log
[root@study03 ~]#

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

[root@study03 ~]# mkdir /tmp/mytest1
[root@study03 ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@study03 ~]# ls /tmp/mytest1
pam.d   passwd-  php.ini  plymouth  popt.d   ppp             printcap  profile.d  python
passwd  php.d    pki      pm        postfix  prelink.conf.d  profile   protocols
[root@study03 ~]#

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

[root@study03 ~]# cp -r /etc/*.d /tmp/mytest2/
[root@study03 ~]# ls /tmp/mytest2/
bash_completion.d  dnsmasq.d      logrotate.d     php.d           rc1.d  rc6.d       sudoers.d
binfmt.d           dracut.conf.d  modprobe.d      popt.d          rc2.d  rc.d        sysctl.d
chkconfig.d        grub.d         modules-load.d  prelink.conf.d  rc3.d  rsyslog.d   tmpfiles.d
cron.d             init.d         my.cnf.d        profile.d       rc4.d  rwtab.d     xinetd.d
depmod.d           ld.so.conf.d   pam.d           rc0.d           rc5.d  statetab.d  yum.repos.d
[root@study03 ~]#

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

[root@study03 ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3/
[root@study03 ~]# ls /tmp/mytest3/
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf
libaudit.conf  locale.conf   man_db.conf     nsswitch.conf
[root@study03 ~]#

原創文章,作者:Net20-study,如若轉載,請注明出處:http://www.www58058.com/19082

(0)
Net20-studyNet20-study
上一篇 2016-06-23 11:04
下一篇 2016-06-23 11:04

相關推薦

  • ansible的入門使用手冊

    ansible1

    2018-01-15
  • 初來乍到

    坐上了去往北方的火車,我不知道自己為什么會顫抖,也許是耳朵里那首汪峰的《北京,北京》震撼到了我,接著滿腦子便是燈紅酒綠的大街道和浮華的高樓大廈,我幻想著有一天能在這樣的大城市中闖出一片天。夢醒了 ! 30個小時的路程確實是讓我滿腦子都是未來的自己。 對于我這個從來沒有見過世面的人來說,第一次來到北京這座一線大城市,內心充滿著無比的欣喜和激動,但更多的還是那份…

    Linux干貨 2018-03-26
  • 第六周作業

    博客具體內容請移步博客園:http://www.cnblogs.com/wangenzhi/p/6295141.html

    Linux干貨 2017-01-17
  • 2、文件通配符,文件創建、復制等操作

    1:bash特性之狀態返回值 變量$?,用于保存命令執行成功與否的狀態,0表示成功,1-255表示失敗,以命令ls為例: 執行成功 [root@localhost ~]# ls /usr/     bin  etc  games &nbsp…

    Linux干貨 2016-09-19
  • Linux 命令行返回狀態

    linux 執行命令后會返回一個狀態碼 命令執行成功返回0: 當刪除一個文件并刪除成功時返回的狀態碼為0 [root@localhost 1]# rm -rf 1_1 [root@localhost 1]# echo $? 0 命令執行失敗返回1-255 當把 文件夾 1_1 重命名為1_2失敗后狀態碼為1 [root@localhost 1]# mv 1_…

    Linux干貨 2017-08-28
  • 任務計劃

                          Linux任務計劃 一、任務計劃     (1)未來的某一個時間點執行一次某任務:at、batch     (2)周期性運行某…

    2017-05-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 13:33

    寫的很好,排版也很棒,10題好像有點小瑕疵,在仔細想想,加油

欧美性久久久久