Linux基础之-元字符

  Bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义,强调一点:元字符是被shell解释的。

1. ‘‘,取命令的执行结果

[[email protected] ~]# ls
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz
[[email protected] ~]# res=`ls` #取命令的运行结果,赋值给变量res
[[email protected] ~]# echo $res #查看变量res的值
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz

2. $(),同上,但它弥补了‘‘的嵌套缺陷

[[email protected] ~]# res=`echo `ls`` #嵌套使用后无法达到预想的效果:取echo 一堆文件名的效果。

[[email protected] ~]# echo $res
ls

[[email protected] ~]# res=$(echo $(ls)) #替代方案
[[email protected] ~]# echo $res
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz

3. ~, 家目录

[[email protected] tmp]# cd ~
[[email protected] ~]# pwd
/root

4. !

a !,取非

[[email protected] ~]# ls /dev/sda
sda sda1 sda2
[[email protected] ~]# ls /dev/sda[0123]
/dev/sda1 /dev/sda2
[[email protected] ~]# ls /dev/sda[!01]
/dev/sda2

b !,历史命令调用

[[email protected] ~]# !343
hostname
MiWiFi-R3-srv

c !,匹配最近一次历史命令

[[email protected] ~]# !ls
ls /dev/sda[!01]
/dev/sda2

d ! ,带空格 将命令的返回值取反

[[email protected] ~]# echo ok
ok
[[email protected] ~]# echo $? #上一条命令执行的结果,0代表执行成功,非0代表执行失败
0
[[email protected] ~]# ! echo ok #将结果取反
ok
[[email protected] ~]# echo $?
1

0-255之间,0则为真,非0位假

6. @,无特殊含义

7. # 注释

8. $

a $,变量取值

b $() 同``

c ${},变量名的范围

d $[],整数计算 echo $[2+3] - * / % 浮点数用 echo "scale=3; 10/3" | bc -l

[[email protected] ~]# money=10
[[email protected] ~]# echo $money
10
[[email protected] ~]# echo 00000$money
0000010
[[email protected] ~]# echo $money0000

[[email protected] ~]# echo ${money}0000
100000

9. %

a 杀后台进程 jobs号

b 取模

10. ^,

a 取非,和!雷同

[[email protected] ~]# ls /dev/sda[^01]
/dev/sda2
[[email protected] ~]# ls /dev/sda[!01]
/dev/sda2

b 替换

[[email protected] ~]# systemctl restart network
[[email protected] ~]# ^network^sshd^
systemctl restart sshd

11. &

a 后台执行

b &&,逻辑与

12. *

a 匹配任意长度字符串

b 计算乘法

13. (),在子进程中执行

[[email protected] ~]# x=1
[[email protected] ~]# (x=666)
[[email protected] ~]# echo $x
1
[[email protected] ~]#
[[email protected] ~]# (x=666;echo $x)
666

14. -

a 减号

b 区间

c cd -

15. _,无特殊含义

16. +,加号

17. =,赋值

18. |

a |,管道

b ||,逻辑或

19. \,转义

[[email protected] test]# echo \\
\
[[email protected] test]# echo \‘

[[email protected] test]# echo "‘"

20. {},命令列表 #括号内的开头和结尾必须是空格

# { ls; cd /; }

21. [],字符通配,匹配括号内之一

22. :,

a 空命令

b 真值

[[email protected] ~]# :
[[email protected] ~]# echo $?
0

23. ;,可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令

24. "",软引, ‘‘,硬引

[[email protected] test]# x=1
[[email protected] test]# echo "$x" #双引号的代表软引用,引号内特殊字符有特殊意义,比如$,``等
1
[[email protected] test]# echo ‘$x‘ #单引号代表硬引用,引号内所有字符都无特殊意义
$x

25. <,输入重定向

26. >,输出重定向

27. >>,追加

28. <<,here document  ???

29. >&,合并2和1输出

30. ,逗号,枚举分隔符

31. .点,source ,当前目录

32. /,目录分隔符

33. ?,通配符,任一字符

34. 回车符,命令执行

35. *,通配符,任意字符

参考资料

1. http://www.cnblogs.com/linhaifeng/p/6592572.html#_label3

