今日內(nèi)容:
1.使用ls -l 查看得詳細信息 嘹屯,每一列都是干什么的
2.文件類型,怎么精準定位一個文件到底是什么類型的
3.鏈接文件
4.命令的執(zhí)行過程
1. 文件屬性
[root@oldboyedu.com~]# ll -h
total 56M
-rw-r--r--. 1 root root 672 Jul 31 08:49 1.txt
-rw-r--r--. 1 root root 56M Jul 30 16:49 access.log
-rw-r--r--. 1 root root 1.1K Jul 31 09:43 passwd
-rw-r--r--. 1 root root 89 Jul 31 09:29 test.txt
-rw-r--r--. 1 root root 39K Jul 22 13:15 老男孩教育學(xué)院桌面背景.jpg
# 第一列第一個字符 表示文件類型--->
# rw-r--r-- 權(quán)限(下周)
# 1 這個文件被鏈接次數(shù)
# root 文件的擁有者(用戶)
# root 文件的擁有組(用戶組 ==>家族)
# 672 文件大小
# Jul 31 08:49 文件的日期,以及創(chuàng)建的文件的時間
# 1.txt 文件名稱
2.文件類型
[root@oldboyedu.com~]# ll -d? /etc/hosts? /tmp? /bin/ls/dev/sda? /dev/tty1? /etc/grub2.cfg? /dev/log
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 /bin/ls
srw-rw-rw-. 1 root root 0 Jul 26 10:08 /dev/log
brw-rw----. 1 root disk 8, 0 Jul 26 10:08 /dev/sda
crw--w----. 1 root tty 4, 1 Jul 26 10:08 /dev/tty1
lrwxrwxrwx. 1 root root 22 Jul 24 11:58
/etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jul 30 09:20
/etc/hosts
drwxrwxrwt. 13 root root 4096 Jul 31 09:29 /tmp
# - 文件 (普通文件 圖片 壓縮包)
# s socket 本地進程與進程間的一種通信方式 (mysql)
# b 塊設(shè)備文件 (硬盤 光盤 分區(qū))
# c 字符設(shè)備 用于提供用戶的輸入與輸出
# l 鏈接文件 類似windows的快捷方式
# d 目錄 類似windows的文件夾
對于一些文件無法精準的區(qū)分類型, 可以使用file命令查看
#1.無法精準判斷這個文件到底是什么類型
[root@oldboyedu.com~]# ll /bin/ls 1.sh 1.txt
access.log img.jpg 123.zip
-rw-r--r--. 1 root root 20785 Jul 31 10:41 123.zip
-rwxr-xr-x. 1 root root 26 Jul 31 10:45 1.sh
-rw-r--r--. 1 root root 672 Jul 31 08:49 1.txt
-rw-r--r--. 1 root root 58112885 Jul 30 16:49
access.log
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 /bin/ls
-rw-r--r--. 1 root root 39609 Jul 22 13:15 img.jpg
#2.使用file能精準查看出文件是什么類型
[root@oldboyedu.com~]# file /bin/ls 1.sh 1.txt
access.log img.jpg 123.zip
/bin/ls: ELF 64-bit LSB executable, x86-64, version
1 (SYSV), dynamically linked (uses shared libs), for
GNU/Linux 2.6.32,
BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b
, stripped
1.sh: Bourne-Again shell script, ASCII text
executable
1.txt: ASCII text
access.log: ASCII text, with very long lines
img.jpg: JPEG image data, JFIF standard 1.01
123.zip: Zip archive data, at least v2.0 to extract
因為Linux不區(qū)分后綴, 后綴通常都是用來表示的,為了方便我們自己好識別
3.鏈接文件
1.軟鏈接 (類似于WIndows的快捷方式)
#軟鏈接使用場景 (很少對文件做軟連接)
1.軟件升級? 軟件回退
[root@oldboyedu.com~]# mkdir qq_v1.1
[root@oldboyedu.com~]# ln -s /root/qq_v1.1/ /root/qq
#升級
[root@oldboyedu.com~]# mkdir qq_v1.2
[root@oldboyedu.com~]# rm -f /root/qq && ln -s
/root/qq_v1.2/ /root/qq
# 回退
rm -f qq && ln -s /root/qq_v1.1/ /root/qq
2.代碼升級 秒級回退
3.不方便移動的目錄
? ? 班巩。2.硬鏈接 ln /root/file /root/file_hard
5.硬鏈接與軟鏈接區(qū)別 :
1.ln命令創(chuàng)建硬鏈接,ln -s命令創(chuàng)建軟鏈接瘤礁。
2. 目錄不能創(chuàng)建硬鏈接寺酪,并且硬鏈接不可以跨越分區(qū)系統(tǒng)。
3. 目錄軟鏈接特別常用,并且軟鏈接支持跨越分區(qū)系統(tǒng)脚乡。
4. 硬鏈接文件與源文件的inode相同蜒滩,軟鏈接文件與源文件inode不
同。
5. 刪除軟鏈接文件奶稠,對源文件及硬鏈接文件無任何影響俯艰。
6. 刪除文件的硬鏈接文件,對源文件及鏈接文件無任何影響锌订。
7. 刪除鏈接文件的源文件竹握,對硬鏈接無影響,會導(dǎo)致軟鏈接失效辆飘。
8. 刪除源文件及其硬鏈接文件啦辐,整個文件會被真正的刪除。
軟鏈接與硬鏈接的區(qū)別(精簡):
1.軟連接就是一個快捷方式,刪除軟連接不會影響源文件.
2.硬鏈接,類似于一個文件副本,刪除硬鏈接不影響源文件,只有刪除所有的硬鏈接及其源文件,這個文件才算徹底被刪除
4.命令執(zhí)行流程[擴展了解]
1.當我們執(zhí)行一個命令, 整個命令執(zhí)行流程如下:
1) 判斷命令是否通過絕對路徑執(zhí)行
2) 判斷命令是否存在alias別名
3) 判斷用戶輸入的是內(nèi)置命令還是外置命令
4) Bash內(nèi)部命令直接執(zhí)行劈猪,外部命令檢測是否存在緩存
5) 通過$PATH變量查找命令昧甘,有執(zhí)行,無報錯 command not found
絕對路徑-->alias--->hash緩存-->$PATH變量路徑--->有執(zhí)行--->沒有?command not found?
今日總結(jié)
- 1.文件的屬性
? ? ? 战得。怎么看ls -l
? ? ? 充边。都是什么意思 --->先看會的,在看不會.?
-? 2.文件的類型
? ? ? 。-? ?文件 (看情況是什么文件,不一定)?
? ? ? 浇冰。d? 目錄
? ? ? 贬媒。s? 套接字文件? 本地進程與進程之間的通訊
? ? ? 。l? ?鏈接文件
? ? ? 肘习。c? 字符設(shè)備? 接收用戶的輸入 和系統(tǒng)返回的輸出結(jié)果
? ? ? 际乘。b? 塊設(shè)備(硬盤 分區(qū) 光盤...)?
-? 3.如何確定文件是什么類型
? ? ? 。file 命令
? ? ? 漂佩。PS:linux不嚴格區(qū)分文件的后綴 僅僅只是為了我們好識別
-? 4.文件鏈接
? ? ? 脖含。inode 索引(權(quán)限 屬性 大小 唯獨沒有文件名) ---->block 真實數(shù)據(jù)
? ? ? 。軟鏈接 多個不同的inode指向同一個block
? ? ? 投蝉。硬鏈接 多個相同的inode指向同一個block (不支持目錄 也不支持跨分區(qū))