N22-第二周作業

1、文件管理類命令有:cp,mv,rm
    cp:復制命令
      用法:cp [OPTION]… SOURCE… DEST
        如果DEST不存在,則先創建此文件并復制源文件的數據流到DEST中
    ]# mkdir test
    tmp]# cd test/
    test]# cp /etc/fstab ./temp
    ]# ls
    temp
    如果DEST存在且是非目錄文件,則覆蓋目標文件
    ]# cp /etc/fstab ./
    cp:是否覆蓋"./fstab"? y
    如果DEST存在且是目錄文件,則先在DEST創建一個與源文件同名的文件,并復制其數據流
    ]# cp /etc/fstab ./
    ]# ls
    fstab
     常用選項:
    -i:覆蓋文件前提醒用戶確認  默認覆蓋前需要用戶確認
    -f:強制覆蓋目標文件
    -r:復制目錄并復制目錄中的文件到目標   cp不加-r默認不能復制目錄    
    ]# cp /dev/mapper ./
    cp: 略過目錄"/dev/mapper"
    test]# cp -r /dev/mapper ./
    test]# ll
    總用量 8
    -rw-r–r–. 1 root root  632 8月  28 13:42 fstab
    drwxr-xr-x. 2 root root 4096 8月  28 13:49 mapper

    mv:移動命令
       mv  [OPTION]…  SOURCE DEST
    如果源文件和目標文件在同一目錄下,則mv命令的作用是重命名文件
    mv命令等于是cp命令后加上刪除源文件的操作。
    mv命令可以不加選項直接移動文件夾
    ]# mv mapper mymapper
    test]# ls
     fstab  mymapper
    
    rm:刪除命令
    rm [OPTION]… FILE…
    常用選項:
    -r:遞歸刪除目錄及其目錄下的文件
    -i   刪除前提醒用戶,root用戶默認啟用該選項
    -f   直接強制刪除
    注意:生產環境所有不用的文件建議不要直接刪除而是移動到某個專用的目錄(模擬回收站)
    ]# rm -rf fstab mymapper/
    test]# ll
      總用量 0

2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    bash通過狀態返回碼來輸出命令執行的狀態結果  區分狀態返回值和命令自身的返回值
                    成功:0  失敗:1~255
                 顯示特殊變量 echo $? 來得到狀態返回碼
        ]# df -lh
         ….
        ]# echo $?
        0
        ]# fdisk -l /dev/sdd
          fdisk: 打不開 /dev/sdd: 沒有那個文件或目錄
        test]# echo $?
            1
   bash命令行展開:  
                     ~:自動展開為用戶的家目錄,或一個指定用戶的家目錄
                    {}:可承載一個以逗號分隔的路徑列表,并自動將其展開為多個路徑

            ]# pwd
            /tmp/test
            test]# cd ~
            ~]# pwd
            /root
            ~]# cd /tmp/test/
            test]# mkdir a{b,c}1{d,e,f}
            test]# ls
            ab1d  ab1e  ab1f  ac1d  ac1e  ac1f

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

]# mkdir -pv {a_,b_}{c,d}
mkdir: 已創建目錄 "a_c"
mkdir: 已創建目錄 "a_d"
mkdir: 已創建目錄 "b_c"
mkdir: 已創建目錄 "b_d"

]# mkdir -pv {bin,dev,lib64,proc,sbin,sys,tmp,boot/grub,etc/{rc.d/init.d,sysconfig/network-scripts},lib/mod
ules,usr/local/{bin,sbin},var/{lock,log,run}}mkdir: 已創建目錄 "bin"
mkdir: 已創建目錄 "dev"
mkdir: 已創建目錄 "lib64"
mkdir: 已創建目錄 "proc"
mkdir: 已創建目錄 "sbin"
mkdir: 已創建目錄 "sys"
mkdir: 已創建目錄 "tmp"
mkdir: 已創建目錄 "boot"
mkdir: 已創建目錄 "boot/grub"
mkdir: 已創建目錄 "etc"
mkdir: 已創建目錄 "etc/rc.d"
mkdir: 已創建目錄 "etc/rc.d/init.d,lib"
mkdir: 已創建目錄 "etc/rc.d/init.d,lib/modules"
mkdir: 已創建目錄 "etc/sysconfig"
mkdir: 已創建目錄 "etc/sysconfig/network-scripts,lib"
mkdir: 已創建目錄 "etc/sysconfig/network-scripts,lib/modules"
mkdir: 已創建目錄 "usr"
mkdir: 已創建目錄 "usr/local"
mkdir: 已創建目錄 "usr/local/bin"
mkdir: 已創建目錄 "usr/local/sbin"
mkdir: 已創建目錄 "var"
mkdir: 已創建目錄 "var/lock"
mkdir: 已創建目錄 "var/log"
mkdir: 已創建目錄 "var/run"

4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
 文件包含兩類數據:
  元數據:metadata 描述屬性的數據       可用stat file 看到
  數據:data    文件本身的數據              可用cat file看到
    test]# touch temp.txt
    test]# cat temp.txt
    test]# stat temp.txt
    文件:"temp.txt"
    大?。?             塊:0          IO 塊:4096   普通空文件
    設備:fd00h/64768d    Inode:67374345    硬鏈接:1
    權限:(0644/-rw-r–r–)  Uid:(    0/    root)   Gid:(    0/    root)
    環境:unconfined_u:object_r:user_tmp_t:s0
      時間戳信息:
    最近訪問:2016-08-28 14:25:56.679054155 +0800
    最近更改:2016-08-28 14:25:51.339029587 +0800
    最近改動:2016-08-28 14:25:51.339029587 +0800
    創建時間:-
     可以用touch命令來修改時間戳信息
    t]# touch -a temp.txt
        test]# touch -m temp.txt
