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

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

本篇主要介绍了在Linux / Mac 系统下,一些基本的bash shell命令。

遍历目录 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   按文件扩展名排序输出  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14684.html