linux常用命令备忘录
一、常用命令
查看被占用进程:ps ef|grep 11612
查看当前目录:pwd
查看文件的md5:
(linux)md5sum 文件名
(windows)certutil -hashfile some_file MD5
查看当前目录的文件大小:du -h -d1
删除文件名乱码的文件:
ls -i
find -inum 434896936 -delete
find -inum 434896936 -exec rm -rf {} \;
ubuntu安装卸载库包:
sudo apt-get update
sudo apt-get install ***
sudo apt-get --purge remove ***
文本三剑客:
awk、grep、sed是linux操作文本的三大利器,合成文本三剑客。三者功能都是处理文本,但侧重点不同。
- awk 功能最强大,但也最复杂。更适合格式化文本,对文本进行复杂格式处理。
- grep更适合单纯的查找或匹配文本
- sed 更适合编辑匹配到的文本
参考:
https://www.cnblogs.com/along21/p/10366886.html
示例:grep '^info' 文件A | awk '{print $5}' | sort -n | uniq 将文件A中以info开头的信息的第五个字段按数值排序并去重
二、增删改用户
- 创建用户
sudo useradd -r -m -d 用户主目录 -s /bin/bash 用户名
示例:sudo useradd -r -m -d /home/users/chagee -s /bin/bash chagee
- 设置密码
sudo passwd 用户名
按照提示输入密码
- 为新用户增加sudo权限
sudo vim /etc/sudoers
为chagee增加sudo权限:
chagee ALL=(ALL:ALL) ALL
- 删除用户
执行userdel命令:sudo userdel chagee
删除用户目录命令:sudo rm -rf /home/users/chagee
删除用户权限相关配置:删除或注释掉/etc/sudoers中关于该用户的配置,否则无法再次创建同名用户。
- 将指定文件的拥有者改为特定的用户或组
sudo chown -R chagee:chagee filename
三、云盘挂载
查看所有硬盘和大小:fdisk -l
使用 mkfs.ext4 /dev/vdb 命令格式化磁盘(仅针对新创建云盘)
挂载云盘:mount -t ext4 /dev/vdb(云盘) /home(挂载的目的地址)
云盘挂载好之后,可root权限下修改/etc/fstab,实现机器的自动挂载,避免机器重启后总是还需要手动挂载:
vim /etc/fstab
/dev/vdb /home ext4 defaults 0 0
四、git操作
- 查看当前所在分支:git branch
- 查看修改的代码的文件:git status
- 添加修改的代码文件到暂存区:git add ***
- 提交暂存区代码到本地仓库:git commit -m "描述"
- 提交本地分支版本提交到远程仓库:
- git push <远程主机名> <本地分支名> : <远程分支名>
- git push origin HEAD:refs/for/branch***
- refs/for :意义在于我们提交代码到服务器之后是需要经过 code review 之后才能进行merge的
- 显示每个提交简单的哈希值和提交说明,适合查看历史记录:git log --oneline
- 切换到指定分支/提交:git checkout branch/hashid
- 将A分支代码合入B分支:
- git checkout B
- git merge A
- 删除本地分支:git branch -D ***
- 创建并切换到本地临时分支:git chekout -b ***
- 本地代码commit之后,发现有问题,想要撤回commit,且保留已经更改的本地代码:git reset --soft HEAD^(HEAD^ 是上一版本,也可以写成HEAD~1;如果撤回2次提交,可以使用HEAD~2)
- 不想保留本地代码,还原到修改代码之前的代码:git reset --hard
- 当前分支branch1开发到一半,不想commit,但需要临时切换到分支branch2做一些处理,之后再切换回分支branch1
- 当前分支branch1代码保存
- git status
- git stash
- 切换到分支branch2,做处理***
- 切换回分支branch1
- git stash pop
- 将master分支完全覆盖develop分支
- 切换到要覆盖的分支:git checkout develop
- 执行覆盖命令:git reset --hard origin/master
- 覆盖成功后,将本地分支强行推到远程分支:git push origin develop --force
五、gdb简单调试core文件
gdb exe core文件btf 6l
core文件找不到
# 放开文件大小限制
ulimit -c unlimited# 若执行工具目录下还未生成core,再执行以下命令# 查看core_pattern
cat /proc/sys/kernel/core_pattern
# 切换root
su root
# 将core文件统一生成到./下 (也可以写成core-%e-%p-%t,代码产生的文件名为core-命令名-pid-实践戳)
echo './core.%p' > /proc/sys/kernel/core_pattern
# 切换回原用户名
su chagee
六、unbuntu中python使用rtree、mod_spatialite需安装
安装python3、pip3
sudo apt-get install python3
sudo apt-get install python3-pip
python 使用rtee,需安装:
sudo apt-get install libspatialindex-dev
pip install Rtree
python 使用conn.load_extension('mod_spatialite.so'),需安装:
sudo apt-get install libsqlite3-mod-spatialite
相关文章:
linux常用命令备忘录
一、常用命令 查看被占用进程:ps ef|grep 11612 查看当前目录:pwd 查看文件的md5: (linux)md5sum 文件名 (windows)certutil -hashfile some_file MD5 查看当前目录的文件大小:…...
【C++进阶学习】第十二弹——C++ 异常处理:深入解析与实践应用
前言: 在C编程语言中,异常处理是一种重要的机制,它允许程序员在运行时捕获和处理错误或异常情况。本文将详细介绍C异常处理的相关知识点,包括异常的定义、抛出与捕获、异常处理的原则、以及在实际编程中的应用。 目录 1. 异常处理…...
《算法竞赛进阶指南》0x23剪枝
剪枝,就是减少搜索树的规模、尽可能排除搜索书中不必要的分支的一种手段。形象地看,就好像剪掉了搜索树的枝条,故被称为“剪枝”。在深度优先搜索中,有以下常见的剪枝方法。 1.优化搜索顺序 在一些搜索问题中,搜索树的…...
同态加密和SEAL库的介绍(三)BFV - Batch Encoder
写在前面: 在上一篇中展示了如何使用 BFV 方案执行一个非常简单的计算。该计算在 plain_modulus 参数下进行,并且仅使用了 BFV 明文多项式中的一个系数。这种方法有两个显著的问题: 实际应用通常使用整数或实数运算,而不是模运算…...
Docker 环境下使用 Traefik v3 和 MinIO 快速搭建私有化对象存储服务
上一篇文章中,我们使用 Traefik 新版本完成了本地服务网关的搭建。接下来,来使用 Traefik 的能力,进行一系列相关的基础设施搭建吧。 本篇文章,聊聊 MinIO 的单独使用,以及结合 Traefik 完成私有化 S3 服务的基础搭建…...
玛雅房产系统源码开发与技术功能解析
引言 随着房地产市场的蓬勃发展,房产管理系统(Real Estate Management System, REMS)作为提升行业效率、优化资源配置的关键工具,其重要性日益凸显。房产系统源码开发不仅涉及复杂的业务逻辑处理,还融合了先进的软件开…...
c++----初识模板
大家好,这篇博客想与大家分享一些我们c中比较好用的知识点。模板。首先咧,我们都知道模板嘛,就是以前人的经验总结出来的知识。方便我们使用。这里的模板也是一样的。当我们学习过后,对于一些在c中的自定义函数,我们在…...
SpringBoot3热部署
引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency> 默认就是,无需配置 可以了…...
J. 二进制与、平方和
https://codeforces.com/gym/104095/problem/J 分析操作一 1&00 ,0&10,ai<qmi(2,24),说明每个数最多操作25次 维护区间或和,orsum & x orsum 就不用递归下去了 势能线段树code // Problem: J. 二进制与、平方和 // Contest: Codeforc…...
LVS中NAT模式和DR模式实战讲解
1DR模式 DR:Direct Routing,直接路由,LVS默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行 转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源 IP/PORT…...
写给小白程序员的一封信
文章目录 1.编程小白如何成为大神?大学新生的最佳入门攻略2.程序员的练级攻略3.编程语言的选择4.熟悉Linux5.学会git6.知道在哪寻求帮助7.多结交朋友8.参加开源项目9.坚持下去 1.编程小白如何成为大神?大学新生的最佳入门攻略 编程已成为当代大学生的必…...
Leaf分布式ID
文章目录 系统对Id号的要求UUIDsnowflakeLeafLeaf-snowflakeLeaf-segmentMySQL自增主键segment双buffer 系统对Id号的要求 1、业务 1)全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求 2)趋势递增&a…...
Starrocks解析json数组
json数据 [{"spec": "70g/支","unit": "支","skuId": "1707823848651276346","amount": 6,"weight": 70,"spuName": "伊利 甄稀 苦咖啡味雪糕 流心冰淇淋 70g/支",&quo…...
安卓基本布局(下)
TableLayout 常用属性描述collapseColumns设置需要被隐藏的列的列号。shrinkColumns设置允许被伸缩的列的列号。stretchColumns设置允许被拉伸的列的列号。 <TableLayout xmlns:android"http://schemas.android.com/apk/res/android"android:id"id/TableL…...
Python中使用正则表达式
摘要: 正则表达式,又称为规则表达式,它不是某种编程语言所特有的,而是计算机科学的一个概念,通常被用来检索和替换某些规则的文本。 一.正则表达式的语法 ①行定位符 行定位符就是用来描述字符串的边界。"^&qu…...
三大口诀不一样的代码,小小的制表符和换行符玩的溜呀
# 小案例,打印输出加法口诀 for i in range(1,10):for j in range(1,10):if j>i:breakprint(f"{j}{i}{ji}".strip(),end\t)print() print(\n) for i in range(1,10):for j in range(1,10):if j>i:breakprint(f"{j}x{i}{j*i}",end\t)print…...
[qt] 线程等待与唤醒
对于生产者与消费者的数据处理的另一种好的解决方法是使用QWaitCondition类,允许线程在一定的条件下唤醒其他多个线程来共同处理。 一 定义公共变量 DataSize: 生产者生产数据的大小BufferSize: 也就是这个缓冲区的大小,每个单元是一个int,也有可能是一个链表,结构…...
Springboot 实现 Modbus Rtu 协议接入物联网设备
Modbus RTU 技术教程 引言 Modbus是一种开放标准的通信协议,它最初由Modicon(现施耐德电气)在1979年发布,旨在让可编程逻辑控制器(PLC)之间能够进行通信。随着时间的发展,Modbus已经成为工业自动化领域中最常用的通信协议之一,尤其适用于连接工业电子设备。本文将详细…...
鸿蒙笔记--装饰器
这一节主要了解一下鸿蒙里的装饰器,装饰器是一种特殊的语法结构,用于装饰类、结构体、方法以及变量; 1 Component在鸿蒙(HarmonyOS)开发中扮演着重要角色,主要用于定义可重用的UI组件,主要作用:1)组件化:Component装饰…...
不同环境下RabbitMQ的安装-3 操作RabbitMQ
前面两篇从不同环境下RabbitMQ的安装-1 为什么要使用消息服务 到同环境下RabbitMQ的安装-2 ARM架构、X86架构、Window系统环境下安装RabbitMQ介绍了关于如何在ARM架构、X86架构和Window系统下如何安装,各位小伙伴可以根据自己的实际开发场景参考安装。 到本篇是一些…...
专业的办公家具哪家技术强
在企业发展进程中,办公家具的优劣至关重要。专业办公家具不仅能提升办公环境舒适度,还能彰显企业形象与实力。然而,市场上办公家具品牌众多,究竟哪家技术强呢?今天,就为大家详细介绍佛山市豪亿办公家具&…...
微服务链路追踪:一次跨服务Bug的定位过程
对于软件测试从业者而言,单体应用的缺陷定位通常是一场直截了当的“巷战”——战场清晰,目标明确。然而,当业务架构演进为微服务分布式系统后,一场普通的缺陷排查,却可能演变为一场在庞大迷宫中寻找故障源头的艰苦战役…...
小程序常用页面跳转 5 种方式汇总(开发常备手册)
小程序多页面协作离不开路由跳转,不同场景对应不同跳转 API,今天一次性整理齐全,开发随时查阅。保留当前页跳转(普通内页)wx.navigateTo({url:"/pages/detail/detail"})关闭当前页再跳转wx.redirectTo({url:…...
从谷歌官网下载谷歌浏览器并测试能否正常访问deepseek免注册版网址
引言 下载软件的时候,需要识别是否来自官网。如果下载来自非官方网站提供的软件,可能出现的危害包括但不限于,自动安装多个你并不想要安装的软件,甚至是都没听过的软件,这些软件很可能自动设置了开机自启动功能&#x…...
开关电源噪声处理与PCB布局优化实战
1. 开关电源噪声的产生机制与危害作为一名在汽车电子领域摸爬滚打多年的硬件工程师,我深知EMC问题对车载电子产品的致命影响。最近因为全球芯片短缺,我们不得不对大量元器件进行替代选型,从MCU到电源管理芯片,每个替代方案都要经过…...
Kuikly动态化跨端框架的多维特性与选型实践
Kuikly,是指基于Kotlin MultiPlatform(KMP)构建的跨端开发框架,利用KMP的逻辑跨平台能力,抽象通用跨平台UI渲染接口,复用平台UI组件,实现UI跨平台,具备轻量、高性能、可动态化优势;其核心特点是…...
VCF 部署不踩坑!ESXi 主机 SSL 指纹怎么拿、怎么用?一文简单了解
在部署 VMware Cloud Foundation(VCF)9.0 时,很多人会卡在 “ESXi 主机指纹验证” 这一步 —— 自动部署时 JSON 文件缺了它会失败,手动确认又怕输错。其实这就是主机的 “安全身份证”,用来验证连接的真实性。本文用通俗的语言解释 SSL 指纹…...
项目管理实战:如何用关键路径算法优化你的开发周期(附Python代码示例)
项目管理实战:如何用关键路径算法优化你的开发周期(附Python代码示例) 在敏捷开发团队中,最常听到的抱怨莫过于"时间不够用"。上周我们的跨平台应用项目就遇到了典型困境:产品经理要求三周内完成支付模块重构…...
CVPR/ICCV跟踪新趋势解读:对比学习如何让MOT模型学会“认人”?
对比学习如何重塑多目标跟踪:从特征判别到轨迹记忆的技术革命 在拥挤的街头,人类能轻易识别并持续关注某个特定行人——这种看似简单的生物视觉能力,却让计算机视觉系统奋斗了数十年。多目标跟踪(MOT)技术正经历着从&q…...
SuperDuperDB事件驱动架构:构建实时AI应用的全新方式
SuperDuperDB事件驱动架构:构建实时AI应用的全新方式 【免费下载链接】superduperdb Superduper: End-to-end framework for building custom AI applications and agents. 项目地址: https://gitcode.com/gh_mirrors/su/superduperdb SuperDuperDB是一个端到…...
