第二周作業

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

目錄管理類命令:

cd:變更目錄

  命令格式:cd [DIRECTORY]

pwd:顯示當前目錄的絕對路徑

ls:顯示文件或目錄內容

    命令格式:ls [OPTION]… [FILE]…

    常用參數:

        -a:顯示所有內容(包含以.開頭的隱藏文件)。

        -l:以長格式顯示文件夾內容。

        -d:只顯示目錄名稱,不顯示目錄下的內容。

        -h:以人類易讀的方式顯示文件大?。ㄈ纾?.0K)。

mkdir:創建目錄

    命令格式:mkdir [OPTION]…DIRECTORY…

    常用參數:

        -p:表示目錄存在時不返回錯誤,不存在時,自動創建目錄。

        -v:顯示創建過程的詳細信息。

        -m MODE:創建目錄時直接指定權限。

rmdir:刪除目錄

    命令格式:rmdir [OPTION]… DIRECTORY…

    常用參數:

        -v:顯示執行過程。

tree:目錄結構查看

    常用參數:

        -d:只顯示目錄。

        -L level:指定顯示的層級數據。

        -P pattern:只顯示指定pattern匹配到的路徑。

文件管理類:

cp:復制命令

    命令格式:

        cp [OPTION]… [-T] SOURCE DEST

          cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

    常用參數:

        -i:交互式

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

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

            –preserve[=ATTR_LIST]

            mode:權限

            ownership:屬主屬組

            timestamp:時間戳

            links:符號鏈接

            xattr:擴展屬性

            context:安全標簽

            all:上述所有屬性

        -d:表示不跟蹤符號鏈接所指向的源文件–no-dereference –preserve=links

        -p:保持原有文件的屬性信息。

        -f:強制覆蓋

        -v:顯示執行過程

    使用方法:

        單源復制:cp [OPTION]… [-T] SOURCE DEST

         如果DEST不存在:則事先創建此文件,并復制源文件的數據流至DEST中;

        如果DEST存在:

            如果DEST是非目錄文件:則覆蓋目標文件;

            如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流;

        多源復制:

            cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

            如果DEST不存在:錯誤;

             如果DEST存在:

                如果DEST是非目錄文件:錯誤;

                如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名;

mv:移動命令

    命令格式:

        mv [OPTION]… [-T] SOURCE DEST

          mv [OPTION]… SOURCE… DIRECTORY

          mv [OPTION]… -t DIRECTORY SOURCE…

    常用參數:

        -i:交互式

        -f:強制

rm:刪除命令

    命令格式:rm [OPTION]… FILE…

    常用參數:

        -i:交互式

        -f:強制

        -r:遞歸

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

命令執行結果狀態用 $? 表示。

    0:成功

    1 – 255:失敗

命令行展開:

    ~:展開為當前用戶的主目錄。

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

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

    示例:

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

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

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

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

[root@devops2 tmp]# touch /tmp/{a_c,a_d,b_c,b_d}
[root@devops2 tmp]# ls
a_c  a_d  b_c  b_d

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

[root@devops2 tmp]# mkdir -p /tmp/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}}
[root@devops2 tmp]# tree /tmp/mylinux/
/tmp/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

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

文件的元數據包括:文件大小,權限,塊數,塊大小,文件類型,所在磁盤編號,inode,關聯文件數,時間戳信息。

可通過stat命令進行查看:

