1. 输出重定向
> (1>):覆盖输出,会覆盖掉原先的文件内容
>> (1>>) :追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
2> :错误输出,会覆盖掉原先的文件内容
2>> :错误追加输出,不会覆盖掉原始文件内容,会在原始内容末尾继续添加
&> :将标准输出与错误输出共同写入到文件中,覆盖原有内容。
&>> :将标准输出与错误输出共同写入到文件中,追加到原有内容的后面。
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
黑洞文件: /dev/null,可吞吐大量文件
/dev/null ,一直向外吐文件
2. 管道符(|)
| :管道命令符(|)的作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。
如etc下的passwd有43行:
3. 通配符
通配即通用的匹配信息的符号,主要有:
1)星号(*):代表匹配零个或多个字符(可以为0个);
2)问号(?):代表匹配单个字符(单个字符必须存在);
3)中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符([0-9]);
4)中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符([a-z])。
4.三种引号的作用
1)单引号(‘’):转义其中所有的变量为单纯的字符串,所见即所得;
2)双引号(“”):保留其中的变量属性,不进行转义处理,解释变量;
3)反引号(` `):把其中的命令执行后返回结果,执行命令。
5. 软连接
相当于Windows下的快捷方式:
形式:ln - s 原路径 目标路径
特点:
1)就是相当于win中的快捷方式
2)删除链接文件,源文件无影响
3)删除源文件,链接文件失效
4)修改源文件\链接文件,内容都发生改变
6. 硬连接
相当于Windows的复制粘贴
形式:ln 源文件 目标文件
1)删除链接文件,源文件无影响
2)删除源文件,链接文件无影响
3)修改源文件\链接文件,内容都发生改变
7. 其他
$+变量名:引用变量
8. /
在linux系统中,目录、字符设备、块设备、套接字等都被抽象成了文件,linux系统中一切都是文件。既然平时我们打交道的都是文件,那么又应该如何找到它们呢?在Windows操作系统中,想要找到一个文件,我们要依次进入该文件所在的磁盘分区(假设这里是D盘),然后在进入该分区下的具体目录,最终找到这个文件。但是在linux系统中并不存在C/D/E/F等盘符,linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。另外,linux系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目录,并且文件名称中不得包含斜杠(/)。linux系统中的文件储存系统:
FHS是根据以往无数linux系统用户和开发者的经验而总结出来的,是用户在linux系统中存储文件时需要遵守的规则,用于指导我们应该把文件保存到什么位置,以及告诉用户应该在何处找到所需的文件。但是,FHS对于用户来讲只能算是一种道德上的约束,有些用户就是懒得遵守,依然会把文件到处乱放,有些甚至从来没有听说过它。
linux系统中常见的目录名称以及相应内容
目录名称 | 应放置文件的内容 |
/boot | 开机所需文件—内核、开机菜单以及所需配置文件等 |
/dev | 以文件形式存放任何设备与接口(放置磁盘设备) |
/etc | 配置文件 |
/home | 用户主目录 |
/bin | 存放单用户模式下还可以操作的命令(二进制命令) |
/lib | 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数 |
/sbin | 开机过程中需要的命令 |
/media | 用于挂载设备文件的目录 |
/opt | 放置第三方的软件 |
/root | 系统管理员的家目录 |
/srv | 一些网络服务的数据文件目录 |
/tmp | 任何人均可使用的“共享”临时目录 |
/proc | 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等 |
/usr/local | 用户自行安装的软件 |
/usr/sbin | linux系统开机时不会使用到的软件/命令/脚本 |
/usr/share | 帮助与说明文件,也可放置共享文件 |
/var | 主要存放经常变化的文件,如日志 |
/lost+found | 当文件系统发生错误时,将一些丢失的文件片段存放在这里 |
9. 绝对路径与相对路径
绝对路径:指的是从根目录(/)开始写起的文件或目录名称;
相对路径:指的是相对于当前路径的写法。