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文件

bash 复制代码
gdb exe core文件

bt

f 6

l

core文件找不到

bash 复制代码
# 放开文件大小限制
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

相关推荐
远游客071336 分钟前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<36 分钟前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟37 分钟前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
cominglately4 小时前
centos单机部署seata
linux·运维·centos
魏 无羡4 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse4 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux4 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8245 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
鹏大师运维5 小时前
聊聊开源的虚拟化平台--PVE
linux·开源·虚拟化·虚拟机·pve·存储·nfs