总结思考:
命令可以分为4类,简单的说一说?试着用四个命令来认识fcitx,比如man fcitx,这四个命令是干啥用的?
和less对应,命令cat怎么使用,二者的区别?重定向输出/错误输出/追加内容...重定向相关的列举出来?ctrl+d是什么快捷键?
试着使用管道/搜索
关键词:
man type whatis which
cat head tail
> 2> >> < | &>
grep uniq sort
/dev/null到底什么是命令?
命令可以是下面四种形式之一:
-
是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序,也可以是由脚本语言写成的程序,比如说 shell,perl,python,ruby,等等。
-
是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令(builtins)。例如,cd 命令,就是一个 shell 内部命令。
-
是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。在后续的章节里,我们将讨论配置环境变量以及书写 shell 函数。但是现在,仅仅意识到它们的存在就可以了。
-
是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。
alias foo = 'cd /usr;ls;cd -'
cat head tail
> 2> >> < | &>
grep uniq sort
/dev/null
重定向标准输出
ls > abc.txt如果我们需要删除一个文件内容(或者创建一个新的空文件)
>abc.txt
怎样才能把重定向结果追加到文件内容后面,而不是从开头重写文件?
ls>>abc.txt
重定向标准错误
ls /dsfffs 2> abc.txt重定向标准输出和错误到同一个文件
ls /sfddf &> abc.txt处理不需要的输出
ls -l /bin/usr 2> /dev/null
输入 Ctrl-d(按住 Ctrl 键同时按下”d”),来告诉 cat,在标准输入中,它已经到达文件末尾(EOF):