Linux 高阶命令进阶
(一)输出重定向
1、 > :覆盖输出,会覆盖掉原先的文件内容
# vim test
# cat test
this is ken
# echo “this is oscar” > test
# cat test
this is oscar
2、 >> :追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
# echo “this is ken” >> test
# cat test
this is oscar
this is ken
3、 2> :错误输出,会覆盖掉原先的文件内容
2>> :错误追加输出,会覆盖掉原始文件内容,会在原始内容末尾继续添加
4、 &> :将标准输出与错误输出共同写入到文件中。覆盖原有内容
&>> :将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
(二)输入重定向
# wc -l < /etc/passwd
(三)管道符 “|” :作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。把前一个命令的执行结果交给“|”再运行一次。
# cat /etc/passwd | grep "root" | wc -l
(四)通配符:
通配符就是通用的匹配信息的符号,比如
1、 星号(*)代表匹配零个或多个字符(可以为0个)
# ls /dev/sd* :查看dev 目录下以 sd 开头的所有文件。
2、 问号(?)代表匹配单个字符(单个字符必须存在)
# ls /dev/sd? :查看dev 目录下以 sd 开头,后面有一个字符的所有文件。
# ls /dev/sd?? :查看dev 目录下以 sd 开头,后面有两个字符的所有文件。
3、 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,
# ls /dev/sd [12] :查看dev 目录下以 sd 开头,后面分别有一个字符和两个 字符的所有文件。
4、 中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
# ls /dev/sda[a-z] :查看dev下以sda开头,后面跟上字母的文件
(五)三种引号的作用
1、 单引号(‘‘):转义其中所有的变量为单纯的字符串。
2、 双引号(""):保留其中的变量属性,不进行转义处理。
3、 反引号(``):把其中的命令执行后返回结果。
单引号中的特殊符号失去其特殊作用。双引号中的部分失去作用,如# $ 依旧生效。
反引号中的:# echo `ls` 引号中的先执行再输出。
(六)软连接和硬连接
【软链接相当于快捷方式,硬链接相当于复制粘贴】
创建完成后,源文件、软链接和硬链接均可以查看到文件内容。
编辑源文件,软、硬链接跟着动。
删除源文件,软链接失效,硬链接无影响。再重新建一个与源文件同名的文件,软链接就直接链接到新的文件,而硬链接不变。因为软链接是按着名称进行链接。
1、 软连接:
ln - s 原路径 目标路径
特点:
1、就是相当于win中的快捷方式
2、删除链接文件,源文件无影响
3、删除源文件,链接文件失效
4、修改源文件\链接文件,内容都发生改变
2、 硬链接:ln 源文件 目标文件
总结:
1、删除链接文件,源文件无影响
2、删除源文件,链接文件无影响
3、修改源文件\链接文件,内容都发生改变
(七)一切从“/”开始:
在Linux系统中并不存在C/D/E/F等盘符,Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统 层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。
另外,Linux系统中的文件和目录名称是严格区分大小写的。
# grep root /etc/passwd
;顺序执行
Mkdir cjk && cd cjk : 逻辑执行,,前者执行成功后者执行,,前者失败后者不执行。
ls || echo 1 :前者不执行则后者执行,前者执行后者不执行。
单引号中的特殊符号失去其特殊作用。双引号中的部分失去作用,如# $ 依旧生效。
反引号中的:# echo `ls` 引号中的先执行再输出。
原文:https://www.cnblogs.com/WIU1905/p/10644977.html