课程链接
01-Linux命令基础习惯-Linux系统编程_哔哩哔哩_bilibili
课程重点笔记
01-linux命令基础习惯
终端
终端:一切输入、输出的总称,因此终端并不是一定指的是命令行,只要是能进行输入或者输出即可,但是在linux终端上‘’内嵌命令解释器shell''
解释器
cat /etc/shells --- 存在的解释器
echo $SHELL --- 当前解释器类型(只能是大写,不能是小写)
常见快捷键命令
命令补齐键---table (当文件名太长的时候,可以直接使用该命令,提高速度和准确性)
上下键,可以显示之前输入命令
Ctrl + A : 光标移动到最前面
Ctrl + E : 光标移动到最后面
Ctrl + U : 终端命令全部删除
02-类uinx系统目录
linux下一切皆文件
./data与data结果是一样的,但data是交给命令解释器的,而./data是当作一个可执行程序直接运行的。在bin文件中存在许多可执行文件命令
03-目录和文件操作-01
绝对路径和相对路径
绝对路径:从根目录/开始描述路径 --- cd /home/user/file.txt
相对路径:从当前位置开始描述路径 --cd file.txt
Linux文件类型
-:普通
d:目录
c:字符设备
b:块设备
l:软连接
p:管道
s:套接字
常见命令
ls -Rl:递归显示文件信息(把文件里面的字文件内容打开甚至是子文件的子文件的内容)
which:查看命令所在路径 which data
rm -rf:-r表示递归删除 -f表示强制性删
cat:适合小文件阅读
tac:倒着显示,比如有些文件的重要内容是在最后面的显示
more:大文件显示,可以显示部分内容,采取翻页的形式
head:显示前面X行 head -行数 文件 head -6 file,txt--表示显示file.txt前面的6行
tail:显示后面的X行 tail -行数 文件 显示file.txt后面的几行
du、df用于磁盘知识
4:软连接和硬连接
软连接:ln -s 文件 文件.s -- 文件.s的大小是因为它保存了文件的路径
说明文件的时候使用绝对路径,为了确保软连接的文件能移动到其他文件中去,如果使用相对路径的话,你将软连接移动到其他路径,那么会找不到原路径,因为软连接保存的是源文件的路径,路径变了那么就找不到了
ln -s /home/file.txt file.s
cat file.s:是不会显示任何作用的
权限问题:软连接和源文件的权限不同,只需要记住软连接的权限并不代表源文件
(3条消息) 软链接和硬链接到底有啥作用和区别_明月几时有666的博客-CSDN博客_软连接和硬链接的区别
硬连接:ln file.txt file.hard
如果产生多个硬连接文件,那么其实硬连接的文件是源文件的拷贝,并且特点是改变硬连接文件内容那么源文件的内容也会改变,但是假如一个源文件的硬连接有多个,那么删除一个不会影响源文件
stat file.s:显示文件详细内容
5:创建修改用户和用户组
chomd:修改文件的所属权限
想理解一个文件的:rw- rw- r--,需要学会添加用户和用户组,然后在不同的用户操作其他用户的权限
添加用户:sudo adduser 用户
添加用户组:sudo addgroup 用户组
chown 用户 文件:把文件弄在用户中
sudo chgrp 文件组 文件:将文件放在文件组中
删除用户:sudo deluser 用户
125:信号的概念和机制
信号的概念
信号--不能携带大量信息、满足某一个条件发送
计算机的很多设计都是生活中的场景,映射于生活,例如信号就是生活中的事情。
如果有不好理解的概念,那么你可以把概念映射到生活当中
信号的机制
信号是驱使内核进行处理,因此进程A发信号给进程B,其实是进程A通知内核,然后内核进行处理,对进程B进行操作,因此信号实际上是通知作用
产生信号方式
信号的处理方式
阻塞信号集和未决信号集
信号产生--翻转为1表示未决---查找对应信号屏蔽字是否为0--是0则进行信号处理--完成
信号产生--翻转为1表示未决---查找对应信号屏蔽字是否为0--是1-则信号阻塞一直等待信号屏蔽字为0
使用位图的形式表示状态--因此只有0/1表示,初始状态均为0
128:信号四要素与常规信号
四要素:编号、名称、事件(触发条件)、默认处理动作
在程序编程中,使用信号的名称更好,因为在不同环境下,其相同的信号的编号会有所不同
129:kill函数和kill命令
kill函数只是发信号而已,不是杀死信号
同一个进程组,可以理解为一个主进程创建了多个子进程,那么子进程与主进程都是在一个进程组中。使用ps -aux查看进程信息
130:alarm函数
重点是定时与进程状态无关(自然定时法)