命令行基础

命令行命令

命令一般都具有此结构:
[command] [options] [arguments]

  • 选项一般以-开头,会调整命令的行为
  • 参数可以是文件名、原始数据或命令需要的其他选项

echo 'Hello World'

导航命令行

计算机上的一些特殊目录。

  • 目录树顶部的目录称为根目录。根目录包含所有其他目录,并用斜杠 / 表示。
  • 主目录是另一个特殊目录,其中包含个人文件,例如照片、文档和桌面内容。波浪号 ~ 代表主目录的简写。

shell启动默认在主目录,可以通过pwd命令打印当前工作目录。
可以使用cd来切换工作目录,传入的参数可以是绝对路径或相对路径。cd命令可以对以相同字母开头的目录和文件使用 tab 补全。
可以使用ls命令来查看当前工作目录下的所有文件及文件夹。

创建和检查

(可以接收路径参数的命令都可以接收相对路径及绝对路径)。
可以使用mkdir命令创建文件夹。
可以使用touch命令创建文件。

可以使用ls命令的-l选项来查看文件的详细信息。

ls -l

## drwxr-xr-x  2 june  staff  94 Jan 20 12:44 Desktop
## drwxr-xr-x  2 june  staff  24 Jan 20 12:44 Documents
## drwxr-xr-x  2 june  staff  68 Jan 20 12:36 Music
## -rw-r--r--  1 june  staff  90 Jan 24 11:33 journal-2017-01-24.txt
## -rw-r--r--  1 june  staff  70 Jan 24 10:58 todo.txt

每个文件或文件夹的结果表中都有一行。如果第一列中的条目是 以d开头,则表中的行对应于一个目录,否则该行中的信息对应于一个文件。根据上述打印信息可知,当前工作目录有三个目录和两个文件。

目录条目的d或文件条目的-之后的字符串表示该文件或目录的权限。该表的列还显示了文件的创建者、文件创建者所属的组、文件的大小、文件最后修改的时间和日期,最后是文件名。

对于文件可以使用wc命令来查看文件的字数及其他信息:

wc todo.txt
##       3      14      70 todo.txt

wc命令显示文件中的行数,单词数,最后是字符数。
cat命令通常用于将文本文件打印到终端。尽管它实际上是为了连接文件,cat命令会将提供的多个文本文件组合作为参数。

对于更大的文本文件,可以使用less程序查看,less是一个专为查看多页文件而设计的 Unix 工具,因为它会“接管”终端,提供一些命令方便使用:

  • 可以使用向上和向下箭头键逐行向上和向下滚动文件
  • 可以使用spacebar转到下一页和b键转到上一页
  • 使用q键退出less 并返回提示

还有两个易于记忆的命令用于查看文本文件的开头或结尾:headtail

head Documents/a-tale-of-two-cities.txt

## I. The Period
## 
## It was the best of times,
## it was the worst of times,
## it was the age of wisdom,
## it was the age of foolishness,
## it was the epoch of belief,
## it was the epoch of incredulity,
## it was the season of Light,
## it was the season of Darkness,

head/tail命令会将文件的前/后十行打印到终端。可以使用-n选项指定打印的行数:

tail -n 4 Documents/a-tale-of-two-cities.txt

## and carried their divine rights with a high hand. Thus did the year one
## thousand seven hundred and seventy-five conduct their Greatnesses, and myriads
## of small creatures—the creatures of this chronicle among the rest—along the
## roads that lay before them.

创建文件的一种简单方法是使用输出重定向。输出重定向将要打印到命令行的文本存储在文本文件中。
使用输出重定向的方法是在命令末尾键入大于号>,后跟保存输出的新文件名称。

echo 'This word will be saved' > echo-out.txt

还可以使用两个大于号>>将文本附加到文件的末尾。

echo 'This word will be appended' > echo-out.txt

但使用>后跟已有内容的文本文件时,会覆盖其原内容,使用时要小心谨慎。

tag(s): unix 
show comments · back · home