不知道你接触Linux系统多久了。你了解过Linux中的特殊字符吗?事实上,那些特殊字符非常有用。今天的文章就给大家简单介绍一下Linux。你需要知道的15个特殊字符,想学习或者刚学Linux的朋友们赶紧上车吧!主目录中的波浪号~指的是主目录,也就是我们用户的个人目录。无论您身在何处,输入cd~它都会带您回家!cd~比较高级的方法是在它后面加上一个具体的路径,直接定位到家目录下的指定位置。是不是很方便?cd~/work/archive.currentdirectory英语时期。代表当前目录。让我们看一下当前目录下的所有文件:.ls-al红圈中指的是当前目录,但是这个是没有意义的。我们在命令中用的比较多,如下:./script.sh告诉bash只在当前目录中搜索并执行script.sh文件,而不是在路径中查找。..parentdirectory中的两个英文句点..代表parentdirectory,也就是当前目录上面的目录。假设我们要回到上一级目录:cd..和之前一样,可以在它后面加一个具体的目录,意思是定位到与当前目录同级的其他目录:cd../projects//path目录分隔符斜线“/”指的是路径目录分隔符,这里没什么好说的。ls~/work/tests/不过有意思的是,如果/路径目录分隔符前面没有任何东西,是不是就代表这是顶级目录呢?由于Linux系统的目录树以/开头,所以只有一个/代表我们常说的系统根目录。cd/#注释以#开头,表示这句话是注释。#ThiswillbeignoredbytheBashshell即使上面的段落被忽略,它仍然会被添加到你的命令历史记录中。更强大的方法如下:先定义一个变量,赋值字符串"amazingalvin"this_string="amazingalvin"${this_string#amazing}返回this_string字符串变量,把amazing注释掉,可以回显输出看结果:echoawsome${this_string#amazing}amazing只是被注释掉了,并没有删除,取消注释后又会回来:echo$this_string?单字符通配符问号“?”指单字符通配符。BashShell支持三种通配符。表示匹配文件名中的任意字符,例如:lsbadge?.txt注意不匹配badge.txt,因为badge后面没有字符。就因为“?”匹配单个字符,这里有个看似厉害的玩法,就是你要查找的文件的文件名有多少个字符,你就可以输入多少个“?”。ls??????.txt看起来很强大,但是为什么我觉得这样很别扭??????*字符序列通配符星号*代表任意字符序列,匹配任意字符,包括空字符。以badge为例:lsbadge*可以看到匹配到badge.txt。匹配任何类型的文件:lssource.*[]字符集通配符方括号中的“[]”指的是字符集通配符,文件名中的相关字符必须至少匹配字符集中的一个字符。下面通过一个例子来体验一下它的作用:lsbadge_0[246].txtlsbadge_[01][789].txtlsbadge_[23][1-5].txt;命令分隔符类似于“;”我们每天都在用,就不说了,主要是用来分隔命令的。ls>count.txt;wc-lcount.txt;rmcount.txt注意这里,使用的时候;将命令分开,即使第一个命令失败,第二个命令也会运行,即使第二个命令失败,第三个命令也会运行,以此类推。如果你想在命令失败时停止,使用“&&”,如下:cd./doesntexist&&cp~/Documents/reports/*.&后台处理有时在终端运行命令时,比如vim,你想如何运行另一个命令?这里有一个小技巧,就是在后台启动程序的命令后加一个“&”符号,这样就可以在终端实现后台多任务的效果。vimcommand_address.page&显示后台进程的ID。<输入重定向许多Linux命令接受文件作为参数并从该文件获取数据。大多数这些命令也可以从流中获取输入。要创建流,请使用左尖括号“<”将文件重定向到命令中,如下所示:sort
