第二周博客作業

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

常用命令有:cp, mv, rm

復制命令:cp

cp [OPTION]… [-T] SOURCE DEST

                cp [OPTION]… SOURCE… DIRECTORY

                cp [OPTION]… -t DIRECTORY SOURCE…

                cp SRC DEST

        SRC是文件:

        如果目標不存在:新建DEST,并將SRC中內容填充至DEST中;

                         [root@ocp etc]# more nano1

                         nano1: No such file or directory

                         [root@ocp etc]# cp issue nano1

                         [root@ocp etc]# more issue

                         Red Hat Enterprise Linux Server release 5.4 (Tikanga)

                         Kernel \r on an \m

        如果目標存在:

        如果DEST是文件:將SRC中的內容覆蓋至DEST中;此時建議為cp命令使用-i選項;

                                 [root@ocp etc]# cp -i issue nano1

                                 cp: overwrite `nano1'? y

                                 [root@ocp etc]# 

       

        如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;

                                 將etc目錄下的issue文件復制到etc/ntp目錄下:

                                 [root@ocp etc]# cp -i issue ntp/issue

                                 [root@ocp etc]# more ntp/issue

                                 Red Hat Enterprise Linux Server release 5.4 (Tikanga)

                                 Kernel \r on an \m

        cp SRC… DEST

        SRC…:多個文件

        DEST必須存在,且為目錄,其它情形均會出錯;

                        將etc下的文件passwd和issue復制到/tmp目錄下    

                        [root@ocp etc]# cp -i passwd issue /tmp

                        [root@ocp etc]# ls /tmp

                        issue  keyring-WqJMI0  mapping-oracle  mapping-root  passwd  vmware-root

                        復制etc下的文件passwd和issue,目標為tmp目錄下的issue文件:

                        [root@ocp etc]# cp -i passwd issue /tmp/issue

                        cp: target `/tmp/issue' is not a directory

                        [root@ocp etc]# 

                        

        cp SRC DEST

        SRC是目錄:

        此時使用選項:-r

                        常用選項:

        -i:交互式

        -r, -R: 遞歸復制目錄及內部的所有內容;

        -a: 歸檔,相當于-dR –preserv=all

        -d:–no-dereference –preserv=links

        –preserv[=ATTR_LIST]

        mode: 權限

        ownership: 屬主屬組

        timestamp: 

        links

        xattr

        context

        all

        -p: –preserv=mode,ownership,timestamp

        -v: –verbose

        -f: –force

        如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中;

        如果DEST存在:

       

如果DEST是目錄:

[root@ocp etc]# ls ntp

issue  keys  nano1  ntpservers  step-tickers

[root@ocp etc]# ls yum

pluginconf.d  yum-updatesd.conf

[root@ocp etc]# cp -i -r ntp yum

[root@ocp etc]# ls yum

ntp  pluginconf.d  yum-updatesd.conf

[root@ocp etc]# ls yum/ntp

issue  keys  nano1  ntpservers  step-tickers

[root@ocp etc]# 

如果DEST是文件:報錯

[root@ocp etc]# cp -i -r ntp yum/yum-updatesd.conf 

cp: cannot overwrite non-directory `yum/yum-updatesd.conf' with directory `ntp'

[root@ocp etc]# 

        

    mv: move,移動文件

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

       

       常用選項:

        -i: 交互式

[root@ocp etc]# mv -i issue ntp/issue

mv: overwrite `ntp/issue'? y

        -f: 強制

[root@ocp etc]# mv -f ntp/issue issue

[root@ocp etc]# more issue

Red Hat Enterprise Linux Server release 5.4 (Tikanga)

Kernel \r on an \m

[root@ocp etc]# 

    rm: remove,刪除

    rm [OPTION]… FILE…

    常用選項:

    -i: 交互式

交互式刪除/tmp下的passwd文件,并選擇不刪除

[root@ocp etc]# rm -i /tmp/passwd 

rm: remove regular file `/tmp/passwd'? n  

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  passwd  vmware-root

    -f: 強制刪除

    -r: 遞歸

    rm -rf 

[root@ocp etc]# rm -rf /tmp/passwd 

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root

[root@ocp etc]# 

   

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

                                命令的狀態結果

