当前位置: 首页 > Linux

Linux命令行日常交互

时间:2023-04-06 19:31:11 Linux

1.解释1.1Bash命令说明Bash命令一般格式:命令名[选项][参数1][参数2]...;例如:复制一个文件:cp–ifile1.cmyfile.c;命令区分大小写,一般为小写英文字母。命令、选项和参数必须用空格或制表符分隔。选项以“-”开头,多个选项可以用“-”连接;示例:tar-zxvfnginx-1.8.tar.gz命令正常执行后返回0值,表示执行成功“|”识别管道,管道前一个命令的输出作为后者的输入;例子:ps-ef|grepnginxgeneral"命令名--help"可以查看命令支持的选项,获取命令的用法。示例:cat--help1.2简单的命令,列出所有正在使用系统的用户、使用的终端名称以及他们注册到系统的时间。命令行中的参数在标准输出(即屏幕)上显示date,在屏幕上显示或设置系统的日期和时间clear,清除屏幕上的信息passwd,修改用户密码pwd,并查看当前路径灵魂操作复制粘贴,Ctrl+Insert,Shift+Insert,当然cp命令更方便1.3文件说明Linux系统区分文件名的大小写文件名以点号(.)是一个隐式文件1.4目录描述目录结构用户主目录:用户当前工作目录目录简介/bin基本命令二进制文件/bootBootloader的静态文件/dev设备文件/etc主机特定系统配置/lib基本共享库和内核模块/mediaMountPointforRemovableMedia/mntMountPoint,用于临时挂载文件系统/opt附加应用软件包/sbin基本系统二进制文件/本系统提供的srv服务数据/tmp临时文件/usr二级层次/var变量data/bin基本命令二进制文件/dev设备文件/lib基本共享库和内核模块/mnt临时安装文件系统挂载点/sbin基本系统二进制文件/tmp临时文件/var变量数据2.文件操作命令2.1cat命令:cat[options]filefunctions查看stdout上的文件内容连接两个或多个文件并输出连接的文件内容options(sections)-b,numberallnon-emptyoutputlinesstartingat1-n,startalloutputlinesat1Number-s、将相邻的多个空行合并为一个空行2.2more命令:more[option]filefunction这条命令是一次显示一屏文字,满屏时停止,屏幕下方会出现提示信息,给出目前已显示的文件百分比:--More--(XX%)选项(部分)-NUM,指定屏幕的每一行+/STRING,从搜索字符串STRING的匹配位置开始显示-d,在每屏底部显示以下更友好的提示信息-c或-p,不滚动,显示下一屏前清屏-s,将文件中连续的空行压缩成一个空行并显示+/,该选项后的模式(Pattern)指定显示每个文件前要搜索的字符串+num,从行号num2.3less命令:less[option]fileless命令允许用户在文件中向前或向后浏览,而more命令只能向前浏览2.4head命令:head[option]filefunctionhead命令显示指定文件在屏幕上的前几行和行数由参数值决定。显示行数的默认值为10选项(部分)-c,显示每个文件的前N??个字节。如果数字N前面有一个“-”,则分别显示每个文件除最后N个字节以外的所有内容-n,显示指定文件的前N行而不是默认的10行。如果数字N前面有一个“-”,则分别显示每个文件除最后N行以外的所有内容-q,不显示给定文件的标题-v,始终显示给定文件的标题2.5tail命令:tail[options]filefunctiontail命令在屏幕上显示指定文件的最后10行。如果给出了多个文件,则会在显示的每个文件前添加一个文件名标题。如果没有指定文件或文件名为“-”,读取标准输入选项(section)-c,输出最后N个字节-f,随着文件增长输出额外的数据-n,输出最后N行,而不是默认的10行-q,不输出给定文件名的文件头-v,总是输出给定文件名标签的文件头,将已有文件的时间标签更新为系统当前时间(默认方法),它们的数据将保持完整.如果文件不存在,创建一个空的新文件Options(parts)-a,只改变指定文件的访问时间-c,不创建任何文件-m,只改变指定文件的修改时间-tSTAMP,使用STAMP指定的时间标签,而不是系统的当前时间2.7comm命令:comm[option]file1file2功能比较已经排序的两个文件。Option(部分)Option1,2,3表示不显示comm输出第一列,第二列,第三列2.8diff命令:diff[option]file1file2函数比较两个文件的不同选项(部分)-b,忽略空格引起的差异-c,输出格式为Three-lineformatwithcontext-Cn,输出格式为n-lineformatwithcontext-e,输出一个合法的ed脚本-i,忽略差异inlettercase-r,当文件1和文件2都是目录时,递归比较找到的每个子目录2.9cp[option]源文件或目录目标文件或目录函数copy目录或文件到目标目录或文件选项(部分)-a,递归复制源目录下的所有子目录及其文件复制到目标目录,文件链接和文件属性保持不变。相当于-dpR-d,复制时保留文件链接-f,如果已有的目标文件打不开,删除再试-i,与-f选项不同,覆盖目标文件前给出提示,要求用户确认。回答y覆盖目标文件。-p,除了复制源文件的内容外,还将其修改时间和访问权限复制到新文件中-r,-R,递归复制目录,即源目录及其子目录下的所有文件各级复制复制到目标位置-l,不复制,而是创建一个指向源文件的链接文件,链接文件名由目标文件给出例$cp-r/home/software/nginx/usr/local/#递归复制nginx目录和文件到/usr/local路径2.10mv[option]sourcefileordirectorytargetfileordirectoryfunctionmovesafilefromtheowndirectorytotargetdirectory;它可以用作文件或目录重命名选项(部分)-i,交互式操作;即命令执行过程中如果有文件被覆盖,会询问用户是否继续-f,禁止交互操作;不会提示文件覆盖。例子$mvnginx-1.8.1nginx#rename2.11rm[options]filelistfunctiondeletedirectoriesandfilesoptions(section)-d,删除一个目录,不管它是否为空(仅限超级用户)-f,忽略文件不存在,不给出提示信息-r,递归删除指定目录及其各级子目录及对应文件-i,交互删除文件]file函数统计文件的字节数、字数、行数指定文件,并显示统计结果。选项(部分)-c,字节统计-l,行统计-w,字统计2.13sort命令:sort[option]文件列表功能,用于对文本文件的行进行排序;排序比较是根据从输入文件的每一行提取一个或多个排序关键字统一合并文件,但不排序-c,检查给定的文件是否排序,如果没有,则显示错误信息,不排序-u,与-c选项一起使用,严格按顺序检查;否则,只输出排序后的重复行的第一行-o,将排序后的输出放入文件名指定的文件中。文件不存在则新建文件2.14uniq命令:uniq[option][inputfile[outputfile]]函数读取输入文件,比较相邻行,去除重复行,只留下一行Option(部分)-c,显示输出时,在每一行的开头加上该行在文件中出现的次数-d,只显示重复行-f,忽略比较的前N个字段-s,忽略比较的前N个character-u,只显示文件中不重复的行2.15grep命令:grep[option]filename功能该命令用于在文本文件中查找指定模式的单词或短语,并在上面显示给定的字符标准输出字符串模式的所有行;通常与管道“|”一起使用,例如:ps-ef|grepnginx选项(部分)-E,将搜索模式解释为扩展正则表达式-F,将搜索模式解释为简单字符串-b,在每行输出前显示包含匹配字符串的行在文件中的位置,表示为字节偏移量-c,只显示文件中包含匹配字符串的总行数-f,从文件FILE中获取模式,每行一个。空文件不包含模式,所以不匹配-i,匹配比较不区分大小写-r,递归搜索一个目录所有子目录下的文件-n,在输出包含匹配模式的行之前,加上该行的行号(文件第一行的行号为1)-v,只显示不包含匹配字符串的文本行-x,只显示整行严格匹配的行2.16find命令:findpath[Option]的文件名功能在指定目录下搜索文件,输出显示文件信息;find会从硬盘中搜索文件Options(part)-mount,-xdev:只检查与指定目录在同一文件系统中的文件,避免列出从其他文件系统导出文件-aminn:读取过去n分钟-anewerfile:比file更晚读取的文件-atimen:过去n天读取的文件-cminn:过去n分钟修改过的文件-cnewerfile:比filefile更新的文件-ctimen:过去n天修改过的文件-ipathp,-pathp:路径名与p,ipath大小写匹配的文件-namename,-inamename:名称与name匹配的文件。-iname忽略大小写n:文件大小为n个单位,b表示一个512字节的块,c表示字符数,k表示千字节,w为两个字节。-typec:文件类型为c文件。(d:目录,c:字体设备文件,b:块设备文件,p:命名存储,f:通用文件,l:符号链接,s:套接字)示例$find.-typef#列出当前目录和子目录下的General文件$find/-namenginx#列出名字匹配nginx2.17的文件配置数据库,locate默认数据库是/var/lib/slocate目录下的locate.db-u,更新数据库,执行命令手动更新;一般系统会自动更新2.18whereis命令:whereis[options]file功能搜索二进制文件、源代码文件或帮助手册;不搜索普通文件选项(section)-b,仅查找二进制文件-m,仅查找描述文件-s,仅查找原始代码文件-u,查找不包含指定类型的文件-f,不显示路径文件名前的名字3.目录操作命令3.1mkdir[option]目录名功能创建目录选项(部分)m,设置新建目录的访问权限为MODE,访问权限用给定的八进制数p表示,可以一次创建多个目录,即如果为新目录指定的路径中的某些父目录不存在,该选项可以自动创建,递归删除目录,当子目录后父目录为空时被删除,它也会被删除。如果有非空目录,则保留该目录;子目录只有在为空目录时才会被删除3.3cd目录函数切换目录,改变工作目录3.4pwd函数获取当前工作目录的绝对路径3.5ls[option]directoryorfile函数如果给定参数是一个目录,该命令会列出其中所有子目录和文件的信息;如果给定的参数是一个文件,它会列出文件的一些属性信息;forexample,whentheoptionis-l,theinformationisfiletypeandpermission,numberoflinks,fileowner,filegroup,filesize,creationorlatestmodificationtime,filenameoption(part)-a,displayallsubdirectoriesand指定目录下的文件,包括“.”开头的隐藏文件(如.cshrc)-C,多列显示项-d,参数为目录时,只显示目录名(不显示内容))-F,在列出的文件名后加上不同的符号来区分不同类型的文件。可以附加的符号是:/*@|=-i,输出第一列显示文件的inode号-l,以long格式显示文件的详细信息3.6ln[options]源文件目标文件函数创建链接,硬链接或符号链接;符号链接文件不是一个独立的文件,它的很多属性都依赖于源文件,所以给符号链接文件设置访问权限是没有意义的Option-s创建符号链接,即软链接4.UserandPermissionuserownerfilemaingroupotherusersinsamegroupotherusersthatcanaccessthesystemrootsuperuserpermissionr读权限w写权限x可执行或搜索权限4.1chmod命令:[who]操作符[permission]文件名函数文件权限设置;操作对象可以是u、g、o、a中的任意一个或任意组合;操作符号可以是+、-、=,分别代表添加权限、删除权限、设置权限;permissions可以是r,w,x,X,s,t任意组合例子chmod权限文件名permission可以是3个八进制数,分别标识文件的主权限,组用户权限,其他用户权限;chmod777nginx.conf4.2chgrp命令:chgrp[option]组名文件或目录名功能设置指定目录或文件的用户组Option-R,递归更改目录和子目录,子文件组的用户组option-R,递归目录和子目录改变文件master-v,详细列出命令执行信息5.进程命令5.1ps命令:ps[option]查看进程状态和信息的功能option(part)-a,显示有关进程的信息tty相关进程-e,显示所有进程-f,显示进程的所有信息-l,以长格式显示信息r,显示正在运行的进程u,显示面向用户的格式示例显示进程信息包括nginx进程ps-ef|grepnginx5.2kill命令:kill[option]进程号函数向进程发送指定信号终止进程运行选项-s,指定要发送的信号,可以是信号名(如kill),也可以是对应信号的编号(如9)-p,指定的kill命令只显示进程的PID(进程标识号),并不实际发送结束信号-l,显示信号名称列表,可在文件/usr/include/中查看linux/signal.h中5.3sleep命令:睡眠时间值函数使进程睡眠指定时间,时间值单位为秒5.4uptime命令:uptime[option]functionviewloadexample$uptime15:57:19up7days,4:47,1user,loadaverage:0.00,0.02,0.69表示系统当前时间:15:57:19系统正在运行:up已运行时间:7days,4:47负载信息:最近1分钟负载0.00,最近5分钟负载0.02,最近15分钟负载0.69(看系统CPU核心,如双核,负载标准值为2;0.69<2系统中有空闲CPU,值为2表示负载满,大于2表示CPU不空闲,需要等待CPU)5.5telnet命令:telnet[option]IPSocketfunctionremotelogin;系统不支持该命令,需要通过yum下载安装选项(部分)-a尝试自动登录远程系统-8允许使用8个字符的数据,包括输入输出-F使用时KerberosV5认证,加入该参数可以将本地主机的认证数据上传到远程端主机6.压缩解压命令6.1gizp命令:gzip[option]filefunction压缩和解压文件选项(部分)-c,将输出写入标准输出,并保留原文件-d,压缩文件解压-l,对于每个压缩文件,列出以下字段:compressedsize:压缩文件的大小uncompressedsize:thesizeoftheuncompressedfileratio:压缩率(0.0%ifunknown)uncompressed_name:uncompressed压缩文件的名称-r,递归搜索指定目录并压缩里面的所有文件或者解压-t,test,即检查压缩文件的完整性-v,对每个压缩文件和解压文件,显示其文件名和压缩比-num,用指定数字num调整压缩速度,其中-1或--fast代表最快的压缩方式(低压缩比),-9或--best代表最慢的压缩方式(高压缩比)系统默认值为-66.2unzip命令:unzip[option]filefunction解压zip或war格式的文件option(part)-x,filelist解压文件,但不解压文件列表中指定的文件unzip-v,如果不给出压缩文件名,只显示解压的诊断信息,如工具的发布日期、版本、特殊编译选项等;如果后跟一个压缩文件名,没有其他选项,则列出压缩文件的相关信息,但不解压-t,检查压缩文件的完整性-d,解压压缩文件的目录,放在指定目录directory-z,只显示压缩文件的注释-n,不覆盖已有文件-o,允许覆盖已有文件-j,取消压缩文件原有的目录结构,解压所有文件,放在同一个目录下Exampleunzip-oqROOT.war-dROOT#将ROOT.war解压到ROOTunzipdata1-xjoe#从data1.zip中提取除joe之外的所有文件unzip-pfoo|more#通过管道tar命令将foo.zip的内容发送到程序more6.3:tar[OPTIONS]FILEFUNCTIONSUncompresstarfilesOPTIONS(Part)-A,添加一个tar压缩包到另一个压缩包-c,创建一个compressedarchive--diff,--compare比较归档文件和系统中的文件之间的差异--delete从归档文件中删除-r,将文件追加到归档文件的末尾-u,仅追加比归档文件中的副本更新的文件-x,提取文件来自压缩档案-z,过滤gzip压缩档案示例tar-cfarchive.tarfoobar#从文件foo和bar.tar创建archive.tar-tvfarchive.tar#详细列出archive.tar中的所有文件。tar-xfarchive.tar#从archive.tar中提取所有文件。7、包管理命令7.1yum命令:yum[options]操作安装包功能包下载、更新、删除选项-y,过程中的所有交互,默认是-q,不显示安装过程check-update,检查更新,列出需要更新的更新软件清单update,updateinstall,installremove,removedeletesearch,findpackageexampleyum-yinstalllrzsz7.2wget命令:wget[options]url函数包下载选项(部分)-o,logmessagetospecifiedfile-a,setAppendmessagetospecifiedfile-q,无输出-F,将输入文件视为HTML-t,设置重试次数(0为无限制)-T,设置超时示例wgethttp://pecl.php.net/get/mongo...7.3lrzsz命令:rz上传,sz下载功能与SSH交互时,rz命令支持从本机上传文件到Linux服务器,sz命令支持下载服务器文件到本机;如果系统不支持该命令,需要通过yum下载InstallPowerbyniaonao,完