踩过的坑

随缘记录一些日常碰到的问题

zsh终端出现问题

zsh: corrupt history file /home/xxx/.zsh_history

1
2
3
mv ~/.zsh_history ~/.zsh_history_bad
strings ~/.zsh_history_bad > ~/.zsh_history
fc -R ~.zsh_history

虚拟机挂起后无法联网

sudo service network-manager restart

ubuntu清理垃圾

查看空间利用率

1
df -h

删除不需要的软件包

1
sudo apt-get autoremove --purge

清空垃圾桶

清理APT缓存

1
2
3
sudo du -sh /var/cache/apt 			#查看APT缓存的当前利用率
sudo apt-get autoclean #清理过时的deb包
sudo apt-get clean 删除了apt缓存中保存的所有包

ubuntu16升级python3.8

添加 deadsnakes PPA 源安装python3.8

1
2
3
4
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8

配置python3.8为系统默认python3

可用使用which查看python路径

1
2
which python3.8
/usr/bin/python3.8
1
2
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2
1
sudo update-alternatives --config python3

配置pip3

升级完python3.8后,我发现pip3没法用了,参考

1
2
3
4
5
6
7
8
9
10
11
12
pip3

Traceback (most recent call last):
File "/home/verf1sh/.local/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 14, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/usr/lib/python3/dist-packages/pip/utils/__init__.py", line 23, in <module>
from pip.locations import (
File "/usr/lib/python3/dist-packages/pip/locations.py", line 9, in <module>
from distutils import sysconfig
ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.8/distutils/__init__.py)

执行下面命令就可以正常使用了

1
sudo apt-get install python3.8-distutils

若还未成功,可用尝试卸载pip3然后重装

1
2
3
sudo apt remove python3-pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.8 get-pip.py

VMware虚拟机中ubuntu扩容

在vmware虚拟机中使用Ubuntu,刚开始分配的硬盘空间用长了时间可能不够用了,下面记录如何扩充容量(ubuntu20.04)。

首先为了预防操作失误可以先做个备份,然后虚拟机关机。

在虚拟机设置里面点击拓展,然后重新指定磁盘大小

分配好空间后还得进入系统手动进行分区,安装分区软件

1
2
sudo apt-get install gparted
sudo gparted

先在extended那里点击右键更改大小

image-20211130155607073

然后鼠标把这个往右拉到底

接着把sda5那个拉到最右

image-20211130155758754

最后点击绿色的勾勾

image-20211130155840897

OK

python开启自带http服务

python2

1
python -m SimpleHTTPServer 8000

python3

1
python -m http.server 8000

更换libc

1
2
3
4
5
6
7
8
#先进入lib64目录创建一个软连接
sudo ln -s /path/to/your/ld.so ./ld-xx.so

#再进入题目目录
patchelf --set-interpreter /lib64/ld-xx.so ./bin #bin是二进制文件名 第一个参数是ld.so的目录 bin是二进制文件

patchelf --replace-needed libc.so.6 /home/verf1sh/glibc-all-in-one/libs/2.31-0ubuntu9_amd64/libc-2.31.so ./bin #libc.so.6为需要替换的libc路径 第二个参数是需要加载的glibc的目录 bin是二进制文件

编译的保护措施

1
2
3
4
NX:-z execstack / -z noexecstack (关闭 / 开启)    不让执行栈上的数据,于是JMP ESP就不能用了
Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启) 栈里插入cookie信息
PIE:-fpie -no-pie / -pie (关闭 / 开启) 地址随机化,另外打开后会有get_pc_thunk
RELRO:-z norelro / -z lazy / -z now (关闭 / 部分开启 / 完全开启) 对GOT表具有写权限

ubuntu终端光标消失

显示光标:

1
echo -e "\033[?25h"

隐藏光标:

1
echo -e "\033[?25l"

vim设置tab键为4个空格

1
vim /etc/vimrc
1
2
3
set ts=4
set expandtab
set autoindent

sublime破解

1、打开浏览器进入网站https://hexed.it
2、打开sublime text4安装目录选择文件sublime_text.exe
3、搜索80 78 05 00 0f 94 c1更改为c6 40 05 01 48 85 c9(第一个匹配到的)
4、保存文件命名为sublime_text.exe并替换原文件

查看mysql语句执行记录

1
2
3
-- 查看当前配置
show variables like '%log_output%';
show variables like '%general_log%';

image-20220313152709855

image-20220313152853172

ON状态表示开启日志模式,日志输出到下面的文件,若为OFF,使用下面命令开启

1
SET GLOBAL log_output = 'FILE';  SET GLOBAL general_log = 'ON'; 

软链接修改

例如替换python的软链接

1
2
rm -rf /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python

ubuntu终端自动补全忽略大小写

Ubuntu自带的bash是大小写敏感的,不好用

1
vim ~/.inputrc
1
2
3
4
5
6
7
set match-hidden-files off

set show-all-if-ambiguous on
set completion-ignore-case on

"\e[A": history-search-backward
"\e[B": history-search-forward

scp拷贝

1
2
# s拷贝本地文件到远程服务器
scp a.txt xxx@192.168.1.1:/home/xxx

windows查看WiFi密码

1
netsh wlan show profiles "wifi名称" key=clear

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!