Skip to the content.

Linux 基本操作命令

打包、压缩、解压

.tar.gz 格式(.tar 是打包! .gz 是压缩!打包后的文件名:FileName;需要打包的文件夹:DirName)

.zip 格式(打包文件 file1、file2 和目录 dir,压缩为 file.zip)

上/下载命令 Curl

Wget 是大多数 * nix 系统中标准的命令行下载工具。 Mac OS 自带 Curl 下载 Chrome 的例子:

curl -O https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg

url 重定向链接:

curl -L -o 'file.zip' 'http://example.com/download.php?fileID=foo'

上传文件到远程 ftp:

curl -T wordpress.zip ftp://root:123456@jandou.com/home/wwwroot/

上传文件到远程 sftp:

curl -T data.tar.gz -u root sftp://jandou.com

远程拷贝、上传

scp root@jandou.com:../home/wwwroot/ss.jandou.com.tar.gz ~/Desktop
scp -r public(本地) root@jandou.com:../home/wwwroot/note.jandou.com

出现错误` public: not a regular file `不能成功传送,解决方案:

有可能服务器没权限 ` chmod 777 ` ,在使用 scp 时加上 `-r ` 参数即可

VI/VIM 相关命令

:w 保存文件但不退出 vi :w file 将修改另外保存到 file 中,不退出 vi :w! 强制保存,不推出 vi :wq 保存文件并退出 vi :wq! 强制保存文件,并退出 vi :q 不保存文件,退出 vi :q! 不保存文件,强制退出 vi :e! 放弃所有修改,从上次保存文件开始再编辑

i 进入编辑模式 d 非编辑模式,双击 d ,删除整行

杀死一个进程 kill / killall

killall -9 networkd ( -9 参数强制杀死该进程,这个信号不能被捕获也不能被忽略。另有其他参数,如 -15 使进程需要被关闭,请自行停止运行并退出。)

网络の管理

ifconfig

查看物理网卡等信息

这个命令很简单,直接执行: ifconfig

网卡的物理地址的动态重置

例如 00:1f:3c:93:b5:99,可执行: ifconfig en1 ether 00:1f:3c:93:b5:99

iftop 监控网卡的实时流量

 iftop 画面截图

iftop 基本操作命令详解

lsof 查看当前系统文件的工具

列出网络连接信息,并筛选出tcp协议,且端口为8090的连接。

lsof -i tcp:8090

列出某个用户(root)的所有活跃的网络端口

lsof -a -u root -i

有关于 lsof 的详解…

SSH 远程连接

巧用 SSH 做简单代理

连接 172.25.47.49 服务器,并使本地 6088 端口的数据走 Socks 5 代理到服务器网络 ssh -D 6088 root@172.25.47.49

文件(夹)操作

进程守护

  1. screen 进程守护,来源  http://www.cmsky.com/shadowsocks-manyuser-sspanel/

    screen -S ss
    cd /root/shadowsocks/shadowsocks/
    python servers.py
    

    恢复执行:

    screen -r ss
    
  2. supervisor 进程守护

    • 首先安装 supervisor

      默认安装了 pip , 如果没安装过,不同平台参考下面命令安装:

      $ sudo apt-get install python-pip  # For Debian/Ubuntu
      $ sudo yum install python-pip      # For CentOS
      

      安装 supervisor 命令:

      $ pip install supervisor
      
    • 创建 supervisor 配置文件
      # 输出至 supervisor 的默认配置路径。
      # 我没有放在默认位置,我放在 /root/shadowsocks 文件夹里的!
      $ echo_supervisord_conf > /etc/supervisord.conf
      
    • 在 supervisord.conf 所放目录下运行 supervisor 服务
      # $ [root@zhuziyi shadowsocks]# supervisord
      $ supervisord
      
    • vim 配置 supervisor 以监控 ss-manyuser 运行(或者 vi 命令)
      $ vim /etc/supervisord.conf
      
    • 在文件尾部(当然也可以新建配置文件,不过这样比较方便)添加如下内容并酌情修改:

      [program:ss-manyuser]
      command = python /root/shadowsocks-rm/shadowsocks/servers.py
      user = root
      autostart = true
      autorestart = true
      

      其中 command 里的目录请自行修改为你的 servers.py 所在的绝对路径。

    • 重启 supervisor 服务以加载配置

      $ killall -HUP supervisord
      
    • 查看 shadowsocks-manyuser 是否已经运行:

      $ ps -ef | grep servers.py
      
    • 可以通过以下命令管理 shadowsock-manyuser 的状态
      $ supervisorctl {start|stop|restart} ss-manyuser
      

    参考:https://prinzeugen.net/build-shadowsocks-sharing-site-with-ss-panel/

  3. 在命令后面加上一个 & 符号,表示该命令放在后台执行

    • fg(foreground)命令:将后台进程 调到前台
    • bg(background)命令:将一个在后台暂停运行的命令,变成继续在后台执行的命令。
    • Ctrl + Z 命令:将一个正在前台执行的命令放到后台,并且暂停
    • Ctrl + C 命名:结束前台进程
    • 用 jobs 查看进程的 jobnumber,然后用命令:kill %n 来结束。
    • 用 PS 查看进程的 pid,然后用命令:kill pid 来结束。
  4. pm2 管理

LNMP 相关软件安装目录

Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/

可使用命令 which nginx 可返回 Nginx 所在目录。

本文相关资料