主页

Shell字符串操作与sed和awk实战总结

写在前面 来总结一下Shell编程中常用的文本处理工具, 用好这些工具, 什么辅助的GUI界面都不想用了. 当然了, 要想用好三剑客(grep, sed, awk), 首先得学一下文本处理的基本命令, 下面会以例子的形式给出, 方便大家加深理解. 测试环境: MacOS下multipass-Ubuntu22.04虚拟机 由于很多Shell工具在MacOS和Linux中存在区别, 这里还是以Linux为主了. 预备知识 I/O类命令 下面是一些输入输出类命令 echo cat tac 统计类命令 下面列出一些进行字符统计的命令 wc: 统计字符数 也可以统计行数 ### 操作类命令 sort: 行排序 sort - sort li...

阅读更多

Linux bash数值计算小结

双小括号 测试环境: Ubuntu jammy 只支持整数 ❯ echo $((9>8 && 78<9)) 0 ❯ echo $((9>8 && 78>9)) 1 ❯ echo $((9>8 || 78>9)) 1 ❯ echo $((123**9)) 6443858614676334363 ❯ num=5 ❯ ((num*=3)) ❯ echo $num 15 ❯ a=$((2+3**92%2)) ❯ echo $a 1 ❯ a=5 ❯ echo $((++a)) 6 ❯ echo $a 6 ❯ echo $((a++)) 6 ❯ echo $a 7 echo $(($1)) $[...

阅读更多

Linux shell进程管理相关命令总结

信号 信号值 宏名称 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL 无条件终止进程 15 SIGTERM 尽可能终止进程 17 SIGSTOP 无条件停止进程,但不是终止进程 18 ...

阅读更多

Linux shell分支控制流语句与函数总结

写在前面 总结Linux的Shell脚本中常见的分支控制流语句与基本实例. 环境为Ubuntu-jammy. 参考:Linux命令行与shell脚本编程大全 预备知识 条件判断: test命令 test 10 -gt 9 echo $? # 0 0表示真, 1表示假, 这里比较奇怪, 需要注意, 其实是延续了系统调用的状态码 我更喜欢下面的格式, 在if判断中比较常用: [ 10 -gt 9 ] echo $? # 0 数值(值大小)的比较 比较运算 运算符 注记 大于 -gt greater than ...

阅读更多

Linux文件,目录io类系统调用总结与示例

写在前面 无论是做网络编程还是系统编程, 逃不开的一个内容就是C系统调用的学习, 正如C++的STL一样, 学习OS也有如下的三步骤: 会使用: 熟悉API 懂原理: 分析源码 写扩展: 实际开发 现在就来熟悉一下系统调用吧. 环境Ubuntu x86_64. 源码部分也参考了apue以及Linux/UNIX系统编程手册. 预备知识 什么是系统调用 系统调用将处理器从用户态切换到核心态, 以便让CPU访问受到保护的内核内存数据. 其组成是固定的, 每一个系统调用都由唯一一个数字来标识. 程序运行四区 非常重要, 全图背诵. 标准文件描述符 文件描述符 用途 POSIX名称...

阅读更多

Mit6.s081课程lab1 Util解答

写在前面 巩固一下之前学的C语言, syscall等内容, 尝试一下OS的lab. 课程schedule: 6.S081 / Fall 2021 (mit.edu); lab1主页: Lab: Xv6 and Unix utilities (mit.edu); 中文翻译部分: 1.5 read, write, exit系统调用 - MIT6.S081 (gitbook.io);(感谢大佬) 之前配置过环境, 但是一直没来学习, 现在趁着假期补上OS的内容. 准备知识 C语言 系统调用 下面采用了xv6源码给出的基本系统调用的列表, 逐个进行分析: xv6: a simple, Unix-like teaching operating system (m...

阅读更多

C++右值引用,移动语义与完美转发详解

写在前面 总结一下深入理解C++11这本书的第三章第三节, 右值引用部分. 文中全部代码可以参考我在GitHub上传的部分: Learn_C_Cpp/c++11-14/Depth_understanding_of_C++11/chap3/move-semantic-perfect-forward at main · Apocaly-pse/Learn_C_Cpp (github.com); Learn_C_Cpp/c++11-14/rvalue-ref-move at main · Apocaly-pse/Learn_C_Cpp (github.com); 右值引用在新标准之后可以说是极大提高了C++的性能, 将以前只能完全拷贝的构造方法变成了一种只传递地址的引用,...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits