现在de前端仔真厉害,这些 Linux 知识都懂

2,403 阅读8分钟

前言

大家好,我是虚竹,偶尔检验一下自己的功夫是否学到家,还得通过不断的吸取精华,才能输出美轮美奂的精彩实用好文。今天先来给大家讲一讲前端如何快速了解 Linux 服务器系统,并上手使用 Linux 命令的那些事儿。

我的座右铭:服务你我他,就是激励自己,成就自己。👈

最近跟服务器打交道特别多,用的都是 Linux 操作系统,对 Linux 很多命令有点陌生,因为以前很少用。不过现在我对命令的使用都是信手拈来,它不认识我,我可认识它。后续为了方便自己用,也方便大家快速查找,特地花了一丢丢时间用心梳理了一份 Linux 常用命令宝典,作为前端仔够用,后端凑合,运维欠妥。

想起自己刚接触这块东东的时候,前端开发完以一个项目后,上面要求自己动手部署(测试服、生产服),于是技术老大或运维同事会直接丢过来一台服务器,当时一脸懵逼,不知从何下手。只好在网上一顿查找各种资料照着操作后才搞定。虽然途中遇到过一些坑,但对新鲜玩意有了新的认识也学到不少知识。

要想练就上乘武功,先打好基本功是关键。建议看官们认真看一遍,然后把下面列举的命令自己都手动实操一次,收藏放进口袋,以备不时之需。

常见场景

  • 面试现场
  • 指导新人
  • 公司项目部署(前后端)
  • 个人项目部署(全栈)
  • 数据库部署
  • 智能合约部署
  • 底层区块链部署
  • 可以吹吹 NB😉

人员&程度

  • 前端工程师(基础)
  • 后端工程师(熟悉)
  • 全栈工程师(熟练)
  • 大前端工程师(熟练)
  • 区块链工程师(熟练)
  • 运维工程师(熟练)
  • 系统架构师(精通)
  • 数据库工程师(熟练)
  • 嵌入式工程师(精通)

远程连接服务器(针对前端)

  • Xshell(收费版)[1]
  • FinalShell(免费版)[2]

以前用过一段时间 Xshell 工具,还是不错的。后面由于要收费了,就改用免费版 FinalShell 工具,对于开发者来说已经够用了,所以我一直用到现在。当然如果你想要使用高级版,也不是不可,不差钱嘛。

安装成功后打开界面,如下图所示:

1.png

图形界面登录

2.png

3.png

4.png

5.png

SSH 登录命令

# -p 后面是指端口号
# root 表示服务器用户名
# 192.168.14.147 表示服务器IP
# 回车输入密码即可登录
ssh root@192.168.14.147 -p 22

6.png

系统目录结构

登录系统后,在当前命令窗口下输入命令:

ls /

你会看到如下图所示:

7.png

树状目录结构,如下图所示:

1.jpg

如需了解更多 Linux 详情,推荐大家看看 Linux 入门教程[3]

常用命令合集

下面给出一些常用命令针对前端小伙伴已经够用了。另外推荐一个 Linux 命令大全[4]快查网址,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。

目录切换命令

切换到指定目录

cd /usr

8.png

切换到上一层目录

cd .. 

9.png

切换到系统根目录

cd / 

11.png

切换到用户主目录

cd

10.png

切换到上一个所在目录

cd -

12.png

目录操作命令(增删改查)

创建/删除空目录

mkdir 目录名

13.png

rmdir 目录名

14.png

ls 查看当前目录信息

# 建议使用简写
ls -l or ll # ll 是简写,以单位字节显示不含隐藏的所有文件和目录
ls -lh or ll -h # ll -h 是简写,以单位易读显示不含隐藏的所有文件和目录

15.png

# -A 同 -a,但不列出 "." (当前目录) 及 ".." (父目录)
ls -a # 显示包含隐藏的所有文件和目录
ls -al # 以字节单位显示包含隐藏所有文件和目录详情
ls -alh # 以单位易读显示包含隐藏所有文件和目录详情

16.png

17.png

查找目录

