Linux文件系統

Linux文件系統

根目錄下的文件

  • /
    ├── bin 存放用戶使用的基本命令(可執行程序,二進制文件) 不能單獨分區的
    ├── boot 跟內核有關的文件 grub 內核和BootLoader
    ├── cgroup 用來資源限制資源隔離 docker 容器化
    ├── dev device 設備文件

    • b block device 塊設備 硬盤或者CD-rom 隨機讀寫
      c character device 字符設備 傳真 鼠標 打字機 順序讀寫
  • ├── etc 各種系統包括應用的配置文件
    ├── home 每個用戶的家目錄 而且每個用戶默認的工作目錄
    ├── lib 程序包括系統所依賴的一些共享庫文件及內核所依賴的模塊文件
    ├── lib64 系統程序所依賴的庫文件 .so 結尾,(Windows .dll)
    ├── lost+found 垃圾回收站
    ├── media 光盤或者U盤掛載點 媒體介質掛載點
    ├── misc 雜項 不好歸類的東西
    ├── mnt 臨時文件文件掛載點 新建一個分區
    ├── net 網絡文件
    ├── opt 第三方的應用安裝位置 nginx tomcat Apache
    ├── proc 偽文件系統 硬盤不存在,只存在于內存中,記錄系統或者進程的運行信息 cpuinfo
    ├── root root的家目錄
    ├── sbin 存放管理類命令 也不能單獨分區
    ├── selinux 與selinux相關文件或者記錄
    ├── srv 系統運行產生的一些文件
    ├── sys 偽文件系統 記錄系統硬件的一些運行信息
    ├── tmp 雜項,臨時文件以及應用產生的臨時文件
    ├── usr 誤以為user,Unix software resource

    • /lib /lib64 存放庫文件
      /bin /sbin 存放系統的一些二進制文件(可執行文件)
      /local 用來存放第三方的應用或安裝本地應用程序
      bin etc games lib lib64 libexec sbin share etc
      /share 用于存放幫助
      /etc/ 配置文件
      /include 主要用來存放頭文件,對第三方應用做二次開發可能會用到
      /tmp 臨時文件
  • └── var 日志存放以及應用產生的一些文件或者臨時文件 郵件隊列

    • /var/log/message 系統日志
      /var/log/boot.log 系統啟動時候產生的一些日志
      /var/log/dmesg 輸出內核或者是硬件的一些有效信息,可以使用dmesg
      /var/log/mail.log 郵件產生的日志
      /var/log/cron 系統和我們自定義的計劃任務的日志
      /var/log/btmp | wtmp用來記錄系統登錄成功或者失敗的用戶(跟系統安全相關的)
      使用last(登錄成功的用戶及IP)和lasb(登錄失敗的用戶及IP)命令查看
      /var/log/secure 記錄用戶登錄信息
      /var/log/lastlog
      /var/lib/mysql MySQL數據存放目錄
      /var/mail 郵件存放目錄 由于郵件服務 此目錄可能會滿 rsync(命令)使用一個空目錄來同步有問題的目錄
      /var/spool/cron 跟計劃任務相關的內容
  • 注:
    /var/log/dmesg:
    dmesg 查看啟動時候的內核日志信息
    last(登錄成功的用戶及IP)
    lastb(登錄失敗的用戶及IP)
    生產環境服務器暴露公網之中,經常會有網上的服務器去嘗試登錄我們的服務器,這時候需要用到
    lastb去查看哪些地址的服務器在掃我們的機器,然后把這些IP加入host_deny iptables 中。
    /sys : sysfs提供了一種比 /proc 更理想的途徑,主要在于為管理Linux設備提供統一模型的接口

Linux上的應用程序的組成部分:

二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

文件類型:

  • 普通文件
    d directory目錄文件
    b 塊兒設備 block :硬盤
    c 字符設備 character :鍵盤
    l 符號鏈接文件
    p 管道文件 pipe :進程間通信可能會管道
    s 套接字文件socket :比如MySQL的套接字 本地客戶端和服務器端互相通信使用socket,避免通過網絡這種方式

-rw-r–r–. 1 root root 13 Mar 27 14:21 hello
drwxr-xr-x. 3 root root 200 Mar 27 08:09 snd
brw-rw—-+ 1 root cdrom 11, 0 Mar 27 08:09 sr0
crw-rw—-. 1 root root 10, 231 Mar 27 08:09 snapshot
lrwxrwxrwx. 1 root root 15 Mar 27 08:09 stderr -> /proc/self/fd/2
[root@CentOS68 ~]# ll /var/lib/mysql/mysql.sock
srwxrwxrwx. 1 mysql mysql 0 Mar 27 09:53 /var/lib/mysql/mysql.sock

目錄管理類命令:cd 、pwd 、ls 、mkdir 、rmdir 、tree

