Linux 批处理:修改文件名和文件内容
在 Linux 系统上,包含有大量相同字段的文件名,想要把这些字段(中文字段)改成其他字段(数字或其他英文字段),因为某些程序的需要,不支持中文文件名,此时可以使用命令 rename 批量修改文件名。当文件内容中包含有大量相同字段,手动修改又比较浪费时间。此时,可以使用命令 sed 完成。
rename在 Linux 系统中重命名文件,经常用到 mv 命令,批量重命名文件 rename 是最好的选择。
Linux 的 rename 命令有两个版本,一个是 c 语言版本的,一个是 perl 语言版本的,判断方法:输入 man rename
C 语言版本1rename 原字符串 新字符串 文件名
示例:
123rename 第三阶段 3 *# * 代表所有字符# ?代表单个字符
Perl 语言版本1rename 's/原字符串/新字符串/' 文件名
示例:
1234rename 's/第三阶段/3/' *# 把所有的文件名都以 txt 结尾rename "s/$/.txt/" *
sedLinux 下批量替换文件内 ...
CentOS 编译安装 gcc
gcc 是 Linux 系统的核心模块,同时,它可以编译使用 C,C++ 等语言编写的源代码。但是,在某些系统上自带的 gcc 版本过低或过高,导致一些软件无法正常安装和运行。本篇介绍在 CentOS 上如何编译安装指定版本的 gcc,默认在 root 用户下运行命令。
下载特定版本的 gcc 源码下载 gcc 可以在下面的 官方网址 下载,里面有各版本的 gcc 源码。或者使用 Git 克隆最新版:
1git clone https://gcc.gnu.org/git/gcc.git
如果官网下载慢,可以采用如下的镜像网址:
中国科技大学镜像网址
华中科技大学镜像网址
南京大学镜像网址
清华大学镜像网址
我这里下载的测试版本是 gcc-10.1.0,
1234wget -c http://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz# 或者下载到指定目录wget -c http://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz -p /root/.tar -xzvf gcc ...
cmake make gcc 的关系
在运行 C 程序时,我们都知道需要通过 gcc(GNU Compiler Collection,可以编译 C、C++、Objective-C、Fortran、Java 等编写的源代码) 将源代码编译为二进制文件,才能够执行。
gcc简单代码使用 gcc 可直接编译。具体过程如下:
12## 创建源文件vim hello.c
编写源代码:
1234567// 写入如下C代码#include<stdio.h>int main() { printf("hello 20210203 \n"); return 0;}
编译源代码为机器码:
12345678# 使用gcc编译gcc hello.c -o hello# 也可以将-o和hello写在一起gcc hello.c -ohello# 如果有多个源文件,可以这样编译gcc hello1.c hello2.c -o hello# 运行的结果./hello
这是一个小程序,可以使用该方法编译。但是,当在大型程序开发时,这种方法就显得笨拙。这时常使用 make 和 cmake ...
解决SSH连接CentOS速度慢的问题
使用 SSH 登录 CentOS 时,总是比登录 Ubuntu 等系统慢。解决方法就是如下设置。本文以 CentOS 7 为例。
修改 SSH 配置
登录系统
打开 SSH 配置文件:
1vi /etc/ssh/sshd_config
修改 UseDNS 为如下
1UseDNS no
修改 GSSAPIAuthentication 为如下
1GSSAPIAuthentication no
重启 SSHD 服务
123service sshd restart# 或者systemctl restart sshd
参考链接
centos ssh连接登录慢解决
centos7解决ssh登录速度慢的问题
平面曲线的弧长和曲率
通过定积分我们能够计算平面曲线的弧长和曲率。对于平面曲线的画出,通过利用参数方程和对曲线划分以直代曲的定积分思想来计算弧长。
平面曲线的弧长设$C = \stackrel\frown{AB}$ 是一条没有自交点的非闭的平面曲线。在$C$上从$A$到$B$依次取分点:$$A=P_0, P_1, P_2, \cdots, P_{n-1}, P_n = B,$$它们成为对曲线$C$的一个分割,记为$T$。然后用线段联结$T$中每个相邻的两点,得到$C$的$n$条弦$\overline{P_{i-1}P_i} (i=1,2,\cdots,n)$,这$n$条弦又成为$C$的一条内接折线。记$$|T| = \max_{1\leq i \leq n} |P_{i-1}P_i|, s_T = \sum^n_{i=1}|P_{i-1}P_i|,$$分别表示最长弦的长度和折线的总长度。
定义 1 如果存在有限极限$$\lim_{|T|\to 0}s_T = s,$$即任给$\varepsilon > 0$,恒存 ...
Mac 电脑设置 shell 脚本开机自启
苹果电脑 Mac 无论是运行流畅度,还是界面都给用户一种非常完美的感受。在 Linux 系统上设置开机自启脚本有很多教程,在 Mac 上如何开机自启 shell 脚本呢,这里介绍一种方法。
编写脚本这里以脚本 test.sh 为例,该脚本具体如下,即在开机时在用户桌面创建 success 空文件。
12cd ~/Desktoptouch success
写入上面内容后,保存为 test.sh,把脚本文件放在用户桌面。
设置权限1sudo chmod 777 test.sh
修改文件打开方式在桌面找到 test.sh 文件,右键找到‘显示简介’, 将打开方式修改为‘终端’,共享和权限将所有权限打开,即设置 staff 和 everyone 的权限为读与写。
配置开机启动进入系统偏好设置,找到用户与群组,打开小锁,找到当前用户的登录项,将 test.sh 添加到登录项,并把隐藏选型卡勾选。重启系统即可。
参考链接mac设置shell脚本开机自启动
在 Linux 上设置不同的语言和时区
Linux 系统语言的设置至关重要,当设置不匹配的语言时,严重影响使用的效率。如在系统上没有设置中文时,大多出现乱码、数字等情况,使得使用的体验感大幅下降。下面介绍在 Debian, CentOS 等系统上设置中文或其他语言的方法。本篇命令以 root 身份运行。
Debian 类12345678910111213apt updateapt install localedpkg-reconfigure locales# 使用空格选择相应的语言,使用上下键移动光标# 选择好需要安装的语言后,使用 TAB 键切换到 ok# 使用上下键选择默认的使用的语言# 安装成功后,需重启系统shutdown -r now# 使用下面命令查看是否生效locale# 使用下面命令查看安装的语言locale -a
设置时区
1dpkg-reconfigure tzdata
CentOS123456789101112131415yum update# 查看目前系统语言localectl status# 或者通过如下命令也可以查看cat /etc/locale.conf# 查看系统中安装了哪些语言l ...
Linux 系统下 usr 目录由来
在 Linux(或Unix) 系统下,存放二进制文件的目录一般用 bin 表示,如 /bin, /usr/bin, /usr/local/bin, /opt/bin 等等,它们有什么区别?
在文章: Understanding the bin, sbin, usr/bin , usr/sbin split 中可以知道,Linux 目录结构是历史造成的。
1969年,Ken Thompson 和 Dennis Ritchie 在小型机 PDP-7上发明了 Unix。1971年,他们将主机升级到 PDP-11。当时使用的存储盘 RK05 容量大约是1.5MB,随着使用,根目录(/)下的操作系统越来越大,无法装下。于是增加了第二张盘 RK05,专门储存用户(user)程序,取名挂载点为 /usr,两张盘的结构完全一样,如在第一张盘或根目录下的 /bin, /sbin, /lib, /tmp… 在第二张盘 /usr 目录下 ...
流形
流形(Manifolds)是可以局部欧几里得空间的一个拓扑空间,是欧几里得空间中的曲线、曲面等概念的推广。欧几里得空间就是最简单的流形的实例。地球表面这样的球面则是一个稍微复杂的例子。一般的流形可以通过把许多平直的片折弯并粘连而成。
一般可以把几何形体的拓扑结构看作是完全“柔软”的,因为所有变形(同胚)会保持拓扑结构不变;而把解析几何结构看作是“硬”的,因为整体的结构都是固定的。例如,当一个多项式在 $(0, 1)$ 区间的取值确定了,则其在整个实数范围的值都被固定,可见局部的变动会导致全局的变化。光滑流形可以看作是介于两者之间的模型:其无穷小的结构是“硬”的,而整体结构则是“柔软”的。这也许是中文译名“流形”的原因(整体的形态可以流动)。该译名由著名数学家和数学教育学家江泽涵引入。这样,流形的硬度使它能够容纳微分结构,而它的软度使得它可以作为很多需要独立的局部扰动的数学和物理的模型。
流形流形可以视为近看起来像欧几里得空间或其他相对简单的空间的物体。例如,人们曾经以为地球是平的。这是因为相对于地球来说人类实在太小,平常看到的地面是地球表面微小的一部分。所以,尽管知道地球实际上差不 ...
Python 加速计算介绍
Python 编写程序简单高效,但运行效率相比 C 等较慢,不太适合处理计算密集型任务(对 IO 较适用)。如果想要适用 Python 进行密集计算,可以采用某些手段加速计算,一定程度上缓解这种矛盾。
Numba 模块Numba is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.
Numba 是开源的 JIT 编译器,它通过 llvmlite Python 包,使用 LLVM 将 Python 的子集和 NumPy 翻译成快速的机器码。它为在 CPU 和 GPU 上并行化 Python 代码提供了大量选项,而经常只需要微小的代码变更。下面给出一个实例介绍 Numba 模块加速计算效果。
123456789101112131415161718192021222324252627282930import timeitimport numpy as npfrom numba import jit, njitdef my_sum1( ...
在 markdown 中书写矩阵
使用 markdown 写文章非常方便,简洁。对于数学符号书写也是非常的高效,本篇主要介绍如何在 markdown 中书写矩阵。
不带括号的矩阵代码之后的 tag 实现了后标
1234567$$\begin{matrix} 1 & 2 & 3 \\\\ 4 & 5 & 6 \\\\ 7 & 8 & 9\end{matrix} \tag{1}$$
效果如下:$$\begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{matrix} \tag{1}$$
带括号 { } 的矩阵1234567$$\begin{Bmatrix} 1 & 2 & 3 \\\\ 4 & 5 & 6 \\\\ 7 & 8 & 9\end{Bmatrix} \tag ...