
Linux学习
文章平均质量分 85
闲鱼蜡蕉的摸鱼时光
快乐摸鱼ing
展开
-
关于使用vscode编译《Linux/unix系统编程手册》配套代码遇到的问题解决
在使用《Linux/unix系统编程手册》时遇到很多例程,因为我是使用vscode远程Linux虚拟机学习,所以这里只介绍vscode如何编译书籍配套例程,首先默认你已经配置好基本的编译环境。原创 2024-06-02 19:26:06 · 908 阅读 · 0 评论 -
Linux内核下载(包括历史版本)
由于官网下载比比较慢也不是很好寻找,这里分享一个链接供大家下载。原创 2022-07-22 11:51:57 · 1887 阅读 · 2 评论 -
Linux系统编程06 --进程间关系
文章目录六、进程间关系终端**tty**网络终端进程组会话setsid()创建新会话函数getsid()获取会话sid函数守护进程守护进程创建步骤六、进程间关系终端 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),在讲进程时讲过,控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输原创 2022-03-19 12:59:25 · 561 阅读 · 0 评论 -
Linux系统编程05--信号2
文章目录五、信号-2进程处理信号的行为PCB信号集信号集处理函数sigprocmask信号屏蔽字函数sigpending获取当前信号集的未决信号集信号捕捉设定用户自定义信号(利用SIGUSR1和SIGUSR2实现父子进程同步输出)C标准库信号处理函数可重入函数信号引起的竞态和异步I/O时序竞态(进程竞争CPU资源)避免异步I/O的类型volatileSIGCHLD信号SIGCHLD信号产生条件向信号捕捉函数传参sigqueuesigaction中第二个函数原型信号中断系统调用五、信号-2进程处理信号的行原创 2022-03-16 16:43:54 · 2185 阅读 · 0 评论 -
Linux系统编程05--信号1
文章目录五、信号-1信号概念信号编号信号机制信号产生的方式、种类1.终端下特殊快捷键产生信号,发送给当前shell的前台进程。2.硬件异常3.kill函数或kill命令(函数发送信号方式)4.某种软件条件触发信号信号产生运原因五、信号-1信号概念信号编号查询Linux系统信号编号表(Linux提供64个信号种类)kill -l在当前学习Linux系统编程阶段,学习前32个信号,为Linux经典信号,后32个信号是实时信号,是硬件使用的信号。其实通过kill -l查询并没有64个信号,1-3原创 2022-03-16 16:36:41 · 1301 阅读 · 0 评论 -
Linux系统编程03--进程
三、进程文章目录三、进程虚拟内存空间进程环境1.环境变量getenv()/setenv():获取、设置环境变量值进程状态进程资源限制函数进程原语fork()进程相关函数getpid()getuid()getgid()exec()族wait()/waitpid()僵尸进程wait():waitpid()孤儿进程我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。现在我们全面了解一下其中都有哪些信息。进程id。系统中每个进原创 2022-02-24 16:31:49 · 976 阅读 · 0 评论 -
Linux系统编程02--文件系统
二、文件系统文章目录二、文件系统ext2文件系统文件储存过程文件删除过程(rm)目录中记录项文件类型基于inode的函数stat()access()chmod()chown()utime()truncate()链接函数link()symlink()readlink()unlink()rename()chdir()getcwd()pathconf()目录操作mkdir()rmdir()opendir()readdir()rewinddir()telldir()seekdir()closedir()递归遍历目原创 2022-02-24 16:20:33 · 480 阅读 · 0 评论 -
Linux系统编程01--文件I/O
一、文件I/O进程控制块PCB内核管控进程通过pcb模块进行管控,PCB叫做进程控制块,操作系统把每一个进程当中一个PCB模块去管理,pcb是系统抽象出来的东西,方便管理进程。进程与程序:程序,代码存放在磁盘中,没有运行,称为程序。进程,程序运行起来,则系统为程序开辟内存空间(32位为4G虚拟内存),运行在内存中的程序为进程。操作系统为了方便管理进程,抽象出来PCB模块,每一个进程都有一个PCB模块(在内核中),PCB内含有该进程的信息数据结构。PCB即一个结构体—>struct t原创 2022-02-24 16:09:27 · 450 阅读 · 0 评论 -
Linux系统编程00--静态库与共享库
静态库与共享库静态库,.a结尾制作静态库:将.o文件制作成静态库文件ar rcs libmylib.a file1.orcs表示创建索引库名libmylib.a,一般以lib开头再加自己定的库名,后缀.a表示这是一个静态库名。ar rcs libmylib.a a.o b.o c.o相当于把a.o b.o c.o三个文件打包到一个库里面,库名叫libmylib.a在使用gcc时,要注意其参数的顺序,-l是链接器查看静态库里面有哪些目标文件用指令nm 静态库名(如libmylib.原创 2022-02-24 16:03:55 · 548 阅读 · 0 评论 -
Linux系统编程00--vim操作
vim操作在终端内创建新标签:ctrl + shift + t,切换标签alt + n(1,2,3,4)创建新终端:ctrl + shift + nvi三种模式:命令模式,vim刚进去的模式为命令模式插入模式(编辑模式),在命令模式下按i,I,a,A末行模式,命令模式下按:(shift + ;)即冒号模式插入模式和末行模式推出到命令模式都用esc键,插入和末行之间不可转换。esc键在任何模式下都可以回到命令模式。1.插入模式进入插入模式:i:插入光标前一个字符I:插入行首a:插入原创 2022-02-24 15:59:45 · 432 阅读 · 0 评论 -
Linux系统编程00--文件传输
文件传输1.ftp&nfs搭建ftp环境:1.安装:sudo apt-get install vsftpd2.配置vsftpd.conf文件sudo vim /etc/vsftpd.confanonymous_enable=YES 允许匿名用户访问anon_root=/home/jiaojian/ftp 定义根目录,共享目录no_anon_password=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_wri原创 2022-02-24 15:57:25 · 409 阅读 · 0 评论 -
Linux学习06---shell基础
shell就是命令解释器,也是一种编程语言,它的作用是与内核沟通,建立应用与内核的交流桥梁,形象的成为内核的壳(shell)shell 分类Boirne shellshkshBashpshzshC shellcshtcshB shell 与 C shell语法完全不同,不兼容,Linux系统使用的标准shell是B shell家族中的Bash,它与sh(B sh)完全兼容。查看Linux支持的shell:[jiaojian@XYLJ stdio]$ vim /etc原创 2021-11-30 16:27:45 · 755 阅读 · 0 评论 -
Linux学习05---文件管理系统
文章目录分区与文件系统分区类型文件系统文件系统常见命令df 文件系统查看命令du 统计目录或文件大小命令fsck 文件系统修复命令dumpe2fs 显示磁盘状态命令挂载命令:mount挂载光盘与U盘卸载命令 umount挂载U盘支持NTFS文件系统fdisk分区创建分区格式化分区创建新建分区的挂载点分区自动挂载分区与文件系统分区类型主分区:一个系统总共最多有只能有4个主分区这是由于磁盘的结构决定的,因为磁盘分区是通过一个磁盘管理程序管理的,这个程序在磁盘最开始的那一段磁道原创 2021-11-18 23:09:38 · 1088 阅读 · 0 评论 -
Linux学习04---用户与用户组管理
文章目录用户配置文件用户信息文件 /etc/passwd影子文件/etc/shadow组信息文件/etc/group和组密码文件/etc/gshadow/etc/group/etc/gshadow用户管理的相关文件用户的家目录用户的邮箱用户模板目录用户管理命令useraddpasswdusermodchageuserdelidsu用户组管理命令groupaddgroupmodgroupdelgpasswd用户配置文件用户信息文件 /etc/passwd越是对服务器安全性要求高的服务器,越需要建立合理的原创 2021-11-16 17:41:47 · 3276 阅读 · 0 评论 -
Linux学习02---软件包管理
软件包管理软件包分类win的*.exe文件是不能在Linux里面直接使用的,所以win里面大量的病毒和木马到Linux里面就无效了,不可识别,对Linux来说win的软件包对他来说就是一堆文件而已。源码包(源代码直接开放给你的包,开源,绝大部分是C/C++写的)脚本安装包,一般是源码包经过二次开发的,类似于win里面软件安装包内的setup.exe,事先写好了安装引导程序,一步步的跟着点击按钮选择安装选项就ok了,在Linux里面就叫install.sh,其实其就是源码包。脚本安装使用原创 2021-11-07 22:07:28 · 1185 阅读 · 0 评论 -
Linux常见命令
Linux常见命令在Linux内,配置文件和shell脚本文件内的以#开头的行为注释行,#为注释符号。目录处理命令lsls [选项] [参数,目录绝对或相对]ls,list,列出对象文件夹内的文件-a,–all,表示列出目标目录内所有文件,包括隐藏文件-l,–long,表示列出详细信息-d,表示对象不是目录内的文件,而是表示对象是目录本身-h,人性化表示,即大小单位用M,G等人们常采用的单位-i,表示列出i节点编号mkdirmkdir [选项] [参数,目录]…可有多个参数ma原创 2021-11-05 12:14:03 · 1302 阅读 · 0 评论