当前位置: 首页 > Linux

前端应该掌握的Linux命令和工具

时间:2023-04-06 03:51:29 Linux

大多数前端应用都部署在Linux上。如果你想在全球范围内持有一个项目,Linux命令是一项必备技能。很多前端不太关注linux命令。其实这是一个非常值得学习的知识点。没什么好理解的。大部分可以通过“记忆+使用”的方式掌握。掌握之后,很多问题都可以迎刃而解。提高日常效率也可以成为面试的加分项。linux命令很多,有时参数也很复杂,全部学起来很枯燥。本文主要从实际场景和问题出发,归纳出几个常用的命令,希望对大家学习linux有所帮助。查看文件#首先学会查看文件属性ls-l#目录递归查询ls-Rl显示结果如上图。第一列有十个字符,第一个表示文件类型(-是文件,d是目录,l是软链接),后九个字符分为三组,代表用户、用户组、其他用户对文件的读(r)写(w)执行(x)权限;第二列表示文件数量;第三列表示所属用户;第四列表示所属的用户组;第五列表示文件大小;修改后的月、日和时间;最后一列是文件名。查看文件内容的命令有很多,如下:#查看文件内容cata.txt#cat支持多文件连接显示,可以输出到文件cata.txtb.txt>c。txt#tac是catinreverse写的,作用和cat相反,是从末尾向前显示taca.txt#tail只显示文件最后几行,-n指定显示行数tailtest.log-n100#实时显示内容,查看日志时非常有用tailtest.log-fmodifyfileowner#同时修改用户和用户组chownzhangsan:app#只修改用户chownzhangsan#只修改用户组chown:app修改文件权限#权限主体分为三种,用户(u),用户组(g),其他(o),三种权限:读(r),写(w),execute(x)#+表示授予权限,-表示回收权限chmodug+rwtest.js#给用户,用户组授予读写权限#递归更改目录需要加-Rchmod-Rgo-wx./src#回收用户组和其他写入和执行权限#数字表示也是常用的。4:读取,2:写入,1:执行,所有权限均可组合。编号为三位数字,对应三个主体,用户,用户组,其他。chmod751test.js#用户有读、写和执行权限,用户组有读和执行权限,其他用户有修改文件的执行权限。linux下修改文件主要使用vi或者vim。Vim是从vi发展而来的。最基本的命令是相同的。vim编辑器的命令非常强大,掌握最基本的就可以解决问题。#在编辑器中打开文件vimtest.txt。学习vim最重要的是掌握三种模式。普通模式:第一次进入编辑器时,是普通模式。在普通模式下,所有输入都被视为命令,立即执行,不会显示在终端上。.一般esc可以回到普通模式。编辑模式:在普通模式下按i进入编辑模式。可以在编辑模式下修改内容。命令模式:在普通模式下输入“shift”+“:”进入命令模式。在命令模式下,接受输入的命令并在终端显示,回车后生效。常用命令是,q退出,q!强制退出,w保存,wq保存并退出。搜索文件内容#第一个参数是正则表达式,第二个参数是一个文件grep"html"src/index.html#在目录中搜索时需要加上-R参数grep-R"var"./src#其他命令可以通过管道传递给grep命令来过滤结果ls-R./src|grep".test"searchfilename#列出src目录下的所有文件find./src#列出src目录下的文件名index.jsfilefind./src-nameindex.js#按正则模式过滤find./来源|grep'scss'复制或移动文件#基本文件复制cpa.txt./test/a.txt#复制目录时需要加上-R参数cp-R./src../test/src#大部分的时候,不需要文件copy,软链接也是一个选项,如果能用软链接就用软链接,开销小ln-s./bin/run.js~/.bin/run.js#搬afilemvabc.txt~/test/abc.txtSynchronizefilesacrossmachines#将本地文件同步到远程机器。与cp命令相比,只多了一个ipscp./conf/nginx.conf10.9.188.2:/opt/nginx/conf#反之,从远程同步到本地也是可以的10.9.188.2:/opt/nginx/conf/nginx.conf./conf#需要ssh登录时,请加上用户名scp./conf/nginx.confuser@10.9.188.2:/opt/nginx/conf#scp只能同步普通文件,rsync可以同步文件夹,是增量同步#-a表示保持文件属性不变,-v显示进度信息,-z传输时压缩rsync-avzlogs/10.9.166.19:/data/users/liwei/logs#rsync也支持方向同步rsync-avz10.9.166.19:/data/users/liwei/logs./logs查看进程id#找出内存中的所有进程,结果显示可以看到pid,user,启动命令和其他信息,grep用于过滤psaux|grepnode#kill进程killpid#强杀进程kill-9pid查看端口占用情况#-a显示所有选项,-p显示建立相关链接的进程序列名#显示程序名后,可以用前面的方法查找pidnetstat-ap|grep9000Sendanhttprequest#-X可以设置请求方式,GETPOSTPUTDELTE...,-i可以打印返回头curl'http://cn.bing.com'-XGET-i#-H可以设置请求头curl'http://cn.bing.com/'-H'Customer-Header:helo'#-d可以设置请求bodycurl'http://cn.bing.com/'-d'a=1&b=2'capturepackets#-c表示捕获多少个包并停止,可以默认是源地址还是目的地址#可以通过逻辑运算符连接和或不连接#-w可以将抓包结果写入文件sudotcpdump-c100-ieth0dsthost10.9.96.32-wtest.cap对于http请求,tcpdump的可读性比较差。可以把抓包结果写入文件,下载到本地用wireshark查看,一目了然。