在Linux中,命令行参数是指在运行脚本或可执行文件时在命令行上提供的参数。这些参数可以用于将输入传递到脚本或应用程序中,从而影响其行为和输出。本文将介绍。
创新互联建站是一家专注于做网站、成都网站建设与策划设计,阜康网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:阜康等地区。阜康做网站价格咨询:18982081108
1. 参数的基本结构
命令行参数有两种基本类型:选项和参数。选项是以破折号开始的单个字母或单词,通常用于控制应用程序的行为。参数是与选项关联的值。
选项和参数可以以任何顺序出现,并且可能存在重复。例如,以下命令行参数中包含了两个选项和三个参数:
“`
./my_script.sh -h –verbose input.txt output.txt input.txt
“`
其中,“-h”是一个短选项,“–verbose”是一个长选项。“input.txt”和“output.txt”是两个参数,而第三个“input.txt”是另一个参数。
2. 获取选项
在Linux中,可以使用getopt命令来获取选项。getopt是一个标准的Linux命令,用于解析命令行参数。getopt命令的基本语法如下:
“`
getopt [options] [–] optstring [arguments]
“`
其中,optstring是一个包含所有可用选项的字符串。
例如,以下命令行参数将会打印出选项的使用方式:
“`
./my_script.sh -h –verbose input.txt output.txt input.txt
“`
以下是代码实现:
“`bash
#!/bin/bash
# 解析选项
options=$(getopt -o hv –long help,verbose — “$@”)
if [ $? -ne 0 ]; then
exit 1
fi
eval set — “$options”
while true; do
case “$1” in
-h|–help)
echo “Usage: my_script.sh [-h|–help] [-v|–verbose] input_file output_file”
exit 0
;;
-v|–verbose)
verbose=true
shift
;;
–)
shift
break
;;
*)
break
;;
esac
done
# 打印参数
echo “Input file: $1”
echo “Output file: $2”
“`
在上述脚本中,getopt命令解析了选项“-h”和“–verbose”。在while循环中,使用case语句处理每个选项,如果选项存在,则将变量$verbose设置为true,并将选项从$@变量中移除。–符号用于分离选项和参数。
脚本打印出了输入和输出文件的参数。
3. 获取参数
要获取参数,可以使用$1、$2、$3等变量来引用它们。例如,在上面的示例中,参数“input.txt”可通过$1变量进行访问,参数“output.txt”可通过$2变量进行访问。
如果需要获取所有参数,可以使用特殊变量$@。例如,以下脚本将会打印出传递到它的所有参数:
“`bash
#!/bin/bash
for arg in “$@”; do
echo “$arg”
done
“`
在这个例子中,for循环迭代所有的参数,并将它们打印出来。$@变量表示所有的参数。
4. 获取参数个数
要获取传递给脚本或应用程序的参数的数量,可以使用特殊变量$#。
例如,以下脚本将会打印出传递给它的参数数量:
“`bash
#!/bin/bash
echo “Number of arguments: $#”
“`
在这个例子中,echo命令将打印出传递给脚本的参数的数量。$#变量表示参数的数量。
5.
在Linux中,获取命令行参数是一个非常常见的任务。通过使用getopt命令解析选项并将参数存储在变量中,可以轻松地访问它们。使用特殊变量$1、$2、$3等引用单个参数,使用特殊变量$@引用所有参数,使用特殊变量$#获得参数的数量。
希望本文能够帮助您更轻松地在Linux中获取命令行参数,并让您的工作更加高效和快速。
相关问题拓展阅读:
就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)看目录信息等等
常用参数搭配:
实例:
(changeDirectory),命令语法:cd 。说明:切丛滚纯换当前目录至dirName
实例:
查看当前工作目录路径
实例:
创建文件夹
实例:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用rm 来删除文件,通常仍可以将该文件恢复原状
rm 文件…
常用参数搭配:
实例:
删除空目录,一个目录被删除之前必须是空的。(注意,rm -r dir 命令可以代替rmdir,但是很危险,万一它突然就不是空的咧?),另外删除某目录时必须具有对父目录的写权限。
实例:
rmdir -p watch/avi 删掉avi目录,watch目录就空掉了,那还看什么?所以干脆把watch目录一起删掉,眼不见为不净嘛。
mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。
命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令参数:
实例:
将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖!
命令参数:
实例:
cat主要有三大功能:
命令参数:
实例:
功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
命令参数:
常用操作命令:
实例:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却备腊不能向后移动,而且 less 在查看之前不会加载整个文件。
命令参数:
实例:
head 用来显示档渗咐案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用参数:
实例:
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
常用参数:
实例:
用于改变linux系统文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用ls -l test.txt查找。
以文件log2023.log为例:
-rw-r–r– 1 root root 296K:03 log2023.log
之一列共有10个位置,之一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果之一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
常用参数:
权限范围:
权限代号:
实例:
tar命令是类Linux中比价常用的解压与压缩命令。
常用参数:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
下面的参数-f是必须的
常见解压/压缩命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
常用参数:
实例:
显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIX_CORRECT 被指定,那样将以512字节为单位进行显示。
常用参数:
实例:
du命令也是查看使用空间的,但是与df命令不同的是,du能看到的文件只是一些当前存在的,没有被删除的,他计算的大小就是当前他认为存在的所有文件大小的累加和。du命令是对文件和目录磁盘使用的空间的查看。
常用参数:
实例:
ln命令用于将一个文件创建链接,链接分为软链接和硬链接,命令默认使用硬链接。当在不同目录需要该文件时,就不需要为每一个目录创建同样的文件,通过ln创建的链接(link)减少磁盘占用量。
软链接:
硬链接:
需要注意:
常用参数:
实例:
显示或设定系统的日期与时间
命令参数:
实例:
可以用户显示公历(阳历)日历,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
常用参数:
实例:
强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
命令格式:
grep pattern file|dir
常用参数:
实例:
wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出。
命令格式:
wc file..
命令参数:
实例:
ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top。
linux上进程有5种状态:
ps工具标识进程的5种状态码:
命令参数:
实例:
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。
常用参数:
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
常用参数:
实例:
显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
命令参数:
实例:
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。
命令参数:
linux获取命令行参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux获取命令行参数,如何在Linux中获取命令行参数,Linux常用命令的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
网站标题:如何在Linux中获取命令行参数(linux获取命令行参数)
标题来源:http://www.shufengxianlan.com/qtweb/news4/260904.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联