前端必备Linux基础

前端必备Linux相关知识

操做系统的概述

  • 适合工做和娱乐的windows
  • 适合开发的Linux 、Unix 内核为 kernel
  • 很是好用的 macOS
  • linux 相关的发行版本 | CentOS redhat | Fedora Debian ubuntu |

远程连接服务器

利用 Cmder前端

ssh root@192.168.x.x 第一次登陆 记得保存指纹文件linux

~ 表明 home目录 @ 以前是当前登陆用户名 @ 以后是服务器名字nginx

重要的 Linux命令

  • 行编辑器 vi/vim
    i 切换 插入模式
    esc 退回浏览模式
    : 变成命令状态
    q 退出
    w 写入保存
    :wq! 强制保存退出
    /xx 查找 n 下一个算法

  • 输入法 i - bus
    查看 catshell

  • 服务管理命令 systemctl mac下 launchctl
    查看nginx状态 systemctl status nginx 开启nginx服务 systemctl start nginx
    关闭服务 kill pid 要杀掉主进程(master) 不要杀掉工做进程(worker 受到保护) | pkill -9 pid 必须退出 筛选 ps aux | grep nginxubuntu

  • 网络管理命令 ifconfig 、 ip命令、 router linux 命令下 ip addr 查看ip地址 ifconfig ip后面那个 / 后面 是子网掩码 24 表明 255.255.255.0 mac命令下没有ip命令vim

  • pc aux 查看进程windows

  • ss -anp | grep 80 查看80端口 -a 全部的信息 -n 网络 -p 查看进程信息api

  • 下载命令 curl wgetbash

  • man 手册

经常使用Linux终端快捷键

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

进程、线程、携程

  • 进程的目的就是担当分配系统资源(CPU时间、内存)的实体
  • 线程是操做系统可以进行运算调度的最小单位
  • 协程是一种用户态的轻量级线程,没法利用多核资源。

操做系统内核提供的api 调度 进程和线程

一个进程里面至少有一个线程

Linux免密远程登陆

非对称加密

  1. 生成密钥对 ssh-keygen -t rsa -C "你本身的名字" -f "你本身的名字_rsa" -t 指定加密算法 通常用 rsa -C 须要嵌入密钥的自定义名字 注意 须要加双引号 -f 生成的密钥的密钥文件名字

    回车 提示你 要不要给密钥文件加密码 别给它加密码 不然你仍是无法实现免密登录

    生成两个文件 没有后缀的是 私钥 有后缀的是公钥 xxx.pub

  2. 上传配置公钥 上传公钥到服务器对应帐号的home路径下的 .ssh/ 中 (ssh-copy-id -i "公钥文件名" 用户名@服务器ip或域名) 检查 公钥文件权限 是否为 600

    -i 指定密钥

  3. 配置本地私钥 把第一步生成的私钥复制到你的home目录的 .ssh/路径下 检查你的私钥文件权限是否为 600 若是不是 chmod修改权限

  4. 免密登录功能的本地配置文件 修改 .ssh/config 配置文件 若是没有 config文件 touch config新建一个 而后检查config文件是否为 644

    #单主机配置

    Host 主机别名

    User 登录身份

    HostName 服务器IP或绑定的域名 不能带协议

    IdentityFile ~/.ssh/私钥文件名 私钥的路径 ~表明当前目录的home 目录 剩下 照抄

    Protocol 2 协议版本
    Compression yes
    ServerAliveInterval 60
    ServerAliveCountMax 20 LogLevel INFO

    #多主机配置

    Host a-produce

    HostName IP或绑定的域名

    Port 22

    Host b-produce

    HostName IP或绑定的域名

    Port 22

    Host c-produce

    HostName IP或绑定的域名

    Port 22

    Host *-produce

    User 登录身份

    IdentityFile ~/.ssh/私钥文件

    Protocol 2

    Compression yes

    ServerAliveInterval 60

    ServerAliveCountMax 20

    LogLevel INFO

