Linux系统入门-2

时间:2022-07-23
本文章向大家介绍Linux系统入门-2,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一篇是到了管道机制结束的,所以就直接往下写了

  • 别名功能

命令: alias {别名 = ‘标准Shell命令行'}

以下为书本解释:

所谓别名就是按照Shell命令的标准格式所写的命令行的缩写,用来减少键盘的输入

换个说法就是,有的命令太长了你可以给他取个别的名字,比如 ls-l这个命令输入多次的话太麻烦,你可以直接 ll,Shell会知道别名,然后给你去执行 ls-l

在Linux命令行中,你可以通过输入 alias来查看系统设置的别名命令

我们来看第三行

alias ll='ls -l --color=auto'

这里 ll就是别名,等号后面的 ls-l--color=auto就是标准命令

ls是列出当前目录的文件的命令, -l则是除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

--color=auto这条比较不常见

--color[=WHEN] colorize the output. WHEN defaults to always' or can benever' or `auto'. 在什么情况下(分为 总是,从不,自动三种情况)让ls的结果用彩色显示

所以就是,用ls 列出更加详细的信息,并且用彩色显示,但是这条命令太长,故而就可以使用别名 ll来缩写

再换个说法就是 中国=中华人民共和国 一样

如果想要添加自己设置的别名,这样就好了

<命令> <别名>="<标准命令>"
alias e="ls -al --color=auto"

这样 ls-al--color=auto这条命令就有了个新别名叫 e

  • 特殊字符

命令:没有,一种写法

在Linux中,某些字符和字符串组合是具有特殊意义的,可以方便用户操作,可配合的符号有如下

  • 通配符

* ?[] !

  • 命令取代符

`(键盘左上角的按键)

  • 命令分隔符

;

首先是通配符

Linux系统常用的通配符有 "*" "?" "[]"这三个,在进行字符串查找的时候,通配符可以代替任意一个字符

* 可以代表任意长度的任何字符(a-z A-Z等),但是不能作为文件名和扩展名间的"."

这里的r*就会匹配到rj45.txt这个文件

? 可以代表任何一个字符

和星号有区别的是,问号只能代表一个,但是能更准确的定位到某文件或文件夹(这种写法也可以过一些网站防火墙[WAF])

[] 表示指定得一个字符范围,[]中任意的一个字符都能用于匹配

写法:[起始字符-终止字符]

举个例子

他只会去匹配a到f的字符,a为起始字符,f为终止字符,当然不一定是a-f,这个视情况

下面是我对 Shell中的通配符 的一些见解

你在命令终端里面输入通配符的时候就交由shell来处理的蛾,当遇到了通配符的时候,他就会尽可能的搜索可能的匹配 如果符合匹配要求,那么就使用,如果存在多个,就把结果输出出来,在匹配到后,会将通配符处理,然后完成命令重组,这是直接通配使用的原理

命令取代符 `

由两个`所包围的命令是该命令行中首先被执行的命令,例如

echo `date`

首先是执行date,然后使用echo 来输出该date命令执行的结果

(PS: 这个在命令注入的使用或者绕过上也特别有用)

命令分隔符 ;

如果需要执行一连串的命令,而又不想一次一次的回车,那么可以一次性输入这些命令,然后在不同的命令中间使用";"来分隔命令,Shell会一次解释并执行这些命令

他会从左到右,先cd进入目录,接着cat查看elapse.txt中的内容

  • 注释符

注释符"#"通常用在脚本程序或者应用程序的配置文件中,以"#"开头得注释行,shell在解释该脚本的时候不会执行

图中为http配置文件,#部分为不执行的注释

  • 后台处理

符号: &

Linux是一个支持多任务的操作系统,它允许多个用户同时登陆系统,也允许多程序同时执行,但是由于Shell是交互式处理,所以如果想多程序、多命令同时执行时,可以使用后台处理

在后台任务执行期间,用户任可以继续和Shell交互,而该工作会在后台默默运行直到停止(当然故意的死循环不会停止,他会一直存在并且占用资源)

使用"&"符号即可

使用jobs可以查看后台工作

8说了,要睡午觉去了