日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux文件属性和类型

發布時間:2024/4/17 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux文件属性和类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux文件屬性和類型

1.linux文件屬性

第一種查看方式

[root@beua ~]# ls -l ks.cfg
-rw-------. 1 root root 4434 May 30 13:58 ks.cfg
?
-rw-------.    ①:第一個字符是文件類型,其他則是權限
1         ? ②:硬鏈接次數
root        ③:文件屬于哪個用戶
root        ④:文件屬于哪個組
4434       ? ⑤:文件大小
May30 13:58    ⑥⑦⑧:最新修改的時間與日期
ks.cfg       ⑨:文件或目錄名稱

2.linux文件類型

-rwxr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/ls
srw-rw-rw-. 1 root root 0 Apr 3 16:57 /dev/log
brw-rw----. 1 root disk 8, 0 Apr 3 16:57 /dev/sda
crw--w----. 1 root tty 4, 1 Apr 3 16:57 /dev/tty1
lrwxrwxrwx. 1 root root 22 Mar 28 03:33 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Apr 1 18:09 /etc/hosts
prw-------. 1 root root 0 Apr 3 16:57 /run/dmeventd-client
drwxrwxrwt. 22 root root 4096 Apr 3 20:57 /tmp

#最前面那個字母含義:

- 通常指的是文件 s socket文件(mysql) b block 塊設備(磁盤\分區光盤) c 字符設備 l 鏈接文件(呈現淺藍色) p 管道文件 d 目錄文件(呈現藍色狀態)

第二種查看方式:

當無法通過ls -l的屬性識別該文件是什么類型時,可以通過file進行查看

我們會將文件標注對應的后綴. .txt .sh .mp3 .mp4 .exe .zip Linux的文件加上后綴能夠便于我們快速的識別.這個文件是什么類型.

3.linux系統鏈接文件

#軟鏈接使用場景 1.軟件升級 2.企業代碼發布 3.不方便目錄移動

#先執行刪除,然后執行ln操作, && (&&前面的命令執行成功,則立即執行&&后面的命令)

[root@beua ~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq #版本升級
[root@beua ~]# rm -f /root/qq && ln -s /root/qq_v1.1/ /root/qq

4.硬鏈接與軟鏈接區別

1)ln命令創建硬鏈接,ln -s命令創建軟鏈接。 2)目錄不能創建硬鏈接,并且硬鏈接不可以跨越分區系統。 3)目錄軟鏈接特別常用, 并且軟鏈接支持跨越分區系統。 4)硬鏈接文件與源文件的inode相同,軟鏈接文件與源文件inode不同。 5)刪除軟鏈接文件,對源文件及硬鏈接文件無任何影響。 6)刪除文件的硬鏈接文件,對源文件及鏈接文件無任何影響。 7)刪除鏈接文件的源文件,對硬鏈接無影響,會導致軟鏈接失效。 8)刪除源文件及其硬鏈接文件,整個文件會被真正的刪除。

總結: 軟鏈接就是快捷方式,不同的inode同時指向同一個block,刪除軟鏈接,源文件沒有任何影響,刪除源文件則軟鏈接失效.

硬鏈接是多個相同的inode指向同一個block,其實就是用于給文件做備份.(只有刪除所有文件,硬鏈接才會失效)

*當前的磁盤空間還剩余500GB,但就是無法往里面寫入數據.
No space left on device 要不是真的沒有磁盤空間(),要么就是inode被占滿

5.linux命令執行流程(擴展)

⑴ping 探測對端主機是否存活

1) 命令是否通過絕對路徑執行 2) 命令是否存在alias別名 3) 用戶輸入的是shell內置命令還是外置命令 type -a 4) Bash內部命令直接執行,外部命令檢測是否存在緩存 5) 查找系統全局$PATH,變量中保存的全部都是命令存放的路徑,有執行,無報錯command not found.

⑵什么是內部命令,什么是外部命令

內部命令: shell程序自帶的命令。 外部命令: 在系統PATH變量的某個路徑下的可執行程序。

⑶如何檢查用戶輸入的命令是內部命令還是外部命令

  #cd命令屬于shell內部命令

? type -a cd
  cd is a shell builtin
  cd is /usr/bin/cd

#ping屬于外部命令, 同時會打印當前命令路徑

? type -a ping
? ping is /bin/ping
⑷如果是外置命令,Bash可以通過查找PATH變量,獲取該命令的絕對路徑。

  #打印當前環境變量目錄

? [root@beua ~]# echo $PATH
  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

PS: PATH由多個路徑組成,每個路徑值之間用冒號間隔,對這些路徑的增加和刪除操作都將影響到Bash解釋器對Linux命令的查找

⑸如果是外置命令還會涉及到一個內存緩存,也就是說,當我們出現重復執行相同的命令,會通過緩存調取執行,也就意味著不會搜索PATH路徑。
#表緩存命令所在位置
[root@beuai ~]# hash
hits command
1 /usr/bin/tty
3 /sbin/ifconfig
#已緩存命令,如果移動位置會導致無法找到該命令
[root@beua ~]# mv /sbin/ifconfig /bin/
[root@beua ~]# ifconfig
-bash: /sbin/ifconfig: No such file or directory
#刪除緩存過的ifconfig命令, 即可執行
[root@beua ~]# hash -d ifconfig
[root@beua ~]# ifconfig
#當然可以清空緩存表
[root@beua ~]# hash -r
#注意: 命令緩存hash需要注意如下情況:

1.只要執行外部命令1次就會對該命令進行緩存 2.如果將命令移動了位置,該如何執行 a.使用絕對路徑執行 b.刪除hash表的緩存指令

總結: 命令執行的流程

1) 檢查執行的命令是否使用的是絕對路徑執行的。 2) 檢查ping命令是否存在alias別名 3) 檢查ping命令是內部命令還是外部命令 4) 如果是內部命令Bash直接執行,如果是外部命令,首先檢查Hash緩存,存在則直接調取 5) 如果該命令不存在Hash緩存,則通過PATH路徑進行逐行查找該命令所在的位置 6) 如果PATH路徑沒有查找到該命令所在的路徑,則返回錯誤碼。command not found

6.符號: 通配符

.      #代表當前目錄,但文件名以點開頭則代表隱藏文件 如果在grep時,使用.代表匹配任意的單個字符 ..     #代表上一級目錄, 上級目錄的inode和..的inode是一致(硬鏈接) /usr/local cd .. ~     #回到當前用戶的家目錄 *      #所有 \      #轉義字符 #     #命令行是不執行命令,但會保留在history中,文件中有#代表不執行 $()     #小括號中必須是命令,與其類似的還有 `` >     #標準重定向,會覆蓋文件的內容 ^     #在匹配字符的時候,以什么開頭 $     #在匹配字符的時候,以什么結尾 |      #將左邊命令的輸出,交給右邊命令的輸入 ||     #前者命令執行不成功,后者命令執行 &&     #前者命令執行成功,后者命令則執行

!      #調用歷史history中的命令 !Number !string !!     #調用上一次執行的命令

轉載于:https://www.cnblogs.com/longren/p/10735096.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的linux文件属性和类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。