linux
文章平均质量分 69
chenxizhan1995
这个作者很懒,什么都没留下…
展开
-
bash:数值太大不可为算数进制的基
bash: 数值太大不可为算数进制的基原创 2022-08-19 09:32:38 · 1357 阅读 · 0 评论 -
nginx的http_rewrite模块的rewrite指令
nginx rewrite指令原创 2022-06-07 23:00:00 · 361 阅读 · 0 评论 -
find命令-实例-列出所有7天前的文件
find 命令查找n天之前的文件原创 2022-04-08 20:15:00 · 3265 阅读 · 0 评论 -
命令行实现URL编解码
命令行实现URL编解码(待续)2021年4月6日2022-03-21 更新1. 实现这里的脚本在 GNU bash, version 5.1.4(1)-release (x86_64) 上测试通过。# 解码url_decode(){ # 加号对应特殊字符空格,单独处理 url=${1//+/ } printf "%b\n" "${url//%/\\x}"}# 编码url_encode(){ # 先无差别编码 # 然后对每个字符反解码,如果无需转码,原创 2022-03-21 10:09:19 · 1732 阅读 · 0 评论 -
在 netcat 中发送二进制数据
在 netcat 中发送二进制数据2022-03-08问题说明不是像这样echo -e '\x80' | nc host port而是在交互模式下# 打开连接nc 192.168.1.115 12345# 发送文本aaaaaaaaaabbbbbbbbbbccccccccccc然后发送二进制数据0x80 0xF4 0x12解决方法1(推荐):用命名管道# 创建管道mkfifo foo# 创建nc进程,放到后台nc 92.168.1.115 12345 <foo &a原创 2022-03-08 10:45:51 · 1972 阅读 · 2 评论 -
2021-09-27
bash 判断数组中是否存在指定字符串2021-09-27要求数组内的各个字符串元素都不包含空格。# 在此处设置支持的 profile 名称,profile 中不要有空格。SUPPORTED_PROFILES=(szcs_test szcs_release)[ "$(compgen -W "${SUPPORTED_PROFILES[*]}" "$PROFILE")" != "$PROFILE" ] \ && echo "不支持的 profile:$PROFILE" &原创 2021-09-27 22:13:07 · 105 阅读 · 0 评论 -
make更新target的时机(二)实验验证
根据make更新target的时机(一)中的总结,对流程图的中每个分支设置适当的实验场景,进行验证。当目标t是伪目标的时候,无论是否存在名为t的文件,规则t都一定执行。t 依赖 p,且有匹配 p 的规则, 且 p 是伪目标时,无条件执行 p,接着执行 t无论文件p是否存在,无论文件 t 是否比文件 p 新。t 依赖 p,且有匹配 p 的规则, 且 p 不是伪目标有文件 p没有文件 pp 执行比较p和tt 需要执行p 不执行比较p和t-(没有文件p,p一定会原创 2021-02-02 21:58:35 · 433 阅读 · 0 评论 -
CentOS 7 下搭建 Docker 服务器
CentOS 7 下搭建 Docker 服务器环境和软件版本:$ docker --versionDocker version 20.10.0, build 7287ab3$ dockerd --versionDocker version 20.10.0, build eeddea2$ cat /etc/centos-releaseCentOS Linux release 7.6.1810 (Core)Install Docker Engine on CentOS | Docker Doc原创 2020-12-13 20:02:57 · 138 阅读 · 0 评论 -
Centos7安装svn服务
Centos7安装svn2020-12-05 09:53:032020-11-18 16:54:08+0800 chenxizhan new在Centos上安装SVN服务器的步骤简单介绍每个安装步骤的原理CentOS Linux release 7.9svn, version 1.7.14安装1.7.14-14.el7# 1. 安装服务sudo yum install subversion# 2. 创建存放仓库的目录sudo mkdir -p /var/svn#原创 2020-12-05 15:04:31 · 21386 阅读 · 11 评论 -
Linux文件权限总结
Linux 文件权限ugoa, rwx。参考: Unix 环境高级编程,第三版对于文件,rwx 权限的含义读取文件内容需要且仅需要 r 权限。执行文件需要且仅需要 rx 权限。(文件本身必须是普通文件)ps:普通文件是相对于设备文件等来说的。写入文件,需要且仅需要 w 权限。# 1. 执行文件,仅有 x 没有 r 权限是不行的# 1.1 用户有 rx权限,可以执行$ ll hello-r-x------ 1 chenx chenx 24 12月 4 10:26 hello$ c原创 2020-12-04 14:17:51 · 382 阅读 · 0 评论 -
shell脚本中的$((expr)) 和 if ((expr))
经常搞迷糊shell脚本中的 $((expr))、((1+2-3)),也总是记不清是if ((1+2 > 3))还是if $((1+2>3)),今天写脚本又遇到了,查阅了bash命令的man手册,总算厘清了,整理一下,加深印象。bash 中,有种语法叫ARITHMETIC EVALUATION,支持整数四则运算。$((expr)) 叫 Arithmetic Expansion,其中的 expr 遵循ARITHMETIC EVALUATION的规则。$ echo $((1+2))3$原创 2020-12-02 19:58:39 · 1652 阅读 · 0 评论 -
curl手册
基本上是把curl的手册照着翻译了一遍。语法 curl [options / URLs]描述curl 工具可用来与服务器传输数据,支持众多协议:DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP。该命令可在无需用户交互的情况下完成任务。URLURL 的具原创 2020-11-23 20:59:03 · 581 阅读 · 0 评论 -
把MSYS2终端放在Windows Terminal中
我把MSYS2当作windows下的Linux命令行环境使用,但MSYS2本身的终端不支持多标签页,要是多打开几个,占任务栏的空间。windows terminal支持标签页,正好这俩结合一下。过程记录在这里。这是MSYS2,是windows平台下的类似Linux命令行的环境。这是 Windows Terminal,多标签页的命令行终端。放进去之后就像这样:配置方法:只要在Windows Terminal的配置文件中添加一项配置就好了: { // MSYS2 "gui原创 2020-11-10 23:59:22 · 6548 阅读 · 0 评论 -
C语言修改dos窗口的大小
Windows在Window32下:system("mode con cols=30 lines=20");里面的数字可以改:char stCmd[128];sprintf("mode con cols=%d lines=%d", height, width);system(stCmd); 获取dos窗口的大小 mode /statusLinuxbash 有环境变量 COLUMN...原创 2019-12-16 16:22:13 · 1263 阅读 · 0 评论 -
grep断言
断言分四种:先行断言 X(?=Y),也叫 零宽度正预测先行断言,当X的右边是Y时匹配成功;后发断言 (<=Y)X,也叫 零宽度正回顾后发断言,当X的左边是Y时匹配成功;负向零宽度先行断言 X(?<!exp),当X的右边不是Y时匹配成功;负向零宽后发断言 (?<!exp) X,当X的左边不是Y时匹配成功;比如,‘Win(?=2000)’ 匹配 Win2000, 但不匹...原创 2019-11-21 02:49:05 · 615 阅读 · 0 评论 -
#!的作用(shebang)
经常见到shell脚本的开头有这么一句 #!/bin/bash 或者 #!/bin/bash -x。#!`的后面紧跟可执行程序的完整路径,在后面可以跟参数,但操作系统把这后面的所有参数当成一个参数。#!后面如果跟参数,最好只跟一个,多了还得自己处理试验脚本:advice2#!./fakeawk -f hello world 'ok are you'C程序// file: fak...原创 2019-11-13 21:34:39 · 672 阅读 · 1 评论 -
Makefile 自动处理头文件依赖
自动处理头文件依赖gnu make手册提供的脚本sources:=foo.c bar.cinclude $(sources:.c=.d)%.d: %.c set -e; rm -f $@; \ $(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \ sed 's,\($*\).o[ :]*,\1.o $@: ,...原创 2019-11-10 23:32:01 · 1030 阅读 · 0 评论 -
alternatives命令总结
基本用法# 用alternatives查看目前系统中有哪些java版本$ alternatives --config java# 注册新版java$ sudo alternatives --install /usr/bin/java java /usr/local/java/jre1.8.0_131/bin/java 4# 配置有效java$ sudo alternatives ...原创 2019-11-09 23:36:41 · 2601 阅读 · 0 评论 -
本地Linux虚拟机搭建sambda记录
本机环境Win10。使用win10的HyperV搭了一个CentOS虚拟机。搭建动机:学习C编程,发现Windows上的MSYS+MinGW环境不够原汁原味,有些抠细节的东西(比如glibc)不大一样。在Linux上使用vim编写代码是一种痛苦。于是在Linux搭建samba服务器,然后在windows上映射成驱动器。这样在Windows上编辑,在Linux上编译,完美。$ sudo yum ...原创 2019-11-09 11:31:33 · 606 阅读 · 0 评论 -
gcc动态库与动态库生成和链接
gcc 生成共享库gcc -fPIC -c foo.c -o foo.ogcc -fPIC -c bar.c -o bar.ogcc -shared foo.o bar.o -o libz.sogcc main.c -lz -L. -o main这样生成的共享库还差点意思gcc -shared -Wl,-soname,libname.so.x lib foo.o bar.o -o l...原创 2019-11-07 21:16:53 · 417 阅读 · 0 评论 -
sed 命令学习笔记
sed 命令sed是 Stream EDitor 的缩写。sed 命令的格式sed [-nefr] [action]sed 的工作方式是:对文本流的每一行执行给定的编辑命令。编辑命令可以是一个可以是多个,可以从命令行参数指定也可以指定一个包含多条命令的sed脚本文件。文本流可以从标准输入提供也可以从文件提供,可以一次指定多个文件。$ echo 'hello,word' | sed 's...原创 2019-04-17 00:35:27 · 272 阅读 · 0 评论 -
安全关闭 Linux 的方式
安全关闭 Linux 的方式关机命令$ sudo sync # 把内存中的数据缓存写入硬盘$ sudo shutdown now # 立刻关机在Linux系统中,为了加快数据的读取速度,在默认的情况中, 某些已经加载内存中的数据不会直接被写回硬盘,而是先缓存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快...原创 2019-03-24 19:37:44 · 9306 阅读 · 2 评论