Linux命令参数传递详解 (linux 命令 参数传递)

在Linux系统中,命令行参数的使用是相当普遍的。大多数的命令行工具都支持参数传递,从而使得命令行工具的功能更加灵活和丰富。本文将详细介绍Linux命令行参数的使用及其相关知识。

什么是Linux命令行参数?

所谓的Linux命令行参数,是指在执行Linux命令时,通过在命令后面添加参数的方式,来控制命令的行为和输出。例如,在执行ls命令时,可以在其后面添加“-l”参数,从而显示指定目录下所有文件的详细信息。

在Linux中,参数一般以“-”或“–”开头,后面跟着参数名或参数值。其中,“-”表示单字符参数,而“–”表示多字符参数。例如,“-a”表示单字符参数“a”,而“–all”表示多字符参数“all”。

Linux命令行参数的分类

在Linux中,命令行参数可分为两类:选项参数和非选项参数。其中,选项参数又分为短选项和长选项。

选项参数:在命令后面使用“-”或“–”指定的参数,可以改变命令行工具的行为。

短选项:使用单个字符作为选项名称,由“-”符号和选项名称组成。

长选项:使用一个或多个单词作为选项名称,由“–”符号和选项名称组成。

非选项参数:用于指定命令行工具所操作的对象。非选项参数通常以空格分隔,可以是文件名、目录等。

Linux命令行参数的语法格式

命令行参数的语法格式如下:

命令名 [选项参数] [非选项参数]

其中,命令名为需要执行的命令。选项参数和非选项参数均为可选项。

在Linux中,可以将多个选项参数合并使用,例如:

$ ls -alh

其中,“-alh”为三个选项参数的组合。

Linux命令行参数的常见用法

1. 显示帮助信息

许多Linux命令都提供了帮助选项,用于显示命令的使用方法和参数说明。通常,使用“–help”选项可以显示命令的帮助信息。例如:

$ ls –help

2. 显示版本信息

许多Linux命令还提供了版本信息选项,用于显示命令的版本号和相关信息。通常,使用“-v”或“–version”选项可以显示版本信息。例如:

$ ls –version

3. 显示详细信息

除了默认输出之外,许多Linux命令还提供了详细信息选项,用于显示更加详细的信息。通常,使用“-a”或“–all”选项可以显示所有文件信息,使用“-l”或“–long”选项可以显示文件详细信息,例如:

$ ls -al

4. 搜索操作

在Linux中,常常需要搜索文件或目录。许多Linux命令提供了搜索选项,用于搜索指定的文件或目录。例如,使用“-name”选项可以按名称搜索指定的文件,使用“-type”选项可以按类型搜索指定的文件。

$ find /home/user -name “*.txt” -type f

5. 筛选操作

在Linux中,常常需要筛选某些文件或目录。许多Linux命令提供了筛选选项,用于筛选指定的文件或目录。例如,使用“-mtime”选项可以按时间筛选指定的文件,使用“-size”选项可以按文件大小筛选指定的文件。

$ find /home/user -mtime +7 -size +1M -type f

Linux命令行参数是实现Linux命令行工具灵活运用的关键之一。本文介绍了Linux命令行参数的定义、分类、语法格式以及常见用法。在日常使用中,如果能熟练运用Linux命令行参数,将极大地提高工作效率。

相关问题拓展阅读:

求助:LINUX常用SHELL命令

LINUX常用命令

1 文件与目录操作命令

1.1文件内容查询命令

grep、fgrep、egrep

CODE:语法:grep

选项:

QUOTE:

-E 每个模式作为一个扩展的正则表达式对待

-F 每个模式作为一组固定字符串对待,而不作为正则表达式

-i 比较时不区分大小写

-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;

-x 只显示整行严格匹配的行

1.2文件查找命令 find、locate

语法:

CODE:find 起始目录 寻找条件 操作

以名称和文件属性查找

QUOTE:

-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、。

-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。

-user‘字串‘ 查找属于用户名为所给字串的所有的文件。

-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x 查找类型为 x的文件,

语法:locate 相关字

1.3文件的复制、删缓并除和移动命令

文件复制命令

CODE:cp 源文件或目录 目标文件或目录

选项:

QUOTE:

– a 通常在拷贝目录时使用

-d 拷贝时保留连接

-f 删除已经存在的目标文件而不提示

-i 和f选项相反

-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;

-l 不作拷贝,只是链接文件

文件移动命令

CODE:mv 源文件或目录 目标文件或目录

QUOTE:

-i 交互式操作

-f 禁止交互式操作

文件删除命令

CODE:rm 文件…

QUOTE:

-f 忽略不存在的文件,从不给出提示

-r 指示rm将参数中列出的全部目录和子目录均递归地删除

-i 进行交互式删除

1.4文件链接命令

CODE:ln 目标 或 ln 目标 目录

QUOTE:

选项:

– s 建立符号链接

1.5目录的创建和删除命令谨哪凳

mkdir 创建一个目录

语法:

CODE:mkdir dirname

选项:

– m 对新建目录设置存取权限

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 删除空目录

