资讯专栏INFORMATION COLUMN

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

Stardustsky / 3089人阅读

摘要:大部分前端应用都部署在上,若想全局住一个项目,命令是一项必不可少的技能。编辑器命令非常强大,掌握最最基本的就可以解决问题了。命令模式下接受命令输入且显示在终端,回车生效。常见的命令有,退出,强制退出,保存,保存并退出。

大部分前端应用都部署在linux上,若想全局hold住一个项目,linux命令是一项必不可少的技能。许多前端对linux命令并不重视,其实这是一个学习性价比非常高的知识点,没有太多需要理解的地方,大部分靠“记忆+使用”即可掌握,掌握后可解决许多问题,也能提高日常效率,还能成为面试的加分项。
linux命令非常多,有时参数也挺复杂,全部学习挺枯燥,本文主要从实际的场景和问题出发,总结几条常用的命令,希望能对大家学习linux有所帮助。

查看文件

# 首先要学会查看文件属性
ls -l

# 目录递归的查询
ls -Rl

显示结果如上图。第一列十个字符,第一个表示文件类型(-为文件,d为目录,l为软链),后九位分三组,分别代表用户、用户组、其他用户对文件的的读(r)写(w)执行(x)权限;第二列表示文件数;第三列表示所属用户;第四列表示所属用户组;第五列表示文件大小;第六七八列分别表示文件最后修改的月、日、时间;最后一列为文件名。

查看文件内容有许多命令,如下:

# 查看一个文件的内容
cat a.txt

# cat支持多个文件连接显示,并可输出到文件
cat a.txt b.txt > c.txt

# tac就是cat反过来写,作用和cat相反,是从末尾开始向前显示
tac a.txt

# tail只显示文件的最后若干行,-n 指定显示的行数
tail test.log -n 100

# 实时显示内容,看日志时非常有用
tail test.log -f

修改文件所有者

# 同时修改用户和用户组
chown zhangsan:app

# 只修改用户
chown zhangsan

# 只修改用户组
chown :app

修改文件权限

# 权限主体有三种,用户(u)、用户组(g)、其他(o),权限有读(r)、写(w)、执行(x)三种
# +表示赋予权限,-表示回收权限
chmod ug+rw test.js # 给用户、用户组赋予读写权限

# 递归改变目录需加-R
chmod -R go-wx ./src # 回收用户组和其它的写和执行权限

# 数字表示法也比较常用。4:读,2:写,1:执行,其和可组合出所有权限。数字是三位数,对应三个主体,用户、用户组、其他。
chmod 751 test.js # 用户具备读写执行权限、用户组具备读和执行权限、其他用户具备执行权限

修改文件

linux下修改文件主要用vi或vim,vim是vi发展过来的,最基本的命令是一样的。vim编辑器命令非常强大,掌握最最基本的就可以解决问题了。

# 在编辑器里打开文件
vim test.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" 

搜索文件名

# 列出src目录下的所有文件
find ./src

# 列出src目录下文件名为index.js的文件
find ./src -name index.js

# 通过正则过滤
find ./src | grep "scss"

复制或移动文件

# 基本的文件复制
cp a.txt ./test/a.txt

# 复制目录时需加-R参数
cp -R ./src ../test/src

# 大多时候不需要文件copy,软链也是一种选择,能用软链就用软链,开销小
ln -s ./bin/run.js ~/.bin/run.js

# 移动一个文件
mv abc.txt ~/test/abc.txt

跨机器同步文件

# 将本地文件同步到远程机器,相对于cp命令,就多了一个ip而已
scp ./conf/nginx.conf 10.9.188.2:/opt/nginx/conf

# 反之从远程向本地同步亦可
10.9.188.2:/opt/nginx/conf/nginx.conf ./conf

# 需要ssh登录时,请加上用户名
scp ./conf/nginx.conf user@10.9.188.2:/opt/nginx/conf

# scp只能同步普通文件,rsync能同步文件夹,而且是增量同步
# -a表示保持文件的属性不变,-v显示进度信息,-z传输中进行压缩
rsync -avz logs/ 10.9.166.19:/data/users/liwei/logs

# rsync同样支持方向同步
rsync -avz 10.9.166.19:/data/users/liwei/logs ./logs

查看进程id

# 查出所有在内存中的进程,结果显示可看到到pid,用户,启动命令等信息,grep用作筛选
ps aux | grep node

# 杀进程
kill pid
# 强杀进程
kill -9 pid

查看端口占用

# -a显示所有选项,-p显示建立相关链接的程序名
# 显示出程序名之后就可使用前面的方法找到pid
netstat -ap | grep 9000

发个http请求

# -X 可设置请求方法,GET POST PUT DELTE ...,-i能打印返回头
curl "http://cn.bing.com" -X GET -i

# -H 可设置请求头
curl "http://cn.bing.com/" -H "Customer-Header: helo"

# -d 可设置请求body
curl "http://cn.bing.com/" -d "a=1&b=2"

抓包

# -c表明抓多少个包就停止,可以缺省
# -i指定网络设备
# host 指定ip地址
# port 指定端口
# src|dst 限定host、port是源地址还是目标地址
# 可以通过逻辑运算符链接 and or not
# -w 可以把抓包结果写到文件
sudo tcpdump -c100 -i eth0 dst host 10.9.96.32 -w test.cap

对于http请求,tcpdump的可读性比较差。可以将抓包结果写到文件后,下载到本地用wireshark查看,一目了然。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10164.html

相关文章

  • 前端应该掌握linux命令工具

    摘要:大部分前端应用都部署在上,若想全局住一个项目,命令是一项必不可少的技能。编辑器命令非常强大,掌握最最基本的就可以解决问题了。命令模式下接受命令输入且显示在终端,回车生效。常见的命令有,退出,强制退出,保存,保存并退出。 大部分前端应用都部署在linux上,若想全局hold住一个项目,linux命令是一项必不可少的技能。许多前端对linux命令并不重视,其实这是一个学习性价比非常高的知识...

    tuantuan 评论0 收藏0
  • Java开发人员必须掌握两个Linux魔法工具(四)

    摘要:而今天我们也要学会使用魔法棒工具来施展我们的魔法。魔法地图一魔法清单备忘录工具作弊允许在命令行上创建和查看交互式备忘单。存储在目录中,并以每个关键字的方式命名。 子曰:工欲善其事,必先利其器。 做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开! 学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解知识或者技术,让学习之旅充满乐趣,这就是写...

    Cristic 评论0 收藏0
  • 学习软件测试关键地方80%人都不清楚

    摘要:所以要想做好中级软件测试工程师,第一步就是能够完成接口测试。通常情况下,接口测试最多还是使用工具来完成原因无他,高效。 想来我26岁才正式投身进入软件测试行业;通过...

    blastz 评论0 收藏0
  • 【三万粉丝终极福利】Python、C、Java三大语言学习路线资源整理

    摘要:今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了。还有对数组面向对象和异常处理等。语言学习路线一基础阶段技能树掌握脚本界面编程能力数据库基本爬虫多线程多进程开发能力,可以胜任基本的开发工作。 大家好,我是辣条。 今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了。 目录...

    GitChat 评论0 收藏0
  • 就因为Python自动化,那个天天摸鱼同事,他居然升职了!

    摘要:根据具体的自动化测试岗位来说的,不要觉得自动化测试是机构炒起来的,确实有它存在的必要。自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具脚本等来实现,具有良好的可操作性可重复性和高效率等特点。 当代的打工人真的太苦了! 每个月拿着几千块的工资,却为公司拼命,为老板赚钱; 天天9...

    laznrbfe 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<