2、文件通配符,文件創建、復制等操作

1:bash特性之狀態返回值

變量$?,用于保存命令執行成功與否的狀態,0表示成功,1-255表示失敗,以命令ls為例:

  • 執行成功

[root@localhost ~]# ls /usr/    
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp 
[root@localhost ~]# echo $? 
0

  • 命令輸入錯誤

[root@localhost ~]# lss /usr 
-bash: lss: command not found 
[root@localhost ~]# echo $? 
127

  • 命令參數輸入錯誤

[root@localhost ~]# ls /usrrr 
ls: cannot access /usrrr: No such file or directory 
[root@localhost ~]# echo $? 
2

其他錯誤狀態,$?也會是非0結果。

2:命令行展開

2.1:使用命令行展開,創建/tmp下的a\_c,a\_d,b\_c,b\_d文件。

[root@localhost ~]# mkdir -pv {a,b}_{c,d} 
mkdir: created directory `a_c' 
mkdir: created directory `a_d' 
mkdir: created directory `b_c' 
mkdir: created directory `b_d' 
[root@localhost ~]# ls -d {a,b}_{c,d} 
a_c  a_d  b_c  b_d

2.2:在/tmp下創建如下文件。

這里寫圖片描述

[root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,etc{/rc.d/init.d,/sysconfig/network-scripts},dev,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
    `-- run24 directories, 0 files

3:如何定義一個命令的別名?如何在一個命令中引用另一個命令的結果?

使用反引“或$()可引用其他命令的執行結果:

  • 使用反引號

[root@localhost ~]# dirname `which touch`
/bin

# 顯示命令touch所在的路徑名

  • 使用$()

[root@localhost ~]# dirname $(which touch)
/bin

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

[root@localhost ~]# ls -d /var/l*[[:digit:]]*[[:lower:]]
/var/l13u  /var/lfs3k

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

[root@localhost ~]# ls -d /etc/[[:digit:]]*[^[:digit:]]
/etc/222kkk  /etc/333uuu

6:顯示/etc目錄下以非字母開頭且后面跟了一個字母和其他任意長度任意字符的文件和目錄

[root@localhost ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/1djj

7:在/tmp下創建以tfile開頭,后跟當前時間的文件

[root@localhost ~]# touch /tmp/tfile-`date +%F-%H-%M-%S`
[root@localhost ~]# touch /tmp/tfile-`date +%F-%H-%M-%S`
[root@localhost ~]# ls /tmp
tfile-2016-08-25-08-14-35  tfile-2016-08-25-08-14-36

8:復制/etc目錄下以字母“p”開頭,以非數字結尾的文件到/tmp/mytest1目錄中

[root@localhost ~]# mkdir /tmp/mytest1
[root@localhost ~]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1/
[root@localhost ~]# ls /tmp/mytest1/
pam.d  passwd  passwd-  pki  plymouth  pm  popt.d  postfix  ppp  prelink.conf.d  printcap  profile  profile.d  protocols

9:復制/etc目錄下所有以.d結尾的目錄和文件至/tmp/mytest2目錄中

[root@localhost ~]# mkdir /tmp/mytest2
[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2
[root@localhost ~]# ls /tmp/mytest2
bash_completion.d  dracut.conf.d  makedev.d   prelink.conf.d  rc1.d  rc5.d      statetab.d  yum.repos.d
chkconfig.d        init.d         modprobe.d  profile.d       rc2.d  rc6.d      sudoers.d
cron.d             ld.so.conf.d   pam.d       rc.d            rc3.d  rsyslog.d  sysctl.d
depmod.d           logrotate.d    popt.d      rc0.d           rc4.d  rwtab.d    xinetd.d

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

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

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

(0)
wangzhenyu177wangzhenyu177
上一篇 2016-09-19 13:47
下一篇 2016-09-19 13:48

相關推薦

  • DNS基礎及使用BIND搭建域名服務器

        本文主線是DNS服務相關概念和服務器搭建,在此之前了解一下域名這個東東很有其必要性,因為DNS服務就是應域名而生的。那么域名是什么哪?     域名     域名是用一串用點分開的字符串來表示的internet上的某一臺或者一組計算機的名稱,用于在數據傳輸時標識計算機的電子方位。舉…

    Linux干貨 2015-06-11
  • N22-℡浮生.若夢 ╮第八周作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 集線器:集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離 網橋:是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,       不是共享一條背板總線,可隔離沖突域…

    Linux干貨 2016-11-28
  • corosync+pacemaker+drbd+mysql配置安裝詳解

    一,  基本環境介紹及基本環境配置 節點1: node1.hulala.com      192.168.1.35     centos6.5_64    添加8G新硬盤 節點2: node1.hulala.com      192.168.1.36…

    Linux干貨 2016-05-08
  • 計算機操作系統與簡單命令

    計算機系統的組成 硬件:主機(cpu、內存等),外部設備(輸入設備鍵盤鼠標、輸出設備顯示屏;硬軟盤   等等)。 軟件:主要由操作系統和應用程序構成。 計算機硬件的組成部分及工作流程圖 輸入設備——存儲器——CPU運算——輸出設備   服務器主要分類有: 塔式服務器:立式PC相像 機架式服務器:統一標準寬度19英寸(48.26c…

    Linux干貨 2017-02-14
  • N25_第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@aio ~]# who|cut -d" " -f1|uniq root 2、取出最后登錄到當前系統的用戶的相關信息。 [root@aio ~]# who| …

    Linux干貨 2016-12-19
  • 管道和用戶管理權限

           一周的時間又過去了,感覺過得太快了,但是過得很充實,這就夠啦!把在平時的學習中覺得重要有意義的地方記錄下來,希望可以對自己以后的學習有所幫助! 1.把/etc/issue轉化為大寫,并重定向到issue.out. 管道的作用很強大,|將正確的結果重定向給下一條命令;連接命令;一頁一頁地…

    2017-07-22
欧美性久久久久