语法:

CODE:rmdir dirname

QUOTE:

选项:

– p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

1.6改变工作目录,显示目录内容命令

1、改变工作目录:

CODE:cd

2、显示当前工作的目录的绝对路径:

CODE:pwd

3、显示目录内容:

CODE:ls

QUOTE:

选项:

– a 显示指定目录下所有子目录与文件,包括隐藏文件;

-c 按照文件的修改时间排序

-C 分成多列显示各项

-d 如果参数是目录,只显示其名称而不显示其下的个文件

-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-l 以长格式来显示文件的详细信息

-L 若指定的名称为一个符号链接,则显示链接所指向的文件

-t 显示时按修改时间而不是名字排序

-u 显示时按文件上次存取的时间而不是名字排序

4、改变文件或目录的访问权限命令

CODE:chmod 文件名?

QUOTE:

Who选项:

– u表示用户,即文件和目录的所有者

-g表示同组用户

-o(other)表示其他用户

-a (all)表示所有用户

QUOTE:

操作符号:

+ 添加某个权限 – 取消某个权限

= 赋予给定权限并取消其他所有的权限(如果有的话)

QUOTE:

mode 选项:

– r 可读

-w 可写

-x 可执行

CODE:chgrp group filename? 改变目录或文件所属的组

CODE:chown 用户或组 文件

1.7备份与压缩命令

1、tar命令 为文件和目录创建档案

语法:

CODE:tar 文件或者目录

QUOTE:

u 主选项

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项

r 把要存档的文件追加到档案文件的末尾

t 列出档案文件的内容,查看已经备份了哪些文件;

u 更新文件

x 从档案文件中释放文件;

u 辅助选项

b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20

f 使用档案文件或设备,这个选项通常是必选的

k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;

m 在还原文件时,把所有文件的修改时间设定为现在;

M 创建多卷的档案文件,以便在几个磁盘中存放;

v 详细报告tar处理的文件信息

w 每一步都要求确认

z 用gzip来压缩/解压缩文件

2、gzip命令 压缩/解压缩命令

语法:

CODE:gzip 压缩(解压缩)的文件名

QUOTE:

选项:

-c 将输出写到标准输出上,并保留原有文件

-d 将压缩文件解压

-l 显示每个压缩文件的详细信息

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试、检查压缩文件是否完整

-v 对每一个压缩和解压的文件,显示文件名和压缩比

3、unzip 命令

用MS windows下的压缩软件winzip压缩的文件在linux系统下展开

语法:

CODE:unzip 压缩文件名.zip

QUOTE:

选项:

-x 文件列表 解压缩文件,但不包括指定的file文件

-v 查看压缩文件目录,但不解压

-t 测试文件有无损坏 ,但不解压

-d 目录 将压缩文件解到指定目录下

-z 只显示压缩文件的注解

-n 不覆盖已经存在的文件

-o 覆盖已经存在的文件且不要求用户确认

-j 不重建文档的目录结构,把所有文件解压到同一目录下

1.8在LINUX环境下运行DOS命令

linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。

QUOTE:

mcd 目录名 改变MSDOS目录

mcopy 源文件 目标文件 在MSDOS和UNIX之间复制文件;

mdel 目录名 删除MSDOS目录

mdir 目录名 显示MSDOS目录

mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统

rnlabel 驱动器号 产生MSDOS卷标

mmd 目录名 删除MSDOS目录

mren 源文件 目标文件 重新命名已存在的MSDOS文件

mtype 文件名 显示MSDOS文件的内容

2 设备管理命令

1)linux采用下面的形式定义一个IDE硬盘:

CODE:/dev/hd

2)SCSI硬盘使用同样的机制表示:

CODE:/dev/sd

3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:

CODE:mk2fs –c ; ;

4)装载文件系统:

CODE:mount –t ext2 partition mountpiont

其中,

QUOTE:

-t为指定装载文件系统的类型;

-o指定一些选项,如只读ro,可读可写rw等等;

partition定义分区名称;

mountpiont定义文件系统被装载的目录名称。

5)装载CD-ROM文件系统:

CODE:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)装载软驱文件系统:

CODE:mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸载文件系统

CODE:umount /mnt/cdrom

磁带设备的安装要注意以下几点:

QUOTE:

1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置

2、 选择驱动程序。

3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)

