1. explainshell.com介绍
在开始介绍ls, cat, mv, touch命令的使用之前,我们先介绍一个网站,可以用来查看各种命令式是如何工作的,explainshell.com,我们可以通过利用这个网站来查看不清楚的命令来避免不必要的代码错误,我们只需要登录explainshell.com,在中间对话框输入需要查询的command line (比如ls
),然后点击 ENTER 键或者鼠标点击 EXPLAIN 按钮就能得到该命令行的用法和解释了。下面我们将简单介绍标题中的四种命令及它们的常见使用方式
2. ls命令
ls
是 list 的简称,ls命令表示list directory contents,用于显示指定工作目录下的内容,也可以理解成罗列出当前工作目录下的子目录和文件。
下面将简单介绍几种常用的有关ls命令的参数用法:
参数 | 解释 |
---|---|
-a |
all的简称, 列出目录下的所有目录和文件 包括以‘.’为开头的隐藏目录和文件,ls 内定不显示此类文件和目录。 |
-A |
almost all的简称, 不列出 ' . ' (当前目录)和 ‘.. ’ (父目录),其余和 -a 一样。 |
-l |
表示long listing format, 除文件名外, 列出文件的详细资讯(比如文件型态,文件大小), 我们可以把 ls-l 简写成 ll 。 |
-r |
reverse的简称,文件以相反次序排列显示 ( ls 内定以英文字母顺序依次显示文件)。 |
-t |
表现 sort by modification time,文件以从最新修改的时间往后排 (注意不是建立文件的时间。) |
3. cat命令
cat
是 concatenate files and print on the standard output 的简称,cat命令可解释为连接文件并打印到标准输出设备上。
我们常常有3种使用 cat命令的方法。
命令行 | 解释 |
---|---|
cat textfile |
显示textfile 的内容 (可同时显示多个文本内容,文本名字之间以空格隔开。) |
cat > textfile |
用来创建新的 textfile 并且可以输入文本内容(注意:需要在录入完文本后键入Ctrl+D退出编辑状态。) |
cat textfile_1 textfile_2 > textfile_3
|
用来把textfile_1 和 textfile_2 的内容合并到 textfile_3 , 注意使用 ‘ >> ’才能把文件内容附加到原文件上,使用 ' > ' 只能合并文件内容到一个文件,如果不存在则创建一个新文件,无法附加文件内容到原有文件上, 简单说使用 ‘ > ’ 会覆盖原有文件内容,‘>> ’ 则不会。 |
下面将简单介绍几种常用的有关cat命令的参数用法:
参数 | 解释 |
---|---|
-n |
number的简称,表示为从 1 开始对所有输出的行数进行编号。 |
-b |
number-nonblank的简称,不空白行编号,其余和-n 一样。 |
-E |
show-ends的简称,表示在文本每行结束处显示 $ 符号。 |
4. mv命令
mv
是 move 的简称,可以用来给文件或者目录来改名或移动。
这里我们考虑4种情况, 下面 file
解释为文件名, dir
解释为目录名,
命令行 | 解释 |
---|---|
mv file_1 file_2 |
如两者都存在, 则 file_2 被file_1 覆盖,file_1 存在,file_2 不存在,则file_1 被重命名为file_2 。 |
mv file dir |
移动 file 到dir 下。 |
mv dir_1 dir_2 |
dir_2 不存在则 dir_1 (源目录)改名为 dir_2 (目标目录),若存在则源目录移动到目标目录。 |
mv dir file |
报错 |
5. touch命令
touch file
, 若file
不存在,我们建立一个新文件file
,若存在file
,那么file
的最后修改时间则会变为 执行 touch file
命令行的时间。
完