Linux课程学习笔记来源于网易云课堂:Linux 入门基础
1 不要重复发明轮子
开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件、代码、功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大的提高了效率和生产力。(大教堂和集市)
2. 管道和重定向
- 在Linux系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到完成某个复杂功能的目的。
- Linux中,几乎所有命令的返回数据都是纯文本的(因为命令都是运行在CLI(命令行)下),而纯文本形式的数据又是绝大多书命令的输入格式,这就让多命令协作成为可能。
- Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。
- 命令行shell的数据流有以下定义方便管理shell中的信息流
名称 说明 编号 默认
*STDIN 标准输入 0 键盘--用来采集信息
*STDOUT 标准输出 1 终端--用来输出正常信息
*STDERR 标准错误 2 终端--用来输出报错信息
*命令通过STDIN接收参数或数据,通过STDOUT输出结果或通过STDERR输出错误
- 通过管道和重定向我们可以控制CLI的数据流`标准输入、标准输出、标准错误`
(一) 重定向
(1)> 功能:将标准输出(STDOUT)重定向到文件(覆盖)【只能保存标准输出信息,错误信息(STDERR)不可以保存】。例如:
echo “linuxcast” > outfile //将ehco的输出保存到outfile文件中;
ls -l >outside //后面可以跟路径
(2)>> 功能:将标准输出(STDOUT)重定向到文件(追加到原有文件的内容之后)【只能保存标准输出信息,错误信息(STDERR)不可以保存】。
(3)2> 功能:仅将标准输出错误(STDERR)重定向到文件,不再将标准输出(STDOUT)重定向到文件。例如:
ls -l 2> outside //这条命令只保存报错信息
(4)2>&1 功能:将标准输出和标准错误结合在一起。例如:
ls nothere 2>&1 alloutput
(5)< 功能:重定向标准输入例如:
grep linuxcast< /etc/passwd //将/etc/passwd输入给grep linuxcast,这种命令不太常用。相当于在/etc/passwd中查找含有linuxcast关键字的内容
(二)管道
- 将一个命令的标准输出作为另一个命令的标准输入,可以做到多命令的协作。例如:
ls -l | grep linuxcast //将ls -l的输出结果传给grep,对ls –l输出的信息进行grep操作
find / -user linuxcast | grep Video //在linuxcast用户中查找含有Video内容的信息`
- 管道通常用来组合不同的命令,以实现一个复杂的功能
- 重定向通常用来保存某命令的输出信息或错误信息,可以用来记录之行结果或保存错误信息到一个指定的文件