網絡班22期+第二周作業練習

常用的文件管理命令:

  • ls,顯示文件或目錄

    • -l:顯示文件或目錄的包括權限、屬主、屬組大小創建日期等詳細信息

      • [root@centos7 ~]# ls -l
        total 16
        -rw-r--r--. 1 root root   64 Aug 27 18:33 11
        -rw-r--r--. 1 root root   63 Aug 27 17:54 22
        -rw-------. 1 root root 1242 Jul 29 17:51 anaconda-ks.cfg
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Desktop
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Documents
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Downloads
    • -a:顯示所有文件,-A:顯示所有文件但不包過. ..

    • -d:顯示目錄本身而非目錄下的文件,一般配合-l使用

      • [root@centos7 ~]# ls Desktop
        mytest.out
        [root@centos7 ~]# ls -dl Desktop
        drwxr-xr-x. 2 root root 23 Sep  5 17:07 Desktop
    • -h:配合 -l ,以K、M、G等方式顯示文件大小,更易讀,但文件大小不精確

    • -r:逆序顯示,-R:遞歸顯示

  • cp,復制文件

    • -i:覆蓋交互提示

    • -r:遞歸復制

    • -f:強制覆蓋

    • 單源復制

      • [root@centos7 tmp]# cp test1.pic testdir
    • 多源復制

      • [root@centos7 tmp]# cp testscr.pic testusb.pic testdir
    • 目錄復制

      • [root@centos7 tmp]# cp -rf cups testdir
        [root@centos7 tmp]# ls testdir
        cups
  • mv:移動文件或改名,用法類似cp

    • [root@centos7 tmp]# mv test1.pic testdir
      [root@centos7 tmp]# mv testscr.pic testpic
  • rm:刪除文件或目錄,用法類似cp

    • -r:遞歸刪除,慎用

    • -f:強制刪除

    • -d:刪除空目錄

  • mkdir:創建文件夾

    • -p:如要創建的目標目錄的父目錄不存在,則自動為其創建

      • [root@centos7 tmp]# mkdir -pv d1/d2/d3
  • touch:創建空文件或修改文件時間戳

    • -c:目標文件不存在時,不予創建文件

    • -a:修改Access time

    • -m:修改Modify time

    • -t:指定時間

  • pwd:顯示當前路徑

  • cd:切換目錄

    • cd ~:切換回家目錄

    • cd -:上次和本次的目錄來回切換

bash特性之命令狀態返回值

linux命令有2種結果狀態,一種是命令結果輸出,一種是命令執行狀態

如需要顯示/tmp目錄下的內容:

[root@centos7 ~]# ls /tmp
cups  d1  t1  t2  testdir  testpic  testusb.pic

如只需要知道 testpic文件是否存在,而不需要顯示任何信息:

[root@centos7 tmp]# ls testpic &> /dev/null
[root@centos7 tmp]# echo $?
0

將命令執行結果(和錯誤信息)重定向至linux黑洞/dev/null,不讓其顯示任何信息

通過echo $?來檢測命令是否執行成功,$?保存了上條命令的執行狀態值

0:執行成功

非0:失敗

bash特性之命令行展開

創建/tmp下的a、b、c,

一般為mkdir /tmp/a /tmp/b /tmp/c;

如用命令行展開特性則是 

mkdir /tmp{a,b,c},相當于mkdir /tmp/a /tmp/b /tmp/c

練習:

1、創建a_c,a_d,b_c,b_d

[root@centos7 t1]# mkdir -pv {a,b}_{c,d}
mkdir: created directory ‘a_c’
mkdir: created directory ‘a_d’
mkdir: created directory ‘b_c’
mkdir: created directory ‘b_d’

2、創建/tmp/mylinux下的若干目錄

[root@centos7 ~]# 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@centos7 ~]# 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

24 directories, 0 files

文件元數據

[root@centos7 ~]# stat 11
  File: ‘11’
  Size: 64        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 138944011   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-08-27 18:33:45.928314700 +0800
