当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Mapper使用记录
  • Java 并发编程:线程变量 ThreadLocal
  • OceanBase VS Doris 对比分析
  • Bio_ClinicalBERT 医疗临床领域大模型,参数里 0.11B【Hugging face 】
  • C语言 软件设计的七大原则,及其应用案例
  • labelme标注的图像分割json文件转图片格式
  • Flutter 学习 一部分注意点记录
  • css实现磨砂效果(filter 与 backdrop-filter 的对比分析)
  • Lambda 表达式:解锁编程世界的魔法之门
  • 「MyBatis」数据库相关操作2
  • 【论文】NCScope: Hardware-Assisted Analyzer for Native Code in Android Apps
  • vue手搓悬浮在线客服按钮
  • 【深度学习与NLP】——注意力机制
  • Java 8: 根据对象的多个属性去除List中的重复元素
  • C控制语句:循环(1)
  • 11111111
  • CEF与代理
  • Git初体验
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • leetcode388. Longest Absolute File Path
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • vue 配置sass、scss全局变量
  • 大数据与云计算学习:数据分析(二)
  • 大整数乘法-表格法
  • 服务器从安装到部署全过程(二)
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用Swoole加速Laravel(正式环境中)
  • 算法-插入排序
  • 想写好前端,先练好内功
  • 一些关于Rust在2019年的思考
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # 计算机视觉入门
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $.ajax,axios,fetch三种ajax请求的区别
  • (160)时序收敛--->(10)时序收敛十
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (floyd+补集) poj 3275
  • (Note)C++中的继承方式
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (SpringBoot)第二章:Spring创建和使用
  • (二)fiber的基本认识
  • (二)linux使用docker容器运行mysql
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (六)DockerCompose安装与配置
  • (转)Linq学习笔记
  • (转)Scala的“=”符号简介
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .NET CORE Aws S3 使用
  • .net framework 4.0中如何 输出 form 的name属性。