后端开发人员必备的Linux常用命令和示例列表。这是和我在公司的团队成员的一个小技术分享。内容通俗易懂,简单明了,发布出来供大家分享。新手司机可以收藏学习,有经验的司机可以批评指正。(本文持续更新^_^)系统信息监控/查看ps是ProcessStatus的缩写,ps命令用于列出系统当前运行的进程的快照。-a显示同一终端下的所有程序-A显示所有进程-eequals"-A"-f显示程序之间的关系,pid&ppid-H显示树状结构-u指定指定(当前)用户的所有进程ps-efps-auxtop性能分析工具,可以实时显示系统中各个进程的资源使用情况,类似于windows任务管理器top-14:06:23up70天,16:44,2个用户,loadaverage:1.25,1.32,1.35Tasks:206total,1running,205sleeping,0stopped,0zombieCpu(s):5.9%us,3.4%sy,0.0%ni,90.4%id,0.0%wa,0.0%hi,0.2%si,0.0%stMem:32949016ktotal,14411180kused,18537836kfree,169884kbuffersSwap:32764556ktotal,0kused,32764556kfree,3612636kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND28894root2201501m405m10mS52.21.32534:16javanetstat查看接入网络连接状态-a或-all显示所有连接中的Socket-n或-numeric直接使用IP地址,不通过域名服务器-p或-programs使用Socket代码显示程序标识和程序名-t或–tcp显示TCP传输协议的连接状态-u或–udp显示UDP传输协议的连接状态示例netstat-apn|grep8080网络统计-apnt|grep8080editorvieditor常用命令编辑一个视图/word查找上一个n查找下一个N替换xxxundo,redou,ctrl+r从光标当前位置复制v从光标当前行开始V粘贴p删除字符x,X字diw,daw行dd添加行上一行O下一行o翻页ctrl+d,ctrl+u显示行号:设置nu显示当前行信息ctrl+g行首0theend$第一行gg最后一行Gthebeginning(end)oftheparagraphbeginning{end}scrollupthe屏幕ctrl+v向下滚动ctrl+e上半屏ctrl+u下半屏ctrl+d向上滚动全屏ctrl+b向下滚动全屏ctrl+f保存退出w保存q退出q!不保存,强制退出磁盘文件关于df查看linux服务器文件系统的磁盘空间使用情况-T文件系统类型-h易读,1K=1024-H等于“-h”,但是计算公式,1K=1000,不是1K=1024-l只显示本地文件系统列表-kblock为1024字节-a所有文件系统列表示例df-hl查看当前目录下所有目录和文件的大小du查看文件和目录磁盘占用空间-a显示当前目录及子目录下所有文件的大小-h自动换算单位M,GB-s统计总大小示例du-adu-sh当前目录大小find查找文件,使用正则表达式-namename-sizesize-type示例find/home/server-nameserver.xml在/home/server下查找名称对于server.xml文件find。-类型d|sort查找所有当前目录并对它们进行排序find。-size+1000c-print在当前目录中查找大于1K的文件tail从指定点开始将文件写入标准输出示例tail-20fapp.logtar打包工具-c新建一个压缩文件,与x-v反向操作为显示运行过程-f指定压缩文件-x解压文件和c反向运行-z支持gzip解压文件示例tar-xvfname.tar.gz解压包tar-cvfname.tar.gz/dirpack,uncompresstar-zxvfname.tar.gzunpack,gzipdecompresstar-zcvfname.tar.gz/dirpack,gzipcompressgrep文本搜索工具,它可以使用正则表达式搜索文本并打印出匹配行信息-A前多少行,不包括当前行-B后多少行,不包括当前行-C前后多少行,不包括当前行-c统计行数-iignorecaseexamplegrep-C10keywordsfileName.login文件fileName.log搜索关键字keywords前后的10行。wc是WordCount的缩写,统计指定文件的字节数、字数、行数,并将统计结果显示为输出-c统计字节数-l统计行数-m统计字符数。此标志不能与-c标志-w一起使用来计算单词数。单词定义为由空格、制表符或换行符分隔的字符串-L打印最长行示例的长度wc-mxargs替换工具,读取输入数据并重新格式化输出。简单理解就是将字符串按指定的分隔符(默认空格)进行切割(拆分),然后将处理后的多列数据作为参数,作为下一条命令的参数传入。-a表示--arg-file=FILE从指定文件中读取内容-d表示--delimiter=CHARACTER指定分隔符,默认空格-n多行显示,指定一行显示的列数例子echo'--帮助'|xargs猫是猫--helpjps|awk'{print$1}'|xargskill-9关闭所有Java进程用户相关操作su-orsu-root切换到root用户exit返回上一个用户whoami查看当前用户useradd添加用户,所有用户都在配置文件:/etc/passwd-g组号,默认表为当前用户组-u用户号-dhome目录,默认为/home示例useradd-g666-u666-d/home/AronAron新建一个Aron用户g组号-u用户号-d主目录-l新名称示例usermod-g666-u666-d/home/Aron-lAron2Aron注意需要手动修改主目录createuserdeldeleteuser-rdelete用户并删除其主目录示例userdelAronuserdel-rAron删除用户并删除其主目录设置用户密码示例passwdAronchmod是更改模式,更改文件模式。语法chmod[-cfvR][--help][--version]modefile...,其中mode为权限设置字符串,格式为[ugoa...][[+-=][rwxX]。..][,...],解释:ugoa中的u为当前用户,g为当前用户组,o其他用户组,a为所有用户-c如果文件权限确实被改变了,改变动作会是显示-f如果不能更改文件权限,则不显示错误信息-v显示权限更改的详细信息-R对当前目录下的所有文件和子目录进行相同的权限更改(即一一更改递归方式)示例chmodugo+rfile1.txt设置文件file1.txt为所有可读chmodu+r,g+w,o+rfile1.txt设置文件file1.txt为当前可读user,同组可写,其他组可写可读chmod-Ra+rw/home/server递归设置目录/home/server为所有人可读可写chgrp意思是changegroup改变用户组,语法chgrp[-R]newGroupfileOrDirector-R递归查找子目录示例chgrpAronapp.javachgrp-RAron/datachown即changeowner改变属主只改变属主,语法chown[-R]newUserfileOrDirector修改同时拥有者和用户组,语法chown[-R]newUser:newGroupfileOrDirector示例chownAronapp.javachownAron:AronGroupapp.java
