Linux運維之Linux文件管理


我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。我們先來看看Linux系統大體上的目錄有哪些

Linux系統目錄結構


Linux運維之Linux文件管理

在Linux系統中,目錄被組織成一個:單根倒置樹結構,文件系統從根目錄開始,用/來表示。文件名稱區分大小寫( 大小寫敏感還需要看具體的文件系統格式 ),以.開頭的為隱藏文件,路徑用/來進行分割(windows中使用\\來分割),文件有兩個種類:元數據與數據本身.在操作linux系統時,通常會遵循以下的分層結構規則:

LSB (Linux Standard Base) / FHS(Filesystem Hierarchy Standard)

文件系統結構:

  • / 通常稱為根分區。所有的文件和目錄皆由此開始。只有root用戶對此目錄擁有寫權限。
  • /etc 配置文件 包含所有應用程序的配置文件,也包含啟動、關閉某個特定程序的腳本,例如,

/etc/passwd,/etc/init.d/network等。

  • /boot 存放Linux系統啟動時需要加載的文件。 (一般在另外一個磁盤分區裡面保存) Kernel、grub等文件都存放在此。
  • /var 是一個可增長的目錄,包含很經常變的文件。例如,/var/log(系統日誌)、/var/lib (包文件)
  • /root 管理員所有數據。 root用戶的家目錄
  • /tmp 臨時文件存儲位置
  • /usr usr表示的是unix software source
  • /bin 命令 此目錄包含二進制可執行文件。
  • /sbin 系統命令 ,此目錄中的命令主要供系統管理員使用,以進行系統維護。例如,iptables、reboot、fdisk等。
  • /mnt(/media)- 掛載目錄 掛載點,系統管理員可用於臨時掛載文件系統。
  • /dev 包含設備文件。在Linux中,一切都被看做文件。終端設備、USB、磁盤等等都被看做文件,如/dev/sda。
  • /home 普通用戶所有數據存放在這個目錄下


相對/絕對路徑

  • 絕對路徑:
    路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。
  • <code>[root@lab ~]# cd /usr/local/python3/
    [root@lab python3]# /<code>
  • 相對路徑:
    路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法啦!
  • <code>[root@iZ2zeg6gmwubu792rius1sZ ~]# cd /usr/share/doc/
    [root@iZ2zeg6gmwubu792rius1sZ doc]# cd ../man
    [root@iZ2zeg6gmwubu792rius1sZ man]# pwd 顯示當前目錄
    /usr/share/man/<code>

    創建/複製/刪除文件 文件夾

    touch

    作用:常用來創建空文件

    語法: touch 文件名

    <code>[root@lab ~]# touch testfile/<code> 

    mkdir

    作用:創建目錄

    語法:mkdir 目錄名

    <code>[root@iZ2zeg6gmwubu792rius1sZ ~]# mkdir test/<code>

    -p 連同父目錄一起創建

    -v顯示創建的目錄信息,可以和-p參數一起用,也可以單獨用

    <code>[root@lab ~]# mkdir -v test1
    mkdir: created directory `test1'

    [root@lab ~]# mkdir -p -v test/abc/bcd
    mkdir: created directory `test/abc'
    mkdir: created directory `test/abc/bcd'

    [root@lab ~]# mkdir -pv test/abc1/bcd1
    mkdir: created directory `test/abc1'
    mkdir: created directory `test/abc1/bcd1'/<code>


    需要注意的是在一個目錄下,文件夾和文件的名稱不能相同,否則不能創建

    <code>[root@iZ2zeg6gmwubu792rius1sZ test]# mkdir dir-file
    [root@iZ2zeg6gmwubu792rius1sZ test]# ls
    dir-file //文件夾
    [root@iZ2zeg6gmwubu792rius1sZ test]# touch dir-file
    [root@iZ2zeg6gmwubu792rius1sZ test]# ll
    total 4
    drwxr-xr-x 2 root root 4096 Feb 28 18:54 dir-file
    [root@iZ2zeg6gmwubu792rius1sZ test]# ll dir-file/
    total 0

    //另一種情況
    [root@iZ2zeg6gmwubu792rius1sZ test]# touch dir-file
    [root@iZ2zeg6gmwubu792rius1sZ test]# mkdir dir-file

    mkdir: cannot create directory `dir-file': File exists
    [root@iZ2zeg6gmwubu792rius1sZ test]# ls
    dir-file //文件
    /<code>

    查看文件方法:

    cat

    作用:查看文件內容

    語法:cat 文件名

    <code>[root@lab ~]# cat test.sh 
    echo "hello world"/<code>

    more  查看文件名字

    例:more /etc/ssh/sshd_config

    按下回車刷新一行,按下空格刷新一屏

    q 退出


    Linux運維之Linux文件管理

    less  查看文件名字

    q 退出


    Linux運維之Linux文件管理


    使用光標鍵可以向上翻頁

    linux中more與less的區別

    more:不支持後退,但幾乎不需要加參數,空格鍵是向下翻頁,Enter鍵是向下翻一行,在不需要後退的情況下比較方便。

    less:支持前後翻滾,既可以向上翻頁(pageup按鍵),也可以向下翻頁(pagedown按鍵)。,空格鍵是向下翻頁,Enter鍵是向下翻一行

    head 從第一行開始,查看文件,默認顯示前10行

    -n 數字 顯示多少行

    <code>[root@lab ~]# head -5 /etc/ssh/sshd_config 
    1#\t$OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
    2
    3# This is the sshd server system-wide configuration file. See
    4# sshd_config(5) for more information.
    5
    [root@lab ~]# /<code>

    tail 從第後一行開始,查看文件,默認顯示最後10行

    -n 顯示多少行

    -f 動態顯示數據(不關閉)  常用來查看日誌,日誌實時滾動輸出

    <code>[root@lab ~]# tail -5 /etc/ssh/sshd_config 
    UseDNS no
    AddressFamily inet
    SyslogFacility AUTHPRIV
    PermitRootLogin yes
    PasswordAuthentication yes
    [root@lab ~]# /<code>

    顯示文件的第3行

    <code>[root@lab ~]# head -3 /etc/ssh/sshd_config | tail -1
    # This is the sshd server system-wide configuration file. See/<code>

    複製文件:

    cp

    作用:複製文件

    語法:cp 源文件 目標文件


    Linux運維之Linux文件管理


    -r 包含子目錄和文件

    <code>[root@lab ~]# cp -r Desktop/ /usr/local//<code>

    刪除文件和文件夾

    rm

    作用:刪除文件或目錄

    語法: rm -rf 文件或目錄名

    -r 遞歸刪除(可以刪除目錄和目錄裡面的東西)

    -f 強行刪除

    <code>[root@lab local]# rm -rf Desktop//<code>

    重命名:

    mv

    語法:mv 源:文件或目錄名 目標:文件或目錄名

    <code>[root@lab local]# mv test.sh abc.sh/<code>

    喜歡我的文章可以關注我,以後會有越來越多的文章發佈,希望可以幫到你~


    分享到:


    相關文章: