Linux / Mac 下 基本的 bash shell 命令详解(cd 、ls)

Linux / Mac 下 基本的 bash shell 命令详解

前言

本篇主要介绍了cd 、ls 这两个基本命令,本博客同时发表在CSDN和简书。

遍历目录 cd

cd destination

cd命令可以带单个参数destination,用以制定你想切换到的目录名。如果用户没有指定目标路径,将会切换到当前用户主目录。
目录路径参数可以使用两种方式表达:

  • 绝对文件路径
    用户可在虚拟目录中采用==绝对文件路径==来引用目录名。绝对文件路径定义了在虚拟目录结构中该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。
    即以“/”开头的目录的绝对路径,当当前所在的目录已经在工作目录中时,可以使用 cd / 回到根目录。

  • 相对文件路径
    ==相对文件路径==允许用户指定一个基于当前位置的目录文件路径,而无需再从根目录开始。相对文件路径不以代表根目录的正斜线(/)开头,而以目录名(如果用户准备切换到当前工作目录下的一个目录)或是一个表示基于用户当前目录的相对位置的特殊字符开始。有两个特殊字符:

    • 单点符(.),表示当前目录;
    • 双点符(..),表示当前目录的父级目录。

    例如:

    cd ../Desktop
    cd ./Doc
    cd ../../etc
    

列表命令 ls

基本列表功能

命令区分大小写。
ls命令的基本格式会显示当前目录下的文件和目录。
ls命令输出的列表是按字母排序的(按列排序而不是按行排序)。如果用户用的是支持彩色的终端模拟器(==Mac 电脑终端默认是没有色彩的,可以百度添加配置文件==),ls命令还可以用不同的颜色来区分不同类型的文件。LS_COLORS环境变量控制着这个功能。

  • ls -F:该命令会在结果中的目录名后面加正斜线(/),以方便用户在输出中分辨它们。类似的,他会在可执行文件后面加个星号,以便找出可在系统上运行的文件。
  • ls -a:该命令可以将隐藏文件和目录一起显示出来。
  • ls -R:该命令可以列出当前目录下的包含的目录中的文件。如果有很多个目录,这个输出会很长。

修改输出信息

ls命令并没有输出每个文件额太多相关信息。需要显示更多的信息,需要使用改命令:

  • ls -l:该参数会产生长列表格式的输出,包含了目录中每个文件的更多的相关信息:
    这种超列表格式的输出在每一行中列出了单个文件或目录。除了文件名,输出中还有其他有用信息。输出的第一行显示了目录中包含的块的总数。之后每一行都包含了关于文件(或目录)的下述信息:
    • 文件类型,比如目录(d)、文件(-)、字符型文件(c)或者块文件(b);
    • 文件的权限;
    • 文件的硬链接总数;
    • 文件属主的用户名;
    • 文件属主的组名;
    • 文件的大小(已字节为单位);
    • 文件的上次修改时间;
    • 文件名或目录名。

完整的参数列表

在进行文件管理时,ls命令的很多参数可能会派上用场。针对ls运行一下man命令,你就能看到可用来修改ls命令输出的参数就有好几页。man ls
ls命令采用两种格式的命令行参数:

  • 单字母参数;
  • 全字母参数;

单字母参数通常是由英文破折号开始,全字参数则更易于看懂,通常以双英文破折号开始。许多参数都有单字母和全字母两种版本,而有些则只有一种。

==Mac 终端下,测试了几个命令并不用输入“--”,直接输入“-”加后面的命令即可,还有就是下表的一些命令,在Mac 并没有响应。目前不知道是测试输入错误还是本身并不支持。==

单字母 全字 描述
-a --all 输出包括以“.”打头的隐藏文件
-A --almost-all 不要输出“.”和“..”文件
--author 输出每个文件的作者
-b --escape 输出不可打印的字符的八进制值
--block-size=size 按照size字节的大小来计算大小块(快数)
-B --ignore-backups 不要列出名称中包含波浪线(~)的条目(波浪线用来表示备份的副本)
-c 按最后一次修改时间排序
-C 按列输出条目
--color=when 何时使用彩色(always,never或者auto)
-d --directory 列出目录条目而非内容,并且不用跟踪符号链接
-F --classify 给条目追加文件类型标识符
--file-type 只在部分文件类型(非可执行文件)后追加文件类型标识符
--format=word 将输出格式化成across(交叉)、commas(逗号)。horizontal(水平)、long(长)、single-column(单列)、verbose(详细)或vertical(垂直)
-g 输出除文件属主之外所有信息
--group-directories-first 在文件之前列出所有目录
-G --no-group 在长列表输出格式下,不显示组名
-h --human-readable 打印大小,K表示千字节
--si 和-h相同,但进率为1000,而非1024
-i --inode 显示每个文件的所有值(inode)
-l 按长列表输出格式显示
-L --dereference 对于链接文件,显示原文件信息
-n --numeric-uid-gid 显示数字类型的userid和groupid以替代名字
-o 在长列表格式下不显示组名
-r --reverse 在输出文件和目录时,反转排序的顺序
-R --recursive 递归的列出子目录的内容
-s --size 输出每个文件的块大小
-S --sort=size 按文件大小排序输出
-t --sort=time 按文件修改时间排序输出
-u 输出文件的最后访问时间而非最后修改时间
-U --sort=none 不要将输出排序
-v --sort=version 将文件版本排序输出
-x 按行而非按列输出条目
-X --sort=extension 按文件扩展名排序输出

如果需要,也可以一次使用多个参数。多个双破折线参数必须分开输入,而多个单波折线可以组合成一个字符串跟在一个单破折线后面。例如:ls -alis单命令无关顺序。

过滤输出列表

由前面的例子可以知道,默认情况下,ls命令会输出目录下的所有文件。
ls命令还支持在命令行下定义过滤器。它会用过滤器决定应该在输出中显示哪些文件和目录。
这个过滤器就是个进行简单文本匹配的的字符串,可以在要用的命令行参数后添加这个过滤器:

ls -l 匹配字符串

当用户指定特定的文件名称作为过滤器时,ls命令只会显示那个文件的信息。
有时候当不知道要找的文件的确切名称。ls命令可以识别标准通配符,并在过滤器中用它们来进行模式匹配:

  • 问好代表一个字符。
  • 星号代表零个或多个字符。

问号可用在过滤器字符串中替代任意位置的单个字符。
例如:

ls -l mypro?
ls -l mypro*
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容