最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux命令學(xué)習(xí)之原來(lái)最簡(jiǎn)單的ls命令這么復(fù)雜

 更新時(shí)間:2022年10月10日 14:34:12   作者:一無(wú)是處的研究僧  
ls命令應(yīng)該是我們最常用的命令之一了,但是我們可能容易忽略那些看起來(lái)最簡(jiǎn)單的東西。本文就來(lái)和大家詳細(xì)聊聊ls命令的使用,需要的可以了解一下

簡(jiǎn)介

ls命令的使用格式如下

ls [選項(xiàng)] [具體的文件] # [] 表示可選

直接在命令行輸入ls將當(dāng)前目錄下的列出當(dāng)前目錄下的文件和目錄。

$ls
LICENSE??README.md??hello.c

也可以指定具體的目錄和文件

$ls?/
bin???dev??home??lib32??libx32??mnt??proc??run???srv??tmp??var
boot??etc??lib???lib64??media???opt??root??sbin??sys??usr

展示隱藏文件(所謂隱藏文件就是以.開(kāi)頭的目錄或者文件),增加-a選項(xiàng)。

$ls?-a
.??..??.git??LICENSE??README.md??hello.c?#?.?表示當(dāng)前目錄?..?表示上一級(jí)目錄

展示文件的詳細(xì)信息。

$ls?-al
total?44
drwxr-xr-x?3?root?root??4096?Oct??6?04:20?.
drwx------?1?root?root??4096?Oct??7?03:16?..
drwxr-xr-x?8?root?root??4096?Aug?26?15:28?.git
-rw-r--r--?1?root?root?18027?Aug?26?15:28?LICENSE
-rw-r--r--?1?root?root???210?Aug?26?15:28?README.md
-rw-r--r--?1?root?root????72?Aug?26?15:32?hello.c

詳細(xì)信息說(shuō)明

我們現(xiàn)在來(lái)仔細(xì)分析一下ls輸出結(jié)果:

第一行 total 44,表示這個(gè)目錄下面所有的文件的大小總和,單位是KiB。

然后是接下來(lái)的每一行,每一行的開(kāi)頭都有10個(gè)字符,他們的含義具體如下:

文件類型說(shuō)明

第一個(gè)字符,有的是d, 有的是-,在linux系統(tǒng)當(dāng)中,這第一個(gè)字符表示文件的類型,他有如下幾種類型:

  • d,表示目錄,比如說(shuō)上面的.當(dāng)前目錄,..上一級(jí)的目錄。
  • -,表示一般的文件,比如說(shuō)上面的hello.c.
  • b,表示塊設(shè)備,比如我們的磁盤就是一種塊設(shè)備,他們的這個(gè)位置都是b
$ls?-al?/dev/?|?grep?sda
brw-rw----??1?root?disk??????8,???0?Apr?30?23:16?sda
brw-rw----??1?root?disk??????8,???1?Apr?30?23:16?sda1
brw-rw----??1?root?disk??????8,???2?Apr?30?23:16?sda2
brw-rw----??1?root?disk??????8,???3?Apr?30?23:16?sda3

l,表示一個(gè)符號(hào)鏈接文件,也叫做軟鏈接。比如我們創(chuàng)建一個(gè)軟鏈接文件,并且查看它,軟鏈接就相當(dāng)于windows中的快捷方式,它并不真正的去存儲(chǔ)數(shù)據(jù),簡(jiǎn)單說(shuō)來(lái)只是存儲(chǔ)來(lái)一個(gè)指向一個(gè)文件的鏈接。

$ln?-s?hello.c?softlink.c
$ls?-al
total?52
drwxr-xr-x?3?root?root??4096?Oct??7?03:39?.
drwx------?1?root?root??4096?Oct??7?03:33?..
drwxr-xr-x?8?root?root??4096?Aug?26?15:28?.git
-rw-r--r--?1?root?root?18027?Aug?26?15:28?LICENSE
-rw-r--r--?1?root?root???210?Aug?26?15:28?README.md
-rw-r--r--?3?root?root????72?Aug?26?15:32?copy.c
-rw-r--r--?3?root?root????72?Aug?26?15:32?dcopy.c
-rw-r--r--?3?root?root????72?Aug?26?15:32?hello.c
lrwxrwxrwx?1?root?root?????7?Oct??7?03:39?softlink.c?->?hello.c?#?這里就表示是軟鏈接

