第二周作業

一、文件管理命令以及演示方法

 1.1. mkdir命令

    作用:創建文件夾

    基本用法:mkdir [OPTION]… DIRECTORY…

    參數:

    -p:     自動創建父目錄

    -v:     顯示創建詳細過程

    -m MODE:   直接給dig你權限

 用例:       

[root@golet ~]# mkdir -p -v /tmp/dirtest
mkdir: created directory `/tmp/dirtest'
[root@golet ~]#

 1.2.rmdir刪除目錄 

    作用:刪除文件夾

    基本用法: rmdir [OPTION]… DIRECTORY…

    參數:

  -p:刪除目錄后,如果期父目錄為空,則一并刪除

  -v: 顯示過程

 用例:

[root@golet /]# rmdir -p -v /tmp/dirtest/xiaoxin/
rmdir: removing directory, `/tmp/dirtest/xiaoxin/'
rmdir: removing directory, `/tmp/dirtest'
rmdir: removing directory, `/tmp'
rmdir: failed to remove directory `/tmp': Directory not empty
[root@golet /]#

 1.3. tree命令

    作用: 列出目錄

    基本用法: tree [option]

    參數:   

         -L level: 指定要顯示的層級

 用例:

[root@golet /]# tree  -L 1
.
├── bin
├── boot
├── cgroup
├── data
├── dev
├── etc
├── home
├── lib
├── lib64
├── lost+found
├── media
├── media2
├── mnt
├── opt
├── proc
├── RECOVERED_FILES
├── root
├── rooto
├── sbin
├── selinux
├── srv
├── sys
├── test
├── tmp
├── usr
└── var

25 directories, 1 file

 1.4.stat命令

      作用:顯示文件狀態

      基本用法: stat [option] file

 用例:

[root@golet /]# stat /root
  File: `/root'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 259075      Links: 26
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-16 10:58:21.679314558 +0800
Modify: 2016-08-14 00:36:28.833314963 +0800
Change: 2016-08-14 00:36:28.833314963 +0800

 1.5. touch命令

       touch – change file timestamps

        

       touch [OPTION]… FILE…

            -c: 指定的文件路徑不存在時不予創建;

         -a: 僅修改access time;

         -m:僅修改modify time;

         -t STAMP

         [[CC]YY]MMDDhhmm[.ss]

用例:       

1111.png

[root@golet tmp]# touch xiaoxin
[root@golet tmp]# ll xiaoxin
-rw-r--r-- 1 root root 0 Aug 16 15:00 xiaoxin

  1.6.cp命令:

        作用:文件復制

         基本用法:

               cp [OPTION]… [-T] SOURCE DEST

               cp [OPTION]… SOURCE… DIRECTORY

               cp [OPTION]… -t DIRECTORY SOURCE

        參數:

              -i:交互式復制,即覆蓋之前提醒用戶確認;

                -f:強制覆蓋目標文件;

                 -r, -R:遞歸復制目錄;

                -d:復制符號鏈接文件本身,而非其指向的源文件;

                -a:-dR –preserve=all, archive,用于實現歸檔;

               –preserv=

                   mode:權限

                   ownership:屬主和屬組

                   timestamps: 時間戳

                   context:安全標簽

                   xattr:擴展屬性

                 links:符號鏈接

                   all:上述所有屬性

用例: 

[root@golet tmp]# cp -a xiaoxin xiaoxin1
[root@golet tmp]# mkdir test
[root@golet tmp]# cp -a aa.txt aaa.txt  test/
[root@golet tmp]# ls
aaa.txt  aa.txt  test  xiaoxin  xiaoxin1
[root@golet tmp]# tree 
.
├── aaa.txt
├── aa.txt
├── test
│   ├── aaa.txt
│   └── aa.txt
├── xiaoxin
└── xiaoxin1

