1. 程式人生 > >第四天 文件和目錄操作

第四天 文件和目錄操作

rm -rf key 0kb linux 分層 mkfifo ftp 保留 數據區

7.1 linux 文件系統
linux文件不靠後綴名 內置標識

1、普通文件 - 開頭代表 普通文件 文本文件 二進制程序 音頻 視頻

2、目錄文件 d 開頭代表 目錄文件

3、設備文件 特殊類型文件 /dev (device)
ll /dev/rc.d
ll /dev/sd*
[[email protected] ~]# ll /dev|grep s
brw-rw----. 1 root disk 8, 0 Jul 17 20:33 sda
brw-rw----. 1 root disk 8, 1 Jul 17 20:33 sda1
brw-rw----. 1 root disk 8, 2 Jul 17 20:33 sda2
crw-rw----. 1 root cdrom 21, 0 Jul 17 20:33 sg0
crw-rw----. 1 root disk 21, 1 Jul 17 20:33 sg1

主設備號 次設備號

b 代表塊類型設備 block 以塊為基本單位 硬盤

c 代表字符類型設備 單字符為基本單位 終端

簡化設備調用

# cat install.log > /dev/lpr0 // 重定向 打印文件

[[email protected] ~]# who
shan tty1 (直連) 2017-07-17 20:34 (:0)
root pts/0 (虛擬終端) 2017-07-18 03:45 (192.168.0.100)
# echo hello > /dev/pts/1
# echo hi > /dev/pts/0

裸設備 沒有文件系統

4、管道文件 先進先出 fifo 隊列
標誌 p
創建管道文件 mkfifo mypipe

5、鏈接文件---標誌 L
硬鏈接 2個目錄項 指向同1個文件 hardlink
軟鏈接 符號鏈接 快捷方式 symbollink


7.2 linux系統目錄結構
分層的樹形結構,都掛載在根文件系統 / 下
子目錄遵守FHS規範
/root root用戶目錄
/home 用戶主目錄
/bin 包含常用可執行文件 不能包含子目錄
/sbin 系統管理員和root用戶所使用命令文件
/dev 設備文件
/tmp 臨時文件目錄

[[email protected]

/* */ /]# ls /bin

[[email protected] /]# ls /sbin s系統管理 防火墻 存儲 磁盤分區
/boot 系統內核文件 引導裝載程序
/etc 文本配置文件
/proc 進程信息映射
[[email protected] 2448]# cd /proc/2071
[[email protected] 2071]# cat cmdline
/usr/libexec/gvfs-afc-volume-monitor

7.3.1 文件inode和目錄項

磁盤分區 super block 超級塊 像書的封面
|
inod (index node) 索引節點
|
數據區域 目錄項/文件

目錄 數據區域為目錄項 包含 文件名 索引節點 /dir0l/file01

根目錄包含子目錄 目錄項 檢索 索引節點

索引節點 不包含文件名 文件名由上級索引節點對應

目錄項2個 指向1個文件 叫做硬鏈接

3.1 df //disk free 分區大小

[[email protected] ~]# df -h //查看磁盤空間大小 分區容量
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server
-lv_root
18G 2.8G 15G 17% /
tmpfs 499M 112K 499M 1% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot

[[email protected] ~]# df -i // 查看分區 索引節點
Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/mapper/vg_server-lv_root 1191360 94464 1096896 8% /
tmpfs 127601 5 127596 1% /dev/shm
/dev/sda1 128016 43 127973 1% /boot

3.2 du (usage) 查看文件及目錄空間占用情況

du -s /root //只顯示目錄本身
du -a /root //文件及目錄占用空間

du -a /boot|sort -n // -n 按數字排序 查看boot目錄下文件占用情況

du -ah /boot|sort -rn|head -5 // -r 反向排序

3.3 ll -i 索引節點信息

[[email protected] ~]# ll -i //索引節點編號
total 180
916544 -rw-r--r--. 1 root root 69 Jul 18 06:55 1
917255 -rw-r--r--. 1 root root 14611 Jul 18 06:41 200
916535 -rw-r--r--. 1 root root 0 Jul 17 22:07 aasb
1052297 drwxr-xr-x. 2 root root 4096 Jul 18 07:30 aasdf
944124 -rw-------. 1 root root 1613 Jul 17 00:24 anaconda-ks.cfg

ls -ih /boot

alias //系統定義別名

3.4 stat
stat /root/ // 查看目錄信息

[[email protected] ~]# stat test.log // 查看文件信息 來自索引節點

File: `test.log‘//不在文件索引節點取出
Size: 30 Blocks: 8 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 916546 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-07-18 02:38:20.562000778 -0400
Modify: 2017-07-18 08:25:43.598998088 -0400//索引節點 修改時間
Change: 2017-07-18 08:25:43.598998088 -0400//數據區域 修改時間

7.4文件和目錄操作管理

4.1 pwd:print working directory
4.2 cd: change direction
相對路徑 沒有‘/‘ 直接cd 下級目錄 ;.當前目錄 ..上級目錄 ./ 在當前路徑下執行腳本 腳本文件執行 ./bash.sh
絕對路徑 由根目錄開始

[[email protected] dir04]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
//安全路徑
文件名 .開頭為隱藏文件
[[email protected] ~]# ll -d /root //看文件目錄
dr-xr-x---. 32 root root 4096 Jul 18 07:30 /root
[[email protected] ~]# ls -R //遞歸查看

rm -rf //強制刪除目錄 文件
cp:復制文件和目錄
cp:源文件 源文件 .. 目標文件
cp -a : 保留源文件基本屬性
mv:移動文件 目錄 同一目錄下文件移動 則更改文件名


sort -rn //按數字排倒敘
head -5 //取前5
head // 默認查看最前十行
tail // 默認查看最後十行
wc -l //計數

tree //以樹狀圖逐級列出目錄

file //查看文件類型

4.3 scp //遠程主機傳輸文件 ssh
[[email protected] ~]# scp /root/1 [email protected]:/root
The authenticity of host ‘192.168.0.1 (192.168.0.1)‘ can‘t be established.
RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
Are you sure you want to continue connecting (yes/no)? n
Please type ‘yes‘ or ‘no‘: no
Host key verification failed.
lost connection
[[email protected] ~]# scp /root/1 [email protected]:/root
The authenticity of host ‘192.168.0.1 (192.168.0.1)‘ can‘t be established.
RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.0.1‘ (RSA) to the list of known hosts.
[email protected] password:
1 100% 69 0.1KB/s 00:00
[[email protected] ~]# scp [email protected]:/root/aasb /root
[email protected] password:
aasb 100% 0 0.0KB/s 00:00

4.4 sftp //遠程ftp service sftp status
[[email protected] ~]# sftp [email protected]
Connecting to 192.168.0.1...
[email protected] password:
sftp> cd /root
sftp> lcd /home
sftp> put 1
stat 1: No such file or directory
sftp> get 1
Fetching /root/1 to 1
/root/1 100% 69 0.1KB/s 00:00


7.5 鏈接文件
1、硬鏈接 兩個目錄項指向同一個文件節點 不能跨越磁盤分區
2、軟連接 記錄路徑信息
操作
ln file1 hardlink01 //創建硬鏈接
ln -s /root/file1 symbolllink01 //創建符號鏈接

第四天 文件和目錄操作