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++的性能, 将以前只能完全拷贝的构造方法变成了一种只传递地址的引用,...
从sublime到vim的一些体验
写在前面
最后还是决定从sublime转向vim阵营了, 不得不说vim真的是越用越上瘾的编辑器, 并且只需要一些简单的配置就能完全离开鼠标, 操作起来简直不要再顺手. 当然,sublime还是要留着的, 毕竟现在还是过渡阶段, 慢慢能让vim完全熟悉了才能提高开发效率.
下面我想写写关于vim和sublime的一些常用功能的对比, 以及我为什么会最终选择vim这款效率神器.
光标定位与跳转
查找替换
代码的编译运行
共计 464 篇文章,58 页。
您是Zorch的第 个小伙伴
Hits