[ [email protected] ~]# cat test
this is ken
[ [email protected] ~]# echo "this is oscar" > test
[ [email protected] ~]# cat test
this is oscar 案例2:使用追加输出(原文中追加) [ [email protected] ~]# cat test
this is oscar
[ [email protected] ~]# echo "this is ken" >> test
[ [email protected] ~]# cat test
this is oscar
this is ken 案例3:使用错误输出重定向 默认错误输出会输出倒终端之上 [ [email protected] ~]# cat klkl > test #使用输出重定向无法使错误输出导入到文本中
cat: klkl: No such file or directory
[ [email protected] ~]# cat klkl 2> test #需要使用2>错误输出重定向
[ [email protected] ~]# cat test
cat: klkl: No such file or directory 案例4:将标准输出与错误输出共同写入到文件中 [ [email protected] ~]# cat klkl &> test
[ [email protected] ~]# cat test
cat: klkl: No such file or directory 输入重定向 工作中用到的比较少,了解即可,输入重定向的作用是把文件直接导入到命令中。 案例:统计文本行数 [ [email protected] ~]# wc -l < /etc/passwd
28 管道符 管道命令符(|)的作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。 例如我们需要统计passwd文件包含root的行数 [ [email protected] ~]# cat /etc/passwd | grep "root" | wc -l
2 把搜索命令的输出值传递给统计命令,即把原本要输出到屏幕的用户信息列表再交给wc命令作进一步的加工,因此只需要把管道符放到两条命令之间即可 通配符 为linux运维人员,我们有时候也会遇到明明一个文件的名称就在嘴边但就是想不起来的情况。如果就记得一个文件的开头几个字母,想遍历查找出所有以这个关键词开头的文件,该怎么 *** 作呢? 通配符就是通用的匹配信息的符号,比如 星号(*)代表匹配零个或多个字符(可以为0个) 问号(?)代表匹配单个字符(单个字符必须存在) 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符, 中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。 案例1:查看dev目录下所有以sda开头的文件 [ [email protected] ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2 案例2:查看dev目录下以sda开头,后面有一个字符的文件 [ [email protected] ~]# ls /dev/sda?
/dev/sda1 /dev/sda2 加上问号之后/dev/sda就匹配不到了 案例3:查看dev下以sda开头,后面跟上数字的文件 匹配不到sda [ [email protected] ~]# ls /dev/sda[0-9]
/dev/sda1 /dev/sda2 案例4:查看dev下以sda开头,后面跟上字母的文件 [ [email protected] ~]# ls /dev/sda[a-z]
ls: cannot access /dev/sda[a-z]: No such file or directory 匹配不到任何文件,也匹配不到/dev/sda,后面跟上字符必须存在才能匹配到。 三种引号的作用 单引号(‘‘):转义其中所有的变量为单纯的字符串。 双引号(""):保留其中的变量属性,不进行转义处理。 反引号(``):把其中的命令执行后返回结果。 案例1:单引号,不解释变量即所见即所得 [ [email protected] ~]# age=10
[ [email protected] ~]# echo ‘my age is $age‘
my age is $age 案例2:双引号,解释变量 [ [email protected] ~]# age=10
[ [email protected] ~]# echo "my age is $age"
my age is 10 案例3:反引号,用来执行命令 [ [email protected] ~]# name=`ls /root`
[ [email protected] ~]# echo $name
10.txt 11.txt 12.txt 13.txt 14.txt 1.txt 2.txt 3.txt 4.txt 5 =5 5.txt 6.txt 7.txt 8.txt 9.txt anaconda-ks.cfg elasticsearch-6.4.0.tar.gz elasticsearch-6.4.0.tar.gz.1 ken kenken nohup.out redis-manager-1.1 redis-manager-1.1-release.tar.gz test test1.sh test.sh 软连接、硬连接 软连接 软连接:就是相当于windows下面的快捷方式 【软链接相当于快捷方式,硬链接相当于复制粘贴】 创建完成后,源文件、软链接和硬链接均可以查看到文件内容。 编辑源文件,软、硬链接跟着动。 删除源文件,软链接失效,硬链接无影响。再重新建一个与源文件同名的文件,软链接就直接链接到新的文件,而硬链接不变。因为软链接是按着名称进行链接。 ln -s -s:指定源文件是谁 后面接 连接目标文件 [ [email protected] ~]# ln -s ken kenken
[ [email protected] ~]# ls
elasticsearch-6.4.0.tar.gz ken nohup.out redis-manager-1.1-release.tar.gz
elasticsearch-6.4.0.tar.gz.1 kenken redis-manager-1.1 往连接文件添加一些内容 [ [email protected] ~]# echo "this is ken" > kenken
[ [email protected] ~]# cat kenken
this is ken
[ [email protected] ~]# cat ken
this is ken 发现源文件内容同步 删除连接文件 [ [email protected] ~]# rm -rf kenken
[ [email protected] ~]# cat ken
this is ken 源文件不变 删除源文件 [ [email protected] ~]# rm -rf ken
[ [email protected] ~]# cat kenken
cat: kenken: No such file or directory 连接文件失效 再次创建源文件 [ [email protected] ~]# touch ken
[ [email protected] ~]# cat kenken
[ [email protected] ~]# cat ken 再重新建一个与源文件同名的文件,软链接就直接链接到新的文件。因为软链接是按着名称进行链接 总结: 软连接 ln - s 原路径 目标路径 特点: 1、就是相当于win中的快捷方式 2、删除链接文件,源文件无影响 3、删除源文件,链接文件失效 4、修改源文件\链接文件,内容都发生改变 硬链接 ln 源文件 目标文件 [ [email protected] ~]# ln ken ken1
[ [email protected] ~]# ls
elasticsearch-6.4.0.tar.gz ken kenken redis-manager-1.1
elasticsearch-6.4.0.tar.gz.1 ken1 nohup.out redis-manager-1.1-release.tar.gz 总结: 1、删除链接文件,源文件无影响 2、删除源文件,链接文件无影响 3、修改源文件\链接文件,内容都发生改变 总结
以上是内存溢出为你收集整理的Linux高级命令进阶(week1_day2)全部内容,希望文章能够帮你解决Linux高级命令进阶(week1_day2)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)