文件管理命令以及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
下一篇 2017-08-13

相關推薦

  • centos啟動模式更改

    臨時更改   用單用戶的方法 系統開機 然后在等待界面是按esc 然后會進入這個界面,根據下面的提示進入 按a 會進入下面這個界面 在最后一行輸數字代表第幾模式   文件更改   centos6   系統啟動時會初始化init init 的配置文件是/etc/inittab文件 用vim /etc/inittab進入查…

    2017-07-22
  • 中文man安裝手冊

      首先需要確認的是有沒有安裝中文支持,如果沒有請安裝:#yum groupinstall -y "Chinese Support" 現在下載安裝包: wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz  (這個wget是直接網頁下…

    系統運維 2016-01-13
  • RAID簡述和Linux軟RAID配置

    RAID簡述和Linux軟RAID配置 PS:僅為課程練習,原理和配置可能有誤,僅供參考,謝謝; 1.RAID功能簡述     RAID,全稱(Redundant Arrays of Inexpensive Disk或Redundant Arrays of Independent Disk),現在一般多用于后面那個稱呼,獨立磁盤冗余陣列。RAID的基礎概念大…

    Linux干貨 2016-07-17
  • 馬哥網絡班21期-第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題    vim(visual interface):文本編輯器      模式        編輯模式        輸入模式        末行…

    Linux干貨 2016-09-07
  • vsftpd 配置文件的一些設置

    ftp:File Transfer protocol 文件傳輸協議 兩個連接: tcp:命令連接 tcp:數據連接 主動模式:服務器端通過20端口主動連接客戶端,客戶端監聽在于服務器端的建立連接的端口+1上,服務器工作在tcp/20 被動模式:客戶端使用自己與服務器端建立端口+1上連接客戶端的隨機端口 防火墻上連接追蹤 數據要流失化文本:文件流二進制 c/s…

    Linux干貨 2017-09-10
  • 源碼編譯安裝之apache

    工具: Development tools組包 httpd-2.2.9.tar.gz links網站瀏覽工具   安裝apache之前需要安裝編譯需要的環境“Development tools”這個是編譯使用的必須的環境包,使用下面的命令可以安裝。 [root@CentOS6 ~]# yum groupinstall&…

    Linux干貨 2016-08-24

評論列表(1條)

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

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

欧美性久久久久