Shell脚本是一种旨在运行命令行解释器UNIXShell的计算机程序。shell脚本的变体被认为是脚本语言。shell脚本执行的典型操作包括文件操作、程序执行和文本打印。设置环境、运行程序和执行任何必要的清理或日志记录的脚本称为包装器。识别Shell命令提示符Linux计算机上Shell命令提示符的用户可以通过查看终端窗口中的提示符号来识别是普通用户还是超级用户。#符号用于超级用户,$符号用于具有标准权限的用户。BasicCommands脚本附带许多命令,可以在终端窗口中执行这些命令来管理您的计算机。可以在该命令随附的手册中找到每个命令的详细信息。您可以使用以下命令查看手册:一些常用的命令是:每个命令都带有几个选项,可以一起使用。您可以参阅用户手册了解更多详情。mandate的输出如图1所示。图1:date命令手册重定向运算符重定向运算符用于在文件中捕获命令输出或重定向到文件。命令说明ls-l/usr/bin>file默认标准输出到文件ls-l/usr/bin2>file重定向标准错误到文件ls-l/usr/bin>ls-output2>&1将标准错误和标准输出重定向到文件ls-l/usr/bin&>ls-output将标准错误和标准输出重定向到文件ls-l/usr/bin2>/dev/null写入/dev/null,丢弃输出大括号扩展大括号扩展是UNIX提供的强大选项之一。它有助于在一行指令中使用最少的命令完成大量操作。示例:此命令将为2009年到2011年的每个月创建一个目录。环境变量环境变量是一个动态命名的值,它可以影响计算机上运行的进程的行为方式。该变量是流程执行环境的一部分。命令说明printenv打印出所有环境变量的值。setsetsshelloptionsexport将环境导出到随后执行的程序别名为命令创建别名网络命令网络命令对于解决网络问题和检查连接到客户端计算机的特定端口很有用。命令说明ping发送ICMP(互联网控制消息协议)数据包traceroute打印数据包在网络中的路径netstat打印网络连接信息,路由表,接口数据ftp/lftp互联网文件传输程序wget非交互式网络下载器sshOpenSSHSSH客户端(远程登录程序)scp安全复制sftp安全文件传输程序grep命令grep命令用于在系统和日志中查找错误。它是shell拥有的强大工具之一。命令说明grep-h'.zip'file.list。表示任意字符grep-h'^zip'file.list以zip开头grep-h'zip$'file.list结尾为zipgrep-h'^zip$'file.list只包含zipgrep-h'[^bz]zip'file.listwithoutbandzgrep-h'^[A-Za-z0-9]'file.list下面是所有文件名有效的文件量词量词的一些示例:命令说明?匹配元素的0次或1次出现*匹配0次或多次出现的元素+匹配1次或多次出现的元素{}匹配出现一定次数的元素文本处理文本处理是当今IT世界的另一项重要任务。程序员和管理员可以使用这些命令来切片、剪切和操作文本。命令说明cat-A$FILE显示$FILE文件的所有内容sortfile1.txtfile2.txtfile3.txt>final_sorted_list.txt一次对所有文件排序sort-nr-k5按指定第5列排序sort--key=1,1--key=2ndistor.txt第1列排序(默认字母顺序),第2列按数字排序sortfoo.txt|uniq-c查找重复行并显示该行重复次数cut-f3distro.txt切第三列cut-c7-10cut7-10characterscut-d':'-f1/etc/passworddelimiter:sort-k3.7nbr-k3.1nbr-k3.4nbrdistro.txt按第3列第7个字符、第3列第1个字符、第3列第4个字符排序pastefile1.txtfile2.txt>newfile.txt合并两个文件Joinfile1.txtfile2.txtJointwofilesbycommonfieldTipsandtricks在Linux中,我们可以通过简单的命令或控件来回溯历史命令选项。命令说明clear清除屏幕历史查看历史保存的命令scriptfilename捕获文件中的所有命令执行一些历史命令的提示:CTRL+R:搜索命令历史!!number:执行编号为的命令!!:执行上一个命令!?string:执行上一个包含string的命令!string:执行上一个以string开头的命令exportHISTCONTROL=ignoredups:忽略重复项exportHISTSIZE=10000:设置更改Linux命令时存储的历史行数随着熟悉程度的提高,您将能够编写包装器脚本。所有手动任务,如定期备份、清理文件、监控系统使用情况等,都可以使用脚本自动完成。本文将帮助您在学习高级概念之前开始编写脚本。