常见目录

  • /boot 系统引导文件
  • /etc 存放系统管理理和配置⽂文件
  • /home 存放全部用户文件的根目录,是⽤户主目录的基点,⽐如用户user的主目录就 是/home/user,能够⽤~user表示
  • /proc 虚拟⽂件系统⽬录,是系统内存的映射。可直接访问这个目录来获取系统信息。
  • /root root用户的专用home
  • /bin 存放⼆二进制可执⾏行行⽂文件(ls,cat,mkdir等),常⽤用命令⼀通常都在这⾥。
  • /usr 用于存放系统级的应用程序
  • /opt 额外安装的可选应用程序存放位置
  • /dev 用于存放设备文件

命令基本格式

  • [root@xiaoming ~]

    • root 当前登陆⽤户
    • xiaoming 主机名
    • ~ 当前工做目录,默认是当前用户的home目录,root就是 /root,普通用户是 /home/用户名
    • 提示符 超级用户是# ,普通用户是$
  • 命令格式 命令 [选项] [参数]

    • 例如 ls -al *.ini
  • d rwx r-x r-x

    • d 表明文件类型
    • 第一组 对应文件全部者权限
    • 第二组 对应全部者所在的用户组权限
    • 第三组 对应其余用户权限
    • 421 掩码标识
    • chmod +r +x +w 用户名 / chmod 755 目录名 -R

文件搜索命令

  • locate

  • 用文件名查找文件

  • whereis

  • 搜索命令所在路径

  • find

    • 文件搜索命令
    • find [搜索范围] [搜索条件]
  • 软链接 硬连接

    • 软链接 至关于 windows的快捷方式
    • 硬连接 文件节点 指向的文件删掉 硬连接就消失了
  • top 查看内存

压缩与解压缩命令

  • zip格式

    • 压缩文件 zip 压缩文件名 源文件
    • 压缩目录 zip -r 压缩文件名 源文件
    • 解压 unzip 压缩文件名
  • gzip格式

    • gzip 源文件 //压缩为。gz格式的压缩文件,源文件会消失
    • gzip -c 源文件 > 压缩文件 //压缩为.gz格式的压缩文件,源文件不会消失
    • gzip -r 目录 //压缩目录下的全部子文件 ,可是不压缩目录
    • gzip -d 压缩文件名 //解压缩文件,不保留压缩包
    • gunzip 压缩文件 // 解压缩文件,不保留压缩包
  • bz2格式

    • bzip2 源文件 //压缩为 .bz2格式的文件,不保留源文件
    • bzip2 -k 源文件 //压缩为 .bz2格式的文件,保留源文件
    • bzip2 -d 压缩文件名 //解压压缩包
    • bupzip2 压缩文件名 //解压压缩包
  • tar 命令

    • 打包命令
    • tar -cvf 打包文件名 源文件
      • -c 打包
        复制代码
      • -v 显示过程
        复制代码
      • -f 指定打包后的文件名  
        复制代码
      • -x  解打包
        复制代码

关机和重启命令

  • shutdown
    • -c 取消前一个关机命令
      复制代码
    • -h 关机
      复制代码
    • -r 重启
      复制代码

shutdown now -p // now 马上立刻 -p 断电指令

  • logout //退出终端
  • exit

用户管理命令

  • w //查看登陆用户信息
  • who //跟w差很少
  • last //查看当前登陆和过去登陆的用户信息 默认读取 /var/log/wtmp 文件
  • lastlog //查看全部⽤户的最后⼀次登陆时间
  • lastb //显示全部登录失败的纪录

shell脚本

  • 第一行固定的格式 #!/bin/sh
  • alias rm="rm -i" //设置别名 只对当前终端有效
  • source ~/.bashrc 设置永久别名
  • unalias 别名 删除别名
相关文章
相关标签/搜索