p,表示一個(gè)管道,我們?cè)谶M(jìn)行多進(jìn)程通信的時(shí)候可能需要使用到這個(gè)設(shè)備文件。比如我們創(chuàng)建一個(gè)具體的管道:

$mkfifo?test
$ll
total?52
drwxr-xr-x?3?root?root??4096?Oct??7?05:06?./
drwx------?1?root?root??4096?Oct??7?03:40?../
drwxr-xr-x?8?root?root??4096?Aug?26?15:28?.git/
-rw-r--r--?1?root?root?18027?Aug?26?15:28?LICENSE
-rw-r--r--?1?root?root???210?Aug?26?15:28?README.md
-rw-r--r--?3?root?root????72?Aug?26?15:32?copy.c
-rw-r--r--?3?root?root????72?Aug?26?15:32?dcopy.c
-rw-r--r--?3?root?root????72?Aug?26?15:32?hello.c
lrwxrwxrwx?1?root?root?????7?Oct??7?03:39?softlink.c?->?hello.c
prw-r--r--?1?root?root?????0?Oct??7?05:06?test?#?這里就是我么你創(chuàng)建的管道

s,這個(gè)表示一個(gè)套接字,用于網(wǎng)絡(luò)通信。

權(quán)限說(shuō)明

對(duì)于后面9個(gè)字符來(lái)說(shuō),是用于表示文件的相關(guān)權(quán)限的。對(duì)于每一種文件來(lái)說(shuō),它主要有三個(gè)權(quán)限,讀、寫和執(zhí)行,我們很容易理解這三種權(quán)限,對(duì)于一個(gè)文件來(lái)說(shuō)我們當(dāng)然是想要讀和寫的,對(duì)于有的文件來(lái)說(shuō)我們希望他是可執(zhí)行的。我們稍后具體具一個(gè)例子,我們先來(lái)看這個(gè)9個(gè)位置分表表示的含義。

在這9個(gè)位置的字符當(dāng)中如果是用-表示,則說(shuō)明沒(méi)有對(duì)應(yīng)的權(quán)限,如果是用對(duì)應(yīng)的r,w,x表示,則說(shuō)明有對(duì)應(yīng)的權(quán)限。這9個(gè)字符每三個(gè)字符是一組,第一組表示文件的作者的權(quán)限,第二組表示作者所在組內(nèi)的其他人的權(quán)限,第三組表示其他人的權(quán)限,也就是除了作者和作者所在的組之外的其他人的權(quán)限。

比如在上圖當(dāng)中有一個(gè)可執(zhí)行文件a.out,但是當(dāng)我們使用chmod命令將他的所有的可執(zhí)行權(quán)限都刪掉的時(shí)候他就不可以被執(zhí)行了,程序輸出的結(jié)果表示沒(méi)有權(quán)限。在沒(méi)有修改之前,作者、組和其他人的權(quán)限為-rwxr-xr-x,所有的這些人都有可執(zhí)行的權(quán)限。但是當(dāng)執(zhí)行命令chmod -x a.out之后去除了所有人的可執(zhí)行權(quán)限之后,再想執(zhí)行a.out就會(huì)報(bào)錯(cuò)了,表示權(quán)限不夠,如果我們還想執(zhí)行a.out的話就需要將權(quán)限重新加回去:

上面主要談到了關(guān)于權(quán)限的問(wèn)題,我們現(xiàn)在來(lái)好好談一談chmod命令,這條命令主要是用來(lái)修改文件的權(quán)限的,比如上面那樣。在chmod當(dāng)中我們可以有如下的幾種方式去修改文件的權(quán)限:

