Linux | vps 常用命令
Linux命令大全(手册)
常用命令
Linux更新及常用软件安装命令
-
Debian/Ubuntu常用命令:
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
27
28
29
30更新软件源&更新软件:sudo apt update && sudo apt upgrade
查看内核版本:uname -a
查看ubuntu版本:cat /etc/issue
查看ip:ip addr show 或者 ifconfig
关闭系统电源:sudo systemctl poweroff
查看 VPS 虚拟化技术:virt-what
查看磁盘使用情况:df -h
查看交换内存使用情况:free -h
查看当前的内存使用情况:free -m
查看当前有哪些进程:ps -A
杀死一个进程:kill id / killall id / kill -9 id
安装 openssh-server:sudo apt install openssh-server
确认sshserver是否启动:ps -e | grep ssh
Linux开启原版BBR:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
lsmod | grep bbr
导入DNS 配置(Cloudflare、Google):
sudo tee /etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 2606:4700:4700::1111
nameserver 2001:4860:4860::8888
EOF -
常用工具:
1
apt install sudo curl wget lrzsz vim cron unzip screen
点击此处展开/收起内容,来自 chatgpt 的解释
sudo:sudo是一个在 Linux 和类 Unix 系统中使用的命令,用于以超级用户(也称为管理员或 root 用户)的权限来执行其他命令。它的作用是提供临时的超级用户权限,使普通用户可以执行需要超级用户权限才能执行的操作,而无需切换到超级用户账户。curl:用于在终端中进行网络请求和数据传输,支持各种协议(如 HTTP、HTTPS、FTP 等)。wget:用于从Web服务器下载文件,支持HTTP、HTTPS和FTP协议,具有断点续传功能。lrzsz:提供了Xmodem、Ymodem和Zmodem等协议的文件传输功能,用于通过终端与远程主机进行文件传输。vim:一种强大的文本编辑器,常用于命令行环境下编辑文本文件。cron:用于在预定时间自动运行命令或脚本的任务调度程序。unzip:用于解压缩ZIP格式的压缩文件。screen:用于在终端中创建和管理多个会话,允许在不同的终端窗口或会话之间切换。
Debian/Ubuntu 基础命令
-
apt/apt-get
1
2
3
4
5
6
7Debian系系统常用软件包管理指令,常用子命令:
install 从仓库寻找并安装软件包
remove 移除软件包及重要依赖
autoremove 自动移除软件包及相关依赖
update 更新软件仓库
upgrade 获取软件更新并自动更新到最新版本
search 关键词搜索软件包1
2
3
4
5
6
7sudo apt autoclean # 清理旧版本的软件缓存
sudo apt clean # 清理所有软件缓存
sudo apt autoremove # 删除系统不再使用的孤立软件
sudo apt dist-upgrade # 升级所有软件包并处理依赖关系
sudo apt full-upgrade # 先检查在处理依赖关系,相比 apt dist-upgrade 更加谨慎
sudo apt install -f # 修复损坏软件包和依赖问题,不会升级所有软件包点击此处展开/收起内容,来自 chatgpt 的解释
对于Debian系系统,apt和apt-get是常用的软件包管理指令。下面是这些指令的常用子命令及其功能的解释:
- apt install
:从软件仓库中寻找并安装指定的软件包。你可以在软件包名称后面加上"="和版本号来安装特定版本的软件包。 - apt remove
:移除指定的软件包及其重要依赖。这个命令会卸载软件包并删除相关的配置文件。 - apt autoremove:自动移除不再需要的软件包及其相关依赖。这个命令会删除之前安装的软件包中不再需要的依赖项。
- apt update:更新软件仓库中的软件包信息。这个命令会从软件源中获取最新的软件包列表。
- apt upgrade:获取软件更新并自动更新已安装的软件包到最新版本。这个命令会检查可用的软件包更新,并自动升级已安装的软件包到最新版本。
- apt-cache search
:使用关键词在软件仓库中搜索软件包。这个命令会根据关键词查找匹配的软件包名称和描述。
需要注意的是,apt是apt-get的高级包装工具,提供了更友好的用户界面和一些额外功能。在大多数情况下,你可以使用apt来替代apt-get,因为它提供了更直观的命令和输出。
- apt install
-
ipv4/ipv6网络优先级现在IPv4+IPv6双栈的服务器越来越普及,如果不想使用ipv6(直接禁用ipv6)或者优先使用ipv4(ipv6还在),可以使用下面教程进行操作
-
配置优先级
默认情况下,IPv4 和 IPV6 并存,并且 IPv6 优先于 IPv4。如果不需要彻底关闭 IPv6,可以设置让 IPv4 优先于 IPv6。配置方式如下:
编辑
/etc/gai.conf文件,修改或添加下面这行配置:1
precedence ::ffff:0:0/96 100
或者一键添加:
1
echo 'precedence ::ffff:0:0/96 100' | sudo tee -a /etc/gai.conf
-
直接禁用ipv6
如果确定不需要IPv6的支持,可以选择禁用IPv6。
编辑
/etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改为:1
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
随后执行命令 update-grub 更新 grub 启动参数,重启系统即可。
-
验证
1
2
3
4
5
6
7
8
9
10
11# 查询本机外网IPv4地址
curl ip.sb -4
# 查询本机外网IPv6地址
curl ip.sb -6
# 测试网络是IPv4还是IPv6访问优先(访问IPv4/IPv6双栈站点,如果返回IPv6地址,则IPv6访问优先)
curl ip.sb
# 从 Debian 13 开始的 curl (8.14.1) 会强制 IPv6 优先,所以我们可以使用 wget 命令
wget -qO- http://ip.sb
-
-
netstat
1
2
3
4
5
6//用来显示网络状态,比较常用的有查看当前使用的端口等功能
netstat -tunlp #用于显示 tcp,udp 的端口和进程等相关
netstat -tunlp | #grep 端口号 查看指定端口占用情况
netstat -ntlp #查看全部tcp端口占用
netstat -apu #查看UDP端口占用
netstat -i #显示网卡列表 -
screen的一些基本命令(注意指令区分大小写)
1
2
3
4
5
6
7
8
9
10
11
12screen -ls #列出所有创建的窗口
screen -ls #列出所有创建的窗口
screen -S xxxx #新建一个名字为`xxxx`的新窗口并进入
screen -r xxxx #进入一个名字为`xxxx`的窗口,如果没有这个名字的窗口会显示`There is no screen to be resumed matching xxxx.`
screen -R xxxx #进入一个名字为`xxxx`的窗口,如果没有这个窗口会`自动创建`新窗口且名字为`xxxx`
关闭screen #进入要关闭的窗口,然后关闭当前的项目,再输入exit,即可退出窗口并从列表中移除
screen -X -S xxxx quit #删除一个名字为`xxxx`的窗口
screen -wipe #列出全部窗口并自动移除无效的窗口
Ctrl + a + d #分离当前窗口(进入一个窗口后,先按ctrl+a,保持ctrl键再按d即可离开该窗口,不影响运行的项目)
Ctrl + a + k #关闭当前窗口,终止窗口的进程 -
Linux用户与用户组的添加
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
27
28
29//添加普通账户
//最基础的使用方法如下:
sudo useradd guest #新建用户
sudo passwd guest #设置初始密码
//添加更多参数:
sudo useradd -d "/home/guest" -m -s "/bin/bash" guest
-s:指定shell为/bin/bash
-d:指定其home目录为/home/guest
-m:如果指定的home目录不存在,则新建
//添加sudo权限,先修改sudoers为可写权限
chmod u+w /etc/sudoers
//编辑sudoers
vim /etc/sudoers
//在 root ALL=(ALL:ALL) ALL 下面添加
guest ALL=(ALL:ALL) ALL //允许用户guest执行sudo,需要密码
%guest ALL=(ALL:ALL) ALL //允许用户组guest里面的用户执行sudo,需要密码
//如果你想允许用户执行 sudo 时无需输入密码,可以使用以下:
guest ALL=(ALL:ALL) NOPASSWD: ALL //允许用户guest执行sudo且不输入密码
%guest ALL=(ALL:ALL) NOPASSWD: ALL //允许用户组guest里面的用户执行sudo且不输入密码
//撤销sudoers写入权限
chmod u-w /etc/sudoers
//查看全部用户
cat /etc/passwd
Linux 常用的一键脚本
-
X-UI 一键脚本
①3X-UI:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)②FranzKafkaYu :
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)bash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh)或
bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh)③ArgoX:
bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/argox/main/argox.sh)
-
WARP 一键脚本
①FSCARMEN :
首次运行
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh日常维护
warp②WARP-GO :
首次运行
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/warp-go.sh && bash warp-go.sh日常维护
warp-go③P3TERX :
首次运行
bash <(curl -fsSL git.io/warp.sh) menu日常维护
bash warp.sh -
bbr 加速(仅限 KVM,openvz 不行,但可以自己网上找魔改 bbr)
官网链接地址,点击打开
一般 BBR+FQ 加速就行,当然也可以不使用 bbr
-
此命令重装为Debian12,如需安装其他系统请前往作者GitHub查看;
请更换最后的默认密码password为你自己的密码wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh && bash InstallNET.sh -debian 12 -pwd 'password' -
(推荐使用)NodeQuality:GitHub - LloydAsp/NodeQuality: 在沙箱环境中运行vps测试脚本,并排版测试结果 · GitHub
1
bash <(curl -sL https://run.NodeQuality.com)
-
融合怪测试
首次运行
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -
wget -qO- bench.sh | bash
或者
curl -Lso- bench.sh | bash -
bash <(curl -Ls https://Check.Place) -I -
bash <(curl -Ls https://Check.Place) -N -
bash <(curl -sL https://raw.githubusercontent.com/LloydAsp/NodeBench/main/NodeBench.sh) -
①直接测试
curl -sL https://yabs.sh | bash②跳过网络,测GB5
curl -sL yabs.sh | bash -s -- -i5③跳过网络和磁盘,测GB5
curl -sL yabs.sh | bash -s -- -if5④改测GB5不测GB6
curl -sL yabs.sh | bash -s -- -5 -
bash <(curl -L -s check.unlock.media)
进阶命令
docker和docker-compose安装与配置
安装docker
-
以 root 用户登录,执行一键脚本安装 Docker
升级源并安装软件(下面两行命令二选一,根据你自己的系统)
Debian / Ubuntu
apt update && apt install curl vim wgetCentOS
yum update && yum install curl vim wget -
官方一键脚本安装 Docker
1
2
3
4
5
6
7# 稳定版
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 测试版
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh说明:请使用 KVM 架构的 VPS,OpenVZ 架构的 VPS 不支持安装 Docker。 更多关于 Docker 安装的内容参考 Docker 官方安装指南 。
-
国内源推荐 :
-
测试安装
1
2
3docker -v # 查看 Docker 的版本信息
docker info # 查看 Docker 的详细信息
docker compose version # 查看 docker compose 的版本,较新版本的docker已经集成了docker-compose,其使用命令为docker compose,中间没有`-`,而是一个空格
安装docker-compose
-
前言
Compose安装方式分为两种,一种是standalone(独立式安装),一种是plugin(插件式安装),现在较新版本的docker已经集成了docker compose,其使用命令为docker compose,中间没有
-,而是一个空格。两者(docker compose和docker-compose)功能基本一致,但 docker compose 由于是 Docker 的一部分,未来可能会获得更多的支持和优化支持同时采用两种方式安装Compose,安装后可以同时使用docker-compose和docker compose,如需安装docker-compose,请看后续步骤
docker compose(中间是
空格):- 是 Docker 提供的一个新的命令,直接集成在 Docker CLI 中,不需要单独安装。它是 Docker 的一个插件。
- 更好的性能和兼容性
- 与 docker 命令行工具共享配置和上下文
docker-compose(中间是
-):- docker-compose 是一个独立的命令行工具,需要单独安装。它是 Docker Compose 的旧版本
- 在一些较旧的系统上更容易安装和使用
- 广泛使用,很多现有的文档和教程使用 docker-compose
参考:
-
安装docker-compose
最新发行的版本地址:https://github.com/docker/compose/releases
运行以下命令以下载docker-compose当前最新的稳定版本:1
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
注意: 如果无法下载,可以本地下载好后上传到服务器/usr/local/bin/即可
-
将可执行权限应用于二进制文件:
1
sudo chmod +x /usr/local/bin/docker-compose
注意:如果命令docker-compose在安装后失败,请检查您的路径。您还可以创建指向/usr/local/bin/或路径中任何其他目录的符号链接。
-
创建软链:
1
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
注意:如果命令 docker-compose 在安装后失败,请检查您的路径。您还可以创建指向/usr/local/bin/或路径中任何其他目录的符号链接。
-
测试安装
1
docker-compose --version
-
卸载docker-compose
直接移除二进制包即可
1
sudo rm /usr/local/bin/docker-compose
docker常用命令
-
常用
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
27
28
29
30
31
32systemctl start docker #启动
systemctl stop docker #停止
systemctl restart docker #重启
systemctl enable docker #开机自启动
systemctl status docker #运行状态
docker version #Docker 版本信息
docker info #Docker 系统信息
docker ps #查看正在运行的容器
# -a: 显示所有的容器,包括未运行的。
# -q: 静默模式,只显示容器编号。
# -n: 列出最近创建的n个容器。
docker rm 容器id #删除指定容器
docker images #查看本地所有的镜像
docker images -q #仅显示镜像id,常用于批量删除镜像
docker rmi 镜像id或镜像名称的前缀即可 #删除指定的本地镜像
#进入容器
docker exec -it 容器名/ID bash
#退出容器
exit #容器直接退出
ctrl +P +Q #容器不停止退出
docker pull #从镜像仓库中拉取或者更新指定镜像
docker push #将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker rename #重命名容器
docker top 容器名称 #查看容器中运⾏的进程
docker stats 容器名称 #查看资源占⽤
docker cp 容器id:容器内路径 主机目的路径 #从容器内拷贝到主机上
docker port #列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口 -
更换镜像源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 如果etc下没有docker目录就创建
sudo mkdir -p /etc/docker
# 更换镜像源,
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors" : [
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
]
}
EOF
# 重载配置文件
sudo systemctl daemon-reload
# 重启Docker
sudo systemctl restart docker
# 显示Docker系统信息
docker info -
命令大全(网上搜集)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151docker attach #连接到正在运行中的容器
docker build #使用 Dockerfile 创建镜像
docker builder #管理builds
docker builder prune #清除build缓存
docker checkpoint #管理checkpoints
docker checkpoint create #从正在运行的容器创建检查点
docker checkpoint ls #列出容器的检查点
docker checkpoint rm #删除指定的检查点
docker commit #从容器创建一个新的镜像
docker config #管理Docker配置
docker config create #创建配置文件
docker config inspect #查看配置文件信息
docker config ls #显示docker里已经保存得配置文件
docker config rm #删除配置文件
docker container #管理容器
docker container prune #删除所有已停止的容器
docker context #管理contexts
docker context create #创建一个上下文
docker context export #将上下文导出到tar或kubecconfig文件中
docker context import #从tar或zip文件导入上下文
docker context inspect #在一个或多个上下文上显示详细信息
docker context ls #列出上下文
docker context rm #删除一个或多个上下文
docker context update #更新
docker context use #设置当前docker的上下文
docker cp #用于容器与主机之间的数据拷贝
docker create #创建一个新的容器但不启动它
docker diff #检查容器里文件结构的更改
docker events #从服务器获取实时事件
docker exec #在运行的容器中执行命令
docker export #将文件系统作为一个tar归档文件导出到STDOUT
docker history #查看指定镜像的创建历史
docker image #管理镜像
docker image inspect #显示一个或多个镜像的元数据
docker image ls #列出本地镜像
docker image prune #删除没有使用的镜像
docker image rm #删除一个或多个镜像
docker images #列出本地镜像
docker import #从归档文件中创建镜像
docker info #显示 Docker 系统信息,包括镜像和容器数
docker inspect #获取容器/镜像的元数据
docker kill #杀掉一个运行中的容器
docker load #导入使用 docker save 命令导出的镜像
docker login #登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout #登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logs #获取容器的日志
docker manifest #管理manifest(实验,不应用于生产环境)
docker manifest annotate #向本地镜像清单添加附加信息
docker manifest create #创建用于注释和推入注册表的本地清单列表
docker manifest inspect #显示镜像清单或清单列表
docker manifest push #将清单列表推入仓库
docker manifest rm #从本地存储中删除一个或多个清单列表
docker network #管理网络
docker network connect #将容器连接到网络
docker network create #创建一个网络
docker network disconnect #断开容器的网络
docker network inspect #显示一个或多个网络的元数据
docker network ls #列出网络
docker network prune #删除所有没有使用的网络
docker network rm #删除一个或多个网络
docker node #管理集群(swarm)节点
docker node demote #从群集(swarm)管理器中降级一个或多个节点
docker node inspect #显示一个或多个节点的元数据
docker node ls #列出群集(swarm)中的节点
docker node promote #将一个或多个节点推入到群集管理器中
docker node ps #列出在一个或多个节点上运行的任务,默认为当前节点
docker node rm #从群集(swarm)删除一个或多个节点
docker node update #更新一个节点
docker pause #暂停容器中所有的进程
docker plugin #管理插件
docker plugin create #从rootfs和配置创建一个插件。插件数据目录必须包含config.json和rootfs目录。
docker plugin disable #禁用插件
docker plugin enable #启用插件
docker plugin inspect #显示一个或多个插件的元数据
docker plugin install #安装一个插件
docker plugin ls #列出所有插件
docker plugin push #将插件推送到注册表
docker plugin rm #删除一个或多个插件
docker plugin set #更改插件的设置
docker plugin upgrade #升级现有插件
docker port #列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
docker ps #列出容器
docker pull #从镜像仓库中拉取或者更新指定镜像
docker push #将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker rename #重命名容器
docker restart #重启容器
docker rm #删除一个或多个容器
docker rmi #删除一个或多个镜像
docker run #创建一个新的容器并运行一个命令
docker save #将指定镜像保存成 tar 归档文件
docker search #从Docker Hub查找镜像
docker secret #管理Docker secrets
docker secret create #从文件或STDIN创建一个秘密作为内容
docker secret inspect #显示有关一个或多个秘密的详细信息
docker secret ls #列出秘密
docker secret rm #删除一个或多个秘密
docker service #管理服务
docker service create #创建一个服务
docker service inspect #查看服务的元数据
docker service logs #获取服务的日志
docker service ls #列出服务
docker service ps #列出一个或多个服务的任务
docker service rm #删除一个或多个服务
docker service rollback #将更改恢复到服务的配置
docker service scale #缩放一个或多个复制服务
docker service update #更新服务
docker stack #管理堆栈
docker stack deploy #部署新的堆栈或更新现有堆栈
docker stack ls #列出现有堆栈
docker stack ps #列出堆栈中的任务
docker stack rm #删除堆栈
docker stack services #列出堆栈中的服务
docker start #启动一个或多个已经被停止的容器
docker stats #显示容器的实时流资源使用统计信息
docker stop #停止一个运行中的容器
docker swarm #管理集群(Swarm)
docker swarm ca #查看或旋转当前群集CA证书。此命令必须针对管理器节点
docker swarm init #初始化一个群集(Swarm)
docker swarm join #加入群集作为节点和/或管理器
docker swarm join-token #管理加入令牌
docker swarm leave #离开群集(Swarm)
docker swarm unlock #解锁群集(Swarm)
docker swarm unlock-key #管理解锁钥匙
docker swarm update #更新群集(Swarm)
docker system #管理Docker
docker system df #显示docker磁盘使用情况
docker system events #从服务器获取实时事件
docker system info #显示系统范围的信息
docker system prune #删除未使用的数据
docker tag #标记本地镜像,将其归入某一仓库
docker top #查看容器中运行的进程信息,支持 ps 命令参数
docker trust #管理Docker镜像的信任
docker trust inspect #返回有关key和签名的低级信息
docker trust key #管理登入Docker镜像的keys
docker trust key generate #生成并加载签名密钥对
docker trust key load #加载私钥文件以进行签名
docker trust revoke #删除对镜像的认证
docker trust sign #镜像签名
docker trust signer #管理可以登录Docker镜像的实体
docker trust signer add #新增一个签名者
docker trust signer remove #删除一个签名者
docker unpause #恢复容器中所有的进程
docker update #更新一个或多个容器的配置
docker version #显示 Docker 版本信息
docker volume #管理volumes
docker volume create #创建一个卷
docker volume inspect #显示一个或多个卷的元数据
docker volume ls #列出卷
docker volume prune #删除所有未使用的卷
docker volume rm #删除一个或多个卷
docker wait #阻塞运行直到容器停止,然后打印出它的退出代码