成功:0

失?。?-255

[root@ocp etc]# rm -rf /tmp/passwd

[root@ocp etc]# echo $?

0

[root@ocp etc]# more /tmp/passwd

/tmp/passwd: No such file or directory

[root@ocp etc]# echo $?

0

[root@ocp etc]# moore /tmp/passwd

-bash: moore: command not found

[root@ocp etc]# echo $?

127

[root@ocp etc]# 

命令行展開:

                ~: 展開為用戶的主目錄

~USERNAME:展開為指定用戶的主目錄

[root@ocp ~]# cd ~

[root@ocp ~]# cd ~oracle

[root@ocp oracle]# ls

backup  Desktop

[root@ocp oracle]# pwd

/home/oracle

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

/tmp/{a,b} = /tmp/a, /tmp/b

/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

示例演示:

創建x-a,y_a,x_b,y_b:

mkdir {x,y}_{a,b}

[root@ocp oracle]# cd /tmp

[root@ocp tmp]# mkdir {x,y}_{a,b}

[root@ocp tmp]# ls

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root  x_a  x_b  y_a  y_b

[root@ocp tmp]# 

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

(1)、創建/tmp目錄下的:a_c,a_d,b_c,b_d:

[root@ocp tmp]# mkdir {a,b}_{c,d}

[root@ocp tmp]# ls

a_c  a_d  b_c  b_d  issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root  x_a  x_b  y_a  y_b

[root@ocp tmp]# 

(2)、創建/tmp/mylinux目錄下的:

[root@ocp tmp]# ls

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root

[root@ocp tmp]# mkdir -p 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,rum}}

[root@ocp tmp]# tree

.

|– issue

|– keyring-WqJMI0

|   `– socket

|– mapping-oracle

|– mapping-root

|– 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

|       `– rum

`– vmware-root

    |– vmware-apploader-2684.log

    `– vmware-apploader-2700.log

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

文件的元數據包含訪問權限、文件擁有者以及文件數據塊的分布信息等等

stat /PATH/TO/SOMEFILE:獲取指定文件的元數據

[root@ocp ~]# stat /etc/issue

  File: `/etc/issue'

  Size: 74              Blocks: 16         IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 11206843    Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-06-19 16:11:01.000000000 +0800

Modify: 2009-08-04 16:25:07.000000000 +0800

Change: 2016-06-19 16:10:56.000000000 +0800

[root@ocp ~]# 

三個時間戳:

access time:訪問時間,簡寫為atime,讀取文件內容

modify time: 修改時間, mtime,改變文件內容(數據)

change time: 改變時間, ctime,元數據發生改變

          使用touch命令可以修改文件的時間戳信息

                touch命令:

touch [OPTION]… FILE…

-a: only atime

-m: only mtime

-t STAMP:

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

命令的別名通過alias命令實現,

alias NAME='VALUE'

撤消別名:unalias

unalias [-a] name [name …]

可以使用管道,實現在命令中引用另外一個命令的執行結果

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

[root@ocp ~]# ls /var

account  crash  db     games  lib    local  log   nis  preserve  run    tmp  www

cache    cvs    empty  gdm    lin3b  lock   mail  opt  racoon    spool  tux  yp

[root@ocp ~]# ls -d /var/l*[0-9]*[[:lower:]]

/var/lin3b

[root@ocp ~]# 

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

[root@ocp etc]# ls -d /etc/[0-9]*[^0-9]

/etc/1xy

[root@ocp etc]# 

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

[root@ocp etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*

/etc/1xy

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

[root@ocp etc]# touch /tmp/tfile-`date "+%Y-%m-%d-%H-%M-%S"`

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  mylinux  tfile-2016-06-19-22-28-11  vmware-root

[root@ocp etc]# date

Sun Jun 19 22:28:39 CST 2016

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

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  mylinux  tfile-2016-06-19-22-28-11  vmware-root

[root@ocp etc]# cp -r /etc/p*[^0-9] /tmp/mytest1

cp: target `/tmp/mytest1' is not a directory

[root@ocp etc]# mkdir /tmp/mytest1

[root@ocp etc]# cp -r /etc/p*[^0-9] /tmp/mytest1

[root@ocp etc]# ls /tmp/mytest1

