在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux中的LS命令詳細學習資料概述

Linux愛好者 ? 來源:未知 ? 2019-08-11 10:55 ? 次閱讀

ls命令可以列出一個POSIX系統(tǒng)上的文件。這是一個簡單的命令,但它經常被低估,不是它能做什么(因為它確實只做了一件事),而是你該如何優(yōu)化對它的使用。

要知道在最重要的 10 個終端命令中,這個簡單的 ls 命令可以排進前三,因為 ls 不會只是列出文件,它還會告訴你有關它們的重要信息。它會告訴你諸如擁有文件或目錄的人、每個文件修改的時間、甚至是什么類型的文件。它的附帶功能能讓你了解你在哪里、附近有些什么,以及你可以用它們做什么。

如果你對 ls 的體驗僅限于你的發(fā)行版在 .bashrc 中的別名,那么你可能錯失了它。

GNU 還是 BSD

在了解 ls 的隱藏能力之前,你必須確定你正在運行哪個 ls 命令。有兩個最流行的版本:包含在 GNU coreutils 包中的 GNU 版本,以及 BSD 版本。如果你正在運行 Linux,那么你很可能已經安裝了 GNU 版本的 ls(LCTT 譯注:幾乎可以完全確定)。如果你正在運行 BSD 或 MacOS,那么你有的是 BSD 版本。本文會介紹它們的不同之處。

你可以使用--version 選項找出你計算機上的版本:

$ ls --version

如果它返回有關 GNU coreutils 的信息,那么你擁有的是 GNU 版本。如果它返回一個錯誤,你可能正在運行的是 BSD 版本(運行 man ls | head 以確定)。

你還應該調查你的發(fā)行版可能具有哪些預設選項。終端命令的自定義通常放在$HOME/.bashrc 或$HOME/.bash_aliases 或$HOME/.profile 中,它們是通過將 ls 別名化為更復雜的 ls 命令來完成的。例如:

alias ls='ls --color'

發(fā)行版提供的預設非常有用,但它們確實很難分辨出哪些是 ls 本身的特性,哪些是它的附加選項提供的。你要是想要運行 ls 命令本身而不是它的別名,你可以用反斜杠“轉義”命令:

$ls

分類

單獨運行 ls 會以適合你終端的列數列出文件:

$ls~/examplebunkojdk-10.0.2chapterizeotf2ttf.ffdespacerovertar.shestimate.shpandoc-2.7.1fop-2.3safe_yamlgames tt

這是有用的信息,但所有這些文件看起來基本相同,沒有方便的圖標來快速表示出哪個是目錄、文本文件或圖像等等。

使用-F(或 GNU 上的長選項--classify)以在每個條目之后顯示標識文件類型的指示符:

$ ls ~/examplebunko jdk-10.0.2/chapterize* otf2ttf.ff*despacer* overtar.sh*estimate.sh pandoc@fop-2.3/ pandoc-2.7.1/games/ tt*

使用此選項,終端中列出的項目使用簡寫符號來按文件類型分類:

斜杠(/)表示目錄(或“文件夾”)。

星號(*)表示可執(zhí)行文件。這包括二進制文件(編譯代碼)以及腳本(具有可執(zhí)行權限的文本文件)。

符號(@)表示符號鏈接(或“別名”)。

等號(=)表示套接字。

在 BSD 上,百分號(%)表示

涂改whiteout

(某些文件系統(tǒng)上的文件刪除方法)。

在 GNU 上,尖括號(>)表示

門door

(Illumos和 Solaris上的進程間通信)。

豎線(|)表示FIFO管道。 這個選項的一個更簡單的版本是-p,它只區(qū)分文件和目錄。

長列表

從 ls 獲取“長列表”的做法是如此常見,以至于許多發(fā)行版將 ll 別名為 ls -l。長列表提供了許多重要的文件屬性,例如權限、擁有每個文件的用戶、文件所屬的組、文件大小(以字節(jié)為單位)以及文件上次更改的日期:

$ ls -l-rwxrwx---. 1 seth users 455 Mar 2 2017 estimate.sh-rwxrwxr-x. 1 seth users 662 Apr 29 22:27 factorial-rwxrwx---. 1 seth users 20697793 Jun 29 2018 fop-2.3-bin.tar.gz-rwxrwxr-x. 1 seth users 6210 May 22 10:22 geteltorito-rwxrwx---. 1 seth users 177 Nov 12 2018 html4mutt.sh[...]

如果你不想以字節(jié)為單位,請?zhí)砑?h 標志(或 GNU 中的--human)以將文件大小轉換為更加人性化的表示方法:

