第二周博客作業

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 11:01
下一篇 2016-06-23 11:01

相關推薦

  • 遷移分區

          1 備份/home    2 創建分區 /dev/sdc1 10G   [root@localhost ~]# du -sh /home   52K /home   3 格式化分區   [root@localhost …

    Linux干貨 2017-04-25
  • 選擇判斷專題腳本編程_第九周練習

    Q1:寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i y=0 declare -i n=0 for i in $(cut…

    Linux干貨 2016-12-25
  • linux 第二周

     一. 文件管理       文件被組織到文件系統(file system)中,通常會成為一個樹狀(tree)結構。Linux有一個根目錄/, 也就是樹狀結構的最頂端。這個樹的分叉的最末端都代表一個文件,而這個樹的分叉處則是一個目錄(directory, 相當于我們在windows界面中看到的文件夾)。在圖1…

    Linux干貨 2017-05-29
  • vim簡單操作

    vim第一講 光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。 h (左移) j (下行) k (上行) l (右移) 欲進入 Vim 編輯器(從命令行提示符),請輸入:vim 文件名 <回車> 欲退出 Vim 編輯器,請輸入 <ESC> :q! <回車> 放棄所有改動。 或者輸入 <ESC&gt…

    Linux干貨 2017-07-29
  • 常用的shell命令

    硬件: 1.cpu相關 lscpu:查看cpu的統計信息 cat /proc/cpuinfo :查看cpu詳細信息,如每個cpu的型號 2.內存相關 free -m:概要查看內存情況,這里的單位是MB cat  /etc/meminfo   :查看內存詳細信息 3.磁盤相關: l…

    Linux干貨 2016-08-22
  • 第二周

    3、(1)、  :  ~]# mkdir -p /tmp/{a_c,a_d,b_c,b_d}                  or     ~]# …

    Linux干貨 2016-08-22

評論列表(1條)

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

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

欧美性久久久久