Linux 上计算器编程语言 bc
bc 用于基本计算器(basic calculator)(通常称为台式计算器(bench calculator)),是“一种任意精度的计算器语言”,其语法类似于 C 编程语言。bc 通常用作数学脚本语言或交互式数学 shell.
安装12345678# Debian/Ubuntusudo apt install bc # RHEL/CentOSsudo yum install bc # Fedora 22+sudo dnf install bc
基本用法使用下面命令查看 bc 基本用法:
1man bc
使用下面命令查看 bc 常用帮助:
1bc -h
结果如下:
12345678usage: bc [options] [file ...] -h --help print this usage and exit -i --interactive force interactive mode -l --mathlib use the predefined math routines -q --quiet don' ...
使用 neofetch 查看 Linux 系统基本信息
查看 Linux 系统信息的方法有很多,但本篇介绍的方法是以一种比较有逼格的方式获取这些信息。
安装 neofetchDebian/Ubuntu12sudo apt updatesudo apt install neofetch
CentOS 812sudo dnf install epel-releasesudo dnf install neofetch
CentOS 7123sudo yum install epel-releasesudo curl -o /etc/yum.repos.d/konimex-neofetch-epel-7.repo https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.reposudo yum install neofetch
其他系统安装请参考:月灯依旧
使用1neofetch
参考文献
CentOS 7 安装 neofetch
Install Neofetch and Screenfetch o ...
Linux 文本编辑工具 nano 简单介绍
Linux 系统上常用的文本编辑工具有 vim, vi, nano 等,但常用的还是 vim,然而,nano 却是相对更简单的工具,对新用户更友好,而且在一些工具上作为默认编辑工具,如 git. 因此,本篇介绍小巧且功能强大的 GUN nano.
安装12345# Debian/Ubuntusudo apt install nano# CentOSsudo yum install nano
使用nano 的使用非常简单,类似于 Windows 上的记事本,但在 Linux 系统上主要是通过一些快捷键完成文本编辑等工作。下面介绍一些常用的快捷键。
打开或新建文件1nano filename
当文件 filename 存在时,是打开该文件。如果文件不存在,则新创建一个文件。
光标
通过方向键可移动光标;
按住鼠标左边拖到可选择文字。
常用快捷键使用 nano 打开文件后,默认会在屏幕下方显示常用快捷键,其中 ^ 表示 Ctrl、M- 表示 Alt.
M-6 :[Alt + 6] 表示拷贝一行;
M-Y : [Alt + Y] 表示语法高亮;
M-# : [Alt + Shift ...
PyTorch 中矩阵乘法介绍
torch 中 Tensor 的乘法有几种方法,如 *、torch.mul、torch.multiply、torch.dot、torch.mv、torch.mm、torch.matmul、torch.einsum 等,它们之间有什么区别,都是做什么操作。本篇对其进行介绍。
逐元素乘法逐元素(element-wise)乘法就是对于两个Tensor对象(如矩阵和矩阵、矩阵和实数等,向量也是矩阵的一种),分别按对应元素进行实数普通乘法。
*、torch.mul、torch.multiply*、torch.mul、torch.multiply 三者操作含义是相同的。torch.multiply 是 torch.mul 的别名,* 是 torch.mul 的简写。
当相乘的两个张量,一方维度低、一方维度高时,将采用广播(broadcast)的形式。实数是 0 维张量、向量是 1 维张量、二维矩阵是 2 维张量等等。
广播,简而言之,如果两个对象维度不一样,那么它的张量参数可以自动扩展为相等大小(无需复制数据)。
1import torch
矩阵和实数乘12x = torch.ones(2, ...
Linux 中用户组相关操作
Linux 中具有相同角色的用户都会以组的形式来管理。如何将用户添加到组、从组中删除用户等,本篇介绍 Linux 中常用的用户组相关操作。所有命令以 root 身份运行。
查看 Linux 中的所有组和用户组1cat /etc/group
结果大致如下:
12jinzhongxu:x:1002:miniconda:x:1003:root,jinzhongxu
/etc/group 是 Linux 系统中组的配置文件,记录组的信息。除此之外,还有配置文件 /etc/gshadow 保存用户组口令。
每行含义:组名:口令:组标识:组内用户
从上面的结果可以看出,组 miniconda 中包含两个用户,分别是 root, jinzhongxu。同时,组 jinzhongxu 的组内用户为空,其实,同名用户一般不列出。查看用户所属组的方法如下:
1id jinzhongxu
结果:
1uid=1002(jinzhongxu) gid=1002(jinzhongxu) groups=1002(jinzhongxu),27(sudo),1003(miniconda)
或
1groups ...
色彩模型
在计算机视觉中,处理的图像或视频大多是彩色的,因此不可避免的需要和色彩模型打交道。本篇介绍一些常见的色彩模型。
色彩空间色彩空间(Color Space)是对色彩的组织方式。色彩空间由色彩模型和色域共同定义。例如色彩空间ProPhoto RGB、Adobe RGB 和 sRGB 都基于 RGB 颜色模型。定义色彩空间时,通常使用 CIELAB 或者 CIEXYZ 色彩空间作为参考标准。这两个色彩空间在设计时便要求包含普通人眼可见的所有颜色。由于“色彩空间”有着固定的色彩模型和映射函数组合,非正式场合下,这一词汇也被用来指代色彩模型。尽管固定的色彩空间有固定的色彩模型相对应,这样的用法严格意义上是错误的。
CIE 1931 XYZ色彩空间是第一次基于人眼对于色彩感知度量建立色彩空间的尝试,它是几乎所有其它色彩空间的基础,CIE色彩空间的变体有:
CIELUV 色彩空间 - 修改来更加方便的显示颜色差异,替代;
CIE 1964 U × V × W × 统一色彩空间;
CIELAB 色彩空间。
注意:Lab 是一种颜色数据概念模型,和硬件无关,是一种数据算法,用于转换不同设备 ...
Linux 中 EOF 内容转义
在 Linux 系统中通过 shell + cat 可以直接讲内容写入到文件中,特别是想通过命令脚本写入时,比交互式的 vim 命令方便多了。但是,当遇到特殊符号 $ 时,总会将内容转义,无法写入正确的内容。本篇给出两种解决方法。
cat + EOFcat 是一个 bash 命令,用于读取、显示或连接文件的内容,而 EOF 代表 End Of File。EOF 向 shell 表明正在读取的文件已经结束。cat << eof 使用 here-document。重定向运算符 << 和 <<- 都允许将 shell 读取的后续行重定向到命令的输入。重定向的行称为 here-document。
写入不包含 $ 等特殊字符的,可以直接使用如下方法:
123cat > /home/jinzhongxu/test.service <<EOFto do somethingEOF # 必须保证EOF顶格写
或采用更兼容的形式
123cat > /home/jinzhongxu/test.service <<-EOFto do ...
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)或状态时间、属性时间,表示文件的属性( ...