rsync 快速、多功能、远程(和本地)文件复制工具
在两台服务器之前进行大文件传输时,要保证支持断点续传,避免传输过程中因网络异常中断导致前功尽弃、传输能够支持压缩,降低传输的数据大小,加快传输速度。常见的文件传输工具,如 scp 基于 ssh 的方式传输,虽然进行数据加密,保证了数据安全,但不支持断点续传。本篇介绍一种保留 scp 所有有点,并能够进行断点续传和数据压缩的大文件传输(复制)工具。以 Ubuntu 18.04 为例演示所有代码。
大文件切分与小文件合并在传输大文件时,通常的思维是先将大文件切分成多个小文件,把小文件传输后,再合并这些小文件,得到大文件。
大文件切分在本地将大文件切分,最好切分前先对文件进行压缩,缩小文件大小,便于传输
12# M 表示兆字节,G表示吉字节,本例切分为100兆字节,也可以切分为吉字节split -b 100M -d test.zip test_part
然后通过 scp 等命令传输这些小文件
1scp test_part* jinzhongxu@1.1.1.1:./.
小文件合并然后在远程服务器上合并这些小文件
1cat test_part* > nes_test.zip
r ...
Mac 重置 launchpad
Mac 的启动台(LaunchPad) 内图标有时候会出现删除不掉的情况。即你已经在 Finder 的应用程序中将想要删除的程序移动到废纸篓,正常情况下,删除的应用程序的图标会从启动台里消失,但偶尔会遇到某些程序删除后图标不消失,且重启系统后仍然不消失的情况。本篇介绍如何解决该问题。
打开终端,输入以下命令:
123defaults write com.apple.dock ResetLaunchPad -bool truekillall Dock
请注意:以上命令会重置你的启动台,一些自定义的排列方式将会消失。
参考文献
删除mac启动台launchpad中的无效图标 | hermoso
Linux 中的 find 命令简单介绍
在 Linux 系统上使用终端操作文件的过程中,总会遇到在某个文件夹下查找文件的情况,如查找文件名为 add.py 的文件、查找文件30分钟前生成的文件、批量删除文件夹下(包含子文件)文件名中没有符号 ‘G’ 的文件,等等。这些都需要我们通过一个搜索命令来完成。本篇介绍 Linux 中的 find 命令,它能够帮我们完成上面的类似任务。本篇以 Ubuntu 18.04 为例进行演示。
find 命令语法find 命令的基本语法如下:
1find [路径] [参数] [命令]
find 的对象是文件夹,且可以同时指定多个文件夹路径;当不指定文件夹路径时,默认为当前路径;
find 参数部分可以配置很多,下面重点介绍。当不指定参数时,默认时打印 -print;
命令是可选参数,当需要直接对找到的文件或文件夹进行操作时,可以带上命令参数,一般命令参数都以 {} \; 结尾。
find 参数find 参数是 find 强大功能的基础,通过配置不同的参数,可以使用 find 找到不同类型的文件或文件夹。
下面简单罗列一些常见的参数:
-type ...
Linux 中时间 mtime、ctime 和 atime 的区别
在 Linux 系统上处理文件经常会遇到文件的三个时间,分别是 mtime、ctime 和 atime,那它们都是表示什么意思呢,当对文件进行哪些操作会改变文件的这些时间呢,本篇对其进行介绍。
mtimemtime 又称作修改时间(modification time),表示文件最后被修改的时间。当你改变文件的内容时,文件的 mtime 将会发生改变。
查看一个文件的 mtime ,可以使用如下:
123456789# ls 命令查看文件 107 时显示的时间默认就是 ls -l 107# -rwxr----x 1 jinzhongxu jinzhongxu 6 Jul 19 16:16 107# 查看时间到纳秒ls -l --full-time 107# orls -l --time-style=full-iso 107# -rwxr----x 1 jinzhongxu jinzhongxu 6 2022-07-19 16:16:32.307009235 +0800 107
ctimectime 又称作更正时间(change time)或状态时间、属性时间,表示文件的属性( ...
pytracking 代码测试
pytracking 是基于 PyTorch 的视觉目标跟踪算法官方实现。其包括 ToMP (CVPR 2022), KeepTrack (ICCV 2021), LWL (ECCV 2020), KYS (ECCV 2020), PrDiMP (CVPR 2020), DiMP (ICCV 2019), and ATOM (CVPR 2019) 跟踪器,包含这些算法的完整的训练代码和训练模型。本篇记录 pytracking 代码测试运行的经过,包括代码下载、环境配置、模型测试等。以 Ubuntu18.04、miniconda 为例演示。
代码下载直接访问 github 网址:GitHub - visionml/pytracking: Visual tracking library based on PyTorch.
首先,克隆 pytracking 源码下载到本地,本篇为了方便把工程放到用户目录下
12cdgit clone https://github.com/visionml/pytracking.git
然后,克隆子模块到本地
12cd ~/pytrackin ...
visdom 可视化工具
visdom 是一款灵活的可视化工具,由 meta 公司开发。与谷歌开发的 tensorboard(TensorFlow 可视化工具) 类似,visdom 是 pytorch 的可视化工具(相比于 tensorboardX 性能更好)。visdom 支持 torch、numpy 等。客户端与服务器端通过 tornado 进行非阻塞交互。
安装visdom 的安装非常简单,只需要执行下面的命令即可
1pip install visdom
启动 visdomvisdom 的启动可以使用如下两种方法
1visdom
1python -m visdom.server
启动后默认是运行在本机的 8097 端口,不过可以通过如下方法修改端口、增加用户名密码等
1VISDOM_USERNAME=jinzhongxu VISDOM_PASSWORD=112233 VISDOM_USE_ENV_CREDENTIALS=1 /usr/local/miniconda/bin/visdom -base_url /visdom -enable_login -port 7908
注意,想要设置用户名和 ...
python 模块依赖
Python 中的包或模块具有依赖关系。有时候离线安装时总会提示缺少依赖包,此时就需要知道安装的模块依赖哪些包。然后下载相应的模块即可。那如何查看某个模块的依赖包有哪些呢?本篇介绍一些方法。
使用 pip如果模块是通过 pip 安装的,而不是通过 conda 安装的,可以使用如下的方法查看
1pip show visdom
结果大概是这样
12345678910Name: visdomVersion: 0.1.8.9Summary: A tool for visualizing live, rich data for Torch and NumpyHome-page: https://github.com/facebookresearch/visdomAuthor: Jack Urbanek, Allan Jabri, Laurens van der MaatenAuthor-email: jju@fb.comLicense: CC-BY-NC-4.0Location: /usr/local/miniconda/lib/python3.9/site-packagesRequire ...
通过 pip 离线安装 whl、tar.gz 到 anaconda
Python 包管理工具 pip 可以在线安装 Python 包,也可以离线安装,只需要将包对应的 whl 文件下载下来,然后像直接安装即可。但是,当我们安装的 Python 是通过 anaconda 安装时,直接离线安装包,可能无法安装在 anaconda 的第三方库文件夹中,而是安装在当前用户的 .local 文件夹中,这可能会导致 jupyterhub 上的其他用户无法使用该包。这是因为 anaconda 的安装是管理员安装的,我这边只是 jupyterhub 的一个用户,如果我离线安装一个包,只会安装到我的用户目录下的 .local 中,而不是安装到 anaconda 的第三方库中。本篇给出解决方法。
下载 whl 文件通过访问 pypi 官网 检索我们需要的包,如 fuzzywuzzy,进入该包的主页,如:fuzzywuzzy · PyPI,然后点击左边的导航里的 Download files,选择合适的版本,如:fuzzywuzzy-0.18.0-py2.py3-none-any.whl,下载该文件即可。
该文件不分具体的 Python 版本,只要是 Python2.x ...
Linux 安装 MATLAB
MATLAB 是美国的 The MathWorks 公司出品的商业数学软件。其可用于数据可视化、数据分析、数值计算、算法开发(如计算机视觉中的目标跟踪)等。从 2006 年开始,发行编号以年份来命名,每年推出两个版本,上半年(3 月份)标识为 a 版,下半年(9 月份)标识为 b 版,如发行编号 R2017a 表示 2017 年上半年推出的 MATLAB 软件,其对应的版本号是 MATLAB 9.2。本篇介绍如何在 Linux 系统(以 Ubuntu 为例)上安装 MATLAB,发行编号 R2017a. 所有命令以普通用户运行,但部分代码需要用户有 sudo 权限。
软件下载因为 MATLAB 是商业软件,所以使用其需要进行许可证购买,永久购买大概是 15500 元人民币,或者 6200元人民币/年。本篇介绍的软件是破解版,如果能力允许建议购买正版软件。
破解版软件下载地址:MATLAB_R2017a_Linux
百度网盘提取码是:6ygs
下载后,我们需要使用到如下几个文件:
1234567tree /home/jinzhongxu/MATLAB_R2017a_Lin ...
systemd 的使用
在配置程序开机自启时,常常会用到 systemctl,其是 systemd 的主命令,用于管理系统。systemd 名字来源于 Unix 中的一个惯例:在 Unix 中常以 ‘d’ 作为系统守护进程(daemon,亦称为后台进程)的后缀标识。systemd 是 Linux 系统下的一套中央化系统及设定管理程式(init),包括守护进程、程式库以及应用软体,由 Lennart Poettering 带头开发。目前绝大多数的 Linux 发行版都已采用 systemd 代替原来的 System V,除了 systemctl,systemd 还引入了 localectl、timedatectl、hostnamectl 等新命令,使得系统配置更方便。本篇以 Ubuntu 为例,所有命令以普通用户运行,部分命令需要 sudo 权限。
常用命令设置开机自启支持 systemd 的软件,在安装的时候会自动在 /lib/systemd/system 目录中添加一个配置文件。设置开机自启命令如下
123sudo systemctl enable docker# orsudo systemctl en ...
Python 中调用 Go 代码
Python 简洁优美,开发效率高。Go 静态强类型、编译型、并发型,运行效率高。将复杂计算部分使用 Go 开发,编译成动态链接库,在 Python 中调用,能够提高开发效率和提高运算速度。
动态链接库动态链接库文件是一种不可执行的二进制程序文件,它运行程序共享执行特殊任务所必需的代码和资源。
在 Windows 中动态链接库常以 .dll 结尾;在 Linux 系统中动态链接库常以 .so 结尾。
动态链接就是把一些经常会共用的程式码制作成 DLL 文件,当执行档呼叫到 DLL 档中的函数时,Windows 作业系统才会把 DLL 档载入记忆体内,DLL档本身的结构就是可执行档,当程式有需求时函数才进行链接。通过动态链接方式,记忆体浪费的情形可大幅降低。静态链接则是直接连结到执行档。DLL 的最初目的是节约应用程序所需的磁盘和内存空间。
Go 代码这里给出一个简单的 Go 代码,内容如下,保存为 add.go 文件
1234567891011121314151617181920212223package mainimport "C" //必须引入 C 库im ...