[root@devops2 tmp]# stat /tmp/mylinux/
  File: `/tmp/mylinux/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 1835023     Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-01-08 16:40:14.764841462 +0800
Modify: 2017-01-08 16:40:10.123180220 +0800
Change: 2017-01-08 16:40:10.123180220 +0800

access time:訪問時間,atime,即:通過cat,more等讀取其內容。

modify time:修改時間,mtime,即:改變文件內容。

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

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

語法:alias new_name = 'old_name option'

[root@devops2 tmp]# alias grep='grep --color=auto'
[root@devops2 tmp]# alias|grep grep
alias grep='grep --color=auto'

注意:通過命令行定義的命令別名只對當前shell有效,如果想永久有效,需要定義在配置文件中,如:

僅對當前用戶有效:~/.bashrc

對所有用戶有效:/etc/bashrc

然后重新讀取配置文件使別名生效:

source ~/.bashrc 或 source /etc/bashrc

引用其他命令執行結果

$(COMMAND) 或 `COMMAND`

[root@devops2 tmp]# currdir=`pwd`
[root@devops2 tmp]# echo $currdir
/tmp
[root@devops2 tmp]# filelist=$(ls)
[root@devops2 tmp]# echo $filelist
a_c a_d b_c b_d mylinux

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

[root@devops2 var]# ll -d /var/l*[[:digit:]]*[[:lower:]]
drwxr-xr-x 2 root root 4096 Jan  8 17:36 /var/l012abc
-rw-r--r-- 1 root root    0 Jan  8 17:39 /var/l9def

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

[root@devops2 etc]# ll -d /etc/[[:digit:]]*[^[:digit:]]
-rw-r--r-- 1 root root    0 Jan  8 17:45 /etc/1abc
drwxr-xr-x 2 root root 4096 Jan  8 17:45 /etc/2def

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

[root@devops2 etc]# ll -d /etc/[^[:alpha:]][[:alpha:]]*
-rw-r--r-- 1 root root    0 Jan  8 17:45 /etc/1abc
drwxr-xr-x 2 root root 4096 Jan  8 17:45 /etc/2def

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

[root@devops2 tmp]# touch /tmp/file-$(date +%F-%H-%M-%S)
[root@devops2 tmp]# ls /tmp/file-2017-01-08-18-03-48 
/tmp/file-2017-01-08-18-03-48

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

[root@devops2 tmp]# mkdir /tmp/mytest{1,2,3}
[root@devops2 tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1/
[root@devops2 tmp]# ls /tmp/mytest1/
pam.d    pcmcia     php.ini      plymouth                      portreserve    prelink.conf    profile.d
pango    pear       php.ini.bak  pm                            postfix        prelink.conf.d  protocols
passwd   pear.conf  pinforc      pm-utils-hd-apm-restore.conf  ppp            printcap        pulse
passwd-  php.d      pki          popt.d                        prelink.cache  profile

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

[root@devops2 tmp]# cp -r /etc/*.d /tmp/mytest2/
[root@devops2 tmp]# ls /tmp/mytest2/
bash_completion.d  event.d        makedev.d       prelink.conf.d  rc4.d          rwtab.d
cgconfig.d         init.d         modprobe.d      profile.d       rc5.d          setuptool.d
chkconfig.d        latrace.d      oddjobd.conf.d  rc0.d           rc6.d          statetab.d
cron.d             ld.so.conf.d   pam.d           rc1.d           rc.d           sudoers.d
depmod.d           logrotate.d    php.d           rc2.d           request-key.d  xinetd.d
dracut.conf.d      lsb-release.d  popt.d          rc3.d           rsyslog.d      yum.repos.d

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

[root@devops2 tmp]# cp /etc/{l,m,n}*.conf /tmp/mytest3
[root@devops2 tmp]# ls /tmp/mytest3/
latrace.conf  libaudit.conf  logrotate.conf  mke2fs.conf    nsswitch.conf  numad.conf
ld.so.conf    libuser.conf   ltrace.conf     nfsmount.conf  ntp.conf

原創文章,作者:N26-西安-方老喵,如若轉載,請注明出處:http://www.www58058.com/66098

(0)
N26-西安-方老喵N26-西安-方老喵
上一篇 2017-01-08 17:47
下一篇 2017-01-08 22:05

相關推薦

  • DNS服務器之理論基礎

    一、什么是DNS     DNS全稱為Domain Name System,即域名系統,其作用就是將我們經常使用的“網址”解析為IP地址。     在互聯網上通信需要借助于IP地址,但人類對于數字的記憶能力遠不如文字,那么將IP地址轉換成容易記憶的文字是個好辦法,可是計算機只能識…

    Linux干貨 2015-04-29
  • 初入linux_基礎(一)

    初入Linux知識點總結(一) 一、理論知識 1、時間點: 1946年 第一代計算機ENIAC誕生于美國賓州大學,特點:塊頭大、效率低 數學家馮諾?依曼提出計算機體系結構組成部分:計算器、運算器、存儲器、輸入設備、輸出設備 1969年 UNIX在美國貝爾實驗室誕生 1984年 GNU項目和軟件基金會成立 1991年 Linux在芬蘭赫爾辛基誕生 2、計算機的…

    Linux干貨 2017-02-18
  • Hive深入淺出

    1.  Hive是什么 1) Hive是什么? 這里引用 Hive wiki 上的介紹: Hive is a data warehouse infrastructure built on top of Hadoop. It provides tools to enable easy data ETL, a mechanism to put stru…

    Linux干貨 2016-03-22
  • vsphere虛擬機下的Linux在線移除硬盤后的報錯處理(基于LVM)

    1)故障描述( vmware虛擬機,在線移除一塊被設置為pv格式的硬盤后,提示unknown device錯誤): 說明:/dev/sdb1 /dev/sdc1 /dev/sdd1是組成/dev/vg_test/lvm_test的PV,這里我們模擬/dev/sdd1硬盤被直接斷電了 [root@docker mnt]# pvdisplay…

    Linux干貨 2016-07-29
  • 優云Web新功能發布,邀您在線免費體驗!

    你是否還在因為無法通過大數據精準分析需求而煩惱? 你是否還在因為無法直觀呈現用戶的行為而頭大? 你是否還在因為怎么優化頁面布局而愁眉苦臉? 正所謂“一圖勝千言”,一張色彩繽紛的圖片甚至可以給人帶來意想不到的收獲,優云web作為監控利器,其新功能“熱圖”可以為您解決這些麻煩! 熱圖作為優云web的特色功能點,究竟是怎樣幫助您更好地了解用戶行為的呢,讓小編給您一…

    系統運維 2017-01-09
  • Linux上文件管理類命令實例講解

    下面介紹三個文件cp, mv, rm管理命令: cp命令:copy,復制命令 命令格式: cp 源文件 目標文件 復制又分為單源復制和多源復制兩種情況: 單源復制 如果目標文件不存在,創建此文件,并復制數據流到此文件; [root@localhost tmp]# cp yum.log ok [root@localhost tmp]# ls -l total …

    Linux干貨 2018-02-28

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-02-27 17:03

    延續了之前的品質,再接再厲。

欧美性久久久久