通过GDB调试找到程序的bug 请查看位于https://github.com/xmu-Linux101/Linux101/tree/201720182/experiments/gcc-5-gdb的代码...我们可以看到文件的目录结构是一个典型的C语言项目架构:Makefile,include文件夹下是预先定义好的库函数,粗看文件结构应该可以想到array.c是一个具体实现函数功能的文件,main.c则是总的主函数...清除已经存在的result可执行文件 make/make result:将已经得到的可执行文件main.o与array.o链接成可执行文件result,不开启O2优化或采用O0优化,在此之前将main.c和...array.o可执行文件并编译array.c生成array.o文件 main:清除已经存在的main.o可执行文件并编译mian.c生成main.o文件 main_optimize:编译mian.c生成...没啥问题,ok,下一个 主要的array.c,启动gdb调试器: ?
Linux中编译C++代码的g++工具,以及g++的常用操作指令 2. Linux下C++命令行编译示例 3. Linux下的GDB调试器常用指令 1....准备代码 创建一个C++源代码文件 src/04_debug/sum.cpp,添加以下代码 #include using namespace std; int main(int
Linux 下真实的C项目设计 文件目录说明 include 存放自己设计的.h头文件之所在 include/stack.h 栈所使用的头文件。文件中已经定义出其包含的功能函数。...具体请查看文件注释 stack.c 栈的功能函数的实现文件。目前为空文件。 main.c 一个简单的主程序,调用自定义栈的功能测试入栈、出栈的功能。 Makefile make的控制文件。...实现Makefile 实现make命令完成所有编译、链接工作 实现make clean命令可以恢复代码为原始状态 运行结果 在windows下打开linux shell: ?...我们看下makefile的内容: main:main.o my_stack.o gcc main.o my_stack.o -o main main.o:main.c gcc -c main.c my_stack.o...:my_stack.c gcc -c my_stack.c clean: if [ -e main ] ; then rm main ; fi if [ -n "ls *.o >/dev/null
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。本文在实际运用中介绍相关用法。...network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/usr/bin/frps -c.../etc/frp/frps.ini LimitNOFILE=1048576 [Install] WantedBy=multi-user.target 参考资料 Systemd 入门教程:实战篇 阮一峰...在linux 上用系统命令systemctl 执行python脚本
linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 2015年12月25日 16:28:50 张小凡vip 阅读数 5404更多 所属专栏...: linux基础与shell编程 版权声明:本文为博主原创文章,未经博主允许不得转载。...在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。...'command'主要参数 a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!...: C条件表达式 || 逻辑或 && 逻辑与 ~ ~! 匹配正则表达式和不匹配正则表达式 >= !
查看文件一共有多行,文件如下 [root@localhost jiepi]# cat read.txt a a b c a b c 有一种笨的方式,set nu 查看行数,如下操作 [root@localhost...jiepi]# vi read.txt 1 a a 2 3 b 4 5 c 6 a 7 b 8 c...其中grep -v "^$" read.txt 即去除空行 获取文件重复的行 //每一行出现的次数 [root@localhost jiepi]# cat read.txt |sort| uniq -c...2 1 a 1 a a 2 b 2 c //查询重复的行 [root@localhost jiepi]# cat read.txt |sort| uniq -d b c //查询唯一的行 [root@...read.txt |sort| uniq -u a a a //查询重复行的行数以及行 [root@localhost jiepi]# cat read.txt |sort| uniq -dc 2 2 b 2 c
表示输出的内容以什么为分割符(默认空格) RS 行分割符,awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读取一条记录,预设值是“\n“ ORS 输出分割符,默认也是换行符 实战练习
Linux常用的查找命令 which whereis find locate which命令:可以快速返回命令指定命令的位置信息 查找类型-二进制文件 检索范围-PATH环境变量里面指定的路径 [root...xargs -i cp {} /jiepi/xw/ [root@localhost jiepi]# ls /jiepi/xw/ test.txt test.zip locate命令:locate是Linux
[root@localhost test]# sed '5c hello word' data.txt This is a different line. This is a test line.
Linux 命令实战(一) tar命令打包操作 -c,将多个文件和目录打包 -v,显示打包过程 -f,指定包名 [root@localhost jiepi]# tar -cvf test.tar ./*.../temp.txt tar命令解打包操作 -x,解打包操作 -C,指定解包路径 [root@localhost jiepi]# tar -xvf test.tar -C ./ ./a.txt ..../xw/test/test.txt gzip 压缩 -c,压缩文件,保留源文件 -d, 对压缩文件进行解压 [root@localhost test]# ls test.txt [root@...test.txt.gz [root@localhost test]# ls test.txt 默认gzip是删除源文件,如果要保留源文件 [root@localhost test]# gzip -c...localhost test]# ls test.txt.gz [root@localhost test]# zcat test.txt.gz hello bzip2压缩 -k,保留源文件 ".bz2"格式是 Linux
如何使用sed替换文本test1中的双引号和单引号 "wuyi","lisi" 'wuyi','lisi' {"wuyi":"4","lisi":"5"} 替换双引号为单引号 [root@linux-92778...data]# sed "s/\"/\'/g" test1 'wuyi','lisi' 'wuyi','lisi' {'wuyi':'4','lisi':'5'} 替换单引号为双引号 [root@linux...data]# sed "s/'/\"/g" test1 "wuyi","lisi" "wuyi","lisi" {"wuyi":"4","lisi":"5"} 替换json中的大括号 [root@linux...-92778 data]# sed "s/{\|}//g" test1 "wuyi","lisi" 'wuyi','lisi' "wuyi":"4","lisi":"5" linux 拿一个文件在另外一个文件找相同的内容...-92778 data]# cat data2 | while read line > do > grep $line data1 >> result > done [root@linux-92778
awk常用基本命令 awk [选项] '脚本命令' 文件名 默认情况下,awk 会将如下变量分配给它在文本行中发现的数据字段: $0 代表整个文本行; $1 代...
一、简介:Quicksort源于1961年 C.A.R.Hoare提出,正如名字那样,快速排序毫不夸张得在平均性能和巨大排序数量面前,都比其他基于比较的排序算法要好。
Linux系统rsync实战操作 前面介绍了一些关于rsync的功能与一些具体的命令格式、参数的使用意义等,今天我们来聊一聊整个实际生产过程中的实战操作过程 今天介绍的是第三种模式——以守护进程的模式传输数据...[root@BS-C ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@BS-C ~]# uname -r 2.6.32-431...[root@BK-C ~]# chmod 600 /etc/rsync.password [root@BK-C ~]# ls -ld /etc/rsync.password -rw-------. 1...~]# cd /tmp [root@BK-C tmp]# ls [root@BK-C tmp]# ls -ll total 0 [root@BK-C tmp]# touch 123.txt [root@...BK-C tmp]# touch 321.txt [root@BK-C tmp]# rsync -avzP /tmp/ rsync_backup@192.168.1.2::backup -- password-file
使用fdisk命令分区 [root@zutuanxue ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.32.1)。...创建了一个磁盘标识符为 0x0c7799c3 的新 DOS 磁盘标签。...扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0c7799c3...默认 2099200): 上个扇区,+sectors 或 +size{K,M,G,T,P} (2099200-41943039, 默认 41943039): +1G 创建了一个新分区 2,类型为“Linux.../dev/sdb2 2099200 4196351 2097152 1G 83 Linux 命令(输入 m 获取帮助):w 分区表已调整。
企业实战静态ip地址配置 简演练企业静态ip地址配置过程 我的各项配置如下: ?...xxx.xxx.xxx.xxx GATEWAY=xxx.xxx.xxx.xxx NETMASK=255.255.255.0 ONBOOT="yes" 修改以上信息,以下是我网卡信息 HWADDR="00:0c:...IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="eno16777728" UUID="3199add9-379c-...43a9-bab1-ae4e05c0f2cc" ONBOOT="yes" 重启网卡 因为这个是静态的,所以不需要DHCCP服务,所以设置的时候记得 systemctl restart network.service
好久没写原创了,今天心血来潮,打算写一篇,关于特定的知识点之前写过很多,今天呢就写一篇综合性的偏应用的一个小的项目实战. 01 — 重要的知识点 本篇内容基于CM框架编写,涉及以下知识点: ①... 02 — 操作演示 03 — 结尾 项目源码网盘下载地址 链接:https://pan.baidu.com/s/1c8Iv8G-n_oi2iLCpgVl0oQ
MULTICAST> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:6c:...LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:6c:...连接到指定 wifi 执行 wpa_supplicant -c -i 连接到指定的网络,其中 confi_file 就是刚刚 wpa_passphrase...安装基础组件 执行 pacstrap 指令就可以安装已打包好的软件了: pacstrap /mnt base linux linux-firmware 这个指令安装了内核的基础依赖、linux 内核,以及硬件驱动...后记 到这里,你就已经完成了最简洁的 linux 操作系统 arch-linux 的安装,重启之后,你就进入到系统命令行的登录界面,此后你就可以进行任何你想要在 linux 中进行的操作了。
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。...这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样...buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M cache cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(...这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)
首先 Ctrl+C 停止之前的 ab 命令后,再运行下面的命令: . $ ab -c 10 -n 10000 http://10.240.0.5:10000/ ......这些复杂场景的案例,我会在后面的综合实战里详细分析。...linux-tools-generic linux-tools-apt−getinstall−ylinux−tools−commonlinux−tools−genericlinux−tools−(uname...的工具 15 | 基础篇:Linux 内存是怎么工作的?...因为 Linux 中块的大小是 1KB,所以这个单位也就等价于 KB/s。
领取专属 10元无门槛券
手把手带您无忧上云