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++的性能, 将以前只能完全拷贝的构造方法变成了一种只传递地址的引用,...
共计 465 篇文章,59 页。
您是Zorch的第 个小伙伴
Hits