服务器、常用软件的基本命令介绍。
# Linux基本命令
// 基本
$ cat /etc/issue // 查看系统版本
$ lsb_release -a // 查看系统版本
$ df -hl // 查看磁盘信息
// 操作文件
$ ls // 查看
$ mkdir folderName // 新建文件夹
$ touch fileName // 新建文件
$ cd folderName // 进入
$ rm -fr fileName // 删除
$ pwd // 打印当前路径
$ mv folderName1 folderName2 // 重命名
`注:folderName2存在则覆盖,文件名是folderName1,否则重命名为folderName2,同时移动所有文件`
$ cp -r /tmp/a /root/a // 复制文件
// 查看系统状况
$ ps -aux | grep name // 查看进程
$ netstat -apn // 查看所有端口
$ netstat -apn | grep 8080 // 查看精确端口
$ kill 32102 // 关闭进程(进程PID)
$ which nohup // 查看命令绝对路径
$ nohup xxxx & // 后台运行
// 查看服务
$ systemctl list-units --type=service // 查看所有服务状态
$ systemctl list-units --type=service --state=exited // 查看所有退出状态的服务
$ systemctl status xxxx // 查看某个服务详细
$ systemctl start xxxx // 启动某个服务
$ systemctl restart xxxx // 重启某个服务
// 排查病毒
$ top // 查看使用率最高CPU
$ ps -ef | grep xmrig // 查看病毒进程
$ kill -9 PID // 关闭病毒进程
$ ls -l /proc/进程ID/exe // 查看病毒进程路径
$ find / -name xmrig // 查找病毒文件
$ rm -rf xmrig // 删除病毒文件
$ chattr -i /etc/passwd /etc/shadow // 取消文件只读
$ sudo passwd root // 修改root密码
// 查看corntab日志
$ grep CRON /var/log/syslog // 查看日志
$ tail -f /var/www/shop/api/storage/logs/2024-10-10-laravel.log // 查看日志
// 磁盘相关
$ df -h // 查看系统磁盘使用情况
$ find / -size +100M |xargs ls -lh // 查找大于50M的文件
$ sudo journalctl --vacuum-size=500M // 清理日志
$ lsof | grep delete // 查看被删除的占用文件
// 重启占用log的程序
$ systemctl restart shop-horizon.service
$ find / -iname *.txt // 查找以.txt结尾的文件,不许分大小
$ find / -iname *.txt -a -iname "a*" // 查找以a开头和以.txt结尾的文件
$ find / -iname *.txt -a -iname "a*" -fprint /a.txt // 查找以a开头和以.txt结尾的文件并输出到a.txt
$ cat /dev/null > /opt/git/error.log // 清空文件
$ echo > /opt/git/error.log // 清空文件
$ docker builder prune --filter "until=72h" // 清理72小时前的构建缓存
$ du -sh /var/lib/docker/containers/ // 查看文件夹大小
$ ps -aux | grep -v grep | grep [PID] // 通过PID查看是哪儿个服务
# 压缩
$ tar -cvf [文件名].tar [文件目录] // 压缩成.tar格式,压缩率最低,速度最快
$ tar -xvf [文件名].tar -C [文件目录] // 解压.tar文件到指定目录,目录必须存在
$ tar -zcvf [文件名].gz [文件目录] // 压缩成.gz格式,压缩率适中
$ tar -zxvf [文件名].gz -C [文件目录] // 解压.gz文件到指定目录,目录必须存在
$ tar -jcvf [文件名].bz2 [文件目录] // 压缩成.bz2格式,压缩率最高,速度最慢
$ tar -jxvf [文件名].bz2 -C [文件目录] // 解压.bz2文件到指定目录,目录必须存在
$ tar -jcvf app.bz2 -C /home/ app // 压缩app文件夹
$ tar -jxvf app.bz2 -C /home/ // 解压app.bz2文件到/home文件夹下
$ tar -jxvkf app.bz2 -C /home/ // 不覆盖解压
$ tar -jcvf example.bz2 example --exclude=example/temp // 不包含temp 文件夹
# 传输文件
$ scp home.bz2 root@1.13.8.160:/home/ // 传输本服务器home.bz2文件到远程服务器的/home文件夹下,-r 参数传输文件夹,-v 参数显示详情
# 下载ftp文件
$ wget -b -t 5 ftp://root:xxx@47.103.81.123/home/mysql-20220727.tar.gz
# VI基本命令
$ i // 编辑模式
$ v // visual模式
$ ZZ // 保存退出
$ :q! // 不保存退出
$ fg // 打开后台
$ j // 下
$ k // 上
$ h // 左
$ l // 右
$ d // 剪切操作
$ y // 复制操作
$ p // 粘贴操作
$ ^ // 跳至行首
$ $ // 跳至行尾
$ gg // 跳至文首
$ G // 跳至最后
$ 5gg/5G // 调至第5行
$ dd // 删除光标所在行
$ ggdG // 清空
$ ggVG // 全选
$ :%s/old/new/g // 搜索整个文件,将所有的old替换为new
// 多行插入
$ ctrl + v // 进入块编辑模式
$ hjkl // 选择多行
$ shift + i // 块模式下插入
# 更改Ubuntu镜像源
vi /etc/apt/sources.list
ggdG
i
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
apt-get update
apt-get upgrade
# Nginx
# 启动/重启/停止
$ nginx #启动
$ nginx -s reload #重启
$ nginx -s stop #快速停止
$ nginx -s quit #正常停止
# TensorFlow
# 安装
$ docker run -it --rm -v /d/docker_data/tf/notebooks:/tf/notebooks -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter