Linux命令
Linux命令
北冥的备忘录
善读者,玩索而有得焉,则终身用之,有不能尽者矣。
本博客是笔者的个人实践记录,文笔随意,严谨度一般,仅供参考,不喜勿喷
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【微知】如何保存本地docker image为文件,并导入其他服务器?如何指定主机网络以及指定主机目录映射?(docker save、docker load、docker image)
可以看到导入的images,并且获取新机器的dockerimageid。dockerimageid通过docker images获取出来。这里load和pull的目的类似,都是把image放到本地。这里-v是指定主机端目录,:后面是docker中的目录?dockerimageid是导出的image id。这里-network=host是使用host的网络。dockerimagename是前面导出的名字。可以看到容器、image等信息,包括命令。在容器中执行对应的bash命令。登录到docker中。原创 2025-11-22 14:16:36 · 169 阅读 · 0 评论 -
【微知】如何指定私有docker镜像源?(docker login、docker pull、docker images、docker run、docker ps)
查看本地image,有image名字、imageID、大小和contentsize。可以看到docker的containerid、image、cmd以及时间等信息。退出(如果不是后台模式,exit就直接退出)查看启动的docker。原创 2025-11-22 14:07:37 · 183 阅读 · 0 评论 -
【微知】Ubuntu中如何安装docker?
国内:curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg。国内:sudo add-apt-repository “deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”原创 2025-11-22 13:59:34 · 428 阅读 · 0 评论 -
【微知】rpm如何强制无依赖安装?(rpm -ivh xxx.rpm --nodeps --force)
强制安装RPM包的方法及注意事项 在测试环境中需要临时安装RPM包但缺少依赖库时,可使用强制安装命令:rpm -ivh xxx.rpm --nodeps --force。该命令会忽略依赖检查并强制安装,适合紧急修复和特殊测试场景。但需注意这可能导致系统文件被覆盖或依赖关系破坏,影响后续系统更新。建议优先尝试正常安装或使用YUM/DNF解决依赖问题,也可考虑构建本地仓库或修改RPM包依赖要求作为替代方案。强制安装仅应作为最后手段谨慎使用。原创 2025-09-06 11:31:58 · 655 阅读 · 0 评论 -
【微知】dmesg如何将dmesg消息查看日志等级?(dmesg -x; prefix)
文章摘要 查看内核日志时,dmesg -x 可显示日志级别(如 info、warn),部分终端支持颜色区分。常用组合命令 dmesg -Txw 包含:-T(易读时间戳)、-x(显示级别)、-w(实时监控)。辅助记忆:x 代表前缀(prefixes)。 (字数:94)原创 2025-09-06 10:23:39 · 243 阅读 · 0 评论 -
【微知】top命令如何只查看某些固定进程的利用率等信息?如何读取意思?
摘要:top -p 1037,1038命令监控了两个系统进程(irqbalance和systemd-machine)。当前CPU利用率显示100%空闲(%id),无用户态、内核态或I/O负载。两进程均为root用户运行,静态优先级20,nice值0,物理内存占用约7MB,CPU和内存利用率均为0%。irqbalance负责平衡硬件中断负载,systemd-machine管理容器生命周期。系统整体处于极低负载状态,无资源竞争或性能瓶颈。原创 2025-09-06 00:35:48 · 889 阅读 · 0 评论 -
【微知】观测CPU利用率的几种方法?(mpstat -P ALL 1,htop)
摘要: 本文介绍了多种监控CPU利用率的方法,推荐使用mpstat -P ALL 1按秒查看每个CPU核心的实时状态。常用工具包括top(按1显示各CPU)、直观的htop,以及sar -u 1系统活动报告。/proc/stat文件也记录了CPU时间分配详情(用户态、内核态、空闲等状态),可通过差值计算利用率。这些工具适用于不同场景下的CPU性能监测需求。原创 2025-09-06 00:26:25 · 511 阅读 · 0 评论 -
【微知】git submodule的一些用法总结(不断更新)
Git子模块操作要点 新增子模块方法: 手动修改.gitmodules后执行git submodule init 使用git submodule add命令自动配置 关键操作: git submodule init:根据.gitmodules初始化配置 git submodule sync:同步配置到.git/config git submodule update:更新子模块内容 注意事项: 修改.gitmodules后必须执行sync才能使配置生效 update命令会根据.git/config配置拉取代码原创 2025-09-04 08:46:25 · 1375 阅读 · 0 评论 -
【微知】查看当前Linux系统config配置的2个方式?(/boot/config-$(uname -r)、zcat /proc/config.gz)
uname−r比如查看是否开启动态debugcatbootconfig−。原创 2025-09-02 08:01:38 · 279 阅读 · 0 评论 -
微知-Ubuntu&Centos上如何安装claude code?以及运行?(apt install npm,npm install -g @anthropic-ai/claude-code)
claude code运行主要方式,使用js的环境运行claude命令,该命令在claude-code名包中。claude的配置在~/.claude/settings.json中指定模型,API接口处理地址。原创 2025-08-30 11:44:44 · 1946 阅读 · 0 评论 -
【微知】如何撤销一个git的commit?以及撤销的3种方式?
Git撤销提交操作指南 本文介绍了三种撤销最近一次Git提交的方法: git reset --soft 将提交回退到暂存区 git reset 默认将提交回退到工作区 git reset --hard 彻底丢弃提交内容 建议使用commit hash而非HEAD指针操作,更准确可靠。流程图展示了三种撤销方式的流转路径:从commit到stage、workspace或完全丢弃。原创 2025-08-29 08:30:36 · 1179 阅读 · 0 评论 -
【微知】patch命令如何打入以及如何回撤?(patch -p1 -R < xxx.patch)
本文介绍了Linux下patch命令的基本用法:patch -p1 < xxx.patch用于打补丁,patch -p1 -R < xxx.patch用于回撤补丁(-R参数表示回撤)。重点解释了-p1参数的作用:忽略路径中的第一个斜杠前的内容。同时说明了补丁文件中a/和b/标记的含义:a/表示原始文件,b/表示修改后的文件。最后指出-p后的数字影响的是补丁文件中的路径处理,与a/b标记无关。原创 2025-08-29 08:18:37 · 317 阅读 · 0 评论 -
【微知】USB信息如何查看?(lsusb -v,-s总线和dev,-d厂商和设备)
lsusb命令用于查看USB设备信息,支持多种参数:-v显示详细信息,-s指定总线和设备号,-d按厂商和产品ID筛选。-t参数以树状结构展示设备层级。输出内容包括设备描述符、厂商ID、产品ID、最大功率等关键信息。例如"lsusb -v"会显示USB设备的详细配置,包括接口类型、端点描述符等。该命令功能类似于lspci,但针对USB设备,是排查USB连接问题的实用工具。原创 2025-07-25 08:14:41 · 331 阅读 · 0 评论 -
【微知】如何用shell快速备份的优雅写法(cp 1.c{,.bak} touch app.{js,css,html} )
Linux命令行技巧:使用大括号展开实现优雅文件备份。cp 1.c {,.bak}命令相当于cp 1.c 1.c.bak,其中大括号内的逗号前为空表示原文件名,后面接后缀.bak。这种展开方式简洁高效,避免了重复输入文件名,是文件备份时的实用技巧。原创 2025-07-24 08:44:15 · 172 阅读 · 0 评论 -
【微知】不同Ubuntu版本的kernel内核情况以及多版本内核情况?以及LTS时间
Ubuntu不同版本支持的内核版本存在差异,如22.04.2使用5.15内核,而22.04.5升级到6.8内核。LTS版本提供长期支持周期,各版本内核支持情况可通过图表查看。用户可通过官方下载页面获取不同版本ISO,22.04.2版本可直接从特定链接获取,完整发布版本列表可在Ubuntu镜像站找到。这些信息有助于用户根据内核需求选择合适的Ubuntu版本进行安装使用。原创 2025-07-24 08:40:28 · 2570 阅读 · 0 评论 -
【微知】find如何配合xargs -I 将输出分别作为入参操作?(xargs -I {} cp {} ../)
该命令用于批量备份当前目录及子目录下的所有txt文件。通过find查找所有.txt文件(使用null字符分隔处理带空格的文件名),然后通过xargs将每个文件复制到backup目录,并在原文件名前添加"backup_"前缀。最终在backup目录下生成文件名格式为"backup_原文件名"的备份文件,确保文件名中包含空格的文档也能被正确处理。原创 2025-07-24 08:29:57 · 206 阅读 · 0 评论 -
【微知】shell上动态计算表达式做算数的方法 echo $[10*2]
本文指出在需要多次修改参数时,使用计算表达式比固定值更便捷。特别比较了let命令和$[]两种计算方式,说明后者更具可读性。文中给出了$[]计算表达式的示例echo $[10*2],并附有相关示意图。摘要概括了文章核心观点:在参数设置中推荐使用计算表达式,尤其是$[]这种更人性化的方式。原创 2025-07-24 08:19:37 · 2760 阅读 · 0 评论 -
【微知】系统参数net.bonding.broadcast_arp_or_nd的作用和原理?(sysctl net.bonding.broadcast_arp_or_nd=1)
本文介绍net.bonding.broadcast_arp_or_nd内核参数的作用以及配置方法和影响。当服务器未开启该功能时,假设系统组建了bonding,但是使用了queue_affinity模式进行rdma打流,会出现双发单收的问题(发送端2个口发送数据到ASW,然后接收端只有一个接口收数据)原创 2025-07-03 00:00:39 · 515 阅读 · 0 评论 -
【微知】tcpdump如何-n参数何时妙用?如何查看LACP报文的详细信息?(tcpdump -i eth0 -n -vvv -e -s0)
tcpdump -i eth0 抓报文的时候如果是LACP是链路层的数据,如何查看实际的mac地址?以及查看详细信息?原创 2025-07-02 23:23:52 · 315 阅读 · 0 评论 -
【微知】Linux如何删除一个bond口?(down slave, - slave, ip l d bond0)
要删除bond0接口需要先解除所有从属网卡,操作步骤如下: 依次关闭eth0、eth1和bond0接口 通过sysfs文件移除从属网卡 确认/proc/net/bonding/bond0中已无从属网卡 最后删除bond0接口 注意操作前建议停止NetworkManager服务。完整删除流程需先解除从属网卡再删除主接口。 (参考文章还提供了创建bond接口的相关链接)原创 2025-07-02 23:14:45 · 514 阅读 · 0 评论 -
【微知】Linux系统参数如何用sysctl配置和读取?(sysctl -w net.ipv4.conf.eth0.send_redirects=0、不加参数-w读取)
比如以net.ipv4.conf.eth0.send_redirects为例,是表示ARP应答是否被禁止。读取不是-r是直接不加参数-w。原创 2025-07-02 23:05:57 · 218 阅读 · 0 评论 -
【问题解决】ping不通,arp抓包不回应的一种情况?(网段不匹配)
今天遇到一个ping不通,但是对端能够收到arp的广播报文。什么原因造成的?原创 2025-07-02 22:57:36 · 497 阅读 · 0 评论 -
ssh登录遇到port 22: Connection refused解决办法?ssh如何支持多端口?(/etc/ssh/sshd_config、systemctl restart sshd)
摘要:远程服务器突然无法通过22端口SSH登录,显示"Connection refused"。排查发现是sshd配置修改导致22端口被禁用或更改。解决方法有两种:1) 恢复默认22端口,在sshd_config中添加"Port 22";2) 配置多端口支持,同时添加"Port 22"和"Port 5009"等。修改后需重启sshd服务,并通过netstat命令验证端口监听情况。注意检查时需加上-p参数查看关联进程。原创 2025-07-02 22:48:11 · 1001 阅读 · 0 评论 -
【微知】ubuntu deb系统中如何查看某个deb包中的文件内容如何安装下载?(c看,L看,l列,i安装;dpkg -c xxx.deb 查看; -L查看已安装的deb内中的文件; -l查看文件)
Linux系统中使用dpkg管理.deb软件包的常用操作:1)查看未安装包内容(dpkg -c);2)查看已安装包文件列表(dpkg -L);3)查询所有已安装包(dpkg -l);4)安装软件包(dpkg -i);5)查看版本依赖(dpkg -s);6)强制安装(--force-depends);7)使用apt download下载包到本地。通过grep可过滤查询结果,解决依赖问题时推荐先下载再强制安装。原创 2025-05-31 23:50:55 · 600 阅读 · 0 评论 -
【微知】linux命令ulimit的原理简要分析?(task_struct->signal->rlimt、RLIMIT_MEMLOCK )
本文分析了ulimit命令的工作原理及其内核实现机制。ulimit通过系统调用setrlimit/getrlimit与内核交互,资源限制参数存储在进程task_struct结构的signal->rlim数组中,按resource类型组织。用户可通过ulimit -a或/proc/<pid>/limits查看限制值,内核使用rlimit()接口读取当前进程的限制值进行资源管控。当资源超过限制时,内核会采取相应处理策略。文章以memlock为例,展示了从用户态设置到内核态读取限制值的完整流程,原创 2025-05-27 23:05:46 · 719 阅读 · 0 评论 -
【微知】linux如何配置网卡名字不用udev 的可预测命名方案(如enpXsY)而是eth0 eth1这种?(net.ifnames=0、biosdevname=0)
本文介绍了在CentOS系统中如何将网卡命名恢复为传统的eth0、eth1格式。通过添加两个内核参数net.ifnames=0和biosdevname=0来禁用systemd的可预测网络接口命名方案。具体操作为使用grubby工具更新内核启动参数,执行命令后重启系统即可生效,网卡名称将从enpXsY等格式变为传统的ethX命名方式。操作前后截图对比验证了配置的有效性。原创 2025-05-25 18:15:05 · 295 阅读 · 0 评论 -
【微知】Mellanox网卡如何将网卡的两个port bond到一起?(echo +bond0 > /sys/class/net/bonding_masters )
本文介绍了两种将两个网络端口绑定(bonding)以实现带宽倍增的方法。第一种方法通过sysfs文件配置,包括关闭网卡、启动bonding模块、创建bonding口并设置模式,最后将网卡加入bonding口并启动。第二种方法使用NetworkManager服务配置文件,通过创建bonding配置文件和从属网卡配置文件,重启网络服务并验证bonding接口状态。此外,还简要提及了使用nmicli配置bonding的步骤。这些操作均需root权限或sudo执行。原创 2025-05-22 08:33:52 · 1527 阅读 · 0 评论 -
【微知】linux系统使用NetworkManager服务,如何查看网卡的UUID?(nmcli connect show)
另外NetworkManager的配置在/etc/NetworkManager/system-connections/*下面有先关配置。如果系统使用NetworkManager,可以通过。原创 2025-05-20 00:27:13 · 283 阅读 · 0 评论 -
【微知】Mac上如何使用系统自带软件访问vnc服务器?(finder -> 连接服务器 -> vnc://xxx:port)
Linux服务器启动vnc可以远程访问桌面。MAC笔记本除了安装vnc viewer等工具,还可以使用finder提供的工具直接访问。本文简单介绍操作方式。原创 2025-05-20 00:19:50 · 596 阅读 · 0 评论 -
【微知】Linux系统网络设备名字如何避免enp0s1f1这种而是使用eth0这种顺序增加?(net.ifname=0、biosdevname=0)
通过修改内核参数可以禁用可预测命名,使网络接口名称恢复为传统的eth0、eth1等逐渐增加的命名方式。具体操作包括使用grubby工具更新内核参数,分别设置net.ifname=0和biosdevname=0。修改后,通过grubby --info=ALL命令可以确认配置是否生效。原创 2025-05-20 00:12:10 · 330 阅读 · 0 评论 -
【微知】如何查看系统网络管理使用的是networkd还是NetworkManager,分别如何启用和停止?(ps -aux |grep -E “network|NetworkManager“)
【代码】【微知】如何查看系统网络管理使用的是networkd还是NetworkManager?原创 2025-05-19 23:51:36 · 328 阅读 · 0 评论 -
【微知】如何持久修改hostname?(hostnamectl set-hostname [newname])
该命令还能查看系统版本,内核版本等。原创 2025-05-19 23:44:45 · 841 阅读 · 0 评论 -
【微知】自己有一个云服务器如何配置一个内网穿透功能访问家里的服务器?(ssh -NfR 5505:localhost:22 reverse_proxy@1.2.3.4 -p 22)
内网穿透在淘宝上售卖的比较多,以及常见的花生壳有相关服务。本文记录使用 SSH 反向代理实现内网穿透的方式。autossh通常包含在 EPEL(Extra Packages for Enterprise Linux)源中。,autossh通常包含在 EPEL(Extra Packages for Enterprise Linux)源中。家里服务器执行:(如果是后台服务器,可以指定-f)可以使用ssh config配置,也可以其他。笔者遇到了比较慢,手动安装的autossh。创建中转用户(可选但更安全)原创 2025-05-18 18:35:10 · 1139 阅读 · 0 评论 -
【微知】Mellanox网卡ib设备对应的信息如何快速既查看eth网卡名也查看fw版本也查看网卡型号?(ibdev2netdev -v)
本文介绍了如何快速查看InfiniBand设备的网络接口名称、固件版本信息以及网卡型号。通过使用ibdev2netdev -v命令,可以一步完成以下操作:首先获取IB设备的网络接口名称,接着通过ethtool -i获取固件版本信息,最后通过lspci从ethtool中查看网卡型号。这种方法简化了操作流程,提高了效率。文章还提供了实际操作截图,帮助用户更直观地理解和使用该命令。原创 2025-05-17 14:56:23 · 692 阅读 · 0 评论 -
【微知】mount如何挂载iso文件?(mount -o loop /root/file.iso /mnt/iso)
本文介绍了如何在Linux系统中挂载ISO文件。首先,创建一个空目录作为挂载点,例如/mnt/iso。然后,使用mount -o loop命令将ISO文件挂载到该目录,命令格式为mount -o loop /path/to/file.iso /mnt/iso。挂载后,可以通过挂载点访问ISO文件内容。原创 2025-05-17 09:10:00 · 1393 阅读 · 0 评论 -
【微知】如何持久化挂载某个磁盘?(fdisk -l、/etc/fstab、e2label、mount -t ext4 /dev/sda4 /mnt/data)
本文详细介绍了在Linux系统中进行磁盘分区、格式化、挂载及持久化挂载的步骤。首先,使用fdisk -l查看磁盘分区,选择目标分区(如/dev/sda4),并通过mkfs.ext4格式化。接着,使用blkid获取分区的UUID,并编辑/etc/fstab文件,添加挂载信息。使用mount -a检查语法,重启后通过df -h确认挂载结果。此外,还介绍了如何调整挂载点权限、使用卷标(LABEL)挂载,以及系统无法启动时通过Live CD/USB修复的流程。最后,提供了为分区设置LABEL的命令,并展示了如何在/原创 2025-05-17 08:59:49 · 631 阅读 · 0 评论 -
【微知】ssh如何命令行指定密码登录?(sshpasswd -p ‘paswd‘ ssh username@192.168.1.100)
使用sshpass命令配合。原创 2025-05-11 01:39:54 · 1033 阅读 · 0 评论 -
【微知】Linux服务器如何开启samba服务?如何映射固定路径?sourceinsight如何结合samba编辑远程文件?
sourceinsight前后用了十几年了,但是在四五年前开始用的少一些,主要原因是需要在很多云服务器上编辑,sourceinsight这方面支持没有vscode做得好。虽然sourceinsight结合samba比较常用,但是vscode配合sftp或者ssh remote非常方便。但是sourceinsight在看代码方面,目前来看还是无敌的存在,尤其是配合各种快捷方式以及si的代码阅读模式。该部分以后介绍。本文主要介绍sourceinsight如何结合samba如何编辑和阅读代码?原创 2025-05-04 10:59:25 · 866 阅读 · 0 评论 -
【微知】关于 Mellanox BF3 DPU 上 rshim 的深入解析(一)?以及如果无法创建rshim设备如何处理?
包括要提供boot、misc、console、rshim等多个通道,体现了Mellanox 20多年运维网卡的经验(比如要提供一个tmfifo_net来与网卡通信,这个通道可以简化很多实验环境单机完成HOST和ARM通信,我想新开发DPU的厂商如果设计了这个 应该能省不少事儿;他在硬件上有一个专门的硬件单元。可以看到tmpfifo_net是在rshim进程启动后rshim_main中的work,启动rshim_net_init创建的,如果rshim_no_net为0,表示要开启tmpfifo就会来创建。原创 2025-05-02 22:23:06 · 1580 阅读 · 0 评论 -
【问题解决】编译用户态PCIe程序报错fatal error: pci/pci.h: No such file or directory如何处理?yum install pciutils-devel
本文记录因为系统未安装PCIe用户态编译工具造成用户态PCIe程序编译报错的处理方法。原创 2025-05-02 22:03:14 · 584 阅读 · 0 评论
分享