2. http://jingyan.baidu.com/article/3052f5a1f4486797f31f86e1.html

时间: 2024-10-13 06:56:14

Linux基础之-元字符的相关文章

linux基础之grep命令

Linux基础之grep命令 grep命令是linux下的行过滤工具,参数繁多,功能比较强大,用起来比较方便,下面就将grep及其egrep分模块讲述其功能. 1.Grep:根据模式搜索文本,并将符合模式的文本行显示出来 2.Grep的语法:Grep  [option]   PATTERN  [file-] Pattern: 文本字符和正则表达是元字符组合而成匹配条件 3.grep的常用选项: -i: 不区分字符的大小写(只适用于单字符): -I:字符的大写: --color: 匹配的串用高亮颜

Linux基础入门学习笔记20135227黄晓妍

学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 4. 熟练应用“搜索”进行举一反三的学习 二.学习资源 1. 课程资料:https://www.shiyanlou.com/courses/413   实验一,课程邀请码:W7FQKW4Y 2. Li

一篇文章带你入门Linux——马哥Linux基础学习笔记

1.课程体系: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4layer 7layer ha: 分布式: zookeeper 分布式文件系统 虚拟化技术: xen kvm Openstack:IAAS云: 运维工具: ansible puppet(ruby), saltstack(python) 监控工具: zabbix 大数据处理: hadoop spark, stor

必须掌握的50条Linux基础操作命令

说明: 根据笔者平时使用情况,并结合参考一些其他资料,精心整理出以下必须掌握的50条Linux基础命令. 命令: 1. ssh 登录到远程主机 $ ssh -l jsmith remotehost.example.com 调试ssh客户端 $ ssh -v -l jsmith remotehost.example.com 显示ssh客户端版本 $ ssh -V 2. sed 当你将Dos系统中的文件复制到Unix/Linux后,这个文件每行都会以\r\n结尾,sed可以轻易将其转换为Unix格式

Linux基础命令(之一)详解

Linux基础命令(之一)详解 学习linux的朋友都知道,系统大多数操作都是命令行的操作方式,当然如今也有图形化界面的操作方式,但是多数情况下仍然使用命令的操作模式,所以命令的作用与用法是成为学好.学会Linux系统的必备前提,也是重点之一,所以今天来聊一聊一些基础命令的用法与其作用. 1.系统关机或重启命令(小白也必须要会的) shutdown (win 系统也有) 常用参数:shutdown -h (halt) 直接关机(关闭电源) shutdown -h  now[+10]    现在关

linux基础命令——tree

Linux基础命令--tree 编辑文章 -d :只显示目录,不显示其目录下的子文件 -L level:显示第几级 图片描述 显示以rc开头的 备份: 创建多级目录: -v:可以看过程

Linux基础之磁盘管理

 Linux基础之磁盘管理         关于Linux中磁盘管理我们应该从以下四个方面入手,去了解和学习磁盘管理的知识. 第一点 磁盘的结构--硬盘         硬盘的参数 结构:磁盘的盘片,磁头,马达(机械键盘) 类型:固态硬盘(SSB)和机械硬盘 接口:早期的IDE接口,现在的SATA,SCSI,SAS 还有容量,转速,传输速度,缓存等. 硬盘存储术语 head: 磁头 track: 磁道 cylinder: 柱面 secotr: 扇区  512bytes(字节) 第二点 磁盘的分区

Linux 基础入门----推荐课程

Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https://www.shiyanlou.com/courses/1/labs/1/document 第2节 基本概念及操作 https://www.shiyanlou.com/courses/1/labs/2/document 第3节 用户及文件权限管理 https://www.shiyanlou.com/

1、linux基础知识

第一天linux基础知识 1:linux操作系统组成 linux内核+GNU工具=完整的类UNIX系统 GNU工具(GNU软件是通过GNU项目发布的软件,它是一种根据GNU软件包的README手册以及自由软件指南开发的软件,大多数GNU软件是免费分发的,但不是所有的都这样,然而,所有的GNU软件必须是自由软件.) 2:linux发行版  slackware debian  reehad  Gentoo等 3:linux哲学思想 一切皆文件(硬件也已文件的形式展现在操作系统中) 小型,单一用途程序