这里列举一些常用的,又不容易记忆的linux工具命令
zotero 添加SCIhub
1 | Edit-Preference-Config editor-extensions.zotero.findPDFs.resolvers |
添加
1 | { |
然后,使用Zotero Connector
或者Find Available PDF
均可下载已有的PDF文件。
nvidia
1 | nvidia-smi # 查看显卡信息 |
添加路径
1 | sudo gedit ~/.bashrc |
删除cuda。(有时候需要删除后,重新安装别的版本)
1 | cd /usr/local/cuda-11.0/bin/ |
安装cupti
1 | sudo apt-get install libcupti-dev |
Sphinx
1 | conda install Sphinx |
Colab
Colaboratory is built on top of Jupyter Notebook.
GPU可以快速提高训练的速度。Colab提供K80显卡,价格一万多元。
1 |
|
使用google drive数据的方法:https://colab.research.google.com/notebooks/io.ipynb
1 | from google.colab import drive |
Conda
Conda 比较慢,可以使用mamba加速:
1 | conda install -c conda-forge mamba |
之后,使用mamba替代conda使用。
Conda是一种python包管理工具,可以对环境进行封闭管理,不同环境之间不相互干扰。
1 | conda --version # 版本号 |
删除环境之前需要先deactivate
1 | conda deactivate tensorflow_env |
添加conda-forge channel并设置为最高优先级
1 | conda config --add channels conda-forge |
查看现在的channel状态和优先级
1 | conda config --get channels |
激活某个环境,在环境中设置channel的严格优先。注,如果该环境中已经安装了若干库,则需要先更新所有的库以保证大多数库从conda-forge下载,以保持库的一致性。
1 | # activate my environment |
使用添加频道 conda config –add 频道 —(你的频道) 您添加的最后一个频道获得最高优先级……所以请保持顺序。您可以添加频道,即使您已经拥有它们,以便更改优先级顺序.
恢复原来的源,删除添加的源和设置。
1 | conda config --remove-key channels |
Docker
理解image、container。image可以共用,比如Ubuntu环境,而且非常精简。container是每次启动后的封闭容器,一个Ubuntu可以启动无数个container,彼此不相干。
1 | docker images |
退出容器:
1 | exit |
退出,但是还在后台运行,Ctrl+P+Q
.
退出后再次进入docker start -d (id)
或者docker exec -it 3e17550b10c8 bash
。此外还有attach
可以进入正在运行的窗口。
查看日志
1 | docker logs -f -t --details 3e17550b10c8 |
hexo
下面是简单的上传博客文章的hexo命令,其中hexo d -m "message"
可以产生commit
。
1 | hexo new post "linux tools" |
插入公式:
1 | npm uninstall hexo-math --save |
配置参考:
行内的公式用
$
公式内容$
包裹起来,在公式中右键即可查看公式$\TeX$代码。
同样右键可查看公式代码。
例如:
\begin{equation} \sum_{k=1}^{n} \frac{1}{1+8 \sin ^{2} \frac{k \pi}{n}}=\frac{n\left(2^{n}+1\right)}{3\left(2^{n}-1\right)} \end{equation}
文章抬头需要加入类似:
1 |
|
git
常用git命令
1 | git status |
弹出openSSH的问题,要求第二次输入username和密码,注意这里需要登录GitHub,新建一个Personal access tokens。username就是note的名字,密码就是token。
更新代码到本地。如果本地没有修改,可以直接使用:
1 | git pull |
撤销不小心add的文件
1 | git reset data/era5/4d/south/era5.pl.*.nc |
.gitignore
修改无效的问题.gitignore
只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的,所以我们需要使用rm命令清除一下相关的缓存内容.这样文件将以未追踪的形式出现,对某个文件取消跟踪。
1 | git rm -r --cached . |
git撤回commit
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m “本功能全部完成”
执行完commit后,想撤回commit,怎么办?
这样凉拌:
git reset –soft HEAD^
不再追踪某文件
1 | git rm --cached test/ja3_check/mypoints.kml |
在VPN,比如clash,环境下使用,遇到错误:
1 | fatal: unable to access 'https://github.com/yangleir/gnsswave.git/': failed to connect to github.com port 443: timed out |
解决方案:
1 | git config --global https.proxy http://127.0.0.1:7890 |
或者在用户根目录下,直接打开.gitconfig
,手动修改:
1 | [http] |
批量解压gz
我下载了很多个文件夹,每个文件夹下都是gz
压缩文件,现在想批量解压指定文件夹的文件。
文件下载如下:
1 | $ ls | head |
解压cycle_0068和cycle_0069两个文件夹下的全部gz文件,并删除gz原始文件。
1 | gzip -d cycle_006[8-9]/*.gz |
批量转换图片格式
把pdf转为png,并设置density 300,表示图像每英寸面积内的像素点数,数值越高图片质量越高
1 | for *.pdf; magick convert -density 300 $ ${ %%.*}.png; done |
视频编辑
截取视频
1 | $ ffmpeg -i ./linchang.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:00:16 ./cutout1.mp4 -y |
合并视频(对于MP4格式,需要先转ts再合并)
1 | $ ffmpeg -i cutout1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts |
慢速,三倍慢速
1 | $ ffmpeg -i 2021-02-19-22-38-32.mp4 -vf "setpts=3*PTS" test2.mp4 |
Latex转word
1 | pandoc template.tex -o output.docx -w docx --pdf-engine pdflatex |
Linux 解压乱码问题
使用下面的编码即可。
1 | unzip -O CP936 test.zip |