命令行命令
命令一般都具有此结构:
[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 并返回提示
还有两个易于记忆的命令用于查看文本文件的开头或结尾:head
和tail
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
但使用>
后跟已有内容的文本文件时,会覆盖其原内容,使用时要小心谨慎。