pam.d         pango   passwd-  php.d    pinforc  pm   prelink.cache  prelink.conf.d  profile    protocols

pam_smb.conf  passwd  pcmcia   php.ini  pki      ppp  prelink.conf   printcap        profile.d

[root@ocp etc]# 

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

[root@ocp etc]# cp -r /etc/*.d /tmp/mytest2

cp: target `/tmp/mytest2' is not a directory

[root@ocp etc]# mkdir /tmp/mytest2

[root@ocp etc]# cp -r /etc/*.d /tmp/mytest2

[root@ocp etc]# ls /tmp/mytest2

cron.d    dnsmasq.d  ld.so.conf.d   makedev.d   pam.d           profile.d  rc2.d  rc5.d  readahead.d    sane.d       yum.repos.d

depmod.d  gre.d      logrotate.d    modprobe.d  php.d           rc0.d      rc3.d  rc6.d  reader.conf.d  setuptool.d

dev.d     init.d     lsb-release.d  netplug.d   prelink.conf.d  rc1.d      rc4.d  rc.d   rwtab.d        xinetd.d

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

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

cp: target `/tmp/mytest3' is not a directory

[root@ocp etc]# mkdir /tmp/mytest3

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

[root@ocp etc]# ls /tmp/mytest3

ldap.conf   lftp.conf      libuser.conf    ltrace.conf  modprobe.conf  multipath.conf  nsswitch.conf

ld.so.conf  libaudit.conf  logrotate.conf  mke2fs.conf  mtools.conf    nscd.conf       ntp.conf

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

(0)
liuyichenliuyichen
上一篇 2016-06-23
下一篇 2016-06-23

相關推薦

  • LINUX命令歷史

    LINUX命令歷史 LINUX的命令歷史是什么? linux的命令歷史的作用是,記錄執行過的命令。如果你經常使用 Linux 命令行,那么使用 命令歷史可以有效地提升你的效率。history(管理歷史命令)語法:[root@localhost]#history(選項)(參數)選項:n:n為數字,要列出最近的 n 筆命令列表-c(清空所有歷史命令)-d (刪除…

    2017-09-14
  • linux命令格式及基礎命令

    linux命令格式及基礎命令介紹 命令格式 command [options] [arguments] * command:命令 * options: –單詞 或 -單字 * argument:參數(檔案名稱或其他) 基礎命令介紹 ifconfig 用于顯示或設置網絡設備 語法 ifconfig [網絡設備][down up -allmulti -arp …

    Linux干貨 2017-12-03
  • N25第六周總結:vim編輯器詳解

    vim編輯器 一、      大綱 1、   什么是vim編輯器 2、   為什么要使用vim編輯器 3、   vim編輯器能實現哪些功能 4、   vim編輯器詳解   二、   &nbs…

    Linux干貨 2017-01-12
  • LNMP

    1、源碼編譯安裝LNMP架構環境 OS版本:2.6.32-431.el6.x86_64 Nginx版本:nginx-1.6.1 mariadb版本:mariadb-10.0.13 php版本:php-5.4.26 1、安裝編譯安裝所需系統環境 ~]# yum groupinstall "Development Tools" "S…

    Linux干貨 2017-02-09
  • Iptables基礎

       Firewall:防火墻,工作于主機或網絡的邊緣處,對于進出本主機或網絡的報文根據事先定義好的檢查規則左匹配檢測,對于能夠被規則所匹配到的報文進行相應的處理的組件。   防火墻可分為:硬件防火墻,在硬件級別實現部分功能的防火墻;軟件防火墻,應用軟件處理邏輯運行于通用硬件平臺之上的防火墻;主機防火墻,服務范圍為當前主機;網絡…

    2017-06-19
  • 如何將遷移home到獨立分區中

        背景(centos7中):         由于在剛開始學習linux時磁盤分配追求簡單,只是把一個磁盤簡單的分了3個分區?,F在,因用戶數據增多、磁盤空間變少、當數據撐滿磁盤時,會導致系統崩潰。為防止此種情況的發生我必須把把根下的/home 目錄遷移出 來獨立分…

    2017-08-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 14:11

    寫的很棒,可以關注一些排版的技巧,那樣會更完美

欧美性久久久久