直接通過(guò)+r,+w,+x-r,-w-x去修改三個(gè)不同的位置的權(quán)限,具體如下面這個(gè)例子所示。

除此之外我們還可以指定特定的人或者組。

在上面的例子當(dāng)中我們還使用數(shù)組去表示權(quán)限,因?yàn)椴还苁悄侵蓄愋偷挠脩舳加腥N權(quán)限,每一種權(quán)限有具有兩種狀態(tài),有這個(gè)權(quán)限和沒(méi)有這個(gè)權(quán)限。那么每一個(gè)位置都可以使用一個(gè)二進(jìn)制位進(jìn)行表示,當(dāng)二進(jìn)制位為1的時(shí)候就說(shuō)明有這個(gè)權(quán)限,為0的時(shí)候就沒(méi)有這個(gè)權(quán)限。那么三個(gè)二進(jìn)制位就表示一類用戶(作者、組和其他),因此每一個(gè)用戶的權(quán)限我們可以用三個(gè)二進(jìn)制數(shù)進(jìn)行表示,比如在上圖當(dāng)中的chmod 746 hello.c這條命令的輸出結(jié)果和下圖當(dāng)中是相互對(duì)應(yīng)的,打擊可以仔細(xì)對(duì)照的思考一下。

其他說(shuō)明

至此我們已經(jīng)完成了ls輸出的第一步分析,接下來(lái)我們來(lái)看第二行,第二行輸出的數(shù)據(jù)是文件的鏈接的數(shù)目。對(duì)于目錄來(lái)說(shuō)這個(gè)鏈接的數(shù)目就是子目錄的數(shù)目,對(duì)于文件來(lái)說(shuō)就是硬鏈接的數(shù)量。對(duì)于一個(gè)新創(chuàng)建的文件來(lái)說(shuō)硬鏈接的數(shù)目為1,我們可以是使用ln命令去增加一個(gè)文件的硬鏈接的數(shù)量,比如下圖

硬鏈接和軟鏈接的主要區(qū)別就是,軟鏈接不會(huì)影響鏈接的數(shù)量,他只是指向一個(gè)文件,而硬鏈接不一樣,他會(huì)增加一個(gè)文件鏈接的數(shù)量,當(dāng)我們刪除一個(gè)文件的時(shí)候事實(shí)上并不是直接將這個(gè)文件從磁盤當(dāng)中刪除,而是將這個(gè)文件的鏈接數(shù)減去一,當(dāng)這個(gè)鏈接數(shù)等于0的時(shí)候才會(huì)刪除這個(gè)文件,而刪除一個(gè)軟鏈接是不會(huì)影響鏈接的數(shù)量的,他只是在被發(fā)現(xiàn)是軟鏈接的時(shí)候去讀它指向的那個(gè)文件的內(nèi)容。

第三列和第四列主要是用戶名和用戶所在的組的組名。第五列是文件的大小,單位是Byte。后面三列是文件上一次修改時(shí)間分別對(duì)應(yīng)月、日、分秒,最后一列則是文件名。

彩蛋

我們可以使用stat命令去查看一個(gè)文件詳細(xì)的元數(shù)據(jù)信息,這些信息是存儲(chǔ)在文件的inode信息里面的。

$stat?hello.c?
??File:?hello.c
??Size:?72?????????Blocks:?8??????????IO?Block:?4096???regular?file
Device:?91h/145d?Inode:?1577767?????Links:?3
Access:?(0644/-rw-r--r--)??Uid:?(????0/????root)???Gid:?(????0/????root)
Access:?2022-10-07?05:41:32.685021010?+0000
Modify:?2022-10-07?05:41:27.547021008?+0000
Change:?2022-10-07?05:41:27.552021008?+0000
?Birth:?2022-08-26?15:32:43.726183003?+0000?

對(duì)應(yīng)的信息如下:

  • ls -R 遞歸列出子目錄當(dāng)中的文件。
  • ls -S 根據(jù)文件大小排序
  • ls - t 根據(jù)最后一次修改時(shí)間排序。
  • ls -r 逆序排列。

