系统服务

压缩解压

  • zip/unzip,文件后缀为 zip

    1
    2
    压缩:zip 123.zip *.txt
    解压:unzip 123.zip
    常见参数 释义 示例
    -q 不显示指令执行过程 zip -q 123.zip *.txt
    -r 递归处理,将指定目录下的所有文件和子目录一并处理 zip -r 123.zip 123
    -d 从压缩文件内删除指定的文件 zip -d 123.zip 1.txt
    -F 尝试修复已损坏的压缩文件 zip -F 123.zip
    -h 在线帮助 zip -h
  • gzip/gunzip,文件后缀为 gz

    1
    2
    3
    压缩:gzip 1.txt 会生成1.txt.gz
    解压:gunzip 1.txt.gz
    解压:gzip -d 1.txt.gz
  • bzip2/bunzip2,文件后缀为 bz2

    1
    2
    3
    压缩:bzip2 1.txt			会生成1.txt.bz2
    解压:bunzip2 1.txt.bz2 添加'-k'选项可以保留压缩包
    解压:bzip2 -d 1.txt.bz2

    以上三种只能压缩单文件,并且不能压缩文件夹

  • tar:打包解包工具,后缀为 tar

    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
    选项:
    -c:创建新文件
    -x:解包
    -t:查看(不解包)
    说明:以上三个选项不能同时使用
    -f:指定操作文件
    -v:显示详细信息
    -z:调用zip/gunzip进行压缩解压
    -j:调用bzip/bunzip进行压缩解压
    -c:指定解压位置
    --exclude:排除指定文件

    示例:
    tar -cvf 12.tar *.txt # 将1.txt、2.txt打包成12.tar
    tar -tf 12.tar # 查看包内容
    tar -Vxf 12.tar # 解包12.tar文件
    tar -zcvf 12.tar.gz 12.tar # 调用gzip进行压缩
    tar -jcvf 12.tar.gz 12.tar # 调用bzip2进行压缩
    tar -zcvf 12.tar.gz *.txt --exclude # 打包压缩除3.txt以外的所有文件

    tar -zxvf 12.tar.gz # 解压
    tar -jxvf 12.tar.bz2 # 解压

    提示:
    .tar.gz 可以简写为:.tgz
    .tar.bz2 可以简写为:tbz2 或 .tbz

网络服务

  • ping检查网络连通性,‘-c’ 选项指定发送测试包的次数
  • ifconfig查看或设置网卡信息
  • ifup启动网卡
  • ifdown关闭网卡
  • 控制:server networking start | stop | restart

服务监测

  • netstat:

    • 查看网络端口占用情况
    • 使用:netstat -tunpl
  • free:

    • 作用:查看内存使用情况
    • 使用:free -h,-h 人性化查看大小
  • w:

    • 作用:查看当前正在做的事情,what 的意思
  • top:

    • 说明:w 的详细信息,3s 会刷新一次
    • 结果:
      1
      2
      3
      4
      5
      6
      第一行:与w相同
      第二行:任务信息
      第三行:CPU使用
      第四行:内存使用
      第五行:交换分区
      其他行:系统进程信息

进程管理

  • ps

    • 作用:查看进行信息
    • 使用:
      • ps -ef
      • ps -aux
    • 说明:经常在查询进程号的时候结合 grep 进行过滤
  • kill

    • 作用:杀死进程
    • 示例:kill -9 PID
    • 说明:强制杀死指定进程

防火墙(ufw)

  • 说明:简单版本的防火墙,底层依赖于 iptables
  • 安装:sudo apt-get install ufw
  • 查看状态:sudo ufw status
  • 开启 / 关闭:sudo ufw enable|disable
  • 默认允许 / 禁止:sudo ufw default allow|deny
  • 允许 / 禁止:sudo ufw allow|deny port/服务,如:sudo ufw alllow 5900
  • 删除规则:sudo ufw delete allow 5900

远程连接(ssh:22)

  • 说明:默认 Ubuntu 是没有 ssh 服务,需要手动安装
  • 安装: sudo apt-get install openssh-server
  • 控制:sudo service ssh start|stop|restart
  • 连接:putty | shell 工具,类 Unix 终端:ssh user@host
  • 设置 root 用户远程连接
    1
    2
    3
    4
    sudo vim /etc/ssh/sshd_config

    # PermitRootLogin prohibit-password
    PermitRootLogin yes

    修改完配置文件,需要重启服务:sudo service ssh restart

软件安装

  • apt-get 安装:无需考虑复杂的软件依赖关系

    • install安装
    • remove卸载软件包
    • update取回更新软件包的列表
    • upgrade进行一次更新
  • dpkg 安装:文件后缀为.deb,可能需要进行依赖包的安装

    • -i安装
    • -r卸载
    • -l查看软件包信息
    • -L查看软件包的安装位置
    • 示例:安装 WPS
      1
      2
      3
      4
      5
      6
      1.安装wps
      sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb
      2.安装字体库
      unzip wps_symbol_fonts.zip
      将字体库移动到/usr/share/fonts目录
      sudo mv *.ttf *.TTF /usr/share/fonts
  • 原码安装:需要对源文件进行编译

    • 安装步骤:
      • 配置:configure
      • 编译:make
      • 安装:make install
    • 命令执行:
      • cmd1;cmd2 # 执行完 cmd1 后,执行 cmd2,无论前面的命令成功与否
      • cmd1 || cmd2 # 先执行 cmd1,cmd1 执行失败才会执行 cmd2
      • cmd1 && cmd2 # 先执行 cm1,执行成功后才执行 cmd2
      • 示例:make && make install
    • 示例演示:安装 nginx
      • 解压软件压缩包:tar -zxvf nginx-1.13.7.tar.gz
      • 进入解压的目录:cd nginx-1.13.7
      • 编译前的配置:./configure --prefix=/usr/local/nginx
        • --prefix:配置安装目录
        • 配置出错多数是因为缺少相关的依赖库或者编译器
        • 如:sudo apt-get install gcc libpcre3-dev zlib1g-dev
      • 编译和安装:make && make install
        • 如果没有权限常见目录,切换到 root 用户
      • nginx 介绍
        • sbin/nginx:可执行程序,进入 sbin 目录,启动:./nginx
        • html:默认站点目录
        • 测试:在浏览器中输入 localhost,看到 welcome to nginx 即表示成功

管道及 xargs

  • |将前面命令的输出作为后面命令的参数。如:ls /bin | grep '^m'
  • xargs有些命令无法接受管道参数,可以通过 xargs 解决。如:find -name 2.txt | xargs rm -rf

重定向

  • 标准输入(stdin)、标准输出(stdout)、标准错误(stderr)
  • 在 Linux 中,创建任意进程,系统会自动创建上面三个数据流,其实就是三个文件
  • 三个文件的描述符分别是:0、1、2,都指向了终端
  • 重定向就是改变默认的表现位置。
  • 演示:
    1
    2
    3
    4
    5
    6
    7
    输出重定向:
    ls > 1.txt # 会新建文件,若文件也存在,会清空
    ls >> 1.txt # 追加到文件末尾,若文件不存在则创建
    错误重定向:
    ls /xxx 2> 1.txt # 将标准错误重定向到1.txt
    同时重定向输出和错误
    ls /xxx /home &> 1.tt # 将标准输出和错误同时重定向到1.txt