在Linux下面的一些命令总是记不住,要去搜来搜去,打算把自己常用的一些命令记录下来,以后查找起来也方便一些。
- 存储空间总是占满,这时就需要查看谁的文件占的空间最大,哪个文件占的比较多
du -h --max-depth=0 #查看当前目录及其深度目录的大小
- 关于docker的一些常用命令
systemctl restart docker #centos docker启动
docker stats #动态查看docker内存使用情况
docker ps #查看运行的容器
docker ps -a #查看所有容器
docker start XXX # 启动容器
docker save **(image name) > ***.tar #将镜像打包到.tar文件中
docker load < **.tar #将打包好的镜像加载进去
docker run -t -i -v *本地路径*:*docker里文件夹* **镜像名** /bin/bash #基于镜像启动一个容器 并将本地文件夹挂入
docker pull ** #从某处拉镜像
docker images #查看所有镜像
docker system df #查看镜像 容器 数据卷所占空间
docker image ls -f dangling=true # 查看虚悬镜像
- 程序不挂断地运行
nohup **命令** & #运行日志会输到nohup.out 也可以自定义输出文件
- 文件数量统计
ls -l | grep "^-" | wc -l #统计当前路径下文件个数 (不包括子目录)
ls -lR| grep "^-" | wc -l #统计当前路径下文件个数(包括子目录)
ls -lR | grep "^d" | wc -l #统计当前路径下文件夹个数(包括子目录)
- 查看目录下文件
ls
ls -lh #可以看到每个文件大小
- 删除特定文件
find . -name "***" | xargs rm -rf # ***里为要查找删除的文件名可以是正则表达式
- Linux下程序killed排查问题
dmesg | egrep -i -B100 'killed process'
程序程序总是莫名被killed 不知道什么原因,看了网上说可以在 /var/log/messages中查看,但是我没有找到这个文件,网上说的编辑vim /etc/rsyslog.d/50-default.conf 这个文件的内容,来获得/var/log/messages的方法对我也无效,因为也没找到/etc/rsyslog.d/50-default.conf这个文件。。
然后通过上面的命令,找到了Killed的原因
(貌似dmesg是内存缓存的消息,超过大小会丢弃)
- 移动文件夹中的文件及子目录到上层目录
mv * ../
- PyCharm中docker设置端口映射
新建容器时,使用参数-P来进行端口映射
那在PyCharm中如何设置端口映射呢? 在PyCharm下方的docker面板中,找到当前所用的容器,对容器进行port bindings设置,添加容器和host的port映射关系
例:
- git
git pull # 远程库更新拉取 (多人协作时)
git add
git reset HEAD *** #撤销对***的add
git commit -m
git push #推到远程库
git branch #查看当前分支
git checkout release #切换到release分支
- 使用国内镜像源进行python包安装
例
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow #清华源安装tensorflow (-i 参数) 临时使用
conda 也可以进行换源,要找一个官方支持的源地址
在conda换源之后出现如下错误以及解决方式
CondaHTTPError: HTTP 000 CONNECTION FAILED for url
# 解决办法:把链接的https修改成http就可以了
- geohash
pip install mzgeohash
import mzgeohash
mzgeohash.encode((x, y),l) # (x,y)为坐标和l为编码长度
mzgeohash.decode(g) #g为geohash码 解码成坐标
geohash码长度位数和距离的对应
geohash length | lat bits | lng bits | lat error | lng error | km error |
---|---|---|---|---|---|
1 | 2 | 3 | ±23 | ±23 | ±2500 |
2 | 5 | 5 | ±2.8 | ±5.6 | ±630 |
3 | 7 | 8 | ±0.70 | ±0.70 | ±78 |
4 | 10 | 10 | ±0.087 | ±0.18 | ±20 |
5 | 12 | 13 | ±0.022 | ±0.022 | ±2.4 |
6 | 15 | 15 | ±0.0027 | ±0.0055 | ±0.61 |
7 | 17 | 18 | ±0.00068 | ±0.00068 | ±0.076 |
8 | 20 | 20 | ±0.000085 | ±0.00017 | ±0.019 |
13.ubuntu查看某端口占用情况
有时候程序在运行时会报错,OSError: [Errno 98] Address already in use 一般为所使用的端口在占用,如果不知道或者忘记哪个程序占用了,可以使用下面的命令查看端口占用情况,并用killl-9杀死占用进程。
netstat -ap | grep 8080