今天要分享的是Linux中的信号机制,信号是一种软件中断,是一种处理异步事件的方法,可以很好地在多个进程之间进行同步和简单的数据交换。...二、信号的注册和响应 前面讲了三种发送信号的方式,但是光发送信号还不够,对于接收方来说,还得对信号进行处理。 一般可以使用signal函数和sigaction函数来注册信号。...signal函数的第一个参数是信号类型,第二个参数是函数指针,也就是跳转到哪里去执行。也就是说,当收到第一个参数表示的信号之后,就会跳转到第二个参数指向的代码段去执行。...成员sa_sigaction 则是另一个信号处理函数,它有三个参数,可以获得关于信号的更详细的信息。...接下来写一个简单的代码,来应用一下上面的几个函数。实现的需求就是创建一个子进程,父进程每隔一秒钟向子进程发送一个信号,子进程收到信号之后往一个txt文档中写入一句话。
//本文主要参考《野火Linux开发指南》 大家好,今天跟大家分享的是在Linux中驱动led。今天的文章包括后面还有一篇是酝酿了近两个星期才开始动手写,可见这部分内容会比较抽象一些。...其实早在之前有一篇关于字符设备驱动的,讲的也是驱动led,大家可以回顾一下:Linux笔记(13)| 字符设备驱动基础入门 Linux笔记(14)| 字符设备驱动基础入门(续) 有朋友可能会产生疑问,...在早期的Linux里面就是像上面那样做的,但是到后来设备越来越多,越来越复杂,维护起来非常不方便,于是发明了设备模型。 那么,设备模型是怎么一回事呢?...= true ifeq ($(NATIVE), false) KERNEL_DIR = /home/embedfire/linux4.19 else KERNEL_DIR = /lib/modules...如果发现build目录不存在,可以使用命令 sudo apt-get install linux-headers-`uname -r` 如果安装失败可能需要先update一下。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。...在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。...在不同的Linux 系统中,这个字段的格式并没有统一。...,即Shell Shell是用户与Linux系统之间的接口。...Linux的Shell有许多种,每种都有不同的特点。
shisan linux笔记 目录虚拟文本控制台(虚拟终端)基本认识shell常用基本密令辅助操作ls命令 : 查看目录下信息mkdir 文件管理命令touch命令创建/更新文件cp命令: 可用于目录或文件的复制使用...who am i 命令:查看当前用户w命令:查看登录用户who命令查看登录用户历史last命令文件的权限权限修改以字母的形式修改文件权限以数字形式修改权限提升用户的权限ACL规则强制位权限服务与进程的管理设置服务的自启动状态进程管理查看各进程的继承关系进程的终止进程的调度周期性调度名...扩充系统的硬盘空间 磁盘的分区挂载使用 先添加一块硬盘,进行分区,格式化,挂载,使用 命令行下提高工作效率的方法 1、tab键提示 2、上下键查看使用过的命令 3、history 查看使用过的所有命令...-h选项结合使用 -e 删除指定的软件包 -f 查询拥有指定文件的软件包 -i 显示软件包的相关信息,通常和-q选项结合使用 -l 显示软件包的文件列表 -p 查询待安装的软件包 -R 显示软件包的关联信息...mirrors.aliyun.com/repo/Centos-7.repo 清理缓存: yum clean all 测试下载安装: yum install gcc 卸载 yum remove gcc TAR包管理工具简介 TAR是linux
Linux的目录结构是一个树型结构 Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘 Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面 解压缩 -c 创建一个新tar文件...-r 同时删除此用户关联的目录 /home/用户名 userdel [-r] 用户名 权限管理 Linux: 多任务多用户 用户管理包括 用户与组管理 Linux对于不同的系统资源拥有不同的使用权限...,Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。...相关知识 目录 /:Linux系统的根目录,包含Linux系统的所有目录和文件。 /etc:有关系统设备与管理的配置文件。 /sbin:存放系统启动时所需的运行程序。...Centos 7 查看内存占用情况相关命令_赵彦军-CSDN博客_centos查看内存使用情况 总结Linux下查看内存使用情况的多种方法 | 《Linux就该这么学》 linux 查看内存和硬盘(free
查看Linux系统版本 lsb_release -a 文件 修改文件名称 sudo mv test.txt new.txt 复制文件 cp /www/docker.yml /opt/ zip 如果在我们在...firewall-cmd --zone=public --list-ports 复制代码 安全日志 cat var/log/secure Linux常用命令之chmod修改文件权限777和754 示例...更改清华源 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 复制代码 LINUX tar解压到指定目录...是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。...in(interrupt)则是每秒中断的次数。 r(Running or Runnable)是就绪队列的长度,也就是正在运行和等待 CPU 的进程数。
Linux是多用户操作系统,不同的用户对于文件的操作拥有不同的权限。我们可以使用 ls -l 命令列出当前目录下的文件及目录的详细信息: ?...第2-4个字符确定属主(该文件的所有者)拥有该文件的权限。第5-7个字符确定属组(所有者的同组用户)拥有该文件的权限。第8-10个字符确定其他用户拥有该文件的权限。...所以以上的hello的前10个字符-rw-rw-rw-代表的意思为:hello是个文件;hello的属主具有读、写权限,没有执行权限;hello的属组具有读、写权限,没有执行权限;其他用户组对与hello...Linux文件的基本权限就有九个,分别是user/group/others三种身份各有自己的read/write/execute权限。...例如:把hello文件的所有者与所属组都改为 win: ? 以上命令就是关于文件权限的一点笔记,如有错误,欢迎指出。
一.Linux 简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。...Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。...Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。...二.Linux版本 Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。 ?...目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。 ?
那是因为有驱动层在支撑着与硬件相关的操作,应用程序在调用打开、关闭、读、写等操作会触发相应的驱动层函数。 本篇笔记我们以hello驱动做分享,hello驱动属于字符设备。...(结构体成员前面加个.号),可以去看往期笔记:[【C语言笔记】结构体]。...,有套路可寻那就比较好学习了,至少不会想着怎么起函数名而烦恼,按套路来就好,哈哈 关于驱动的知识,这篇笔记中还可以展开很多内容,限于篇幅就不展开了。...学单片机的有些朋友可能不太熟悉main函数的这种写法: int main(int argc, char **argv) main函数在C中有好几种写法(可查看往期笔记:main函数的几种写法),在Linux...,vers=4 192.168.1.104:/home/book/nfs_share /mnt 关于ntf网络文件系统的使用可查看往期笔记:【Linux笔记】网络文件系统。
chmod -R a+r /itcast 将/itcast目录下的所有文件与子目录的拥有者设为root,用户拥有组为users chown -R root:users /itcast 将当前目录下的所有文件与子目录的用户皆设为...-wx:可以cd进去并touch,rm自己的文件,并且可以vi其他用户的文件 -wt:可以cd进去并touch,rm自己的文件 ls -ld /tmp drwxrwxrwt的权限值是1777(sticky...0:文件当前行的开头 $:文件当前行的末尾 G:文件的最后一行开头 1 + G到第一行 9 + G到第九行 = :9 dd:删除一行 3dd:删除3行 yy:复制一行 3yy:复制3行 p:粘贴 u:...1.安装JDK *添加执行权限 chmod u+x jdk-7u45-linux-i586.bin *解压 ..../jdk-7u45-linux-i586.bin *在/usr目录下创建java目录 mkdir /usr/java *将/soft目录下的解压的jdk1.7.0_45剪切到/usr/java目录下
2 流程分析 2.1 引导内核阶段 2.2 内核启动阶段 2.3 init 进程启动 2.4 shell 命令执行 Linux0.11 考古笔记 最近读完《Linux 内核完全注释》和《品读 Linux0.11...核心代码》,大致理解下 Linux0.11 内核的全貌。...程序是一个可执行的文件,而进程是一个执行中的程序实例。关于 Linux0.11 操作系统的进程设计,这里仅侧重理解几个比较重要的概念。...为了高效的使用物理内存,Linux 内核有一套管理内存的方法。从硬件的视角,将物理内存按功能划分为不同的内存域,其中包括内核模块、高速缓冲区、虚拟盘、主内存区。...2 流程分析 根据《品读 Linux0.11 核心代码》这个专栏,它是按照系统启动到运行的时间顺序结合 Linux0.11 源码来展开的,我根据专栏的内容进行二次整理。
. 35.ln 建立硬链接 链接文件和文件的inode码一样 ln -s 建立符号链接 链接文件和源文件的inode码不一样 (类似于windwos的快捷方式) 当源文件删除后硬链接的文件仍可以访问但符号链接的文件无法访问...dev/sdb(sdb是我新添加的硬盘,如果你需要修改的硬盘与这个名称不一样,改过来就行了,比如sdc) [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux...2048-2097151,默认为 2048):2048 Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):+512M 分区 1 已设置为 Linux...Last 扇区, +扇区 or +size{K,M,G} (1050624-2097151,默认为 2097151):+500M 分区 2 已设置为 Linux 类型,大小设为 500 MiB 命令(输入...在进行下面的步骤的时候,建议给当前的虚拟机来个快照,方便恢复。
光盘写入工具1.mkisofs建立镜像文件制作一般的镜像文件mkisofs -r -v -o /tmp/system.img /root /home /etc文件不能一样比如 /root/crontab.../etc/crontab(由于/root/etc的存在导致/etc似乎没有被包含进去)mkisofs -r -V 'linux_file' -o /tmp/system.img -m /root/etc...root=/root /home=/home /etc=/etc2.对镜像进行修改1)isoinfo -d -i /home/CentOS-7-x86_64-Minimal-1511.iso 查看镜像的信息...find等查找文件的命令找出/boot下面的所有文件,然后将它备份到/tmp/boot.cpiofind boot | cpio -ocvB > /tmp/boot.cpio将刚刚的文件在/root/目录下解开...cd /rootcpio -idvc /dev/st0还原cpio
$hello表示字符串"Hello"的地址; 32位Linux系统通过0x80中断来进行系统调用....更多关于32位和64位汇编指令的区别可以参考stack overflow的总结, 因为我当前环境是64位Linux,所以下文的操作都以64位系统为例....值得一提的是, 这里的child为子进程的进程ID, 由fork函数返回....追踪其他程序的进程 上面举的例子都是追踪并修改声明了PTRACE_TRACEME的子进程的,那么我们能否追踪其他独立的正在运行的进程呢?...值得一提的是对于不同的处理器架构, 其使用的寄存器名称也不尽相同, 在不同的机器上允许时代码也要作相应的修改.
Bash shell的使用环境登录信息提示:/etc/issue /etc/motd\d 本地端时间的日期 \l显示第几个终端接口\m 显示硬件等级 \n显示主机的网络名称\r 操作系统的版本...== ..bashrc 终端环境的设置终端环境设置sttystty -a将当前所有的stty参数列出来intr给正在运行的程序发送中断信号quit给正在运行的程序发送退出信号 ctrl +\erase...逻辑运算意义上的非/分割路径>,>> 输出导向' 不具有变量置换的功能" 具有变量置换的功能'' 中间为可以先执行的命令()在中间为子shell的起始与结束[]中间为字符组合{}在中间为命令区块的组合...指令执行失败后,所传回的错误信息不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是乱乱的!是否透过某些机制将这两股数据分开呢?...,就将这一行信息显示出来grep filename-a将二进制文件以文本文件的方式搜索数据-c计算找到搜索字符串的次数-i忽略大小写的不同,所有大小写视为相同-n顺便输出行号-v反向选择,即显示没有搜索字符串的那行排序命令
我作为一个Linux新手,深知在学习过程中遇到的各种坑。新手总是希望能有一本大宝典,囊括了所有的技能,只需要跟着学,就能成为高手。 可,这种想法是不现实的。...这也是我写《Linux笔记》系列的出发点。这个系列将持续更新,记录我在使用Linux过程中的各种问题。...Linux 命令行概念 图形用户界面让简单的任务更容易完成, 而命令行界面使完成复杂的任务成为可能 一说到命令行,我们真正指的是 shell。...文件名 “File1” 和 “file1” 是指两个不同的文件名 Linux 没有“文件扩展名”的概念,不像其它一些系统。...从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 反而,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
为防遗忘谨在此做个有关Linux常用命令的记录。 1....4.查看磁盘空间3 df -hl:查看磁盘剩余空间 df -h:查看每个根路径的分区大小 du -sh [目录名]:返回该目录的大小 du -sm [文件夹]:返回该文件夹总M数 du -h...SSH快捷登录 别名登录 在 ~/.ssh/config文件中 添加相应的HostName User Reference: [1] Linux 命令缩写 [2] Linux命令简写和全称 [3]...The Linux command abbreviations ---- Linux常用命令:chmod修改文件权限 777和754 ↩︎ Linux权限详解(chmod、600、644、666、...700、711、755、777、4755、6755、7755) ↩︎ Linux 查看磁盘空间 ↩︎ linux 如何以树形结构显示文件目录结构 ↩︎
_1的内容覆盖。...$ cat filename_1 >> filename_2 重定向单个文件中包含的多个文件 将filename_1、filename_2、filename_3的内容重定向到新创建的filename_4...,结果将重定向到新创建的文件中。...会以列表的形式给出所有以键入字符开头的文件: $ cat fil filename filename_1 filename_2 这个方式也适用于补全Linux命令,例如输入ca然后按下...下面表示寻找最近一百天及以上没有使用过的文件: $ find /user/bin/ -type f -atime +100 -print locate命令 当用户完全不清楚自己的文件放在哪里的时候,可以使用
I love you 3 AAAABB 4 linux [root@192 ~]# cat -n 1.txt | sed '2a this line is append...' 1 统支持的所有变量 2 I love you this line is append 3 AAAABB 4 linux [root...' 1 统支持的所有变量 this line is 2,3 line 4 linux [root@192 ~]# cat -n 1.txt |sed '2,4d'...linux [root@192 ~]# sed -n '2p' 1.txt I love you [root@192 ~]# sed -n '$p' 1.txt linux [root@192 ~]...3 AAAABB 4 lInux sed -n '/linux/=' 1.txt 打印1.txt中有Linux的行的行号 对同一文件进行多次修改的三种方法 1.
最近在研究ARM cpu 32 bit转码 64bit的事情,以用于在64bit的服务器上可以更快的运行32bit的Android ELF文件。 特意写篇东西做一下笔记。...ELF头部的结构体为 elf32_hdr 或 elf64_hdr, 在Android系统源代码的 /bionic/libc/kernel/uapi/linux/elf.h 可以找到。...3 /* Linux. */ #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ #define ELFOSABI_AIX...ET_EXEC 指的是可执行程序, 存在程序入口, 有 Program Header, 可以加载到内存中运行, 在 Linux 下的可执行程序都是这样的。 ET_DYN 特指动态链接库。...作者的话 个人喜欢计算机技术,主要涉及的领域包括:Android系统,Linux内核,嵌入式软/硬件,机器人和智能硬件。同时也对其他的各个技术栈都感兴趣。
领取专属 10元无门槛券
手把手带您无忧上云