当谈到获得对 Linux 系统的绝对控制时,没有什么比命令行界面 (CLI) 更接近的了。为了,必须了解命令以及从终端使用它们的适当方法。
在Linux中,有对于 Linux 新用户来说,了解不同命令的含义可以高效、准确地使用。因此,在本文中,我们将介绍 Linux 中 shell 命令的各种分类。
需要注意的一件重要事情是,命令行界面与 shell 不同,它仅提供一种访问 shell 的方法。 shell 也是可编程的,因此可以使用命令与内核进行通信。
Linux命令的不同分类分为以下几类:
1. 程序可执行文件(文件系统命令)
当您运行命令时,Linux 会搜索存储在从左到右表示该特定命令的可执行文件。
您可以查看目录中的$PATH如下:
echo $PATH /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*
这些是用户定义的命令,它们是使用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'

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

添加后,运行以下命令进行激活。
source ~/.bashrc
3.Linux Shell 保留字
在 shell 编程中,诸如此类的词如果,然后,菲,为了,尽管,案件,埃萨克,别的,直到,还有许多其他词是 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

5.Linux Shell 内置命令
shell 中内置有 Linux 命令,因此您在文件系统中找不到它们。他们包括,,,,,,来源,读,出口,以及许多其他人。
您可以使用以下命令列出或检查 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命令的各类分类有了一个很好的了解。
您还可以通过下面的评论部分联系我们,了解您想向我们提供的任何问题或补充想法。
