命令符大全

易安殿 阅读:2 2023-04-16 16:02:33 评论:0
命令符大全

管道命令符

管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”。

完全可以把下面这两条命令合并为一条:

➢ 找出被限制登录用户的命令是 grep “/sbin/nologin” /etc/passwd;

➢ 统计文本行数的命令则是 wc -l。

现在要做的就是把搜索命令的输出值传递给统计命令,即把原本要输出到屏幕的用户信

息列表再交给 wc 命令作进一步的加工,因此只需要把管道符放到两条命令之间即可,具体如

下。

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ grep "/sbin/nologin" /etc/passwd | wc -l33

再比如用翻页的形式查看/etc 目录中的文件列表及属性信息:

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ ls -l /etc/ | moretotal 1400drwxr-xr-x. 3 root root97 Jul10 17:26 abrt-rw-r--r--. 1 root root16 Jul10 17:36 adjtime-rw-r--r--. 1 root root 1518 Jun7 2013 aliases-rw-r--r--. 1 root root 12288 Jul10 09:38 aliases.dbdrwxr-xr-x. 2 root root49 Jul10 17:26 alsadrwxr-xr-x. 2 root root 4096 Jul10 17:31 alternatives-rw-------. 1 root root541 Jan28 2017 anacrontab-rw-r--r--. 1 root root55 Jan29 2017 asound.conf-rw-r--r--. 1 root root1 Jan29 2017 at.denydrwxr-xr-x. 2 root root31 Jul10 17:27 at-spi2drwxr-x---. 3 root root41 Jul10 17:26 audispdrwxr-x---. 3 root root79 Jul10 17:37 auditdrwxr-xr-x. 4 root root94 Jul10 17:26 avahi--More--

也可以这样使用:“命令 A | 命令 B | 命令 C”

命令行的通配符

通配符就是通用的匹配信息的符号,比如星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~9 之间的单个数字的字符,而中括号内加上字[abc]则是代表匹配 a、b、c 三个字符中的任意一个字符。

如果只想查看文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息,

该怎么操作呢?这时就需要用到问号来进行通配了。

除了使用[0-9]来匹配 0~9 之间的单个数字,也可以用[135]这样的方式仅匹配这三个指定

数字中的一个,若没有匹配到,则不会显示出来:

转义符

4 个最常用的转义字符如下所示。

➢ 反斜杠():使反斜杠后面的一个变量变为单纯的字符串。

➢ 单引号(’’):转义其中所有的变量为单纯的字符串。

➢ 双引号(""):保留其中的变量属性,不进行转义处理。

指令符号大全

➢ 反引号(``):把其中的命令执行后返回结果。

我们先定义一个名为 PRICE 的变量并赋值为 5,然后输出以双引号括起来的字符串与变

量信息:

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ PRICE=5zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ echo "Price is $PRICE"Price is 5

想让一个“$”乖乖地作为美元符号,那么就需要使用反斜杠()来进行转义,将这个命令提取符转义成单纯的文本,去除其特殊功能。

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ echo "Price is \$PRICE"Price is $5

而如果只需要某个命令的输出值时,可以像命令这样,将命令用反引号括起来,达到预

期的效果。例如,将反引号与 uname -a 命令结合,然后使用 echo 命令来查看本机的 Linux 版本和内核信息:

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ echo `uname -a`Linux zoupeng-ThinkPad-X1-Carbon-5th 4.15.0-51-generic #55-Ubuntu SMP Wed May 15 14:27:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

重要的环境变量

在 Linux 系统中,变量名称一般都是大写的,这是一种约定俗成的规范。

命令在 Linux 中的执行分为 4 个步骤。

第 1 步: 判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话

则直接执行。

第 2 步: Linux 系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用 alias 命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用 unalias 命令,格式为“unalias 别名”。我们之前在使用 rm 命令删除文件时, Linux 系统都会要求我们再确认是否执行删除操作,其实这就是 Linux 系统为了防止用户误删除文件而特意设置的 rm 别名命令。

第 3 步: Bash 解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部

的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤 4 继续处理。可以使用“type 命令名称”来判断用户输入的命令是内部命令还是外部命令。

第 4 步: 系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作 PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉 Bash 解释器待执行的命令可能存放的位置,然后 Bash 解释器就会乖乖地在这些位置中逐个查找。PATH 是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到 Bash 解释器对Linux 命令的查找。

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binzoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ PATH=$PATH:/root/binzoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin

最重要的 10 个环境变量,如表所示:

其实变量是由固定的变量名与用户或系统设置的变量值两部分组成的,我们完全可以自

行创建变量,来满足工作需求。例如设置一个名称为 WORKDIR 的变量,方便用户更轻松地

进入一个层次较深的目录:

zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:/$ mkdir /home/workdirzoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ WORKDIR=/home/workdirzoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ cd $WORKDIRzoupeng@zoupeng-ThinkPad-X1-Carbon-5th:/home/workdir$ pwd/home/workdir

但是,这样的变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。如果工作需要,可以使用 export 命令将其提升为全局变量,这样其他用户也就可以使用它了。

后面会分享更多devops和运维方面的内容,感兴趣的朋友可以关注一下~

网址:https://www.yadoura.com/post/86533.html

声明

命令符大全》来自网络或者会员投稿,只为了传播更多内容,不对真实性承担任何责任,如内容有侵权,请联系本站,请来信告知,我们第一时间删除!

发表评论
搜索