# 前端工程化Linux预备知识

# 操作系统概述

那些古老的操作系统 更适合工作和娱乐的windows 适合开发的Linux 非常好用的macOS

# 远程登录Linux系统

Windows系统下

  • putty
  • Xshell
  • 在Cmder终端环境下使用ssh命令

Linux和macOS系统下

  • ssh命令

# 强调重要Linux命令

  • 行编辑器 vi/vim
  • 服务管理命令 systemctl
  • 网络管理命令 ifconfig、ip命令、router
  • 命令行下载命令 curl、wget
  • 怎样查看Linux命令的帮助
  • 在终端下不小心 ctrl + s 了怎么办?

常用Linux终端快捷键

  • ctrl+c 结束正在运行的程序【ping、telnet等】
  • ctrl+d 结束输入或退出shell
  • ctrl+s 暂停屏幕输出
  • ctrl+q 恢复屏幕输出
  • ctrl+l 清屏,等同于Clear
  • ctrl+a/ctrl+e 快速移动光标到行首/行尾

# Linux进程与线程

# 进程、线程与协程

  • 进程的目的就是担当分配系统资源(CPU时间、内存)的实体
  • 线程是操作系统能够进行运算调度的最小单位
  • 协程是一种用户态的轻量级线程,无法利用多核资源。
  • IO密集型(输入输出外设,网络应用绝大多数都是IO密集型的)应用的发展: 多进程->多线程->事件驱动->协程
  • CPU密集型(以数据为主的操作)应用的发展:多进程->多线程
  • 调度和切换的时间:进程 > 线程 > 协程

# 进程与线程

操作系统的设计,可以归结为三点:

  1. 以多进程形式,允许多个任务同时运行;
  2. 以多线程形式,允许单个任务分成不同的 部分运行;
  3. 提供协调机制,一方面防止进程之间和线 程之间产生冲突,另一方面允许进程之间和 线程之间共享资源。

# 进程与线程的资源共享

图片

# Linux进程管理相关命令

  • top 命令详解 显示当前进程,类似任务管理器
  • ps 命令 详解 用来终止进程
  • kill、pkill 命令及使用注意事项 杀死进程
  • w 命令 管理用户的动态状态

# Linux网络管理

  • 查看和配置网络基本信息 ifconfig、ip
  • 重启网卡
  • 查看路由配置 router
  • 排查网络故障 tracerout
  • 怎样找到占用网络端口的进程
  • ss命令、netstat命令

# 免密登陆

  1. 生成秘钥对 ssh-keygen -t rsa -C "你自己的名字" -f "你自己的名字_rsa"
  2. 上传配置公钥 上传公钥到服务器对应账号的home路径下的.ssh/中 ( ssh-copy-id -i "公钥文件名" 用户名@服务器ip或域名 ) 配置公钥文件访问权限为 600
  3. 配置本地私钥 把第一步生成的私钥复制到你的home目录下的.ssh/ 路径下 配置你的私钥文件访问权限为 600 chmod 600 你的私钥文件名 在登录的时候带上私钥名就可以免密登录了
ssh -i CIserver_rsa root@198.13.35.181
1
  1. 免密登陆功能的本地配置文件 编辑自己home目录的.ssh/ 路径下的config文件 配置config文件的访问权限为 644
# 多主机配置
Host gateway-produce
HostName IP或绑定的域名
Port 22
Host node-produce
HostName IP或绑定的域名
Port 22
Host java-produce
HostName IP或绑定的域名
Port 22

Host *-produce
User root
IdentityFile ~/.ssh/produce_key_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

#单主机配置
Host evil-cloud
User root
HostName IP或绑定的域名
IdentityFile ~/.ssh/evilboy_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

#单主机配置
Host git.yideng.site
User git
HostName IP或绑定的域名
IdentityFile ~/.ssh/evilboy_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42