cd
  • change directory,改變工作目錄
    cd 、cd~ : 默認情況下是切換到自己的家目錄下面
    cd ~ USERNAME :切換到指定用戶的主目錄
    cd -:在上一個目錄和當前目錄來回切換; cd – 相當于 cd $OLDPWD
    cd . 和 cd ..  :相對路徑,表示當前目錄和上一級目錄
pwd
  • pwd [OPTION]…
    顯示當前目錄
ls
  • ls [OPTIONS] [ARG]

    d rwxr-xr-x. 2 root root 4096 Mar 22 22:23 Downloads
    – rw-r–r–. 1 root root 51 Mar 24 10:02 hello.sh
    文件類型 、 文件權限 、 鏈接數量 、 屬主和屬組 、 文件大小、 最近的修改日期(mtime) 、文件名稱或者目錄名稱

    • -a 列出所有隱藏文件和目錄
      -r 逆序顯示
      -R 把當前目錄下的目錄的所有內容列出來(遞歸)
      -d 顯示當前目錄的詳細信息,不顯示目錄下的內容
      -A 列出所有隱藏文件和目錄 除了.和..
      -l 文件和目錄名分行顯示
      -S 把文件目錄按照大小從大到小來排列
      -t 把文件和目錄按照最近修改時間排列 從最新到最老的順序排列
      -u 訪問時間排序
      -h 以人類可讀的方式將文件或者目錄大小顯示出來
mkdir
  • mkdir [OPTION]… DIRECTORY…    創建一個目錄
    -p 表示存在時不返回錯誤,不存在時,自動創建所需的各目錄,同時創建父目錄和子目錄
    -v 顯示其過程詳細信息
    -m MODE 創建目錄時直接指定目錄權限

    mkdir -pv /tmp/a/b/c/

rmdir
  • rmdir [OPTION]… DIRECTORY…
    刪除空白目錄
    -v  顯示執行過程
    注:由rm -r 所取代, 遞歸刪除所有目錄和文件
tree
  • 目錄結構查看
    -d 顯示目錄
    -L 指定層級數目
    -P pattern :只顯示指定pattern匹配到的路徑

    tree -L 1 -d /

文件內容查看:more、less、head、tail、cat、file、

more
  • more [options] file [ … ]
    -d : 顯示翻頁及退出提示
less
  • less : 一頁一頁查看文件內容
tail
  • tail [OPTION]… [FILE]…
    顯示文件后面的內容
    tail -n 10
    tail – 10
    -f 實時查看文件的最新變化 ; 排查故障的時候 ===tailf
    -c # :指定獲取后#字節的內容
  • head [OPTION]… [FILE]…
    顯示文件前面的內容
    head – n 10 文件名
    head – 10 文件名
    -c # :指定獲取后#字節的內容

    cat 文件名 | head
    題目:統計日志中頻繁訪問的前10個IP
    cat /var/log/httpd/access_log | cut -d” ” -f1 | sort | uniq -c | sort -nr | head

cat
  • cat [OPTION]… [FILE]…
    查看一個文件
    -E: 顯示行結束符 $
    -n: 對顯示出的每一行進行編號
    -A:顯示所有控制符
    -T: –show-tabs 顯示制表符
    -v : –show-nonprinting 顯示其他的非打印字符
    -b:非空行編號
    -s:壓縮連續的空行成一行

    cat -sn changping.log
    頻繁使用的是 cat -An 文件名

  • tac 將文件內容倒序排列顯示出來

file
  • file [文件路徑]
    文件類型查看
文件的時間戳管理工具
  • 查看文件狀態(屬性信息或者元數據): stat
[s@magedu test]$ stat hello
Access: 2017-04-01 10:50:30.955996678 +0800 Modify: 2017-04-01 10:50:30.955996678 +0800 Change: 2017-04-01 10:50:30.955996678 +0800 
  • 可通過touch來修改時間戳 :
    touch [OPTION]… FILE…
    -a :修改atime
    -m :修改mtime
    -t :[[CC]YY]MMDDhhmm[.ss] :修改指定時間戳為某時間
    注:當touch一個不存在的文件時,會先創建一個空文件。如果不想創建一個空文件,則使用- c選項,如 touch -c a.txt ,即如果文件不存在,則不創建該文件。

文本處理工具:wc、cut 、sort 、uniq

wc
  • wc [OPTION]… [FILE]…
    字符統計
    -l :lines 統計行數
    -w:words統計單詞個數
    -c:character 統計字符個數
[root@CentOS68 ~]# cat /etc/passwd | wc -l 50 [root@CentOS68 ~]# wc -l /etc/passwd 50 /etc/passwd
cut
  • cut OPTION… [FILE]…
    文件內容切割
    -d :指明分隔符
    -f :指明需要取出的字段
    cut -d: -f1,3-5,7 /etc/passwd