用 ls /dev/*rst*

检查磁带设备文件是否存在,如果不存在,用

mknod –m 666 /dev/nrst0 c 9 9

mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如

mt setblk 20 将块长度指定为20

mt setblk 0 指定块程度没有限制

5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:

aha274x:target 4now synchronous at 4.4Mb/s

Vendor:TANDBERG Model:TDC 3800 Rev: =05:

Type: Sequential-Access ANSI SCSI revision: 02

Detected scsi tape st0 at scsi0, id4, lun0

Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 软件包管理命令

3.1软件安装的步骤

在LINUX系统上安装软件的步骤有:

QUOTE:

1、 查找所要安装软件的源文件

2、 把源文件解开放到一个目录中,命令如下:

tar zxvf ;

3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure

4、 make源文件,通常是运行make命令,即执行 make

5、 安装二进制文件和其他支撑文件,运行命令: make install

6、 最后,完成所有其他必须的配置

3.2软件包管理命令

QUOTE:

rpm –ivh ;

// 安装指定的软件包,并在安装过程中用#表示安装的进度

rpm –Uvh ;

// 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。

rpm –e

//卸载一个rpm软件包

rpm –qa

// 查看系统中已经安装的软件包

rpm –q ;

// 查看系统中某个软件包的版本号;

rpm –qlp ;

//列出某个软件包中的所有文件

rpm –qf ;

//找出一个文件属于哪个软件包

4 LINUX系统常用命令

4.1 与系统管理有关的命令

Wall (Write All)

QUOTE:

对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:

# wall ;:指定作为初始化进程的文件。

initrd=;:指定作为初始内存磁盘的设备。

ro:指定根文件系统为只读。

rw:指定根文件系统为可读可写。

2 Init进程

在内核初始化自身和找到的硬件设备后,在后台启动进程init(/in/init),init进程号1运行。

在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。

init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。

QUOTE:

单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。

多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。

3.进行级别

Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。

QUOTE:

0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。

1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。

2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。

3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。

4:目前没有实现。

5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。

6:系统重新启动。

查询当前运行级别:runlevel;

4在启动过程中运行的脚本

在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:

以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。

以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。

5增加启动脚本程序

用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:

复制一个已经存在的脚本,这样可以得到一个通用的框架格式。

修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。

把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。

按下面的方法在相应的目录下建立运行控制链接:

CODE:ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv

进行测试。

6 LILO和其他的启动模块

要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。

下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。

CODE:# more /etc/lilo.conf

boot=dev/had

map=/boot/map

instll/boot/boot.b

prompt

#表示启动盘是/dev/had,这是主IDE硬盘。

timeout=50

#表示等待用户输入的时间是50秒。

default=TL3.4

other=dev/hda1

#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0

label=dos

table=dev/had

#表示如果在LILO提示用户输入启动系统时,用户按了;键,各个系统将以label的内容显示出来,供用户选择。

image=/mnt/tl3.4/boot/vmlinuz

label=TL3.4

root=/dev/hda3

read-only

TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。

CODE:image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7

label=RH5.2

root=/dev/hda4

read-only

linux的符号链接,可以指向”命令+参数”形式吗? 就像windows的快捷方式可带参数

ln -s /bin/dnsdomainname /(加上你要连接的目录)

不是符号链接指向了 ‘命令 + 参数’,而是某命令支持根据不同的名字执行不同的操作。

在 linux/unix世界里野凳,很多命令、脚本都支持这样的用法。

为了方便你理解这个用孙腊法,我写了一个简单的脚本,a.sh ,她就支持类似的用法,你可以分别则脊滑创建符号链接 b.sh, c.sh 指向它。执行 a.sh, b.sh, c.sh 虽然都是相同的脚本,但是却会做不同的事情( a.sh 最终执行 hostname, b.sh 执行 dondomainname, c.sh 执行 nisdomainname)

#!/bin/bash

exe=`basename $0`

case “$exe” in

“a.sh”)

echo “a.sh, hostname”

hostname;;

“b.sh”)

echo “b.sh, dnsdomainname”

dnsdomainname;;

“c.sh”)

echo “c.sh, nisdomainname”

nisdomainname;;

*)

echo “…., default to hostname”

hostname;;

esac

没看懂你的意思

linux下载带空格的文件,空格会被转换成什么

在Linux系统中,下载带空格的文件时,空格通常会被转义为“\ ”或者使用引号包含文件名来处理空格。

具体来说,当您使用命令行下载文件时,可以使用反斜杠“\”来转义空格。例如,如果要侍纤斗竖培下载名为“file name with space.txt”的文件,可以使用以下命令:

“`

wget

\ name\ with\ space.txt

“`

另外,也可以使用引号来包含文件名来处理空格。例如,可以使用以下命令:

“`

wget “

name with space.txt”

“`

这将会将整个文件名作为一个参数传递给wget命令,以避免空格被解释为多个参数。

总的来说,在Linux系统中,空格在命令行中被视为参数分隔符,因此需要特别处理以避免发生错误。使用反斜杠或引号可以有效地处理带空格的文件名老磨。

1 空格会被转换成”\ “。

2 在Linux系统中,空格被视为分隔符,如果下载带有空格的文件,会将空皮余格转换为”\ “,以便正确地解析文件名。

3 如果您想下载带有空格文件名的文件,拦握携可以简伏在命令行中使用反斜线进行转义,例如:wget

\ file.zip。

linux 命令 参数传递的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 命令 参数传递,Linux命令参数传递详解,求助:LINUX常用SHELL命令,linux的符号链接,可以指向”命令+参数”形式吗? 就像windows的快捷方式可带参数,linux下载带空格的文件,空格会被转换成什么的信息别忘了在本站进行查找喔。


数据运维技术 » Linux命令参数传递详解 (linux 命令 参数传递)