当前位置: 首页 > Linux

Linux常用命令_13

时间:2023-04-07 01:17:51 Linux

1.1前言作为一名Java后端开发人员,我们开发的大部分项目都部署在Linux系统上,因此熟练使用一些常用的Linux命令无论是日常开发、业务部署还是故障排查都非常有帮助有用。以下是一些常用的Linux命令的列表。1.2文件管理1.2.1ls命令ls命令是Linux中最常用的命令之一。它的作用是列出指定目录下的内容和相关属性信息。默认情况下,ls命令会列出当前目录的内容,它还可以带一些参数来实现更多的功能。语法格式:ls[option][file]常用参数参数说明-a显示所有文件和目录(包括.开头的隐藏文件)-l使用长格式列出文件和目录-r倒序显示文件(默认按字母顺序)-t按最后修改时间排序-A与-a相同,但不列出。(当前目录)和..(父目录)-S按文件大小排序-R递归列出所有子目录例子ls-a#列出所有文件(包括隐藏文件)ls-l#列出文件的详细信息ls/#List根目录(/)下的所有目录ls-ltrs*#列出当前目录下的所有名称是以s开头的文件ls-AS#列出当前目录下的所有文件和目录,并按文件大小排序1.2.2chown命令Linux是一个多用户和多任务的操作系统,所有的文件都有一个所有者。chown命令用于将指定文件的所有者更改为指定的用户或组(PS:用户和组都可以是名称或其ID)。文件是需要修改权限的文件列表,以空格分隔,支持通配符。语法格式:chown[parameter]常用参数参数说明-R将当前目录下所有文件和子目录的属主更改为相同程度-c如果文件的属主确实发生了更改,则只显示更改动作-f如果是文件owner不可更改,不显示错误信息-v显示所有者更改的详细信息--version显示版本Examples#将change_usergroup_and_user_demo.txt文件用户组和用户更改为mghio[root@mghio~]#llchange_usergroup_and_user_demo.txt-rw-r--r--1rootroot56Dec2110:17change_usergroup_and_user_demo.txt[root@mghio~]#chownmghio:mghiochange_usergroup_and_user_demo.txt[root@mghio~]#llchange_usergroup_and_user_demo.txt-rw-r--r--1mghiomghio56Dec2110:17change_usergroup_and_user_demo.txt#showitschangeaction[root@mghio~]#llchange_usergroup_and_user_demo.txt-rw-r--r--1rootroot45Dec2110:30change_usergroup_and_user_demo.txt[root@mghio~]#chown-cmghio:mghiochange_usergroup_and_user_demo.txt将'change_usergroup_and_user_demo.txt'的所有权更改为mghio:mghio1.2.3cp命令cp命令是英文单词copyor的缩写目录。作用是复制文件cp命令可以将多个文件复制到一个特定的文件名或一个已经存在的目录中,也可以同时复制多个文件到指定的目录中。语法格式:cp[parameter][file]常用参数参数说明-f如果目标文件已经存在,直接覆盖原文件-i如果目标文件已经存在,会询问是否覆盖-p保留原文件的属性原始文件或目录-r递归复制文件和目录-d复制符号链接时,为目标文件或目录创建一个符号链接,并指向与原始文件或目录相连的原始文件或目录-l创建一个连接到原始文件而不是复制文件-s创建与原始文件的一致连接而不是复制文件-b在覆盖现有文件之前备份目标文件target-v详细显示cp命令的执行过程Examples#Copydirectorycp-Rsource_dir1dest_dir2/#复制文件demo1.txt重命名为demo2.txtcp-fdemo1.txtdemo2.txt#复制多个文件cp-rfile1file2file3dest_dir1.2.4mkdir命令mkdir命令是的缩写makedirectories,其功能是创建目录。默认情况下,如果要创建的目录已经存在,会提示已经存在,不会继续创建目录。因此,我们在创建目录的时候,要保证新建的目录与所在目录下的文件不重名。同时,该命令还可以一次创建多个目录。语法格式:mkdir[parameter][directory]??常用参数参数说明-p递归创建多级目录-m创建目录时设置目录权限-v显示目录的常用过程例子#在当前目录下,创建一个名为dir的目录subdirectorymkdirdir#在目录/usr/mghio下创建子目录dir,并设置文件属主有读(4)、写(2)、执行(1)权限,其他用户不能访问mkdir-m700/usr/mghio/dir#一次创建目录dir1,dir2,dir3mkdirdir1dir2dir3#递归创建目录mkdir-p/mghio/dir1.2.5mv命令mv命令是英文单词move的缩写,作用是移动文件或重命名文件。mv和cp命令的结果不同。mv命令删除整个文件,文件名改变,但数量不增加。cp命令是复制文件,文件数量增加。语法格式:mv[parameter]常用参数参数说明-i如果存在同名文件,会询问是否覆盖-f覆盖已有文件时,不提示-b当文件存在时,创建abackupbeforeoverwriting-u当原文件比目标文件新或者目标文件不存在时,执行Examples#将文件file1重命名为file2mvfile1file2#移动文件到目录dest_dirmvfile/dest_dir#将dir目录下的所有文件移动到当前目录mv/dir/*.1.3文件编辑1.3.1cat命令Linux系统中查看文件内容的命令有很多,cat命令用于查看plain内容较少的文本文件。当文件内容较大时,文本内容会在屏幕上快速滚动,我们通常看不到显示的内容。对于较长的文件内容,可以按Ctrl+S停止滚动,按Ctrl+Q恢复滚动,按Ctrl+C(中断)终止命令的执行。对于大文件,建议使用下面介绍的more命令。语法格式:cat[参数][文件]常用参数参数说明-n显示行号(空行显示一个数字)-s显示行号(多个空行只算一个数字)-b显示行号(空行无数字)-E在每行末尾显示$符号-T将TAB字符显示为`^\`符号--version显示版本信息例子#查看文件内容catdemo.txt#查看文件内容并显示行号cat-ndemo.txt#查看文件内容,加上行号输出到另一个文件cat-nmghio.log>mghio_with_line_number.log#清空文件内容cat/dev/null>/mghio/demo.txt#继续写入文件内容直到遇到`EOF`符号并保存cat>demo.txt<Hello,World>mghio>EOF1.3.2more命令more命令用于转换a的内容长文本文件(不能显示一屏后),进行分屏显示,显示时支持关键字。对于内容比较少的文本内容,建议使用cat命令查看。语法格式:more[parameter][file]常用参数参数说明-num指定每屏显示的内容行数-lmore一般情况下^L遇到这个字符会停顿,这个参数可以屏蔽这个特性-f计算实际行数,不是自动换行的行数-p先清屏,显示文本文件剩余内容-c和-p类似,不滚动屏幕,先显示清屏前的内容content-s将多个空行压缩为一行Display-u禁止下划线+/pattern在显示每篇文档前搜索单词(pattern),然后在字符串后开始显示+num从num行查看时显示命令操作命令说明空格键显示下一个文本屏幕内容回车键向下n行,需要定义,默认为1行\键然后输入一个模式,可以在文本中找到下一个匹配模式H键显示帮助屏幕B键显示上一屏内容Q键退出更多CommandCtrl+F,空格键向下滚动一屏Ctrl+B返回上一屏=输出当前行号:f输出文件名和当前行V号调用vi编辑器!调用Shell,执行命令Examples#显示文件demo.txt的内容和显示的百分比,显示更多前先清屏-dcdemo.txt#显示文件demo.txt的内容,每10行显示一次,andclearscreenbeforedisplayingmore-c-10demo.txt#显示文件demo.txt的内容,每5行显示一次,显示more后清屏-p-5demo.txt#显示文件的内容文件demo.txt从第20行开始更多+20演示。txt1.3.3tail命令tial命令用于显示文件末尾的内容。默认情况下,它会在屏幕上显示指定文件的最后10行。如果给出了多个文件,则在显示的每个文件前加上文件名标题,如果未指定文件或文件名为-,则读取标准输入。语法格式:tail[参数]常用参数命令说明--retry表示当tail命令启动时,文件不可访问或文件以后不可访问时,总是尝试打开文件。使用该选项时需要和-f一起使用-c在文件末尾输出N(N为整数)个字节-f显示文件最新追加的内容-n输出Nattheendofthefile(NisaintegerInteger)LinecontentExamples#显示文件demo.txt的最后10行taildemo.txt#显示文件demo.txt的内容,从第20行到theendofthefiletail+20demo.txt#显示文件demo.txt的最后10行字符tail-c10demo.txt1.3.4grep命令grep是英文globalsearchregularexpression的缩写,打印出该行.就是把正则表达式全搜索出来打印出来。该命令可以与正则表达式结合使用,应用非常广泛。grep命令的选项用于补充搜索过程,命令的方式非常灵活,可以是变量、字符串和正则表达式。需要注意的是,当我们的模式中包含空格时,必须用双引号引出来。语法格式:grep[parameter]参数列表命令说明-i搜索时,忽略大小写-c只输出匹配的行数-l只列出匹配的文件名,不列出具体的匹配行-n列出所有匹配的行,显示行号-h查询多个文件时不显示文件名-s不显示不存在或没有匹配文本的错误信息-v显示所有不包含匹配文本的行-w匹配整个单词-x匹配整个行-r递归搜索-q禁止任何输出,退出状态表示搜索是否成功-b打印匹配行距文件头的偏移量(以字节为单位)-o与-b结合使用打印匹配词距离fromthefileheaderSection的偏移量(以字节为单位)Examples#支持多文件查询,支持使用通配符[root@mghio~]#grepmghiofile_*/usr/demofile_1:mghiofile_1:mghioddkjflkdjfdlkfjlsdkjfile_2:mghiofile_4:dkfjlmghioejfkdsfile_4:mghiodjftgffile_4:twetjmghio#列出所有匹配行并显示行号[root@mghio~]#grepmghiofile_*/usr/demofile_1:1:mghiofile_1:3:mghioddkjflkdjfdlkfjlsdkjfile_2:4:mghiofile_4:8:dkfjlmghioejfkdsfile_4:11:gffileiod:20:twetmghioedkfgj1.3.5echo命令echo命令用于在终端设备上输出字符串或变量的提取值。这是Linux系统中最常用的命令之一。在Linux系统中,人们一般会在变量前加$符号提取变量的值,例如:$PATH,然后用echo命令输出。或者直接使用echo命令向屏幕输出一个字符串来提示用户。语法格式:echo[parameter][string]常用参数命令说明-n不输出结尾的换行符-e"a"发出警告音-e"b"删除前一个字符-e"c"不输出在末尾加一个换行符-e"f"表示换行,光标保持在原坐标位置-e"n"表示换行,光标移动到行首-e"r"表示光标到移动到第一行,但不能换行-E禁止反斜杠转义,与-e参数的功能相反Examples#outputastring[root@mghio~]#echo"mghio.cn"mghio.cn#outputthe提取变量的值[root@mghio~]#echo$PATH/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin#对内容进行转义,防止变量值提取函数$symbol生效[root@mghio~]#echo\$PATH$PATH#use使用反引号执行命令并将结果输出到终端[root@mghio~]#echo`date`SatDec2115:30:24CST20191.4网络通信1.4.1ssh命令ssh命令是openssh套件中的客户端连接,是一种利用ssh加密协议实现远程安全登录服务器,实现对服务器管理的工具。语法格式:ssh[parameter][host]常用参数命令说明-1强制使用ssh协议版本1-2强制使用ssh协议版本2-4强制使用IPv4地址-6强制使用IPv6地址-A启用认证代理连接转发功能-a关闭认证代理连接的转发功能-b使用本机指定的地址作为位连接的源IP地址-C请求压缩所有数据-F<配置文件>指定ssh命令的配置文件,默认配置文件为/etc/ssh/ssh_config-f后台执行ssh命令-g允许远程主机连接到本机的转发端口-i指定身份文件(即私钥文件)-l指定连接远程服务器登录用户名-N不执行远程命令-o<选项>指定配置选项-p<端口>指定portonremoteserver-q静默模式,禁止输出所有警告和诊断信息例子#loginremoteserver[root@mghio~]#ssh112.67.239.127#使用mghio用户连接到远程服务器[root@linuxcool~]#ssh-lmghio112.67.239.1271.4.2sftp命令sftp命令的全称是SecureFileTransferProtocol。它是一个交互式文件传输程序。sftp命令的操作和使用与ftp类似,但是sftp命令对所有传输的信息使用ssh加密,同时还支持公钥认证和压缩等功能。语法格式:sftp[参数][IP或主机名]常用参数命令说明-B指定传输文件缓冲区的大小-l使用ssh协议版本1-b指定批处理文件-C使用压缩-o指定sshoption-F指定ssh配置文件-R指定一次可以容忍的请求数例子#使用sftp命令连接服务器[root@mghio~]#sftp112.67.239.127#指定大小传输文件的缓冲区[root@mghio~]#sftp-B256112.67.239.127#传输时使用压缩[root@linuxcool~]#sftp-C112.67.239.1271.4.3telnet命令telnet命令的作用是远程登录。执行telnet命令开启终端阶段操作,登录远程终端主机。telnet命令可以帮助您从本路由器远程登录到远程已开启telnet服务的设备,包括路由器、交换机、Linux服务器等,并配置当前路由器的telnet服务。语法格式:telnet[参数]命令常用参数说明-8允许使用8位字符数据,包括输入输出-a尝试自动登录远程系统-b使用别名指定远程名称host-c不读取用户特定目录.telnetrc文件-d启动调试模式-e设置转义字符-E过滤转义字符-f该参数的作用与指定-F参数相同-F当使用KerberosV5认证时,添加该参数可以使将认证数据上传到远程主机-k当使用Kerberos认证时,添加该参数允许远程主机使用指定的域名,而不是使用的域名主机-K不自动登录远程主机-l指定登录远程主机-L允许输出8位字符信息-n指定记录相关信息的文件-r使用类似的用户界面rlogin命令-S设置telnet连接所需的IPTOS信息-x假定主机具有支持数据加密的功能,只需使用-X关闭指定的认证表单例子#登录远程主机[root@mghio~]#telnet112.67.239.127#连接本地主机,端口号为23[root@mghio~]#telnetlocalhost231.4.4netstat命令netstat命令用于显示各种网络相关信息,如网络连接、路由表、接口状态、多播成员资格等。整体来说,netstat的输出分为两部分:一是ActiveInternetconnections,称为activeTCPconnections,其中Recv-Q和Send-Q指的是%OA接收队列和发送队列。另一种是ActiveUNIXdomainsockets,称为activeUnixdomainsockets(与网络套接字相同,但只能用于本地通信,性能可提高一倍)。语法格式:netstat[参数]命令常用参数说明-a显示所有连接中的Socket-p显示正在使用该Socket的程序识别码和程序名-u显示UDP传输协议的连接状态-i显示networkinterfaceinformationform-n直接使用IP地址,不通过域名服务器例子#显示详细的网络状态[root@mghio~]#netstat-a#显示当前UDP连接状态[root@mghio~]#netstat-nu#显示网卡列表[root@mghio~]#netstat-iKernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgeth015000181864000141278000BMRU16436033620003362000LRU