到此這篇關(guān)于Linux命令學(xué)習(xí)之原來(lái)最簡(jiǎn)單的ls這么復(fù)雜的文章就介紹到這了,更多相關(guān)Linux ls命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 非常簡(jiǎn)單的Shell菜單腳本

    非常簡(jiǎn)單的Shell菜單腳本

    這篇文章主要為大家詳細(xì)介紹了非常簡(jiǎn)單的Shell菜單腳本,傻瓜式的人機(jī)交互,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 監(jiān)控網(wǎng)站是否可以正常打開(kāi)的Shell腳本分享

    監(jiān)控網(wǎng)站是否可以正常打開(kāi)的Shell腳本分享

    這篇文章主要介紹了監(jiān)控網(wǎng)站是否可以正常打開(kāi)的Shell腳本分享,可以指定N個(gè)網(wǎng)址,放在crontab中執(zhí)行,需要的朋友可以參考下
    2014-09-09
  • Git中需要熟記的命令小結(jié)

    Git中需要熟記的命令小結(jié)

    這篇文章總結(jié)了Git中必須記住的一些命令,,合理使用這些命令可以大大提升應(yīng)用Git的效率。有需要的可以參考學(xué)習(xí)。
    2016-08-08
  • Linux SHELL if命令參數(shù)說(shuō)明

    Linux SHELL if命令參數(shù)說(shuō)明

    SHELL if命令參數(shù)介紹,方便學(xué)習(xí)shell命令的朋友,需要的朋友可以參考下
    2013-01-01
  • shell中常用的命令之diff和patch用法

    shell中常用的命令之diff和patch用法

    這篇文章主要介紹了shell中常用的命令:diff和patch,在這里diff是比較文件內(nèi)容,patch是打補(bǔ)丁的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Linux使用Split命令分割文件與合并的操作方法

    Linux使用Split命令分割文件與合并的操作方法

    Linux split是一個(gè)命令行工具,用于將文件分割成多個(gè)較小的文件,它可以按照文件大小、行數(shù)或者指定的分割符來(lái)進(jìn)行分割,本文給大家介紹了Linux使用Split命令分割文件與合并的操作方法,需要的朋友可以參考下
    2024-03-03
  • shell腳本function傳參的具體使用

    shell腳本function傳參的具體使用

    本文主要介紹了shell腳本function傳參的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • shell如何記錄用戶的IP與命令詳解

    shell如何記錄用戶的IP與命令詳解

    這篇文章主要給大家介紹了關(guān)于shell是如何記錄用戶的IP與命令的相關(guān)資料,記錄用戶輸入過(guò)的命令使用history命令,而記錄用戶的IP可能稍復(fù)雜一些,需要的朋友們下面跟著小編一起來(lái)看看吧。
    2017-06-06
  • Linux 深入理解進(jìn)程權(quán)限

    Linux 深入理解進(jìn)程權(quán)限

    這篇文章主要介紹了Linux 深入理解進(jìn)程權(quán)限的相關(guān)資料,關(guān)于文件權(quán)限,大部分人接觸比較多,也比較熟悉了解.但是對(duì)進(jìn)程權(quán)限一般知之甚少。這里就總結(jié)一下linux系統(tǒng)下進(jìn)程權(quán)限問(wèn)題和現(xiàn)象,需要的朋友可以參考下
    2016-11-11
  • 通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置

    通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置

    這篇文章主要介紹了通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

钦州市| 七台河市| 张掖市| 南江县| 县级市| 南通市| 德江县| 洛浦县| 汾阳市| 淅川县| 万山特区| 崇礼县| 封丘县| 西盟| 中卫市| 扎鲁特旗| 鄂托克前旗| 景德镇市| 班戈县| 阿图什市| 桂平市| 泉州市| 尉氏县| 靖江市| 富锦市| 杭州市| 临汾市| 化德县| 六枝特区| 青冈县| 千阳县| 安化县| 双牌县| 开江县| 贺州市| 邵武市| 宁安市| 丹东市| 北流市| 通江县| 秦安县|