当前位置: 首页 > 科技观察

了解Linux下Shell命令的不同分类及其用法

时间:2023-03-13 19:01:40 科技观察

当你想要真正控制你的Linux系统时,没有什么比命令行界面更好的了。为了成为Linux高手,您必须能够理解不同类型的shell命令并在终端中正确使用它们。在Linux下,有几种类型的命令。对于Linux新手来说,了解不同命令的含义可以高效准确地使用它们。因此,在本文中,我们将介绍各种不同类别的Linuxshell命令。需要注意的一件非常重要的事情:命令行界面与shell不同,命令行界面只是您访问shell的一种方式。至于Shell,它是可编程的,可以通过命令与内核进行通信。下面列出Linux下不同类型的命令:1.程序可执行文件(文件系统中的命令)当你执行一个命令时,Linux通过从左到右搜索$PATH环境变量中存储的目录来找到它。此命令的可执行文件。您可以像这样查看存储在$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/示例输出:total16284drwxr-xr-x2rootroot4096Jul3116:30./drwxr-xr-x23rootroot4096Jul3116:29../-rwxr-xr-x1rootroot6456Apr1418:53archdetect*-rwxr-xr-x1rootroot1037440May1716:15bash*-rwxr-xr-x1rootroot520992Jan202016btrfs*-rwxr-xr-x1rootroot249464Jan202016btrfs-calc-size*lrwxrwxrwx1rootroot5Jul3116:19btrfsck->btrfs*-rwxr-xr-x1rootroot278376Jan202016btrfs-convert*-rwxr-xr-x1rootroot249464Jan202016btrfs-debug-tree*-rwxr-xr-x1rootroot245368Jan202016btrfs-find-root*-rwxr-xr-x1rootroot270136Jan202016btrfs-image*-rwxr-xr-x1rootroot249464Jan202016btrfs-map-logical*-rwxr-xr-x1rootroot2453686Jan202016btrfs-superselect*xr-x1rootroot253816Jan202016btrfs-show-super*-rwxr-xr-x1rootroot249464Jan202016btrfstune*-rwxr-xr-x1rootroot245368Jan202016btrfs-zero-log*-rwxr-xr-x1rootroot31288May202015bunzip2*-rwxr-xr-x1rootroot1964536Aug192015busybox*-rwxr-xr-x1rootroot31288May202015bzcat*lrwxrwxrwx1rootroot6Jul3116:19bzcmp->bzdiff*-rwxr-xr-x1rootroot2140May202015bzdiff*lrwxrwxrwx1rootroot6Jul3116:19bzegrep->bzgrep*-rwxr-xr-x1rootroot4877May202015bzexe*lrwxrwxrwx1rootroot6Jul3116:19bzfgrep->bzgrep*-rwxr-xr-x1rootroot3642May202015bzgrep*2.Linux别名这些是用户指定的命令,它们是通过shell内部设置由命令别名创建的,它包含其他带有选项和参数的shell命令。目的是用新鲜的短名称替换冗长的命令。创建别名的语法如下:$aliasnewcommand='command-options'通过以下命令可以列出系统中所有的别名:$alias-paliasalert='notify-send--urgency=low-i"$([$?=0]&&echoterminal||echoerror)""$(history|tail-n1|sed-e'\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'aliasegrep='egrep--color=auto'aliasfgrep='fgrep--color=auto'aliasgrep='grep--color=auto'aliasl='ls-CF'aliasla='ls-A'aliasll='ls-alF'aliasls='ls--color=auto'要在Linux中创建新别名,请仔细阅读以下示例。$aliasupdate='sudoaptupdate'$aliasupgrade='sudoaptdist-upgrade'$alias-p|grep'up'但是,我们上面创建的别名只是暂时的,下次系统启动后就不再起作用了。您可以在“.bashrc”文件中设置***别名,如下所示。添加后运行如下命令激活:$aliasupdate='sudoaptupdate'$aliasupgrade='sudoaptdist-upgrade'$alias-p|grep'up'3.LinuxShellshell编程中的保留字,if,then,fi,for,while,case,esac,else,until和更多的词是shell保留字。正如描述所暗示的那样,它们在shell中具有特殊含义。您可以使用如下所示的type命令列出所有的shell关键字:Linuxshell函数shell函数是一组在当前shell中一起执行的命令。函数对于在shell脚本中实现特殊任务很有用。在shell脚本中编写shell函数的传统形式如下:function_name(){command1command2...}或者像这样:functionfunction_name{command1command2...}让我们看看如何在shell_functions的脚本中编写Writeshell函数。嘘。#!/bin/bash#writeashellfunctiontoupdateandupgradeinstalledpackagesupgrade_system(){sudoaptupdate;sudoaptdist-upgrade;}#executefunctionupgrade_system我们没有通过命令行执行两个命令:sudoaptupdate和sudoaptdist-upgrade,而是编写了一个脚本,就像执行单个命令一样执行这两个命令的shell函数upgrade_system是一样的。保存文件,然后使脚本可执行。***像这样运行shell函数:$chmod+xshell_functions.sh$./shell_functions.sh5.LinuxShell内置命令这些是shell内置的Linux命令,因此您无法在文件系统中找到它们。这些命令包括pwd、cd、bg、alias、history、type、source、read、exit等。您可以使用如下所示的type命令列出或查看Linux内置命令:一些Linux内置命令用法:Linux下的15个pwd命令示例Linux下的15个cd命令示例了解Linux历史命令的威力结论作为Linux用户,了解您正在运行的命令类型非常重要。相信通过上面清晰、浅显、易懂的讲解,以及一些相关的注释,你对《Linux命令的不同种类》应该会有一个很好的理解。您也可以通过在下方评论区提出任何问题或补充意见与我们取得联系。