find 目录 参数
  • 列出当前目录及子目录下所有文件和文件夹:find .
  • /opt 目录下查找以.txt结尾的文件名:find /opt -name "*.txt"
  • 同上,但忽略大小写:find /opt -iname "*.txt"
  • 当前目录及子目录下查找所有以 .txt 和 .js 结尾的文件:find . \( -name "*.txt" -o -name "*.js" \)find . -name "*.txt" -o -name "*.js"

49.png

48.png

目录移动/改名

mv 原目录名 新目录名/目录新位置

18.png

复制目录

# cp 命令可以拷贝目录、文件、压缩包等,另外拷贝文件和压缩包不用带 -r
cp -r 目录名 目录拷贝的目标位置 # -r 代表递归拷贝

19.png

删除目录

# -rf 强制删除,请谨慎使用
# -r 递归删除所有目录和文件
rm -r[f] 目录/文件/压缩包

20.png

文件操作命令(增删改查)

新建文件

touch 文件名

21.png

查看文件内容

cat 文件名

22.png

文件移动/改名

mv 原文件名 新文件名/文件新位置

25.png

修改文件内容

vim 文件名

vim 文件 -> 进入文件 -> 命令模式 -> 按 i / a 进入编辑模式 -> 编辑文件 -> 按 Esc 进入底行模式 -> 输入 :wq / :q!

注解:

  • 输入 wq 代表写入内容并退出即保存
  • 输入 q! 代表强制退出不保存

23.png

复制文件

cp -r 文件名 文件拷贝的目标位置

24.png

解压缩操作命令

tar 压缩文件

tar -zcvf 压缩后的文件 目标文件

26.png

tar 解压文件

tar -zxvf 压缩文件

27.png

zip 压缩文件

zip 压缩后的文件 目标文件

28.png

unzip 解压文件

unzip 压缩文件

29.png

如果 zip 不能用可以先下载 zip 安装包,安装命令如下:

yum install zip unzip

权限命令

查看当前文件/目录权限

ls -l or ll  # ll 简写

30.png

修改文件/目录权限

chmod 权限 目录/文件

46.png

  • 权限包含三种:w、r、x
  • 对于文件来讲,只需拥有 r 权限就可读取文件内容
  • 对于目录来讲,必须拥有 r、x 权限才能访问目录内容,只有 r 权限是没有意义的
  • root 用户不受任何权限限制

文末附上链接 chmod 命令详解[5]

47.png

文末附上链接,说明上图显示结果分析详解[6]

补充命令

显示当前工作目录

pwd

31.png

查找可执行的文件路径

which 查询目标

32.png

查看 Linux 系统版本命令

cat /proc/version # 查看 Linux 内核版本
cat /etc/redhat-release # 查看 CentOS 系统版本

34.png

查看进程状态

ps -ef|grep nginx 
or
ps aux|grep nginx

35.png

文件传输

curl url地址:端口号 # 返回HTML内容,表示抓取网页成功

curl 命令[7]功能很强大,如需了解更多详情,请查看文末链接。

37.png

查找文件中的关键字

grep "关键字" 文件名

38.png

清除屏幕

clear

查看实时日志

tail -f debug.log

39.png

端口号是否可访问

telnet 服务器IP 端口号

40.png

杀死进程

# 通过ps查找进程,获取PID
kill -9 pid # -9 表示强制终止

42.png

查看当前系统网卡信息

ifconfig

41.png

实时显示进程动态

top

top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。文末附上链接 top 命令详解[8]

45.png

检测是否与主机连通

ping 服务器IP/域名网址

44.png

查看端口号是否被占用

netstat -tunlp|grep 端口号

43.png

相关资源

结语

就写到这吧,作为一名新生代农民工这些基本技能都必须掌握的。当然这只是冰山一角,不同的岗位要求不一样。就如同文章开头说的使用人员及掌握程度,技能多不压身。如果觉得此文对你有一丁点帮助的话,请点赞鼓励一下,谢谢。

另外此文如有不妥之处,还请批评指正。愿与各位大虾们一起交流讨论,一起学习一起进步。

关注公众号【懒人码农】,获取更多项目实战经验及各种源码资源。如果你也一样对技术热爱并且为之着迷,欢迎加我微信【lazycode520】,将会邀请你加入我们的前端实战交流群一起创造更多 BUG,一起面向快乐编程~ 🦄