一、常用命令
查看被占用进程: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