文件管理命令以及bash特性之命令行展開

一 Linux文件管理

Linux中對文件管理的命令主要有:mkdir rmdir mv rm cp touch file stat等命令

  • 創建目錄mkdir

mkdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# mkdir /root/dirtest  在/root下創建一個dirtest的目錄
常用選項:
    -p 如果父目錄不存在同事創建父目錄
    -v 顯示創建目錄的纖細信息
    -m 創建目錄時同時設置目錄的權限
[root@MiWiFi-R3-srv testdir]# mkdir -vpm 755 /root/dirtest/harry 當父目錄不存在先創建父目錄再創建子目錄并設置權限為755
mkdir: created directory ‘/root/dirtest’ 
mkdir: created directory ‘/root/dirtest/harry’
  • rmdir刪除目錄

rmdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# rmdir /root/dirtest/harry/ 刪除一個目錄
  • mv移動文件或給文件重命名

mv [OPTION]... [-T] SOURCE DEST
   mv [OPTION]... SOURCE... DIRECTORY
   mv [OPTION]... -t DIRECTORY SOURCE...  
[root@MiWiFi-R3-srv testdir]# mv /etc/fstab /root/  將/etc/fastab移動至/root
[root@MiWiFi-R3-srv testdir]# mv testfile mytestfile 將testfile重命名為mytestfile
  • cp復制文件或目錄

cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...
 [root@MiWiFi-R3-srv testdir]# cp /etc/passwd /root/ 單源復制將/etc/passwd復制到/root目錄下
 [root@MiWiFi-R3-srv testdir]# cp /etc/fstab /etc/profile /root/多源復制將/etc下的fstab和profile復制到root目錄下
 常用選項:
    -i 交互復制,復制之前提醒用戶
    -f 強制復制目標文件
    -r 遞歸復制目錄,復制目錄及目錄中的文件
    -d 不復制符號鏈接的源文件,僅復制符號鏈接
    -a 保留文件或目錄原有屬性,進行歸檔
  • rm刪除文件或目錄

rm [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# rm -rf /root/testdir/ 強制刪除該目錄以及目錄中的內容
常用選項:
       -i 交互式刪除
       -r 遞歸刪除
       -f 強制刪除

  • stat 顯示文件或文件系統狀態

[root@MiWiFi-R3-srv ~]# stat abc 顯示某文件的大小,塊大小訪問以及修改時間等
File: ‘abc’
Size: 0     Blocks: 0  IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 4186704 Links: 1
    Access: (0644/-rw-r--r--)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:40:00.000000000 +0800
Modify: 2017-08-05 18:40:00.000000000 +0800
Change: 2017-08-05 18:47:05.289878820 +0800
  • touch 創建一個空文件或修改某個文件時間戳

touch [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# touch /root/abc 創建一個abc的空文件
[root@MiWiFi-R3-srv ~]# touch -a abc 僅修改access時間
[root@MiWiFi-R3-srv ~]# touch -m abc  僅修改文件modify時間
[root@MiWiFi-R3-srv ~]# touch -t 201708051840 abc 修改為指定的時間
  • file顯示文件類型

[root@MiWiFi-R3-srv ~]# file /bin/ls 查看某個文件的類型
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

二 Linux的命令狀態返回值以及命令行展開

在bash中可通過查看命令狀態返回碼來判斷上一條的命令是否執行成功

  • 成功:0
  • 失?。?-255

[root@MiWiFi-R3-srv ~]# date  輸入命令
Sat Aug  5 18:57:01 CST 2017
[root@MiWiFi-R3-srv ~]# echo $? 通過特殊變量查看上一條命令的執行狀態返回碼
0  代表成功執行
[root@MiWiFi-R3-srv ~]# dater   輸入錯誤命令狀態返回碼為127
[root@MiWiFi-R3-srv ~]# echo $?
127

bash特性之命令展開

  • ~:自行展開為用戶的家目錄,或指定用戶的家目錄
  • {}:可承載一個以逗號分隔的路徑列表,并能將其展開為多個路徑

練習 1 在/tmp 目錄下創建:a_c, a_d. b_c. b_d

[root@MiWiFi-R3-srv ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: created directory ‘/tmp/a_c’
mkdir: created directory ‘/tmp/a_d’
mkdir: created directory ‘/tmp/b_c’
mkdir: created directory ‘/tmp/b_d’*

練習2 在/tmp/mylinux目錄創建如下結構

[root@MiWiFi-R3-srv ~]# mkdir -pv /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/{look,log,run}}
[root@MiWiFi-R3-srv ~]# 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
├── log
├── look
└── run

三 Linux文件的元數據

Linux中文件的元數據包含文件的權限,時間戳,iNode,塊大小,硬鏈接次數所屬者以及所屬組等等。可通過命令stat查看相信信息

[root@MiWiFi-R3-srv ~]# stat fstab       查看文件的元數據信息
  File: ‘fstab’
  Size: 617     Blocks: 8  IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 4186700 Links: 1
Access: (0700/-rwx------)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:29:25.104977052 +0800
Modify: 2017-08-05 18:29:25.104977052 +0800
Change: 2017-08-05 18:29:25.104977052 +0800
[root@MiWiFi-R3-srv ~]# touch fstab  通過touch命令修改文件的時間戳
[root@MiWiFi-R3-srv ~]# touch -a fstab  僅修改access時間
[root@MiWiFi-R3-srv ~]# touch -m fstab  僅修改modify時間

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

(0)
N27_CaiShuangN27_CaiShuang
上一篇 2017-08-13 18:57
下一篇 2017-08-13 21:37

相關推薦

  • 第三周博客作業

      開始學習已經三周了,感覺到年底有些時間不夠,作業也交的越來越晚,需要加緊學習的進度了?! ?1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可?! ∽詈唵蔚膶崿F題目要求的方法是使用cut命令只顯示用戶名并用sort命令排序去重: [root@localhost ~]# who |&nbs…

    Linux干貨 2016-12-20
  • N25-第九周博客作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # 統計登錄用戶和非登陸用戶的個數 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干貨 2017-02-24
  • 文件管理類命令詳解

    文件管理類命令詳解 文件查看 cat 功能描述:連接文件并打印到標準輸出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 對所有非空白行編號 -n 給所有輸出行編號 -s 將連續多行空白行顯示為一行空白行 -E 在每一行行尾顯示$ FILE:可顯示多個文件,文件之間以空格分隔 舉例 將file1、file…

    Linux干貨 2017-07-09
  • Linux干貨 2017-12-02
  • linux 磁盤管理

    磁盤管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 設備地址 設備類型: 塊設備:block,存取單位“塊”,磁盤 (隨機訪問) 字符設備:char,存取單位“字符”,鍵盤 (邏輯訪問) 設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通訊。 設備編號: ll /dev/sda* root…

    Linux干貨 2016-08-29
  • http協議

    ##socket套接字– 套接字,進程間通信IPC的一種實現,允許位于不同主機(或同一主機)上不同進程之間進行通信和數據交換。– socketAPI:封裝了內核中所提供的socket通信相關的系統調用– socketDomain:根據其所使用的地址– AF_INET:Address Family,Ipv4&#8…

    Linux干貨 2017-12-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-08-20 19:10

    一開始的作業比較簡單,但都是比較重要的基礎,掌握扎實非常的必要,這次作業完成的非常好,再接再勵。

欧美性久久久久