$ ls --human-rwxrwx---. 1 seth users 455 Mar 2 2017 estimate.sh-rwxrwxr-x. 1 seth seth 662 Apr 29 22:27 factorial-rwxrwx---. 1 seth users 20M Jun 29 2018 fop-2.3-bin.tar.gz-rwxrwxr-x. 1 seth seth 6.1K May 22 10:22 geteltorito-rwxrwx---. 1 seth users 177 Nov 12 2018 html4mutt.sh

要看到更少的信息,你可以帶有-o 選項只顯示所有者的列,或帶有-g 選項只顯示所屬組的列:

$ ls -o-rwxrwx---. 1 seth 455 Mar 2 2017 estimate.sh-rwxrwxr-x. 1 seth 662 Apr 29 22:27 factorial-rwxrwx---. 1 seth 20M Jun 29 2018 fop-2.3-bin.tar.gz-rwxrwxr-x. 1 seth 6.1K May 22 10:22 geteltorito-rwxrwx---. 1 seth 177 Nov 12 2018 html4mutt.sh

也可以將兩個選項組合使用以顯示兩者。

時間和日期格式

ls 的長列表格式通常如下所示:

-rwxrwx---. 1 seth users 455 Mar 2 2017 estimate.sh-rwxrwxr-x. 1 seth users 662 Apr 29 22:27 factorial-rwxrwx---. 1 seth users 20697793 Jun 29 2018 fop-2.3-bin.tar.gz-rwxrwxr-x. 1 seth users 6210 May 22 10:22 geteltorito-rwxrwx---. 1 seth users 177 Nov 12 2018 html4mutt.sh

月份的名字不便于排序,無論是通過計算還是識別(取決于你的大腦是否傾向于喜歡字符串或整數)。你可以使用--time-style 選項和格式名稱更改時間戳的格式。可用格式為:

full-iso:ISO 完整格式(1970-01-01 21:12:00)

long-iso:ISO 長格式(1970-01-01 21:12)

iso:iso 格式(01-01 21:12)

locale:本地化格式(使用你的區(qū)域設置)

posix-STYLE:POSIX 風格(用區(qū)域設置定義替換 STYLE)

你還可以使用 date 命令的正式表示法創(chuàng)建自定義樣式。

按時間排序

通常,ls 命令按字母順序排序。你可以使用-t 選項根據文件的最近更改的時間(最新的文件最先列出)進行排序。

例如:

$ touch foo bar baz$ lsbar baz foo$ touch foo$ ls -tfoo bar baz

列出方式

ls 的標準輸出平衡了可讀性和空間效率,但有時你需要按照特定方式排列的文件列表。

要以逗號分隔文件列表,請使用-m

ls -m ~/examplebar, baz, foo

要強制每行一個文件,請使用-1 選項(這是數字 1,而不是小寫的 L):

$ ls -1 ~/bin/barbazfoo

要按文件擴展名而不是文件名對條目進行排序,請使用-X(這是大寫 X):

$ lsbar.xfc baz.txt foo.asc$ ls -Xfoo.asc baz.txt bar.xfc

隱藏雜項

在某些 ls 列表中有一些你可能不關心的條目。例如,元字符 . 和 .. 分別代表“本目錄”和“父目錄”。如果你熟悉在終端中如何切換目錄,你可能已經知道每個目錄都將自己稱為 .,并將其父目錄稱為 ..,因此當你使用-a 選項顯示隱藏文件時并不需要它經常提醒你。

要顯示幾乎所有隱藏文件(. 和 .. 除外),請使用-A 選項:

$ ls -a....android.atom.bash_aliases[...]$ ls -A.android.atom.bash_aliases[...]

有許多優(yōu)秀的 Unix 工具有保存?zhèn)浞菸募膫鹘y(tǒng),它們會在保存文件的名稱后附加一些特殊字符作為備份文件。例如,在 Vim 中,備份會以在文件名后附加~字符的文件名保存。

這些類型的備份文件已經多次使我免于愚蠢的錯誤,但是經過多年享受它們提供的安全感后,我覺得不需要用視覺證據來證明它們存在。我相信 Linux 應用程序可以生成備份文件(如果它們聲稱這樣做的話),我很樂意相信它們存在 —— 而不用必須看到它們。

要隱藏備份文件,請使用-B 或--ignore-backups 隱藏常用備份格式(此選項在 BSD 的 ls 中不可用):

$ lsbar.xfc baz.txt foo.asc~ foo.asc$ ls -Bbar.xfc baz.txt foo.asc

當然,備份文件仍然存在;它只是過濾掉了,你不必看到它。

