Linux 中 5 种不同类型的 Shell 命令

当谈到获得对 Linux 系统的绝对控制时,没有什么比命令行界面 (CLI) 更接近的了。 为了成为一名 Linux 高级用户,必须了解不同类型的 shell 命令以及从终端使用它们的适当方法。

Linux 中有多种命令,对于 Linux 新用户来说,了解不同命令的含义可以高效、准确地使用。 因此,在本文中,我们将介绍 Linux 中 shell 命令的各种分类。

需要注意的一件重要事情是,命令行界面与 shell 不同,它仅提供一种访问 shell 的方法。 shell 也是可编程的,因此可以使用命令与内核进行通信。

Linux命令的不同分类分为以下几类:

1. 程序可执行文件(文件系统命令)

当您运行命令时,Linux 从左到右搜索 $P新高 环境变量中存储的目录,以查找该特定命令的可执行文件。

您可以查看目录中的 $P新高 如下:

echo $P新高

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

按照上面的顺序,目录 /home/aaronkilik/bin 将首先搜索,然后 /usr/local/sbin 等等,顺序在搜索过程中很重要。

文件系统命令示例 /usr/bin 目录:

ll /bin/

示例输出:

total 16284
drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../
-rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect*
-rwxr-xr-x 1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size*
lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root*
-rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super*
-rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log*
-rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2*
-rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox*
-rwxr-xr-x 1 root root 31288 May 20 2015 bzcat*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x 1 root root 4877 May 20 2015 bzexe*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*

2.Linux 别名

这些是用户定义的命令,它们是使用别名 shell 内置命令创建的,并包含其他带有一些选项和参数的 shell 命令。 这个想法基本上是对冗长的命令使用新的短名称。

创建别名的语法如下:

alias newcommand='command -options'

要列出系统上的所有别名,请发出以下命令:

alias -p

alias alert="notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e "\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l="ls -CF"
alias la="ls -A"
alias ll="ls -alF"
alias ls="ls --color=auto"

要在 Linux 中创建新别名,请查看以下示例。

alias update="sudo apt update"
alias upgrade="sudo apt dist-upgrade"
alias -p | grep 'up'

在 Linux 中创建别名在 Linux 中创建别名

但是,我们上面创建的别名仅在系统重新启动时暂时起作用,下次启动后将不再起作用。 您可以在您的中设置永久别名 .bashrc 文件如下图所示。

在 Linux 中设置永久别名在 Linux 中设置永久别名

添加后,运行以下命令进行激活。

source ~/.bashrc

3.Linux Shell 保留字

在 shell 编程中,诸如 if、then、fi、for、while、case、esac、else、until 等单词是 shell 保留字。 正如描述所暗示的,它们对于 shell 具有特殊的含义。

您可以使用以下命令列出所有 Linux shell 关键字 type 命令如图:

type if then fi for while case esac else until

示例输出:

if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword

4.Linux Shell 函数

shell 函数是在当前 shell 中集体执行的一组命令。 函数有助于在 shell 脚本中执行特定任务。 在脚本中编写 shell 函数的常规形式是:

function_name() {
command1
command2
…….
}

或者,

function function_name {
command1
command2
…….
}

我们来看看如何在名为的脚本中编写 shell 函数 shell_functions.sh

#!/bin/bash

#write a shell function to update and upgrade installed packages
upgrade_system(){
sudo apt update;
sudo apt dist-upgrade;
}

#execute function
upgrade_system

而不是从命令行执行以下两个命令。

sudo apt update
sudo apt dist-upgrade

我们编写了一个简单的 shell 函数来将这两个命令作为单个命令执行, upgrade_system 在脚本内。

保存文件,然后使脚本可执行。 最后,运行如下:

chmod +x shell_functions.sh
./shell_functions.sh

Linux Shell 函数脚本Linux Shell 函数脚本

5.Linux Shell 内置命令

shell 中内置有 Linux 命令,因此您在文件系统中找不到它们。 它们包括 pwd、cd、bg、别名、历史记录、类型、源、读取、退出等等。

您可以使用以下命令列出或检查 Linux 内置命令 type 命令如图:

type pwd
pwd is a shell builtin
type cd
cd is a shell builtin
type bg
bg is a shell builtin
type alias
alias is a shell builtin
type history
history is a shell builtin

了解一些 Linux 内置命令的用法:

结论

作为 Linux 用户,了解您正在运行的命令类型始终很重要。 相信通过上面精确、通俗易懂的解释,再加上一些相关的图解,你对Linux命令的各类分类应该已经有了一个很好的了解。

您还可以通过下面的评测部分联系我们,了解您想向我们提供的任何问题或补充想法。

资讯来源:由0x资讯编译自TECMINT。版权归作者Aaron Kili所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日 下午1:51
下一篇 2024年 5月 31日

相关推荐