Linux 文件類型筆記

在UNIX中一切都是文件
https://ph7spot.com/musings/in-unix-everything-is-a-file
在UNIX中,一切都是字節流php

==== linux系統的文件類型有html

  1. - 普通文件(regular), 純文本文件(ASCII);二進制文件(binary);數據格式的文件(data);各類壓縮文件.
  2. d 目錄(directory)
  3. l 符號連接(link)
  4. s (僞文件) 套接字(sockets), 數據接口文件,一般用在網絡數據鏈接。能夠啓動一個程序來監聽客戶端的要求,客戶端就能夠經過套接字來進行數據通訊。最常在/var/run
  5. b (僞文件) 區塊設備(block), 存儲數據以供系統存取的接口設備,好比硬盤分區。/dev/
  6. c (僞文件) 字符設備(character),即串行端口的接口設備,例如鍵盤、鼠標等,這些設備的特點就是『一次性讀取』的,不可以截斷輸出。
  7. p (僞文件) 管道(pipe, FIFO,數據輸送文件),FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所形成的錯誤。

在UNIX中,文件系統用做通用名稱空間
全局命名空間和掛載機制node

文件路徑能夠引用幾乎任何東西:文件系統,設備,網絡共享或通訊通道。mysql

  • 本地目錄 /usr/local,
  • 文件 /home/joe/memo.pdf,
  • CD-ROM /mnt/cdrom,
  • 網絡驅動器上的目錄 /usr,
  • 硬盤分區 /dev/sda1,
  • UNIX域套接字 /tmp/mysql.sock,
  • 終端, /dev/tty0
  • 甚至一個鼠標 /dev/mouse

命名空間是分層的,全部資源均可以從根目錄(/)中引用。linux

僞文件系統(虛擬文件系統),可使用僞文件系統來查詢和控制進程,訪問內核或創建TCP鏈接。git

  • procfs (/proc):proc文件系統包含一個特殊文件層次結構,可用於查詢或控制正在運行的進程,或經過標準文件條目(主要是基於文本的)查看內核內部。
  • devfs (/dev 或 /devices):Devfs將系統上的全部設備都顯示爲動態文件系統命名空間。Devfs還管理此命名空間並直接與內核設備驅動程序接口,以提供智能設備管理 - 包括設備條目註冊/取消註冊。
  • tmpfs (/tmp):臨時文件系統,其內容在從新啓動時消失。Tmpfs旨在提升速度和效率,其功能包括動態文件系統大小以及具備透明回退到交換空間的內存存儲 。
  • portalfs (/p):使用BSD門戶文件系統,您能夠將服務器進程附加到文件系統全局命名空間。這可用於經過文件系統提供對網絡服務的透明訪問。對於例如應用程序可使用託管的SMTP服務器進行交互的 ph7spot.com 只是打開一個普通文件:/p/tcp/ph7spot.com/smtp。該門戶網站的文件系統是在必定程度上神奇它提供套接字文件系統中的語義能夠經過標準的UNIX工具管道和利用(如 cat, grep, awk,等) -即便從外殼!
  • ctfs (/system/contract):合同文件系統充當Solaris合同子系統的基於文件的接口。Solaris合約爲各類類型的事件和故障定義進程或進程組的行爲 - 例如,若是它死亡,則從新啓動它。Solaris合同爲諸如羣集故障轉移軟件,批處理排隊系統和網格計算引擎等環境中的軟件管理和監視提供了很是高級的功能。

擴展UNIX文件抽象到通用網絡
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.597.4699&rep=rep1&type=pdfsql

==========================
$ ls -l /boot/
drwxr-xr-x 2 root root 4096 Jan 12 00:33 grub
從左到右依次是:文件類型, 全部者權限, 全部組權限, 其餘用戶權限,
文件的硬連接數, 全部者, 全部組, 大小, 日期, 文件名shell

===========================
== 查看文件類型的三種辦法
$ ls -l //看第一個字符
-rw-r--r-- 1 toma users 3148 Mar 29 18:00 git.txt服務器

$ file git.txt
git.txt: UTF-8 Unicode text網絡

$ stat git.txt //查看文件的詳細屬性(其中包括文件時間屬性)
File: git.txt
Size: 3148 Blocks: 8 IO Block: 4096 regular file
Device: 817h/2071d Inode: 1447871 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1001/ toma) Gid: ( 985/ users)
Access: 2019-03-29 21:07:07.739286977 +0800
Modify: 2019-03-29 18:00:44.999869076 +0800
Change: 2019-03-29 21:06:53.532697274 +0800
Birth: 2019-03-28 12:54:05.599149072 +0800

=======================
== 文件權限
八進制 二進制 含義
0 000 --- 沒有權限
1 001 --x 只執行
2 010 -w- 只寫
3 011 -wx 寫和執行
4 100 r-- 只讀
5 101 r-x 閱讀和執行
6 110 rw- 讀和寫
7 111 rwx 讀,寫和執行

=======================
更改文件全部者
$ chown (change owner)
更改權限
$ chmod (change mode)

============================

 

https://wiki.archlinux.org/index.php/Core_utilities
核心實用程序是GNU / Linux系統的基本工具。在Arch Linux上,它們位於基本組中。

https://wiki.archlinux.org/index.php/GNUGNU是一個操做系統和普遍的計算機軟件集合。GNU徹底由自由軟件組成,其中大部分是根據GNU項目本身的通用公共許可證(GPL)許可的。GNU是「GNU不是Unix!」的遞歸首字母縮寫。由於GNU內核Hurd不能用於生產[1] GNU一般與Linux內核一塊兒使用。Arch Linux是一個GNU / Linux發行版,使用GNU軟件,如Bash shell,GNU coreutils,GNU工具鏈和許多其餘實用程序和庫。此頁面不會嘗試列出全部近400個 GNU包,只突出顯示一些。https://www.gnu.org/software/software.html#allgnupkgs

相關文章
相關標籤/搜索