编辑 .bashrc
让history记录时间:
HISTTIMEFORMAT="%y-%m-%d %T "
加上这行设置后就会记录时间,但是history命令也会显示时间
如果不想看时间,可以设置一个alias,用sed替换为空:
alias h='history | sed "s/[[:digit:]]*-[[:digit:]]*-[[:digit:]]* [[:digit:]]*:[[:digit:]]*:[[:digit:]]* //"'
这样,用 h 命令就可以显示不带时间的history了
查找当前目录下大小超过100M的文件
find . -xdev -type f -size +100M
vi /etc/network/interfaces
最下面加入两行:
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
然后运行命令:
systemctl restart resolvconf.service
systemctl restart systemd-resolved.service
再重启 /etc/resolv.conf 里 nameserver 配置就不会被清空了,自动加入了上面的两个nameserver
docker image tag old_image_name new_image_name
docker rmi old_image_name
删除所有容器:
docker rm -vf $(docker ps -aq)
删除所有镜像:
docker rmi -f $(docker images -aq)
明明一个alert提示框就能搞定的事情,非搞的跟操作系统内核般复杂
备份到一个文件:
docker save $(docker images --format '{{.Repository}}:{{.Tag}}') -o allinone.tar
恢复到所有镜像:
docker load -i allinone.tar
比如查看5500这个端口被谁占用了:
lsof -i:5500
#include<iostream>
#include<malloc.h>
#include<stdio.h>
#define STACKINITSIZE 100
#define STACKINCREMEMT 10
using namespace std;
typedef struct{
int *base; //动态存储空间的基地址,栈底
int *top; //栈顶指针,指向真实栈元素的下一个位置
int stacksize;
}Sqstack;
void InitStack(Sqstack &S){ //创建动态空间
S....
网站升级到 django4.1.3 后,连接老版本的数据库(mysql5.5)的时候,时不时出现错误:
File "/usr/local/lib/python3.11/site-packages/django/db/backends/base/base.py", line 207, in check_database_version_supported
raise NotSupportedError(
django.db.utils.NotSupportedError: MySQL 5.7 or later is required (found 5.5.53).
解决...
本来都设置成静态很好
network:
ethernets:
enp0s3:
addresses: [192.168.42.116/24]
gateway4: 192.168.42.129
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
可惜魅族手机的便携式热点是动态getway4,每次开启都会随机分配一个,所以不能指定gateway4
可以用下面的dhcp4连接:
network:
ethernets:
...
原因是mysql 8为了提高安全性,默认使用caching_sha2_password作为密码加密方式,需要加密连接,加密连接需要证书,详见:https://www.jianshu.com/p/d677bb316ab0
这里提供一个更简便的解决办法,使用老的密码加密方式:
在phpmyadmin中管理账户,点进去账户后点上面的“Change password”,重设密码,密码加密方式选择“MySQL自带身份验证”
假设是一个model,名为Attach
class Attach(models.Model):
file = FileField(upload_to="files/%Y/%m/%d")
保存上传文件,这个最简单:
def upload(request):
attach = Attach()
attach.file = request.FILES.get('file')
attach.save()
保存网络上采集的文件:
import requests
from django.core.files.base import Cont...
通过以下命令安装后
sudo apt install gnome-shell-extension-autohidetopbar
网上的教程都是用Tweaks打开,如果删除过 gnome-shell-extension-autohidetopbar 这个插件再次安装,可能无效。
解决办法:
用Extensions打开,在应用中搜索“Extensions”,然后在里面打开 hide top bar 即可:
是:
urllib.parse.quote
而不是 urllib.parse.urlencode
比如搜索路径名含有“active”的,并且内容中含有“doesn't match”的ruby文件:
find . | ag 'active' | xargs ag "doesn't match" --ruby
原需求是在rails框架源代码中搜索“doesn't match”,但是在gems目录下不止rails框架,还是其他gem,而只有rails框架的文件路径中含有“active”,所以就用上面的管道先把rails框架中的文件过滤出来,再从这些文件中搜索关键词
比如User模型,则用:
User.validators
其实Virtualbox对鼠标和触摸板是有优化的,这就导致,如果你用的是鼠标,Virtualbox却向触摸板方向优化,当然会导致鼠标不太好使,解决办法如下:
打开设置 - 系统,指点设备选择 “PS/2 鼠标”
vscode总让人感觉不像软件像网页,很大一方面原因是鼠标移动到标签等位置的时候,鼠标变成手形,类似网页中鼠标移动到链接上的形状,可以把它改成指针的形状。方法如下:
打开 Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css 文件,把所有的“cursor:pointer”替换为“cursor:default”
在rails开发中,有时候修改了assets里的静态文件名不生效,可能是Sprockets缓存的问题,可以用下面的命令清空:
rake tmp:cache:clear
然后再运行 rails s 即可,初次运行后刷新页面需要很长时间,因为缓存被清空了第一次要建立缓存,后面再刷新就很快了