1 directory, 6 files

  1.7.mv命令:

        作用:文件重命名

        基本用法:

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE..    

    參數:

      -i:交互式;

      -f:force

用例: 

[root@golet tmp]# ls
aaa.txt  aa.txt  test  xiaoxin  xiaoxin1
[root@golet tmp]# mv xiaoxin movexiaoxin
[root@golet tmp]# ll
total 8
-rw-r--r-- 1 root root    0 Aug  7 14:54 aaa.txt
-rw-r--r-- 1 root root  772 Aug 14 00:03 aa.txt
-rw-r--r-- 1 root root    0 Aug 16 15:00 movexiaoxin
drwxr-xr-x 2 root root 4096 Aug 16 15:34 test
-rw-r--r-- 1 root root    0 Aug 16 15:00 xiaoxin1

    8.rm命令:

        作用: 刪除文件或者目錄

    基本用法: rm [OPTION]… FILE…

    參數:

    -i: 交互式

    -f: 強制覆蓋

    -r:  遞歸刪除

    注意:刪除目錄:rm -rf /PATH/TO/DIR

    危險操作:rm -rf /*

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

用例: 

[root@golet tmp]# ls
aaa.txt  aa.txt  movexiaoxin  test  xiaoxin1
[root@golet tmp]# rm -rf test
[root@golet tmp]# rm -i xiaoxin1
rm: remove regular empty file `xiaoxin1'? y
[root@golet tmp]# ls
aaa.txt  aa.txt  movexiaoxin

二、bash的基礎特性:

    命令補全:

        shell程序在接收到用戶執行命令的請求,分析完成之后,最左側的字符串會被當作命令;

    命令查找機制:

    查找內部命令;

        根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名;

    給定的打頭字符串如果能惟一標識某命令程序文件,則直接補全;

    不能惟一標識某命令程序文件,再擊tab鍵一次,會給出列表;

     路徑補全:

        在給定的起始路徑下,以對應路徑下的打頭字串來逐一匹配起始路徑下的每個文件:

    tab:

        如果能惟一標識,則直接補全;

        否則,再一次tab,給出列表;

  2.1 bash的基礎特性之:命令行展開

    ~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

        

test.gif

    {}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;

        例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b    

    問題1: tmp目錄下創建a_c,a_d,b_c,b_d

[root@xiaoxin tmp]# mkdir -v {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@xiaoxin tmp]# ls
a  a_c  a_d  b  b_c  b_d

    問題2: 創建如下目錄結構:

     /tmp/mysysroot/

     |– bin

     |– etc

     |   `– sysconfig

     |       `– network-scripts

     |– sbin

     |– usr

     |   |– bin

     |   |– lib

     |   |– lib64

     |   |– local

     |   |   |– bin

     |   |   |– etc

     |   |   |– lib

     |   |   `– sbin

     |   `– sbin

     `– var

        |– cache

        |– log

        `– run

[root@xiaoxin tmp]# mkdir -pv /tmp/mylinux/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}
mkdir: created directory `/tmp/mylinux'
mkdir: created directory `/tmp/mylinux/bin'
mkdir: created directory `/tmp/mylinux/sbin'
mkdir: created directory `/tmp/mylinux/etc'
mkdir: created directory `/tmp/mylinux/etc/sysconfig'
mkdir: created directory `/tmp/mylinux/etc/sysconfig/network-scripts'
mkdir: created directory `/tmp/mylinux/usr'
mkdir: created directory `/tmp/mylinux/usr/bin'
mkdir: created directory `/tmp/mylinux/usr/sbin'
mkdir: created directory `/tmp/mylinux/usr/local'
mkdir: created directory `/tmp/mylinux/usr/local/bin'
mkdir: created directory `/tmp/mylinux/usr/local/sbin'
mkdir: created directory `/tmp/mylinux/usr/local/etc'
mkdir: created directory `/tmp/mylinux/usr/local/lib'
mkdir: created directory `/tmp/mylinux/usr/lib'
mkdir: created directory `/tmp/mylinux/usr/lib64'
mkdir: created directory `/tmp/mylinux/var'
mkdir: created directory `/tmp/mylinux/var/cache'
mkdir: created directory `/tmp/mylinux/var/log'
mkdir: created directory `/tmp/mylinux/var/run'

 2.2 bash的基礎特性:命令的執行狀態結

命令執行的狀態結果:

    bash通過狀態返回值來輸出此結果:

    成功:0

失?。?-255

[root@xiaoxin tmp]# ls
a  a_c  a_d  b  b_c  b_d  mylinux
[root@xiaoxin tmp]# echo $?
0
[root@xiaoxin tmp]# ls e
ls: cannot access e: No such file or directory
[root@xiaoxin tmp]# echo $?
2
[root@xiaoxin tmp]#

命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;

            命令正常執行時,有的還回有命令返回值:

            根據命令及其功能不同,結果各不相同;

            引用命令的執行結果:

                $(COMMAND)

                或`COMMAND`

[root@xiaoxin tmp]# aa=$(ifconfig seth0|grep -o 'inet.*[0-9]$'|awk -F '[: ]' '{print $3}')
[root@xiaoxin tmp]# echo $aa
118.193.244.142

三、文件

     3.1 文件元數據:

        元數據分類兩類:

            元數據:metadata

                 元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有

                 者以及文件數據塊的分布信息(inode…)等等

            數據: data 

                普通文件中的實際數據

       3.2  文件時間戳信息

           3.2.1  查看文件時間戳信息

[root@mcloud logs]# stat /root/ 
  File: `/root/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d      Inode: 1700609     Links: 22
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-16 08:56:13.945460188 +0800
Modify: 2016-08-16 16:49:53.295440500 +0800
Change: 2016-08-16 16:49:53.295440500 +0800

        3.2.2 修改文件時間戳信息

[root@mcloud logs]# stat /root/ 
  File: `/root/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d      Inode: 1700609     Links: 22
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-16 08:56:13.945460188 +0800
Modify: 2016-08-16 16:49:53.295440500 +0800
Change: 2016-08-16 16:49:53.295440500 +0800
[root@mcloud logs]# touch -a /root/
[root@mcloud logs]# stat /root/    
  File: `/root/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d      Inode: 1700609     Links: 22
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-16 17:19:21.914439275 +0800
Modify: 2016-08-16 16:49:53.295440500 +0800
Change: 2016-08-16 17:19:21.914439275 +0800

四. 別名以及命令結果引用

   4.1:定義別名

[root@xiaoxin tmp]# alias xiaoxin='ls -l'
[root@xiaoxin tmp]# xiaoxin
total 28
drwxr-xr-x 2 root root 4096 Aug 16 16:15 a
drwxr-xr-x 2 root root 4096 Aug 16 16:43 a_c
drwxr-xr-x 2 root root 4096 Aug 16 16:43 a_d
drwxr-xr-x 2 root root 4096 Aug 16 16:15 b
drwxr-xr-x 2 root root 4096 Aug 16 16:43 b_c
drwxr-xr-x 2 root root 4096 Aug 16 16:43 b_d
drwxr-xr-x 7 root root 4096 Aug 16 16:44 mylinux

   4.2: 取消定義別名

[root@xiaoxin tmp]# unalias xiaoxin
[root@xiaoxin tmp]# xiaoxin
-bash: xiaoxin: command not found

   4.3:命令結果引用

[root@xiaoxin tmp]# echo $(ls)
a a_c a_d b b_c b_d mylinux

五. 文件操作

   5.1 文件查看

        5.1.1 顯示/var目錄下所有以1開頭,以一個小寫字符結尾,且中間至少出現一位數字

          (可以有其他字符)的文件或者目錄

[root@golet var]# ls  /var/1*[0-9]*[a-z]
/var/1as456sada

/var/1x4seassda:

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

[root@golet var]# ls -l /etc/*[a-zA-Z]

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

[root@golet var]# ls  /etc/[^a-zA-Z]* 
/etc/123ssss

    5.2 文件創建

        5.2.1 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形式: 

        tfile-2016-08-19

[root@golet var]# touch /tmp/tfile-$(date -I)

    5.3 文件復制

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

[root@app02 mytest1]# cp -a /etc/p*[a-zA-Z] ./
[root@app02 mytest1]# ls
pam.d   pcmcia   plymouth                      popt.d   prelink.cache   printcap   protocols
pango   pinforc  pm                            postfix  prelink.conf    profile    pulse

        5.3.2 復制/etc目錄下所有以d結尾的文件或者目錄到/tmp/mytest2目錄中

[root@app02 mytest2]# cp -a /etc/*d ./
[root@app02 mytest2]# ls
bash_completion.d  dracut.conf.d  ipsec.d       modprobe.d      popt.d          rc2.d
blkid              event.d        ld.so.conf.d  motd            prelink.conf.d  rc3.d
chkconfig.d        ha.d           libibverbs.d  oddjobd.conf.d  profile.d       rc4.d

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

[root@app02 mytest3]# cp /etc/[lmn]*.conf ./ 
[root@app02 mytest3]# ls
ld.so.conf     libuser.conf    mke2fs.conf    nfsmount.conf  ntp.conf
libaudit.conf  logrotate.conf  modprobe.conf  nsswitch.conf

   

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

(0)
xiaoxinxiaoxin
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • 一點點RPM

    1、軟件管理器簡介          隨著Linux的不斷發展及越來越多的人投入到Linux大家庭中,軟件管理器的作用對于還無法熟練掌握源碼編譯安裝的人們還是顯得尤為重要,同時,由Linux開發商在為其編譯完成的軟件包在某種程度上要比在網絡上流傳的軟件包要安全的多;所以,掌握Li…

    Linux干貨 2015-12-06
  • 計算機基礎知識點

    說明:(僅僅記錄個人認為重要的內容) CPU的相關概念 主頻:主頻是cpu的時鐘頻率(cpu clock speed),是cpu運算時的工作頻率(1秒內發生的同步脈沖數) 的簡稱。單位是HZ,一般 來說,主頻越高,cpu的速度越快。由于內部結構的不同,并非所有的時鐘頻率 相同的cpu的性能都一樣  外頻:系統…

    Linux干貨 2017-02-14
  • iptables之froward

    先克隆一臺centos服務器添加虛擬網卡 同時兩個服務器配上host only的網卡 echo 1 > /proc/sys/net/ipv4/ip_forward打開網卡間轉發 有回包 但是沒有10.0.0.3還是沒有ping通原因是192.168.68.134 的網關指向了192.168.68.2 而不是192.168.68.144添加一條指向192…

    2017-11-12
  • LAMP三個主機的簡單配置和php-admin,wordpress

    LAMP:組合應用httpd2.4:yum install httpd.2.4php-fpm:yum install php-fpm php-mysqlmysql: yum install mysql 注意:在做實驗時,一定要將iptables和selinux給關了。 http:只需在httpd上寫一個必須的文件/etc/httpd/conf.d/fcgic…

    2017-06-06
  • 強大的查找工具之find命令

    一、Linux中的文件查找工具     在文件系統上常常需要根據文件的各種屬性去查找符合條件的文件,此前講到的grep、egrep屬于文本過濾、文本搜索工具;而文本查找工具有兩個,local和find 二、Linux中的查找工具簡介 locate 命令 find 命令 簡介:locate屬于非實時查找,依賴于事先構建的索引;索引的創建是在…

    Linux干貨 2016-08-16

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-22 14:26

    寫的很好,排版也很棒,加油,創建目錄的題目第2個不對

欧美性久久久久