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

相关推荐
醇氧1 小时前
ab (Apache Bench)的使用
linux·学习·centos·apache
moneyxjj2 小时前
Linux各种解压命令汇总
linux·运维·服务器
白白♛~2 小时前
网络管理之---3种网络模式配置
linux·服务器·网络
GOTXX2 小时前
NAT、代理服务与内网穿透技术全解析
linux·网络·人工智能·计算机网络·智能路由器
脱了格子衬衫2 小时前
使用源码编译安装 Tomcat
linux·tomcat
陈yanyu2 小时前
Linux - 弯路系列3:安装和编译libvirt-4.5.0及虚拟网卡virbr0(virbr0-nic)创建
linux·运维·服务器
feng68_3 小时前
Linux编辑/etc/fstab文件不当,不使用快照;进入救援模式
linux
码农研究僧3 小时前
详细分析ip addr show 查看网络配置的命令
linux·tcp/ip·ip addr show
码狂☆3 小时前
ubuntu连接orangepi-zero-2w桌面的几种方法
linux·ubuntu
学习向前冲3 小时前
安装一键式重置密码插件(Linux)-CloudResetPwdAgent
linux·运维·服务器