获取所有接口的IP地址 networkctl status
显示主机的所有IP地址 hostname -I
启用/禁用接口
ip link set <interface> up
ip link set <interface> down
显示路线 ip route
将使用哪条路线到达主机 ip route get <IP>
显示已登录的用户 w
获取用户密码到期日期 chage -l <user>
设置用户密码到期日期 sudo chage <user>
锁定用户账户 sudo passwd -l <user>
解锁用户密码 sudo passwd -u <user>
自动检测并禁止滥用IP地址 sudo apt install fail2ban
显示被禁止的IP地址
sudo fail2ban-client status
sudo fail2ban-client status <jail>
将使用哪条路线到达主机 ip route get <IP>
列出打开的端口和关联的进程 sudo ss -tulpn
管理防火墙规则 开启防火墙 sudo ufw enable
列出规则 sudo ufw status
允许端口 sudo ufw allow <port>
拒绝端口 sudo ufw deny <port>
通过SSH远程连接 ssh <user>@<host IP>
启用Ubuntu服务。
访问 ubuntu.com/advantage 获得最多3台机器的免费代币(如果你是ubuntu社区的官方成员,则为50台)。
sudo ua attach <token>
查看Ubuntu Advantage服务的可用性和权利 sudo ua status
启用或禁用服务
sudo ua enable <service>
sudo ua disable <service>
修复CVE/USN sudo ua fix <cve/usn>
查看软件包更新系统的可用性状态 sudo ubuntu-security-status
查看Livepatch已修补的CVE canonical-livepatch status --verbose
搜索程序包
apt search <string>
snap find <string>
列出可用的软件包版本 apt-cache policy <package>
列出可用更新 apt list --upgradable
应用所有可用的更新 sudo apt update && sudo apt upgrade
从Ubuntu归档安装 sudo apt install <package>
从Snap Store安装 sudo snap install <package>
卸载软件 sudo apt remove <package>
删除程序包及其所有配置文件 sudo apt purge <package>
重新安装损坏的包装 sudo apt install -f --reinstall <package>
此软件包提供哪些文件? dpkg-query -L <package>
哪个包提供了此文件? dpkg-query -S <path>
列出具有权限和日期的文件 ll
常见文件操作 创建空文件 touch <filename>
创建制定大小文件 fallocate -l <size> <filename>
使用内容创建 echo "<content>" > <filename>
快速文件搜索 locate <filename>
在文件中搜索字符串 grep <string> <filename>
在目录中递归搜索字符串 grep -Iris <string> <directory>
查找最近 <n>
find <directory> -mmin -<n> -type f
eg. find . -mmin -5 -type f
col<n> “<separator>” <filename>
eg. col2 “,” foo.csv
less <filename>
head -n <n> <filename>
tail -n <n> <filename>
tail -f <filename>
tar cvzf <target>.tar.gz <source dir>
zip -r <target> <source dir>
tar xf <tar.gz file>
unzip <zip file>
rsync <filename> <user@server>:<destination>
eg. rsync config.yaml admin@192.0.0.0:/config
从远程服务器递归复制目录
rsync -avruz <user@server>:<source> <destination>
eg. rsync -avruz admin@192.0.0.0:/config /tmp
显示内核版本 uname -r
获取根磁盘使用情况 df -h
获取内存使用情况 cat /proc/meminfo
获取系统时间 timedatectl status
设置系统时区
timedatectl list-timezones
sudo timedatectl set-timezone <zone>
获取所有正在运行/失败的服务
systemctl --state running
systemctl --state failed
启动、停止或重新启动服务 systemctl start/stop/restart <service>
获取系统服务的全部内容 systemctl cat <service>
编辑系统服务避免与程序包更新发生冲突 systemctl edit <service>
监视服务的新日志 journalctl -u <service> --since now -f
自启动以来监视所有日志 journalctl --boot 0
获取最近登录的列表 last
显示正在运行的进程 htop
按id终止进程 kill <process id>
按名称终止进程 pkill <process name>
在后台运行命令 <command> &
挂断并登录到文件后仍然活着
nohup <command> >> /var/log/yourcommand.log 2>&1 &
显示后台命令 jobs
将 <n> 命令fg <n>
安装Multipass并启动Ubuntu虚拟机
sudo snap install multipass
multipass launch <image> --name <VM name>
省略 <image> 将使用最新的Ubuntu LTS启动虚拟机
查找可用镜像 multipass find
列出现有虚拟机 multipass list
在虚拟机中获取外壳 multipass shell <VM name>
更多帮助在 discourse.ubuntu.com
启动LXD容器
lxd init
lxc launch ubuntu:18.04 <container name>
或者另一个发行版
lxc launch images:centos/8/amd64 <container name>
将外壳放入LXD容器 lxc exec <name> bash
将文件推送到LXD容器
lxc file push <filename> <container name>/<path>
从LXD容器中提取文件
lxc file pull <destination> <container name>/<file path>
启动LXD虚拟机 lxc launch images:ubuntu/20.04 <vm name> --vm
在LXD虚拟机中获取外壳 lxc exec <name> bash
更多帮助在 linuxcontainers.org/lxd
使用MAAS演示启动虚拟机
wget -qO- https://raw.githubusercontent.com/canonical/maas-multipass/main/maas.yml | multipass launch --name maas -c4 -m8GB -d32GB --cloud-init -
查找MAAS演示服务器的IP地址
multipass list | grep maas | awk '{print $3}'
使用多路径列表中的IP访问MAAS仪表板
http://10.x.x.x:5240/
Default username and password is admin:admin
更多帮助在 maas.io
安装MicroK8并列出可用的附加组件
sudo snap install microk8s --classic
microk8s.status --wait-ready
使用MicroK8s加载项启用辅助Kubernetes服务
microk8s enable <add-ons>
查看MicroK8s节点和正在运行的服务
microk8s.kubectl get nodes
microk8s.kubectl get services
更多帮助在 microk8s.io/docs
安装MicroStack并启动测试实例
sudo snap install microstack --devmode --beta
sudo microstack.init --auto --control
microstack.launch cirros -n test
获取管理员密码
sudo snap get microstack config.credentials.keystone-password
Access Horizon面板 https://10.20.20.1
更多帮助在 microstack.run/docs
联系客服