linux命令参数 linux基础知识点
大家好,今天给各位分享linux命令参数的一些知识,其中也会对linux基础知识点进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
linux自动补全命令
linux系统下怎么自动补全命令呢,下面是具体介绍。
输入“命令的前几个字符”,之后按TAB键即可自动补全命令。比如,想更改密码,但只记得这个命令前几个字母是pass。这时候,按Tab键,shell就自动输出 passwd命令,十分方便。
拓展资料:
在shell命令行可以使用“Tab”键自动补全命令或文件名,这种功能其实可以在shell脚本中实现,使得使用“Tab”键可以自动补全自定义的shell函数,相关命令有三个,compgen、complete和compopt。
1、compgen:
compgen [option] [word]
compgen命令根据option生成与word可能匹配的补全,并打印到标准输出中,这些选项可以是内建命令complete所支持的任何选项,但不能是“-p”和“-r”,如果使用了“-F”或“-C”,则由可编程补全功能设置的各个shell变量虽然仍可以使用,但它们的值却没什么作用。补全条目以相同的方式生成,就好像可编程补全代码用相同的补全选项直接生成了补全条目一样,如果指定了word,则只显示与之匹配的条目。
2、complete:
complete [-abcdefgjksuv] [-o comp-option] [-DE] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name...]
complete-pr [-DE] [name...]
complete命令指定如何对各个名称进行补全。如果指定了选项“-p”或者没有指定任何选项,则把已有的补全方法用一种可以重新作为作为输入的格式打印出来。选项“-r”用以删除指定名称的补全方法,不指定名称时删除所有的名称的补全方法。选项“-D”的意思是其后的选项和动作将应用到默认命令补全,也就是说之前未定义的补全命令也可以补全。选项“-E”的意思是其后的选项和动作将应用到空命令补全,也就是说补全空白行。对于选项“-G”、“-W”、“-X”、“-P”和“-S”,应该使用括号进行保护,防止补全开始前被扩展。
“-o bashdefault”:如果没有生成补全条目,就使用bash默认的其它补全。
“-o default”:如果没有生成补全条目,就使用“readline”默认的文件名补全。
“-o dirnames”:如果没有生成补全条目,就进行目录名补全。
“-o filenames”:告诉“readline”生成文件名,以便进行与文件名相关的处理,例如在目录名后面加上斜杠,引用特殊字符,去掉行尾的空格,目的是用于shell函数。
“-o noquote”:告诉“readline”不引用文件名,默认会进行引用。
“-o nospace”:告诉“readline”在补全的名称后不添加空格,默认添加空格。
“-o plusdirs”:生成补全条目之后,还会进行目录名补全并把结果添加到其它动作得到的结果中。
“-A alias”:别名,同选项“-a”。
“-A arrayvar”:数组变量名。
“-A binding”:“readline”键绑定名。
“-A builtin”:shell内建命令名,同选项“-b”。
“-A command”:命令名,同选项“-c”。
“-A directory”:目录名,同选项“-d”。
“-A disabled”:不可用的shell内建命令名。
“-A enabled”:可用的shell内建命令名。
“-A export”:导出的shell变量名,同选项“-e”。
“-A file”:文件名,同选项“-f”。
“-A function”:shell函数名。
“-A group”:组名,同选项“-g”。
“-A helptopic”:内建命令help支持的帮助主题。
“-A hostname”:主机名,从shell环境变量HOSTFILE中获取。
“-A job”:作业名,同选项“-j”。
“-A keyword”:shell保留字,同选项“-k”。
“-A running”:正在运行的作业名。
“-A service”:服务名,同选项“-s”。
“-A setopt”:内建命令set的选项“-o”可用的参数。
“-A shopt”:内建命令shopt可接受的选项名。
“-A signal”:信号名。
“-A stopped”:暂停的作业名。
“-A user”:用户名,同选项“-u”。
“-A variable”:所有的shell变量名,同选项“-v”。
“-C command”:在子shell中执行命令,并把其结果作为补全条目。
“-F function”:在当前的shell环境中执行函数function,执行时,参数“$1”表示那个参数正在进行补全的命令名,参数“$2”表示补全的名称,参数“$3”表示补全的名称前面的单词,表示结束执行时,从数组变量COMPREPLY中获取补全条目。
“-G globpat”:使用文件名扩展模式globpat进行扩展以生成可能的补全条目。
“-P prefix”:在所有的选项应用到补全结果后,在结果前添加前缀prefix。
“-S suffix”:在所有的选项应用到补全结果后,在结果后添加后缀suffix。
“-W wordlist”:使用特殊变量IFS中的字符拆分单词列表wordlist,并扩展拆分后的每个单词,结果中与待补全单词
匹配的条目就是补全条目。
“-X filterpat”:filterpat是进行文件名扩展时使用的模式,它作用于通过前面的选项和参数生成的补全列表,并把每个与过滤模式匹配的条目删除,模式中前导的叹号表示否定,这时会删除与过滤模式不匹配的条目。
3、compopt:
compopt [-o option] [-DE] [+o option] [name]
compopt命令修改每个名称指定的补全选项,如果没有指定名称则修改当前执行的补全的选项,如果也没有指定选项,则显示每个名称或当前补全所用的选项。选项可能的取值就是上面的内建命令complete的有效选项。
Linux里面tail -f命令作用是什么
tail命令是一个在Linux和Unix系统中使用的命令行工具,用于显示文件的末尾内容。它可以从文件的最后一行开始显示,默认情况下显示文件的最后10行。
tail命令的基本语法如下:
tail [选项] [文件]
常用的选项包括:
-n<行数>:指定要显示的行数。例如,tail-n 20file.txt将显示文件file.txt的最后20行。
-f:实时追踪文件的变化,并持续显示新增的内容。适用于查看日志文件等动态更新的文件。
以下是一些常见的tail命令的示例:
1、显示文件的最后10行
tail file.txt
2、显示文件的最后20行
tail-n 20 file.txt
3、实时追踪文件的变化
tail-f log.txt
4、显示多个文件的最后几行
tail-n 5 file1.txt file2.txt
需要注意的是,tail命令默认以行为单位进行操作,但也可以通过其他选项来改变单位,例如以字节或块数为单位。
Linux命令参数linux命令参数-
linuxargs命令参数设置?
args:xargs的默认命令是echo,空格是默认定界符。默认替换符号是{}
在linux中命令后面带参数“-”与“--”有什么不同啊?谢谢?
第一种:参数用一横的说明后面的参数是字符形式。
第二种:参数用两横的说明后面的参数是单词形式。第三种:参数前有横的是SystemV风格。第四种:参数前没有横的是BSD风格。有关SystemV和BSD的其他区别:系统启动过程中kernel最后一步调用的是init程序,init程序的执行有两种风格,即SystemV和BSD。SystemV风格中init调用/etc/inittab,BSD风格调用/etc/rc,它们的目的相同,都是根据runlevel执行一系列的程序。
linux命令除了命令名称还包括什么?
linux命令除了命令名称还包括命令参数,参数在命令执行时随命令在shell传入
linux常用命令有哪些?
Linux是我们开发人员必不可少的系统,也是经常接触到的。然而,Linux命令比较多,有些不常用也难记住。那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过程中,比较常用、也比较实用的Linux命令。
01查看文件或日志
查看文件内容或日志文件,相信几乎所有人都会接触到。其中,用得最多的就是head、tail和cat命令。
1、head
表示头部,查看最前面几行数据。
headtest.log:test.log文件前几行日志内容
head-n20test.log:查看test.log文件前20行日志内容
head-n-20test.log:查看test.log除了最后20行日志内容
2、tail
表示尾部,查看最后几行或实时日志。
tail-ftest.log:实时查看test.log文件最后几行日志内容
tail-f-n20test.log:实时查看test.log文件最后20行日志内容
tail-n20test.log:查看test.log文件最后20行日志内容
tail-n+20test.log:查看test.log文件20行后的所有日志内容
3、cat
用于查看文件内容。
cattest.log:查看test.log文件所有内容
02本地复制
同一台服务器不同目录之间复制文件或目录也是经常用到的。
1、复制文件
cptest.log/home/geshan/logs:复制test.log文件到/home/geshan/logs/目录下
cptest.log/home/geshan/logs/cptest.log:复制test.log文件到/home/geshan/logs/目录下并重新命名为cptest.log
2、复制文件夹
cp-rlogs//home/geshan/:复制logs目录及目录下所有文件到/home/geshan/目录下,此时该目录会有logs目录
cp-rlogs//home/geshan/testlogs/:复制logs目录及目录下所有文件到/home/geshan/testlogs/目录下,并把logs目录重新命名为testlogs,前提是/home/geshan/目录没有testlogs目录
注:-r或-R表示循环,循环目录下所有文件和目录。下面所有命令也是如此。
03远程复制
当我们需要从远程服务器复制某个文件或目录到本地登录的服务器时,大部分人想到先登录远程服务器下载该文件,然后再登录本地服务器再上传文件。这样是比较麻烦,效率也不高。
1、本地服务器复制到远程服务器
(1)复制文件
命令1:
scplocal_fileremote_username@remote_ip:remote_folder
命令2:
scplocal_fileremote_username@remote_ip:remote_file
命令3:
scplocal_fileremote_ip:remote_folder
命令4:
scplocal_fileremote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变;第2个指定了文件名;第3,4个没有指定用户名,命令执行后默认与当前服务器用户名并需要输入用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
实例1:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录,并重新命名为
20190125.log
命令:
实例2:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录
命令:
(2)复制目录
命令1:
scp-rlocal_folderremote_username@remote_ip:remote_folder
命令2:
scp-rlocal_folderremote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;第2个没有指定用户名,命令执行后需要输入用户名和密码。
实例:从本地服务器/home/appuser/目录下的tomcat目录复制到192.168.130.130服务器的/home/geshan/目录命令:
2、从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
(1)复制文件
实例:
从192.168.130.130远程服务器的/home/geshan/路径下test.log文件复制到本地服务器/home/appuser/路径
命令:
scproot@192.168.130.130:/home/geshan/test.log/home/appuser/
(2)复制目录
实例:从192.168.130.130远程服务器的/home/geshan/路径下tomcat文件夹复制到本地服务器/home/appuser/路径
命令:
注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。
04压缩和解压
压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。
1、tar命令
解压:
压缩:
实例:解压一个log.tar文件:
压缩log目录并命名为log.tar:
2、gz命令
压缩:
注:压缩为.gz文件源文件会消失如果想保留源文件,使用下面命令
解压:
.tar.gz和.tgz解压:
压缩:
压缩多个文件:
实例:解压tomcat.tar.gz文件
压缩tomcat目录,并命名为tomcat.tar.gz文件
3、zip命令
解压:unzipfileName.zip压缩:
注:压缩目录时,需加-r,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。
实例:解压一个log.zip文件:
压缩log文件目录并命名为log.zip:
压缩log1和log2目录并命名为log.zip:
压缩test1.log和test2.log文件并命名为log.zip:
4、rar命令
同理,和zip命令类似,只需把zip改为rar即可。
05修改权限
Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。
其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。
1、chgrp命令
改变文件或目录所属的组。命令:
实例:把test.log文件所属的组修改为geshan组
把logs目录及该目录下所有文件所属的组修改为geshan组
2、chown命令
更改某个文件或目录所属的用户。命令:
实例:把test.log文件所属用户修改为geshan用户
把logs目录及该目录下所有文件所属用户修改为geshan用户
3、chmod命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。命令:
其中,mode有很多种表示含义,下面只对数字说明。大部分人看到mode有777或776等权限,这些表示什么呢?
为了方便,把mode改为abc,其中a,b,c各为一个数字,分别表示user、group及other的权限。r=4,w=2,x=1,r表示Read读,w表示Write写,x表示eXecute。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实例:把test.log文件修改可读写执行(即777)操作。
把logs目录及目录下所有文件修改为读写(666)操作。
在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。
注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。
这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,如果对你有所帮助,记得点赞收藏转发哦!
在linux中cat命令的参数和选项是一回事吗?
参数的范围更大一些选项指以-或者--开头的参数,它们一般都表示某些开关而像cat命令,一般需要一个目标文件,比如cat./something.txt,这个参数就不是选项了。