Linux学习资料-万用字符与特殊符号

万用字符与特殊符号

由于在 bash 当中常会使用到一些万用字符,与搭配特殊符号来将指令做更好的利用(例如最常提到的正规表示法 Regulare Express )!底下我们列出一些常用的万用字符与特殊符号:

符号 内容

* 万用字符,代表一个或多个字符(或数字)

? 万用字符,代表一个字母

# 批注,这个最常被使用在 script 当中,视为说明!

\ 跳脱符号,将『特殊字符或万用字符』还原成一般字符

| 分隔两个管线命令的界定;

; 连续性命令的界定(注意!与管线命令并不相同)

~ 使用者的家目录

$ 亦即是变量之前需要加的变量取代值

& 将指令变成背景下工作

! 逻辑运算意义上的『非』 not 的意思!

/ 路径分隔的符号

>, >> 输出导向,分别是『取代』与『累加』

‘ 单引号,不具有变量置换的功能

" 具有变量置换的功能!

` ` 两个『 ` 』中间为可以先执行的指令!

(   ) 在中间为子 shell 的起始与结束

[  ] 在中间为字符的组合

{   } 在中间为命令区块的组合!

组合按键 执行结果

Ctrl + C 终止目前的命令

Ctrl + D 输入结束(EOF),例如邮件结束的时候;

Ctrl + M 就是 Enter 啦!

Ctrl + S 暂停屏幕的输出

Ctrl + Q 恢复屏幕的输出

Ctrl + U 在提示字符下,将整列命令删除

Ctrl + Z 『暂停』目前的命令

上面的万用字符当中,最常用的就属 *, ?, [] 及 ` 了!我们提几个简单的例子:

[test @test  test]# ls test*  <==那个 * 代表后面不论接几个字符都予以接受(没有字符也接受!)

[test @test  test]# ls test?  <==那个 ? 代表后面『一定』要接『一个』字符

[test @test  test]# ls test???  <==那个 ??? 代表『一定要接三个』字符!

[test @test  test]# cp test[1-5] /tmp  <==将 test1, test2, test3, test4, test5 若存在的话,就拷贝到 /tmp 下

[test @test  test]# cd /lib/modules/`uname -r`/kernel/drivers  <==被 ` ` 括起来的内容『会先执行』!

上面几个例子相当的有趣!尤其是最后面两个!需要注意的是, [] 里面『代表只有一个字符』但是范围可以由 1-5 ,这样来说的话,那么我们如果允许『只要档名里面含有至少一个大写字符』时,就可以将档案 copy 出来的话,可以这样做:

 

cp *[A-Z]* /tmp

 

很有趣吧?! ^_^

此外,那个 `` 里面的『指令』会先被执行,也就是说:

 

系统先执行 uname -r 找出输出的结果;

将结果累加在目录上面,来执行 cd 的功能!

 

很棒吧!!这些基本的功能需要特别来了解一下才行呦!

--------------------------------------------------------------------------------

连续指令的下达方式:

这里需要再提几个重要的信息,我们刚刚上面提过说,两个指令先后写在一起,可以这样写:

 

command1; command2

 

利用分号『 ; 』来分隔,这个分号的意思,代表不论 command1 执行结果为何,command2 都会被执行!那么如果我是两个相关的指令,第一个 command1 如果执行结果有错误,第二个就不被执行,可以这样做吗?当然可以,就使用下面两个连结的咚咚:

 

command1 && command2

command1 || command2

 

还记得我们之前的变量内容中,那个 ? 代表什么吗?没错,就是代表前一个执行的指令内容有没有错误,如果有错误就回传为 1 ,没有错误就回传为 0 ,你可以经由 echo $? 来查询得知!那么 && 就是代表,当 command1 执行结果传回值为 0 的时候,也就是没有错误讯息时,则 command2 才会开始执行,而 || 恰恰相反,当 command1 有错误讯息时, command2 才会执行!举个例子来说,我的系统中并没有 /vbird 这个目录,所以执行 ls /vbird 应该会有错误讯息才对,所以,底下三个指令串会显示什么呢?

[root @test root]# ls /vbird  ; ls /

[root @test root]# ls /vbird && ls /

[root @test root]# ls /vbird || ls /

试看看呦!

时间: 2024-08-29 18:03:36

Linux学习资料-万用字符与特殊符号的相关文章

linux学习资料持续更新中

一.LINUX基础教程 1.老男孩系列免费视频: 1) linux高薪入门实战视频教程(第二部)老男孩linux教程 http://edu.51cto.com/course/course_id-1035-page-1.html 2) 跟着老男孩从0开始一步步实战深入学习linux运维(三) http://edu.51cto.com/lesson/id-11909.html linux学习资料持续更新中,布布扣,bubuko.com

Linux学习资料整理

Shell Linux Shell脚本教程:30分钟玩转Shell脚本编程 Bash Shell字符串操作小结 vi vim使用 vi.vim删除以及其他命令 Vim静态模板文件 打造自己的vim界面 命令 linux中grep命令的用法 linux之sort用法 gawk gawk手册 Common threads: Awk by example, Part 1 sed sed命令用法详解 Linux学习资料整理

Linux学习资料-基础正规表示法(grep)

基础正规表示法:   -------------------------------------------------------------------------------- grep 语法: [root @test /root ]# grep [-acinv] '搜寻字符串' filename 参数说明: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :

Linux学习资料-命令重导向

命令重导向 基本上,这个子题是 bash 相当重要的观念,这里可得花点心思才行呦!什么是『重导向, redirect ?』:简单的说,就是将你目前的所得资料转到其它地方去就是了!例如我们常用的,将目前的屏幕输出数据转到档案中去,就可以这么写:『ls -l / > test 』,那个大于的符号『 > 』就是将输出结果导向到 test 这个档案中的意思啰!这个时候: 如果你执行『 ls -l / 』而已的话,屏幕会将根目录的档案与目录都列出在屏幕上: 但是当使用 > 导向到 test 这个档

Linux学习资料-管线命令 ( pipe )

管线命令 ( pipe ) 就如同前面所说的, bash 命令执行的时候有输出的数据会出现!那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来设定?这就牵涉到管线命令的问题了( pipe ),管线命令使用的是『 | 』这个界定符号!另外,管线命令与『连续下达命令』是不一样的呦!这点底下我们会再说明.底下我们先举一个例子来说明一下简单的管线命令. 假设我们要读取 last 这个指令中,那个 root 登入的『次数』应该怎么作?注意呦!我们只需要『次数』.那么我所进行的步骤是

Linux学习资料

FTP地址:http://linux.linuxidc.com 用户名:www.linuxidc.com 密码:www.linuxidc.com

Linux学习资料-scp命令

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来.另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了.虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用. 1.命

Linux学习资料-more命令详解

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 .more命令从前向后读取文件,因此在启动时就加载整个文件. 1.命令格式: more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 2.命令功能: more命令和cat的功能一样都

精品学习资料

软考官方指定教材及同步辅导书下载 | 软考历年真是解析与答案 软考视频 | 考试机构 | 考试时间安排 Java一览无余:Java视频教程 | Java SE | Java EE .Net技术精品资料下载汇总:ASP.NET篇 .Net技术精品资料下载汇总:C#语言篇 .Net技术精品资料下载汇总:VB.NET篇 撼世出击:C/C++编程语言学习资料尽收眼底 电子书+视频教程 Visual C++(VC/MFC)学习电子书及开发工具下载 Perl/CGI脚本语言编程学习资源下载地址大全 Pyth