最近訪問:2016-08-28 14:28:48.842846226 +0800
最近更改:2016-08-28 14:28:57.903887914 +0800
最近改動:2016-08-28 14:28:57.903887914 +0800

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
    bash shell有兩類配置文件。profile類和bashrc類。其中,可以在/etc/bashrc下定義對
    所有用戶都生效的命令別名或者在~/.bashrc定義某個用戶專屬的命令別名。
    ]# vim + /etc/bashrc   例如定義對所有用戶都生效的cls=clear清屏命令
    93 alias cls='clear'
***注意,在配置文件中定義的命令別名或做的其他設置,將在之后啟動的bash shell中永遠生效
    引用命令的執行結果
           1,$(COMMAND) 2,`COMMAND`
   ]# mkdir `date +%y%m%d`
   ]# ls
    160828
   ]# touch $(ls /var/log/m*log | cut -d/ -f4)backup
   test]# ls
     160828  maillogbackup

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
~]# ls -d /var/l*[0-9]*[[:lower:]]
ls: 無法訪問/var/l*[0-9]*[[:lower:]]: 沒有那個文件或目錄

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
]# ls -d /etc/[0-9]*[^0-9]
ls: 無法訪問/etc/[0-9]*[^0-9]: 沒有那個文件或目錄

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
]# ls -d /etc/[^[:alpha]][0-9]*
ls: 無法訪問/etc/[^[:alpha]][0-9]*: 沒有那個文件或目錄

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
~]# ls /tmp
tfile-2016-08-28-17-44-47

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
]# cp -r /etc/p*[^0-9] /tmp/mytest1/
]# ls /tmp/mytest1/
pam.d   passwd-       pinforc  plymouth  pnm2ppa.conf  postfix  prelink.conf.d  profile    protocols  purple
passwd  pbm2ppa.conf  pki      pm        popt.d        ppp      printcap        profile.d  pulse      python

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
]# cp -r /etc/*.d /tmp/mytest2
 tmp]# ls /tmp/mytest2
auto.master.d      depmod.d       init.d        modules-load.d  profile.d  rc5.d          sane.d       usb_modeswitch.d
bash_completion.d  dnsmasq.d      ipsec.d       my.cnf.d        rc0.d      rc6.d          setuptool.d  xinetd.d
binfmt.d           dracut.conf.d  ld.so.conf.d  oddjobd.conf.d  rc1.d      rc.d           statetab.d   yum.repos.d
cgconfig.d         exports.d      libibverbs.d  pam.d           rc2.d      request-key.d  sudoers.d
chkconfig.d        gdbinit.d      logrotate.d   popt.d          rc3.d      rsyslog.d      sysctl.d
cron.d             grub.d         modprobe.d    prelink.conf.d  rc4.d      rwtab.d        tmpfiles.d

12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
]# cp -r /etc/[l,m,n]*.conf /tmp/mytest3
 tmp]# ls /tmp/mytest3
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf  nfsmount.conf  ntp.conf
libaudit.conf  locale.conf   man_db.conf     mtools.conf  nsswitch.conf  numad.conf

原創文章,作者:上海-brown,如若轉載,請注明出處:http://www.www58058.com/41374

(0)
上海-brown上海-brown
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相關推薦

  • Linux文件管理和Bash特性

    一、Linux基本文件管理命令 主要介紹cp、mv、rm命令的基本用法以及使用示例 cp命令 cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄 cp (選項) (參數) 常用選項: -a:此參數的效果和同時指定”-dpR”參數相同,用于實現歸檔; -d:復制符號鏈接文件本身,而非其指向的源文件; -f:強行復制文件或目錄,不論目標文件或目錄是…

    Linux干貨 2017-07-09
  • CMDB內功心法,助我登上運維之巔

    很多70、80后甚至90后都在金庸、古龍、梁羽生先生等武林大家熏陶下成長的,這么多年過去了,我的武俠夢依然不曾散去。曾幾何,夢想有一天練就一身絕學,摟著小師妹花前月下,仗劍走天涯,快意人生??擅看蔚暮ㄋ缐舳急话嘀魅未髸遄咏o抽醒,在他們的鞭策之下,渾渾噩噩的成了一位IT騷年。我們都知道武功分為內功和招式,內功是氣,而招式是形,以氣御形。內功深厚,會讓你的招…

    系統運維 2017-01-09
  • 文件查找與壓縮-1

       1、 locate命令(非實時查找即數據庫查找) 1)、查詢系統上預建的文件索引數據庫/var/lib/mlocate/mlocate.db      依賴于事先構建的索引;索引的構建是在系統較為空閑時自動進行( 周期性任務) 或者管理員手動更新數據庫即是執行#updatedb命令;引構建過程…

    Linux干貨 2016-08-15
  • Linux基礎學習總結(五)

    Linux干貨 2016-10-20
  • N25第一周博客作業

    本周加班很多,視頻未看完,下周補上

    Linux干貨 2016-12-04
  • NET25_第6周作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; (1) cp /etc/rc.d/rc.sysinit /tmp cd /tmp vim rc.sysint vim命令::%s/\(^[[:space:]]\)\+/#\…

    Linux干貨 2017-03-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 12:45

    希望同學注意一下作業格式,這樣無論別人閱讀及批改都很方便

欧美性久久久久