老铁的杂记

2024.5.9

printf("can't creat thread: %s\n", strerror(err));这句里面strerror(err)是什么意思?

strerror(err) 的作用是将 err 对应的错误码转换为对应的错误消息字符串

5.10

所谓的进程上下文,就是一个进程在执行的时候,当内核需要切换到另一个进程时,它需要保存当前进程的所有状态(参数),即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。

三种常用的软件架构有:顺序执行的前后台系统、时间片轮询系统和多任务操作系统。

时间片轮询法的实质其实就是选出一个定时器,没进一次定时中断对计数值进行自加,在主循环中根据这个计数值执行任务,这个计数值也就是任务轮询的时间片。

A、B是互斥地访问“厕所”,“厕所”被称之为临界资源。我们使用了“休眠-唤醒”的同步机制实现了“临界资源”的“互斥访问”。

临界资源实例:调用oled屏幕显示

5.12

而命令的本质就是可执行程序,/bin目录是/binary的缩写,它包含众多普通用户可用的命令。而命令的本质就是可执行程序,即二进制bin文件

关于执行权限,是指可以加载到内存中,并由操作系统加载程序执行的文件。

mkdir命令是make directory的简写,它可以在文件系统中创建一个新的目录。

"cat" 是一个常用的命令行工具,用于显示文件的内容。它的名称是 "concatenate" 的缩写,但实际上它不仅仅是用来连接文件的。

"cat" 命令的主要作用是将一个或多个文件的内容输出到标准输出(通常是终端)。您可以使用 "cat" 来查看文件的内容,也可以将其与其他命令组合使用,以进行文件内容的处理和操作。

下面是一些常见的用法:

  1. 显示文件内容: 最简单的用法是只提供一个文件名,例如 cat filename.txt,这将显示文件 "filename.txt" 的内容。

  2. 合并文件: 您可以将多个文件的内容连接在一起并输出到标准输出。例如,cat file1.txt file2.txt 将会先显示 "file1.txt" 的内容,然后紧接着显示 "file2.txt" 的内容。

  3. 创建新文件: 您可以使用重定向操作符(>)将 "cat" 命令的输出重定向到一个新文件中。例如,cat file1.txt > newfile.txt 将会创建一个名为 "newfile.txt" 的新文件,并将 "file1.txt" 的内容写入其中。

  4. 查看文件的行数: 通过将 "cat" 命令的输出通过管道传递给 "wc" 命令,您可以统计文件的行数、字数和字符数等信息。例如,cat filename.txt | wc -l 将会显示文件 "filename.txt" 中的行数。

总之,"cat" 命令是一个非常灵活和强大的工具,用于在命令行环境下处理和查看文件的内容。

$PATH 是一个环境变量,用于指定系统在哪些目录中查找可执行文件。当您在命令行中输入一个命令时,系统会按照 $PATH 中指定的顺序在这些目录中查找对应的可执行文件,如果找到则执行该文件。

您可以使用 echo $PATH 命令来查看当前系统的 $PATH 环境变量的值。通常,它会显示一系列由冒号分隔的目录路径,类似于:


/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

这表示系统会先在 /usr/local/bin 目录中查找可执行文件,然后是 /usr/bin,以此类推。如果命令在其中的任何一个目录中找到了对应的可执行文件,则会执行该文件;如果都找不到,则会报错 "Command not found"。

这个环境变量对于命令行的使用非常重要,因为它决定了系统在哪里查找您输入的命令对应的程序文件。

echo test > file.txt    # 把echo test的输出重定向至file.txt文件
cat file.txt            # 查看file.txt文件的内容
echo abc > file.txt     # 把echo abc 的输出重定向至file.txt文件
cat file.txt            # 查看file.txt文件的内容
echo 123456 >> file.txt # 把echo 123456的输出重定向追加至file.txt文件
cat file.txt            # 查看file.txt文件的内容
ls > file.txt           # 把ls命令的输出重定向至file.txt文件
cat file.txt            # 查看file.txt文件的内容

mdir命令是remove directory的简写,它的功能是删除空的目录。特别地,rmdir命令只能够用来删除空目录,当删除一个非空目录时,会提示“删除”某某某”目录失败: 目录非空”,所以实际上这个命令用得并不多。

rm 文件名 删除文件名,不能删除文件夹

rm -r 文件夹名 删除文件夹

有时我们在执行命令时忘记添加sudo前缀,执行失败提示时才想起要加sudo,这时可以使用“sudo !!”的方式使用sudo权限重新执行上一条命令。

目前,大多数类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件,软件开发者先在固定的硬件平台上将需要安装或升级的软件编译好, 然后再将软件的所有相关的文件打包存放在公开的服务器中。用户想要安装某个软件时,通过包的形式进行分发,包提供了操作系统的基本组件, 以及共享的库、应用程序、服务和文档,当用户需要时,可以运行特定的指令来安装。负责这部分工作内容的工具被称为包管理工具, 包管理工具除了安装软件外,它还负责更新已经安装的包。

在Linux操作系统中,最常见的两种包分别是deb和rpm。

dpkg是一个底层的包管理工具,主要用于对已下载到本地和已经安装的软件包进行管理。 在它之上的apt(Advanced Package Tool)包管理工具,其功能则更加丰富和方便使用, 使用apt能够自动从互联网的软件仓库中搜索、安装、升级、卸载软件,它会咨询软件仓库, 并能安装软件时的模块及依赖问题。

如果是使用apt工具安装某个软件,直接使用如下命令即可,它会自动下载并安装软件:

1
sudo apt-get install 软件名

概括起来可以这么理解,deb是软件包,dpkg是手动安装工具,apt是自动安装工具。

1
sudo apt-get install 软件包名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值