Week2 bash特性及文件相關

1. 文件類命令及其常用的使用方法

文本查看類命令
cat head tail more less

分屏查看命令

more less
more FILE 翻至最后一頁自動退出
less FILE -f 翻至最后一頁不退出 若有追加內容則立即顯示

首尾查看命令
head tail

head命令: 查看文件前n行

head FILE
head [option] FILE
head -20 /etc/rc.d/init.d/functions

tail命令:查看文件的后n行

tail FILE
-f: 顯示文件后不退出等待追加的新行并立即顯示
tail -20 /etc/rc.d/init.d/functions

文件管理類
cp mv rm

cp命令: copy

cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

單源復制

 cp [OPTION]... [-T] SOURCE DEST
 若DEST不存在: 創建此文件并復制源文件數據流至DEST中
 若DEST存在:
  若DEST是非目錄文件,則覆蓋目標文件
  若DEST是目錄,則先在DEST目錄下創建一個與源文件同名的文件 并復制其數據流至此文件

多源復制

cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
        若DEST不存在->error
        若DEST存在,
            DEST是非目錄文件->error
            DEST是目錄文件:分別復制每一個文件至目錄目錄并保持原名
    選項
        -i: 交互式復制,即覆蓋之前提醒用戶確認        -f:強制覆蓋目標文件
        -r/R:遞歸復制目錄:        -d:復制符號鏈接本身 而非其指向的源文件        -a: -dR --preserve=all   archive歸檔
        --preserve=
            mode ownership timestamps context xattr links all

mv命令: move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…

   -i:交互式   -f:force

rm命令: remove

    -i:交互式    -f:force
    -r:recursive
     rm -rf /PATH/TO/DIR

所有不用的文件建議不要直接刪除,而是移動到某專用目錄(模擬回收站)

2. bash的工作特性

2.1 命令執行狀態返回值

命令執行結果:
命令執行狀態返回值:
保存于bash的特殊變量$? 成功:0 失敗1-255

2.2 引用

強引用 'XXX' 單引號——不做替換直接顯示
弱引用 "XXX" 雙引號——變量會被替換
命令引用——替換為命令執行結果
$(COMMAND)
`COMMAND`

  [root@node2 ~]# A=20
  [root@node2 ~]# echo '$A'
  $A
  [root@node2 ~]# echo "$A"
  20
  [root@node2 ~]# echo date
  date
  [root@node2 ~]# echo $(date)
  Sun Dec 11 10:21:16 CST 2016

2.3 命令行展開

命令行展開
~:可承載一個逗號分隔的路徑列表,并將其展開為多個路徑

創建 /tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2
  mkdir -pv /tmp/x/{y1/{a,b},y2}

tree命令:顯示目錄結構
tree [options] directory
-L 顯示層數

練習:使用命令行展開功能完成:
(1)創建/tmp目錄下的a_c,a_d,b_c,b_d

   mkdir -pv /tmp/{a,b}_{c,d}

(2)創建/tmp/mylinux目錄下的/下的各一級目錄及其部分子目錄:

  mkdir -p /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr{/bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var{/cache,log,run}}

2.4 文件名通配符使用

globbing: 文件名通配
匹配模式: 元字符

 *: 匹配任意長度的任意字符
 ?: 匹配任意單個字符 []:匹配指定范圍內的任意單個字符        [a-z],[A-Z],[0-9],[a-z0-9]
        [[:upper:]] [[:lower:]] [[:alpha:]]        [[:digit:]] 
        [[::alnum]] 字母+數字        [[:space:]] 
        [[:punct:]] 標點符號 [^]:匹配指定范圍外的任意單個字符        [^0-9]
        [^[:alnum:]]

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

ls /var/l[0-9][[:lower:]]

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

ls /etc/[0-9]*[^0-9]

顯示在/etc目錄下以非字母開頭后跟一個字母以及其他任意長度任意字符的文件或目錄>ls /etc/[^[:alpha:]][:alpha:]*

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

touch "tfile-$(date "+%Y-%m-%d-%H-%M-%S")"

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

cp -r /etc/p*[^0-9] /tmp/mytest1

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

cp -r /etc/*.d /tmp/mytest2

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

cp -r /etc/[l,m,n]*.conf /tmp/mytest3

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

文件分數據和元數據
數據:data –> cat等看到的內容
元數據:meta data –>文件自身的屬性 stat看到的信息

文件大小 文件類型 權限 IO塊數 屬主屬組ID號 時間戳

時間戳:
Access: 2016-12-10 14:36:34.574026967 +0800Modify: 2014-04-02 23:30:47.000000000 +0800 數據改變
Change: 2016-11-12 01:17:23.004986603 +0800 元數據改變

可用stat命令查看文件元數據

touch:change timestamps

touch [OPTION]..FILE
  -c 文件不存在時不予創建
  -a 僅修改access time
  -m 僅修改modify time
  -t STAMP YYMMDDhhmm[.ss]
touch -m -t 201312010303.03 /tmp/1.txt

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

(0)
alonedreameralonedreamer
上一篇 2016-12-11 10:10
下一篇 2016-12-11 11:02

相關推薦

  • Linux第八周小結

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態 在線的主機使用綠色顯示 不在線的主使用紅色顯示 #!/bin/bash # for i in {1..254};do if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then echo -e…

    Linux干貨 2017-08-20
  • 第八周:網絡基礎知識和shell腳本練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別; 網橋:是連接兩個局域網的基于MAC地址數據存儲轉發設備,工作于數據鏈路層 集線器:所有端口處于同一個廣播域和沖突域中,帶寬共享,工作于物理層 二層交換機:多端口網橋,一個端口一個沖突域,默認所有端口位于同一個廣播域中,可以劃分vlan,隔離廣播域,帶寬獨享 三層交換機:具有路由功…

    Linux干貨 2016-11-21
  • lvs 基本概念

    LVS(linux virtual machine) 的簡寫,是一個虛擬的服務器集群系統,主要用于4層負載均衡。 宗旨: 使用集群技術和Linux操作系統實現一個高性能、高可用的服務器. 很好的可伸縮性(Scalability) 很好的可靠性(Reliability),應該還是高可用吧 很好的可管理性(Manageability…

    Linux干貨 2015-09-14
  • 高級文件系統管理 之RAID

    高級文件系統管理 之RAID 軟RAID ? mdadm:為軟RAID提供管理界面 ?                 為空余磁盤添加冗余 ?      &nb…

    Linux干貨 2016-08-30
  • CentOS 5.0系統啟動流程

    注:CentOS系統5.x,6.x和7.x的啟動流程不同,所以本文僅討論CentOS 5.x的啟動流程。 1. POST加電自檢 服務器在開機之后首先會先進行硬件的檢測,在開機界面我們可能會看到檢測硬盤,cpu或raid卡等信息,此界面即硬件自檢界面。 2. BIOS引導 BIOS(BootSequence)用于通過指定的引導裝置引導系統啟動。 3. Boo…

    2017-05-14
  • Linux基礎之用戶管理和正冊表達式

    1.1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 [root@localhost home]# cp -r /etc/skel/ /home/tuser1 [root@localhost home]# chmod -R go= tuser1/ [root@localhos…

    2017-09-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 23:22

    贊,基礎內容的總結將成為后面最寶貴的記憶~繼續加油~

欧美性久久久久