Ubuntu Server CLI专业提示

基础
网络
获取所有接口的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服务。
访问 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>
高级
文件
查找最近分钟内修改的文件
find <directory> -mmin -<n> -type f
eg. find . -mmin -5 -type f
仅显示第n列
col<n> “<separator>” <filename>
eg. col2 “,” foo.csv
显示分页的文件
less <filename>
显示前行
head -n <n> <filename>
显示最后行
tail -n <n> <filename>
随着文件内容的增加而显示
tail -f <filename>
将目录打包到存档中
tar.gz tar cvzf <target>.tar.gz <source dir>
zip zip -r <target> <source dir>
打开归档文件的包装
tar.gz tar xf <tar.gz file>
zip 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
将命令 置于前台 fg <n>
工作站上的Ubuntu虚拟机
安装Multipass并启动Ubuntu虚拟机
sudo snap install multipass
multipass launch <image> --name <VM name>
省略 将使用最新的Ubuntu LTS启动虚拟机
查找可用镜像
multipass find
列出现有虚拟机
multipass list
在虚拟机中获取外壳
multipass shell <VM name>
更多帮助在 discourse.ubuntu.com
Micro clouds
启动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
Kubernetes
安装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
相关文章:
Ubuntu Server CLI专业提示
基础 网络 获取所有接口的IP地址 networkctl status 显示主机的所有IP地址 hostname -I 启用/禁用接口 ip link set <interface> up ip link set <interface> down 显示路线 ip route 将使用哪条路线到达主机 ip route get <IP> 安全 显示已登录的用户 w…...
Centos7升级OpenSSH9.1
最近遇到了服务器漏洞,需要对服务器的OpenSSH版本进行升级,查阅了相关资料,总结出了一套比较简单的方案。中间遇到的个别问题也进行了记录,供大家参考。 下载准备 从https://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/opens…...
linux——信号
目录 一.信号的保存 二.信号集操作 1.信号集 2.信号集操作函数 3.sigprocmask 4.sigpending 三. 信号的捕捉 1.内核态和用户态 2. sigaction 四.可重入函数 五.SIGCHLD信号 一.信号的保存 实际执行信号的处理动作称为信号递达(Delivery)。信号从产生到递达之间的状…...
存档&改造【03】Apex-Fancy-Tree-Select花式树的导入及学习
Apex-Fancy-Tree-Select git学习网页 GitHub - RonnyWeiss/Apex-Fancy-Tree-Select: Fancy Tree Plug-in for Oracle APEX 如何从其他应用程序导出已有插件到新应用程序中 1.从其他应用程序导出插件 其他应用程序-【共享组件】-【插件】-【任务 导出插件】-选择想要导出的…...
【单片机】14-I2C通信之EEPROM
1.EEPROM概念 1.EEPROM 1.1 一些概念 (1)一些概念:ROM【只读存储器---硬盘】,RAM【随机访问存储器--内存】,PROM【可编程的ROM】,EPROM【可擦除ROM】,EEPROM【电可擦除ROM】 1.2 为什么需要EE…...
Mini-dashboard 和meilisearch配合使用
下载的meilisearch一般是development模式,内置客户端,修改客户端后需要重要全部编译,花时间太长了。前后端分离才是正道,客户端修改不用重新编译后端。 方法如下: 1、修改配置文件/etc/meilisearch.toml,…...
leetcode 886. 可能的二分法
给定一组 n 人(编号为 1, 2, …, n), 我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人,那么他们不应该属于同一组。 给定整数 n 和数组 dislikes ,其中 dislikes[i] [ai, bi] ,表示不允许将…...
Elasticsearch:使用 ELSER 文本扩展进行语义搜索
在今天的文章里,我来详细地介绍如何使用 ELSER 进行文本扩展驱动的语义搜索。 安装 Elasticsearch 及 Kibana 如果你还没有安装好自己的 Elasticsearch 及 Kibana,请参考如下的链接来进行安装: 如何在 Linux,MacOS 及 Windows 上…...
OpenRadar DOA函数 Bartlett/CBF和Capon使用
Bartlett / CBF原理看这里 Capon原理看这里 这里只讲怎么调用openradar提供的aoa_bartlett和aoa_capon函数: 一些吐槽:虽然看起来openradar的作者代码水平很高,但里面有很多匪夷所思的写法,比如他demo里的解析文件格式就很迷啊等…...
二叉树--翻转二叉树
文章前言:如果有小白同学还是对于二叉树不太清楚,作者推荐:二叉树的初步认识_加瓦不加班的博客-CSDN博客 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 如果思路不清楚,请看动态页面&am…...
强化学习环境 - robogym - 学习 - 3
强化学习环境 - robogym - 学习 - 3 文章目录 强化学习环境 - robogym - 学习 - 3项目地址为什么选择 robogymObservation - 观测信息Action - 动作信息Initialization - 初始状态设置 项目地址 https://github.com/openai/robogym 为什么选择 robogym 自己的项目需要做一些机…...
CUDA+cuDNN+TensorRT 配置避坑指南
深度学习模型加速部署的环境配置,需要在本地安装NVIDIA的一些工具链和软件包,这是一个些许繁琐的过程,而且一步错,步步错。笔者将会根据自己的经验来提供建议,减少踩坑几率。当然可以完全按照官方教程操作,…...
关于PointHeadBox类的理解
forward函数 def forward(self, batch_dict):"""Args:batch_dict:batch_size:point_features: (N1 N2 N3 ..., C) or (B, N, C)point_features_before_fusion: (N1 N2 N3 ..., C)point_coords: (N1 N2 N3 ..., 4) [bs_idx, x, y, z]point_labels (opti…...
javascript二维数组(10)ajax的使用
在JQuery中,使用AJAX的方法主要有以下几种: $.ajax():这是JQuery中最通用的AJAX请求方法。它需要一个包含各种参数的对象,其中包括请求的URL、请求方式、数据类型、请求参数等。请求成功后执行的回调函数也是通过参数来定义的。 …...
CMMI5认证哪些企业可以申请
CMMI5认证哪些企业可以申请 什么是CMMI5认证 CMMI(Capability Maturity Model Integration)是一种用于评估组织的软件工程能力的国际标准。CMMI模型包括5个等级,其中CMMI5是最高等级,代表组织具有达到持续优化和创新的能力。获得…...
【iptables 实战】9 docker网络原理分析
在开始本章阅读之前,需要提前了解以下的知识 阅读本节需要一些docker的基础知识,最好是在linux上安装好docker环境。提前掌握iptables的基础知识,前文参考【iptables 实战】 一、docker网络模型 docker网络模型如下图所示 说明࿱…...
【多级缓存】
文章目录 1. JVM进程缓存2. Lua语法3. 实现多级缓存3.1 反向代理流程3.2 OpenResty快速入门 4. 查询Tomcat4.1 发送http请求的API4.2 封装http工具4.3 基于ID负载均衡4.4 流程小结 5. Redis缓存查询5.1 实现Redis查询 6. Nginx本地缓存6.1 本地缓存API6.2 实现本地缓存查询 7. …...
第五课 树与图
文章目录 第五课 树与图lc94.二叉树的中序遍历--简单题目描述代码展示 lc589.N叉树的层序遍历--中等题目描述代码展示 lc297.二叉树的序列化和反序列化--困难题目描述代码展示 lc105.从前序与中序遍历序列构造二叉树--中等题目描述代码展示 lc106.从中序与后序遍历序列构造二叉…...
2023-10-07 事业-代号z-副业-CQ私服-调研与分析
摘要: CQ作为一款运营了20年的游戏, 流传出的私服可以说是层出不穷, 到了现在我其实对这款游戏的长线运营的前景很悲观. 但是作为商业的一部分, 对其做谨慎的分析还是很有必要的. 传奇调研的来源: 一. 各种售卖私服的网站 传奇服务端版本库-传奇手游源码「免费下载」传奇GM论…...
合并不同门店数据-上下合并
项目背景:线下超市分店,统计产品的销售数量和销售额,并用透视表计算求和 merge()函数可以根据链接键横向连接两张不同表,concat()函数可以上下合并和左右合并2种不同的合并方式。merge()函数只能横向连接两张表,而con…...
Illustrator智能对象替换引擎:企业级设计自动化的技术杠杆
Illustrator智能对象替换引擎:企业级设计自动化的技术杠杆 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 技术价值宣言 在数字设计工业化时代,品牌资产管理…...
保姆级教程:用Sigrity PowerSI提取5GHz内单端S参数(附DDR4仿真实例)
从零掌握Sigrity PowerSI:5GHz单端S参数提取与DDR4实战解析 在高速PCB设计中,信号完整性问题往往成为工程师的"隐形杀手"。当DDR4内存接口速率突破2400MHz时,传统时域分析方法已难以捕捉信号在传输过程中的微妙变化。散射参数&…...
玩转OurBMC第二十六期:OpenBMC固件远程更新原理与实践(下)
栏目介绍:“玩转OurBMC” 是OurBMC社区开创的知识分享类栏目,主要聚焦于社区和BMC全栈技术相关基础知识的分享,全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过 “玩转OurBMC” 栏目,帮助开发者们深入了解到社区文…...
Visio从入门到精通:高效绘图与自定义库实战指南
1. Visio快速入门:从零到第一张流程图 第一次打开Visio时,很多人都会被满屏的工具栏和陌生的术语吓到。其实Visio的核心逻辑非常简单——就像小时候玩的拼图游戏。你只需要从左侧模具库拖出图形,在画布上拼接组合,再用连接线把它们…...
从丝杆到直线电机:半导体运动台驱动技术演进与选型指南
1. 半导体运动台驱动技术的核心挑战 在半导体制造领域,运动平台就像精密仪器的心脏,每一次跳动都关乎生产效率和产品质量。想象一下,光刻机要在指甲盖大小的芯片上绘制比头发丝还细的电路,这相当于让一台卡车在足球场上精准停到误…...
Vivado里FIFO IP核的Standard和FWFT模式到底怎么选?一个波形对比就懂了
Vivado中FIFO IP核模式选择:Standard与FWFT的深度解析与实战指南 在FPGA开发中,数据缓冲是几乎所有高速数据处理系统不可或缺的一环。作为Xilinx工具链中的核心IP之一,FIFO Generator提供了灵活的数据缓冲解决方案。但当面对Standard FIFO和F…...
芯片人才危机破局:D.E.I.B.战略如何驱动创新与商业成功
1. 芯片行业人才危机的深度剖析与D.E.I.B.的战略价值 最近和几位在芯片设计公司和晶圆厂负责招聘的老友聊天,大家不约而同地提到了同一个词:“焦头烂额”。不是项目进度卡脖子,而是人根本招不到。一位在模拟芯片公司做HR总监的朋友告诉我&…...
基于OpenAI API与社交平台集成的智能聊天机器人构建指南
1. 项目概述:一个整合社交与AI的自动化工具箱最近在GitHub上看到一个挺有意思的项目,叫“Whatsapp_Instagram_Messanger_ChatGPT_OpenAI”。光看这个标题,你大概就能猜到它的野心不小——它试图把WhatsApp、Instagram、Messenger这几个主流社…...
LLM Wiki Bridge:将Markdown知识库编译为AI可操作的概念图谱
1. 项目概述:将你的知识库变成AI的“第二大脑” 如果你和我一样,是个重度笔记用户,大概率也经历过这样的场景:在Obsidian、Logseq或者任何你喜欢的Markdown编辑器里,日积月累了成百上千篇笔记。你清楚地记得自己写过某…...
Multi-Agent 智能办公场景落地:财务、法务、人力的自动协作链路
Multi-Agent 智能办公场景落地:财务、法务、人力的自动协作链路 关键词 Multi-Agent 协作、业财法税一体化、智能办公自动化、大模型Agent编排、跨域规则引擎、RPA增强架构、企业数字员工 摘要 当前中大型企业普遍存在跨部门协作摩擦成本高、规则执行不一致、合规风险不可…...