除非另有配置,GNU Emacs 在文件名的開頭和結尾添加哈希字符(#)來保存?zhèn)浞菸募?file#)。其他應用程序可能使用不同的樣式。使用什么模式并不重要,因為你可以使用--hide 選項創(chuàng)建自己的排除項:

$ lsbar.xfc baz.txt #foo.asc# foo.asc$ ls --hide="#*#"bar.xfc baz.txt foo.asc

遞歸地列出目錄

除非你在指定目錄上運行 ls,否則子目錄的內容不會與 ls 命令一起列出:

$ ls -Fexample/ quux* xyz.txt$ ls -Rquux xyz.txt./example:bar.xfc baz.txt #foo.asc# foo.asc

使用別名使其永久化

ls 命令可能是 shell 會話期間最常使用的命令。這是你的眼睛和耳朵,為你提供上下文信息和確認命令的結果。雖然有很多選項很有用,但 ls 之美的一部分就是簡潔:兩個字符和回車鍵,你就知道你到底在哪里以及附近有什么。如果你不得不停下思考(更不用說輸入)幾個不同的選項,它會變得不那么方便,所以通常情況下,即使最有用的選項也不會用了。

解決方案是為你的 ls 命令添加別名,以便在使用它時,你可以獲得最關心的信息。

要在 Bash shell 中為命令創(chuàng)建別名,請在主目錄中創(chuàng)建名為 .bash_aliases 的文件(必須在開頭包含 .)。在此文件中,列出要創(chuàng)建的別名,然后是要為其創(chuàng)建別名的命令。例如:

alias ls='ls -A -F -B --human --color'

這一行導致你的 Bash shell 將 ls 命令解釋為 ls -A -F -B --human --color。

你不必僅限于重新定義現有命令,還可以創(chuàng)建自己的別名:

alias ll='ls -l'alias la='ls -A'alias lh='ls -h'

要使別名起作用,shell 必須知道 .bash_aliases 配置文件存在。在編輯器中打開 .bashrc 文件(如果它不存在則創(chuàng)建它),并包含以下代碼塊:

if [ -e $HOME/.bash_aliases ]; then source $HOME/.bash_aliasesfi

每次加載 .bashrc(這是一個新的 Bash shell 啟動的時候),Bash 會將 .bash_aliases 加載到你的環(huán)境中。你可以關閉并重新啟動 Bash 會話,或者直接強制它執(zhí)行此操作:

$ source ~/.bashrc

如果你忘了你是否有別名命令,which 命令可以告訴你:

$ which lsalias ls='ls -A -F -B --human --color' /usr/bin/ls

如果你將 ls 命令別名為帶有選項的 ls 命令,則可以通過將反斜杠前綴到 ls 前來覆蓋你的別名。例如,在示例別名中,使用-B 選項隱藏備份文件,這意味著無法使用 ls 命令顯示備份文件。可以覆蓋該別名以查看備份文件:

$ lsbar baz foo$ lsbar baz baz~ foo

做一件事,把它做好

ls 命令有很多選項,其中許多是特定用途的或高度依賴于你所使用的終端。在 GNU 系統(tǒng)上查看 info ls,或在 GNU 或 BSD 系統(tǒng)上查看 man ls 以了解更多選項。

你可能會覺得奇怪的是,一個以每個工具“做一件事,把它做好”的前提而聞名的系統(tǒng)會讓其最常見的命令背負 50 個選項。但是 ls 只做一件事:它列出文件,而這 50 個選項允許你控制接收列表的方式,ls 的這項工作做得非常、非常好。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210399
  • fifo
    +關注

    關注

    3

    文章

    389

    瀏覽量

    43858
  • UNIX
    +關注

    關注

    0

    文章

    296

    瀏覽量

    41580

原文標題:帶你學習 ls 命令

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linuxls-lrt命令的作用

    作為軟件開發(fā)人員或測試人員,我們經常會使用“ls-lrt”命令,特別是在處理大量文件的時候。
    發(fā)表于 11-25 16:27 ?2700次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>ls</b>-lrt<b class='flag-5'>命令</b>的作用

    零基礎學習Linux基礎命令小結

    第一件事就是驗證一下這個結果,這就是我們要學習的第一條命令。  1.查看文件名命令-ls 那我們就使用這條目錄查看“/”下的目錄  這時大家看到了我們前面所說的目錄,
    發(fā)表于 09-20 10:52

    學習常見的Linux命令

    一、學習常見的Linux命令(1)文件操作命令主要包括查看文件命令ls)、顯示文件內容
    發(fā)表于 11-05 08:43

    ls命令是什么?有何作用

    1、ls命令就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件權限(包括目錄、文件夾、文件
    發(fā)表于 02-17 07:05

    淺談Linuxls 命令(20 個實用范例分析)

    ls命令用于列出文件和目錄,默認列出當前目錄的內容。帶上參數后,我們可以用ls做更多的事情。這里是一些在日常操作中使用到的ls用法的示例。
    的頭像 發(fā)表于 05-28 16:03 ?4743次閱讀
    淺談<b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>ls</b> <b class='flag-5'>命令</b>(20 個實用范例分析)

    C語言常用的預處理命令和循環(huán)左移右移函數的詳細資料概述

    本文檔的主要內容詳細介紹的是C語言常用的預處理命令和循環(huán)左移右移函數的詳細資料概述
    發(fā)表于 10-22 08:00 ?71次下載

    如何在Linux下如何刪除大量文件的詳細資料概述

    本文檔的主要內容詳細介紹的是如何在Linux下刪除大量文件的過程詳細資料概述免費下載。
    發(fā)表于 11-14 17:10 ?7次下載

    Linux教程之常用Linux命令詳細資料免費下載

    Linux的系統(tǒng)管理主要在控制終端下進行,通過使用命令行的方式進行管理。Linux的文件命令可以完成各種復雜的工作,例如對目錄進行復制、移動和鏈接,搜索和查找文件和目錄,閱讀、顯示或打
    發(fā)表于 11-16 16:17 ?14次下載

    linux的History命令代碼的詳細資料合集免費下載

    本文檔的主要內容詳細介紹的是linux的History命令代碼的詳細資料合集免費下載。
    發(fā)表于 11-19 08:00 ?2次下載

    嵌入式教程之Linux的基礎命令詳細資料說明

    本文檔的主要內容詳細介紹的是嵌入式教程之Linux的基礎命令詳細資料說明主要內容包括了:1.Linux常用
    發(fā)表于 12-06 17:31 ?8次下載
    嵌入式教程之<b class='flag-5'>Linux</b>的基礎<b class='flag-5'>命令</b><b class='flag-5'>詳細資料</b>說明

    概述學習Linux系統(tǒng)命令的簡單方法

    如果說如何快速學習、了解 Linux 的話,我的答案是學命令、背命令!為何呢?對于一名新手來說,去學習
    發(fā)表于 04-11 08:57 ?896次閱讀
    <b class='flag-5'>概述</b><b class='flag-5'>學習</b><b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>中</b><b class='flag-5'>命令</b>的簡單方法

    Linux環(huán)境下U-boot常用命令講解的詳細資料說明

    本文檔的主要內容詳細介紹的是Linux環(huán)境下U-boot常用命令講解的資料說明。
    發(fā)表于 06-21 08:00 ?1次下載
    <b class='flag-5'>Linux</b>環(huán)境下U-boot常用<b class='flag-5'>命令</b>講解的<b class='flag-5'>詳細資料</b>說明

    嵌入式學習五:linux常用命令

    linux常用命令:(1) ls(list,列表)作用:使用列表把當前文件夾下所有文件顯示出來 ls -a 顯示所有文件,包括隱藏文件 ls
    發(fā)表于 11-02 15:21 ?10次下載
    嵌入式<b class='flag-5'>學習</b>五:<b class='flag-5'>linux</b>常用<b class='flag-5'>命令</b>

    ls是什么?ls命令可不簡單!

    Linux中一個基本命令ls。沒有這個命令,我們會在瀏覽目錄條目時會遇到困難。這個命令必須被每個學習
    的頭像 發(fā)表于 07-21 09:23 ?9110次閱讀
    <b class='flag-5'>ls</b>是什么?<b class='flag-5'>ls</b><b class='flag-5'>命令</b>可不簡單!

    linux命令概述

    電子發(fā)燒友網站提供《linux命令概述.pdf》資料免費下載
    發(fā)表于 03-11 09:18 ?3次下載
    主站蜘蛛池模板: 天堂-bt种子| 欧美日本一道免费一区三区 | 天天夜夜狠狠一区二区三区 | 在线色视频网站 | 曰本又色又爽又黄三级视频 | 视频免费1区二区三区 | 黄h视频在线观看视频 | 午夜无遮挡怕怕怕免费视频 | 性欧美xxxx视频在线观看 | 色01视频 | 久久久久久久国产免费看 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 天天爽夜夜爽精品视频一 | 四虎影永久在线观看精品 | 国产欧美一区二区日本加勒比 | 国产精品嫩草影院人体模特 | 欧美亚洲综合另类成人 | 伊人欧美在线 | 日韩午夜精品 | 午夜三级毛片 | www.av123| 双性受粗大撑开白浊 | 国产三级在线观看免费 | 午夜欧美精品久久久久久久久 | 午夜影视在线视频观看免费 | 成年人电影黄色 | 国产视频三区 | 亚洲综合激情丁香六月 | 一级特黄aa大片免费 | 黄网站免费视频 | 天天插综合 | 全黄h全肉边做边吃奶在线观看 | 天天射天天摸 | 真人一级一级特黄高清毛片 | 天天综合视频网 | 欧美18性欧美黑吊 | 久久综合九色综合欧美播 | 天天插天天干天天射 | 亚洲精品蜜桃久久久久久 | 最新亚洲一区二区三区四区 | 午夜视频一区二区 |