Linux重定向符号和特殊符号

输出重定向符号

输入设备:

  • 键盘输入数据
  • 文件数据导入

输出设备:

  • 显示器,屏幕终端
  • 文件

程序的数据流:

  • 输入流:<---标准输入(stdin),键盘
  • 输出流:--->标准输出(stdout),显示器,终端
  • 错误输出流:-->错误输出(stderr)

文件描述符:

在Linux系统中,一切设备都看作文件。

而每打开一个文件,就有一个代表该打开文件的文件描述符

程序启动时默认打开是哪个I/O设备文件:

  • 标准输入文件(stdin),文件描述符0
  • 标准输出文件(stdout),文件描述符1
  • 标准错误输出文件(stderr),文件描述符2
符号特殊符号简介
标准输入stdin代码为0,配合<或<<数据流从右向左
标准输出stdout代码1,配合>或>>数据从左向右
标准错误stderr代码2.配合>或>>数据从左向右
重定向符号数据流是箭头方向
标准输入重定向0<或<数据一般从文件流向处理命令
追加输入重定向0<<或<<数据一般从文件流向处理命令
标准输出重定向1>或>正常输出重定向给文件,默认覆盖
标准输出追加重定向1>>或>>内容追加重定向到文件底部,追加
标准错误输出重定向2>将标准错误内容重定向到文件,默认覆盖
标准错误输出追加重定向2>>标准错误内容追加到文件底部

其他特殊符号

符号解释
;分号,命令分隔符或是结束符
#1.文件中注释的内容;2.root身份提示符
|管道符,传递命令结果给下一个命令
$1.$变量,取出变量的值;2.普通用户身份提示符
\转义符,将特殊含义的字符还原成普通字符
{}

1.生成序列,2.引用变量作为变量与普通字符的分割

;号

  • 表示命令的结束
  • 命令间的分隔符
  • 配置文件的注释符
[root@timy-test-k8s01 ~]# pwd;ls    #执行两条命令
/root
2022-05-13  2022-05-13.txt  anaconda-ks.cfg  Desktop  test  test.txt

|管道符

比如生活中的管道,能够传输物质

Linux管道符 | 用于传输数据,对Linux命令的处理结果再次处理,直到得到最终结果

能一次出结果的命令,尽量不要二次过滤,效率并不高


[root@timy-test-k8s01 ~]# ifconfig | grep inet    #过滤显示inet字符段
        inet 10.16.66.88  netmask 255.255.255.0  broadcast 10.16.66.255
        inet6 fe80::2834:95d6:baaa:9918  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
[root@timy-test-k8s01 ~]# ls | grep .txt    #过滤只显示文本文件
2022-05-13.txt
test.txt

$符

Linux系统命令中,字符串前加$符,代表字符串变量的值

[root@timy-test-k8s01 ~]# echo PATH
PATH
[root@timy-test-k8s01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

{}符

1.生成序列,一连串的文本

[root@timy-test-k8s01 ~]# echo {1..20}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[root@timy-test-k8s01 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@timy-test-k8s01 ~]# echo test{1..10}.txt
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt test10.txt

2.利用{}快速备份文件

[root@timy-test-k8s01 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.ori}
#{}里面的,号代表前面的路径/etc/sysconfig/network-scripts/,.ori代表备份的文件名

3.将变量括起来作为变量的分隔符

逻辑操作符

逻辑符既可以在Linux系统中直接用,也可以在Bash脚本中用

命令解释
&&前一个命令执行成功,再执行下一个命令
||前一个命令失败了,再执行下一个名
!1.在bash中取反,2.在vim中强制性,3.历史命令中!ls找出最近一次以ls开头的命令
[root@timy-test-k8s01 ~]# ls
2022-05-13  2022-05-13.txt  anaconda-ks.cfg  Desktop  test  test.txt
[root@timy-test-k8s01 ~]# !!    #!!代表执行上一次执行的命令
ls
2022-05-13  2022-05-13.txt  anaconda-ks.cfg  Desktop  test  test.txt
  575  whereis
  576  cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.ori}
  577  echo $week
  578  cd /etc/sysconfig/network-scripts
  579  ls
  580  cd
  581  ls
  582  history
2022-05-13  2022-05-13.txt  anaconda-ks.cfg  Desktop  test  test.txt
[root@timy-test-k8s01 ~]# !581    #输入history命令,!加执行命令的行数,会执行之前执行的命令
ls
2022-05-13  2022-05-13.txt  anaconda-ks.cfg  Desktop  test  test.txt

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值