1. 程式人生 > 實用技巧 >Linux - 檔案目錄

Linux - 檔案目錄

Linux - 檔案目錄

一:檔案 與 資料夾

檔案

一般是1個獨立的東西,可以通過一些特性的工具進行開啟,並且其中不能再包含出來文字以外的東西

資料夾

可以在其中包含其他檔案的東西

為何要講檔案?

1.在Linux中,近乎一般以上都是對檔案的操作
2.Linux本身也是一個基於檔案形式表示的作業系統
3.在Linux中,一切皆檔案(就像在Python中,一切皆物件)
  • 在Windows中是檔案的,在Linux中也是檔案
  • 在Windows中不是檔案的,在Linux中也是以檔案的形式儲存的

對檔案有哪些操作?

  • 建立檔案
  • 檢視檔案
  • 複製檔案
  • 移動檔案(重新命名檔案)
  • 編輯檔案
  • 儲存檔案
  • 壓縮檔案
  • 刪除檔案
  • 恢復檔案
  • 查詢

絕對路徑 與 相對路徑

相對路徑 - 從當前目錄開始的路徑
  • 當前目錄:.
  • 上級目錄:..
  • 上上級目錄:../..
  • 當前使用者的家目錄:~
  • 當前目錄下的file目錄:./file或者file
絕對路徑 - 完整的路徑
  • 根目錄:/
  • 根目錄中 root目錄下的 1.txt檔案:/root/1.txt
  • 根目錄中 usr目錄下的 local目錄下的 info.log檔案:/usr/local/info.log

檔案的時間

在Linux系統中,檔案有3種時間
  • atime(Access Time):最後訪問的時間。每訪問一次該檔案,atime就會更新
  • ctime(Change Time):改變的時間。修改檔案內容,ctime就會更新
  • mtime(Modify Time):修改的時間。修改檔案內容、許可權等操作,mtime就會更新
檢視
# 僅檢視修改的時間(mtime)
ls -l 檔名

# 檢視3種時間
stat 檔名

檔案的副檔名

Linux檔案是沒有副檔名的,加上副檔名只是為了便於區分檔案的型別

檢視方法1:

ls -l 檔名後的第1個字元

第一個字元檔案型別
- 普通檔案(文字檔案、二進位制檔案、壓縮檔案、圖片、視訊、音樂) /bin/ls
d 目錄檔案(目錄,相當於Windows中的資料夾。一般為藍色) /home/
b 裝置檔案(塊裝置)儲存裝置:行動硬碟、U盤、CD /dev/sda
c 裝置檔案(字元裝置)掃描裝置:傳真、印表機、掃描器 /dev/printer
s 套接字檔案 /run/rpcbind.sock
p 管道檔案 /run/systemd/iniectl/fifo
l 連結檔案(一般為淡藍色) /bin

檢視方法2:

  filr 檔名

  

file /root/mine/diary.txt

二:Linux的檔案目錄結構

Windows 與 Linux 的目錄結構對比

Windows:一切皆圖形

磁碟分割槽的概念,磁碟中可以有多個分割槽(C盤、D盤、E盤...),分割槽中可以有多個資料夾

以多根的方式組織檔案C:\D:\E:\

Linux:一切皆檔案

沒有磁碟分割槽的概念,只有1個根目錄:/,根目錄下有許多子目錄

以單根的方式組織檔案/

Linux的目錄結構

目錄名稱全稱作用
bin Binary 二進位制 該目錄儲存的都是二進位制檔案,檔案都是可以被執行的
boot Boot 啟動 系統啟動相關的檔案,如:核心、initrd,以及grub(BootLoader)
dev Device 裝置 該目錄中存放的都是外接裝置,如:CD、U盤
但是 外接裝置無法直接使用,需要手動掛載
(類似Windows下的分配碟符)
etc Etcetera 等等
Editable Text Configuration 可編輯文字配置
該目錄主要儲存一些配置檔案
home Home 家 表示出了root使用者之外的其他使用者的家目錄
類似於Windows的User目錄
lib Library 存放庫檔案 Glibc(比如說Java的類庫)
lost+found Lost+Found 失物招領 系統異常產生錯誤(比如說異常關機)時
會將一些遺失的片段放置於此目錄下
通常這個目錄會自動出現在裝置目錄下
media Media 媒體 掛載那些USB介面的行動硬碟(包括U盤)、CD/DVD驅動器等等(系統自動掛載)
mnt Mount 掛載 外接裝置需要掛載時,就需要掛載到mnt目錄(使用者手動掛載)
net Network 網路 包括了許多網路相關的配置
opt Optional application software packages
可選應用軟體包
該目錄用於存放那些可選的程式
proc Process 程序 該目錄儲存的是Linux執行時的程序
可以檢視CPU、記憶體資訊
root Root 根 該目錄是root使用者自己的家目錄
run Run 執行 存放執行的程式的檔案
sbin Super binary 超級二進位制 該目錄也是存放一些可以被執行的二進位制檔案
但是必須得由super許可權的超級管理員才能執行
selinux Security-Enhanced Linux 安全增強式Linux 對SElinux的一些配置檔案目錄,SElinux可以讓linux更加安全
srv Service 服務 存放一些對外的服務資料(不是軟體,而是資料)
sys System 系統 Linux 核心中設計較新的一種虛擬的基於記憶體的檔案系統
tmp Temporary 臨時的 系統執行產生的臨時檔案,10天后自動刪除(類似於回收站)
usr Unix Software Resource Unix軟體資源 存放使用者自己安裝的軟體,類似於Windows的ProgramFiles
var Variable files 變數檔案 存放程式、系統的日誌檔案的目錄

ls -l 時的詳細資訊解析

total

檔案數,包括隱藏檔案

Linux中有2個預設的隱藏檔案:.當前目錄、..上級目錄

許可權相關

由10或者11個字元組成:

第1個字元:表示文件型別

第2-10個字元:3個為1組,每組分別是[r讀w寫x執行]許可權,沒有許可權的用-表示

  • 第1組:檔案所有者的讀寫執行許可權(所有者許可權)
  • 第2組:與檔案所有者在同一使用者組的其他使用者所具有的許可權(所屬組許可權)
  • 第3組:其他使用者許可權(訪問者許可權)

所屬主

該檔案/目錄的創建者

所屬組

該檔案/目錄的建立者所在的使用者組

檔案大小

表示該檔案的大小,單位是位元組(Byte)

月份

1月到12月的縮寫(省略了.

月份英文縮寫
1月 January Jan.
2月 February Feb.
3月 March Mar.
4月 April Apr.
5月 May May.
6月 June Jun.
7月 July Jul.
8月 August Aug.
9月 September Sep.
10月 October Oct.
11月 November Nov.
12月 December Dec.

為什麼要把完整的表列出來呢?沒錯,我就是來科(zhuāng)普(bī)的

日期

1 3 5 7 8 10 12:1-31日

4 6 9 11:1-30日

2:28或29日

時間

只顯示:00:00 - 23:59

檔名

檔案的名稱(可以帶有後綴,只是為了區分檔案的型別)