Modify: 2016-08-27 18:33:36.369314412 +0800
Change: 2016-08-27 18:33:36.369314412 +0800
 Birth: -

文件名、大小、屬主、屬組,時間戳等等

用touch修改 Access、Modify、Change時間

命令別名 alias

顯示別名alias

設置別名:

[root@centos7 ~]# alias chkver='uname -a'
[root@centos7 ~]# chkver
Linux centos7 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

刪除別名:unalias chkver

[root@centos7 ~]# unalias chkver
[root@centos7 ~]# chkver
bash: chkver: command not found...

引用一個命令的執行結果

·· 和 $(cmd)

[root@centos7 ~]# mkdir $(date "+%Y-%m-%d-%T")

練習:

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

  2. [root@centos7 ~]# ls -d /var/l*[0-9]*[a-z]
  3. 顯示/etc下,以任意1個數字開頭,且以非數字結尾的文件或目錄

  4. [root@centos7 ~]# ls /etc/[0-9]*[^0-9]
  5. 顯示/etc下以非字母開頭,后跟了一個字母及其他任意長度任意字符的文件或目錄

  6. [root@centos7 ~]# ls /etc/[^a-z][a-z]*
  7. 在/tmp下創建以tfile開頭,后面跟當前日期和時間的文件

  8. [root@centos7 ~]# mkdir $(date "+%Y-%m-%d-%T")
  9. 復制/etc下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1

    復制/etc下所有以.d結尾的文件到/tmp/mytest2

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

[root@centos7 tmp]# mkdir -pv  mytest{1,2,3}
mkdir: created directory ‘mytest1’
mkdir: created directory ‘mytest2’
mkdir: created directory ‘mytest3’
[root@centos7 tmp]# cp -rf /etc/p*[^0-9] mytest1
[root@centos7 tmp]# cp -rf /etc/*.d mytest2
[root@centos7 tmp]# cp -rf /etc/[l,m,n]*.conf mytest3

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

(0)
ryanhpryanhp
上一篇 2016-09-05 18:02
下一篇 2016-09-06 08:50

相關推薦

  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。   答:文件操作     ls 列出目錄下的文件名      ls -l /     touch 文件不存在時生成該文件      touch a.txt   &…

    Linux干貨 2016-06-23
  • 文件壓縮與歸檔工具

          1、compress/uncompress  .Z 格式                 ? compress [-d…

    Linux干貨 2016-08-22
  • 軟件管理

    ldd   /path/to/binary_file       查看二進制所依賴的庫文件 ldconfig  -p  查看已緩存的庫文件名和文件路徑 配置文件 :/etc/ld.so.conf,   /etc/ld.so.conf.d/*.conf 緩存文件:/etc/ld.so.cac…

    Linux干貨 2017-06-11
  • 【N25第六周作業】VIM、crontab、簡單腳本

    請詳細總結vim編輯器的使用并完成以下練習題 第二周有寫過vim的用法,請查看連接: 周期性任務計劃:cron 服務程序: cronie:主程序包,提供了crond守護進程及相關輔助工具; 確保crond守護進程(daemon)處于運行狀態: CentOS 7: systemctl  status  cron…

    Linux干貨 2016-12-27
  • httpd應用舉例

    應用舉例1、基于用戶和組認證的方式訪問ftp         1、編輯配置文件/etc/httpd/conf/httpd.conf,并使用httpd -t 檢查語法,并systemctl reload httpd       &n…

    Linux干貨 2016-10-23
  • Linux實驗-搭建路由環境

    Linux實驗-搭建路由環境 背景: 在學習網絡基礎過程中,為了加強理解路由功能,準備用Linux模擬一個路由環境。同時也試試Linux的路由轉發功能。 實驗簡介: 準備5個虛擬機,其中三個做路由,兩個做客戶機,相連的設備之間在同一個網段,三個路由設備在中間,兩個客戶機在兩側,最后實現兩個虛擬機能相互通信。 實驗規劃: 這里配的IP都是隨意配的,保證相連設備…

    2017-08-19
欧美性久久久久