sort
  • sort [OPTION]… [FILE]…
    -r 逆序
    -n 以數值大小進行排序
    -f 忽略字符串大小寫
    -t “c” 以后面的字符作為分隔符
    -k# 選擇某個字段 進行排序
    -u 去重(除去連續重復的行,只保留一次)
uniq
  • uniq [OPTION]… [INPUT [OUTPUT]]
    -c 顯示每行重復出現的次數
    -d 僅顯示重復
    -u 顯示不重復
diff
  • diff [OPTION]… FILES
    比較兩個文件的異同
    diff -u a文件 b文件 > a.diff
    path -b b < b.diff
    diff -u foo.conf-broken foo.conf-works > foo.patch
    $ patch -b foo.conf-broken foo.patch

1、找出ifconfig “網卡名” 命令結果中本機的IPv4地址
[root@magedu ~]# ifconfig eth1 | head -2 | tail -1 | cut -d “:” -f2 | cut -d ” ” -f1
172.16.252.143
2、查出分區空間使用率的最大百分比值
[root@magedu ~]# df | tail -5 | awk ‘{print 5}’ | sort -t” ” -rn -k2
/dev/sr0 100%
/dev/sda2 12%
/dev/sda1 10%
tmpfs 1%
/dev/sda5 1%
3、查出用戶UID最大值的用戶名、UID及shell類型
[root@magedu ~]# cat /etc/passwd | cut -d “:” -f1,3,7 | sort -t: -nr -k2 | head -1
nfsnobody:65534:/sbin/nologin

文件管理:cp、mv、rm

cp
  • cp [OPTION] … [-T] SOURCE DEST
    cp [OPTION] … SOURCE … DIRECTORY
    cp [OPTION] … -t DIRECTORY SOURCE…
    -i :交互式
    -r:遞歸復制目錄及內部的所有內容
    -a:歸檔,相當于 -dR –preserve=all
    -d:表示不跟蹤符號鏈接所指向的原文件
    -p:保持原有文件的屬性信息
    -f:強制覆蓋
    -v:顯示過程
mv
  • mv [OPTION]… [-T] SOURCE DEST
    mv [OPTION] … SOURCE … DIRECTORY
    mv [OPTION] … -t DIRECTORY SOURCE…
    -i:交互式
    -f:強制
rm
  • rm [OPTION] … FILE …
    -i:交互式
    -f:強制
    -r:遞歸

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

(0)
ss
上一篇 2017-04-01 19:14
下一篇 2017-04-01 19:18

相關推薦

  • 磁盤分區和文件系統管理

    磁盤分區 兩種分區方式:MBR,GPT  MBR: Master Boot Record,1982年,使用32位表示扇區 數,分區不超過2T  如何分區:按柱面      0磁道0扇區:512bytes      446bytes: boo…

    Linux干貨 2016-08-29
  • Linux的獲取系統的幫助信息及man文檔說明

    Linux的獲取系統的幫助信息及man文檔說明 幫助命令有內部命令幫助和外部命令幫助兩種 內部命令獲得幫助使用下面命令 # help COMMAND 例如: [root@localhost ~]# type type type is a shell builtin [root@localhost ~]# help type type: type [-afpt…

    2018-02-28
  • Linux學習總結&day07-正則表達式&文本處理工具

    第一部分、正則表達式     1、什么是正則表達式     正則表達式就是處理字符串的方法,它是以行為單位來進行字符串的處理行為,正則表達式通過一些特殊符號的輔助,可以讓用戶輕易的達到查找、刪除、替換某特定字符串的處理程序。     正則表…

    Linux干貨 2016-08-08
  • 路由配置

      RA和RB為linux系統,此處虛擬成為路由器,在每一臺路由器的接口上設置好ip之后開始配置路由表 ip地址配置如下: RA:eth1:192.168.100.1/24    eth0:10.1.0.1/8       主機A:10.1.0.25/8 RB: eth1:192.168.100.2…

    Linux干貨 2016-09-07
  • linux網絡命令與軟件管理

    1、描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景和區別 網橋也叫橋接器,是連接兩個局域網的一種存儲/轉發設備,用來連接不同網段。 集線器稱為“Hub”,主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。 二層交換機工作于OSI模型的第2層(數據鏈路層),可識別數據包中的MAC地址信息,…

    Linux干貨 2016-12-18
  • N25-第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;~]#fdisk -l #查看已有分區 設備 Boot Start End Blocks Id System/dev/sda1 * 2048 8194047 4096000 83 Linux/dev/sda2 8194048 24578047 8192000 82 Linux swap / Solaris~]…

    Linux干貨 2017-02-24

評論列表(1條)

  • renjin
    renjin 2017-04-05 15:42

    主要總結了linux 的文件系統的結構,及linux下常用的一些命令,內容寫的挺好的,排版也挺不錯的

欧美性久久久久