常用命令-day06?
1.使用ls -l 查看的詳細(xì)信息,每一列都是干什么的
2.文件類型,怎么精準(zhǔn)定位一個(gè)文件到底是什么類型的
3.鏈接文件
4.命令的執(zhí)行流程?
1.文件屬性
[root@oldboyedu.com~]# ll -h total 56M -rw-r--r--. 1 root root ?672 Jul 31 08:49 1.txt
2.文件類型
-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
# 第一列第一個(gè)字符? 表示文件類型---> # rw-r--r-- ? ?? 權(quán)限(下周) # 1? ? ? ? ? ? ? 這個(gè)文件被鏈接次數(shù) # root? ? ? ? ? 文件的擁有者(用戶) # root? ? ? ? ? 文件的擁有組(用戶組? ==>家族) # 672? ? ? ? ? ? 文件大小 # Jul 31 08:49 ? 文件的日期,以及創(chuàng)建的文件的時(shí)間 # 1.txt? ? ? ? ? 文件名稱
[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 本地進(jìn)程與進(jìn)程間的一種通信方式 (mysql) # b 塊設(shè)備文件 ? (硬盤? 光盤? 分區(qū))
對(duì)于一些文件無法精準(zhǔn)的區(qū)分類型, 可以使用file命令查看
因?yàn)長inux不區(qū)分后綴, 后綴通常都是用來表示的,為了方便我們自己好 識(shí)別
# c 字符設(shè)備 ? 用于提供用戶的輸入與輸出 # l 鏈接文件 ? 類似windows的快捷方式 # d 目錄? ? ? 類似windows的文件夾
#1.無法精準(zhǔn)判斷這個(gè)文件到底是什么類型
[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能精準(zhǔn)查看出文件是什么類型 [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
3.鏈接文件
1.軟鏈接 (類似于WIndows的快捷方式)
2.代碼升級(jí) 秒級(jí)回退
3.不方便移動(dòng)的目錄
2.硬鏈接 ln /root/file /root/file_hard
5.硬鏈接與軟鏈接區(qū)別 1)ln命令創(chuàng)建硬鏈接,ln -s命令創(chuàng)建軟鏈接伺通。
#軟鏈接使用場景 ? (很少對(duì)文件做軟連接) 1.軟件升級(jí)? 軟件回退
[root@oldboyedu.com~]# mkdir? qq_v1.1 [root@oldboyedu.com~]# ln -s /root/qq_v1.1/ /root/qq #升級(jí) [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)目錄不能創(chuàng)建硬鏈接家破,并且硬鏈接不可以跨越分區(qū)系統(tǒng)荠商。
3)目錄軟鏈接特別常用,并且軟鏈接支持跨越分區(qū)系統(tǒng)。
4)硬鏈接文件與源文件的inode相同噩斟,軟鏈接文件與源文件inode不 同胖烛。
5)刪除軟鏈接文件,對(duì)源文件及硬鏈接文件無任何影響诫惭。
6)刪除文件的硬鏈接文件,對(duì)源文件及鏈接文件無任何影響洽故。
7)刪除鏈接文件的源文件贝攒,對(duì)硬鏈接無影響,會(huì)導(dǎo)致軟鏈接失效时甚。
8)刪除源文件及其硬鏈接文件,整個(gè)文件會(huì)被真正的刪除哈踱。
軟鏈接與硬鏈接的區(qū)別?
1.軟連接就是一個(gè)快捷方式,刪除軟連接不會(huì)影響源文件.
2.硬鏈接,類似于一個(gè)文件副本,刪除硬鏈接不影響原文件,只有刪 除所有的硬鏈接及其源文件,這個(gè)文件才算徹底被刪除.
4.命令執(zhí)行流程?
1.當(dāng)我們執(zhí)行一個(gè)命令, 整個(gè)命令執(zhí)行流程如下:
1) 判斷命令是否通過絕對(duì)路徑執(zhí)行 2) 判斷命令是否存在alias別名 3) 判斷用戶輸入的是內(nèi)置命令還是外置命令 4) Bash內(nèi)部命令直接執(zhí)行荒适,外部命令檢測是否存在緩存 5) 通過$PATH變量查找命令,有執(zhí)行开镣,無報(bào)錯(cuò) command not found
絕對(duì)路徑-->alias--->hash緩存-->$PATH變量路徑--->有執(zhí)行--->沒有 command not found
#3 今日總結(jié)
1.文件的屬性 怎么看 ls -l 都是什么意思 --->先看會(huì)的,在看不會(huì).
2.文件的類型 - 文件 ( 不一定) d 目錄 s 套接字文件 本地進(jìn)程與進(jìn)程之間的通訊 l 鏈接文件 c 字符設(shè)備 接收用戶的輸入,和系統(tǒng)返回的輸出結(jié)果 b 塊設(shè)備 (硬盤 分區(qū) 光盤 ....)
3.如何確定文件是什么類型 file命令 PS: linux不嚴(yán)格區(qū)分文件的后綴,僅僅只是為了我們好識(shí)別. 4.文件鏈接
inode 索引(權(quán)限 屬性 大小 唯獨(dú)沒有文件名) ----> block 真實(shí)數(shù) 據(jù) 軟鏈接 多個(gè)不同的inode指向同一個(gè)block 硬鏈接 多個(gè)相同的inode指向同一個(gè)block (不支持目錄 也不支 持跨分區(qū))