美文网首页
20181204前端工程化Linux预备知识

20181204前端工程化Linux预备知识

作者: PixelEyes | 来源:发表于2018-12-04 23:12 被阅读0次
1. 操作系统概述
2. 远程登录Linux系统
3. 强调重要Linux命令
4. Linux进程与线程
5. Linux网络的坑
6. 免密登录
  • 操作系统概述
    操作系统种类分为 Unix和"类Unix"
    Unix,Linux,OSX,Windows,Androd
    Linux:ubuntu,CentOS,redhat,Fedora,Debian
    安装CentOS=> Minimal ISO

Windows下使用命令行工具: cmder
Cmder终端环境下使用ssh命令
官方网站: http://cmder.net/
下载地址: https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip
远程登录: ssh root@192.168.1.164

$ ssh root@192.168.1.20

修改host, hostnamectl -h帮助信息

$ hostnamectl set-hostname XXXX
常用Linux命令

行编辑器: vi/vim

$ ll //查看目录
$ ls //查看目录
$ vi
$ vim
$ sudu vi 
$ q //退出
$ q! //不保存退出
$ export PATH=xxxxx //加入到全局路径 (这个不确定是不是这么写)

服务管理命令: (systemctl [start stop restart enable disable] 服务名称)

$ systemctl //显示所有服务
$ systemctl start mysqld //启动mysql服务(mysql服务名称是mysqld,后面带个d代表守护进程)
$ systemctl start httpd //启动apahe
$ systemctl start nginx  //启动nginx
$ systemctl restart nginx  //重新启动nginx
$ systemctl stop nginx  //停止nginx
$ systemctl disable nginx  //禁用nginx (操作系统启动时,不跟着启动)
$ systemctl enable nginx  //禁用nginx

命令行下载命令 curl,wget
CentOS下安装wget命令是yum
ubuntu是apt或apt-get

$ yum install wget //CentOS下安装wget命令是yum,ubuntu是apt-get
$ wget https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip //下载cmder
$ curl https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip -o xxxxname //下载cmder并重命名为xxxxname

curl 功能更强大

Linux下查看帮助

$ man curl  //查看帮助信息

在终端下不小心ctrl+s 了怎么办?
意思是暂停终端,sleep 按ctrl+q 退出挂起

常用Linux终端快捷键
ctrl+c 结束正在运行的程序
ctrl+d 结束输入或者退出shell
ctrl+s 暂停屏幕输出(相当于挂起)
ctrl+q 退出暂停屏幕输出
ctrl+l 清屏(clear)
ctrl+a 移动光标到行首
ctrl+e 移动光标到行尾

进程、线程与协程

  • 进程的目的就是担当分配系统资源(cpu时间,内存) 的实体
  • 线程是操作系统能够进行运算调度的最小单位
  • 协程是一种用户态的轻量级线程,无法利用多核资源
  • IO密集型应用的发展: 多进程 -> 多线程 -> 事件驱动 -> 协程
  • CPU密集型应用的发展: 多进程 -> 多线程
  • 调度和切换的时间: 进程>线程>协程

sshd->shell->ping
ssh服务登录到远程服务器,利用shell拉起一个ping命令
ps aux | grep mariadb
kill pid
Linux进程管理相关命令

$ top
$ ps
$ kill -9 // 9 强制退出进程
$ pkill mysqld //退出名字中带有mysql的进程
$ w //查看当前系统上谁在登录

Linux网络管理

  • ifconfig
  • ip 查看
  • traceroute 排查网络故障
  • 查看网络端口占用进程
$ ifconfig  //查看网络配置
$ ip 
$ ip addr
$ ip route
$ traceroute www.baidu.com  //追踪路由
$ ip addr //查看有几个网卡
$ ifup eth0 //启动显卡
$ ifdown  //关闭显卡
$ netstat -h //
$ ss -anp | grep 80 //ss选择出使用80端口的进程
$ netstat -anp | grep 80 //netstat选择出使用80端口的进程
pixel@ubuntu:~/Desktop/workspace/koatest$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:b5:2b:fe brd ff:ff:ff:ff:ff:ff
    inet 192.168.79.130/24 brd 192.168.79.255 scope global dynamic noprefixroute ens33
       valid_lft 1322sec preferred_lft 1322sec
    inet6 fe80::b5eb:2ef6:2e83:d647/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
pixel@ubuntu:~/Desktop/workspace/koatest$  ifup ens33 //启动网卡

Linux免密远程登录 (重点必须掌握)
免密登录的原理
配置免密登录的步骤

  • 1.生成密匙对
  • 2.上传配置公钥
  • 3.配置本地私钥
  • 4.免密登录功能的本地配置文件

1.生成秘钥对

  • $ ssh-keygen -t rsa -C '名字' -f '名字_rsa'

2.上传配置公钥

  • 上传公钥到服务器对应账号的home路径下的.ssh/中 (ssh-copy-i "公钥文件名" 用户名@服务器IP或域名)
  • 配置公钥文件访问权限为600(-rw-r--r--),根用户可读可写,后面其他不可写 600/622
    公钥会保存到服务器authorized_keys文件中

3.配置本地私钥

  • 把第一步生成的私钥复制到你的home目录下的.ssh/ 路径下
  • 配置你的私钥文件访问权限为600
  • chmod 600 你的私钥名称

//-f:输出的文件名字
//-t:

pixel@ubuntu:~/Desktop/workspace/koatest$ ssh-keygen -t rsa -C "david" -f "david_rsa"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in david_rsa.
Your public key has been saved in david_rsa.pub.
The key fingerprint is:
SHA256:/ix+8ZQQIqbCimVSbGgdBXASJTj58u7LBBGMyuSVL+U david
The key's randomart image is:
+---[RSA 2048]----+
|=O===.           |
|*=B+ .o . .      |
|B*. +o . . .     |
|++*..E    .      |
|oB ..   S  . .   |
|o..    .  . o    |
| ..     .  +     |
| o.     .o. .    |
| .+.   ..oo      |
+----[SHA256]-----+
pixel@ubuntu:~/Desktop/workspace/koatest$ 
cat authorized_keys


ssh -i 名字_rsa root@192.168.1.20 //配置免密登录脚本的时候,要这样写
scp //远程上传
scp -i 名字_rsa /filename root@192.168.1.20:/ //将公钥文件上传到远程服务器的根目录

$ ssh -i 名字_rsa root@192.168.1.20 
$ scp -i 名字_rsa /filename root@192.168.1.20:/  

4 免密登录功能的本地配置文件

image.png

相关文章

网友评论

      本文标题:20181204前端工程化Linux预备知识

      本文链接:https://www.haomeiwen.com/subject/jgivcqtx.html