·Jormungand
我会把这个不完美的故事 变成我所期望的样子
展开
-
命名管道实现进程的信息传递【mkfifo函数、open函数】
文章目录代码实现mkfifo函数open函数代码实现#include<fcntl.h> // open()#include<sys/wait.h> // wait()#include<sys/types.h> // mkfifo()#include<sys/stat.h> // mkfifo()#include<iostream>#include<unistd.h> // fork()using namespace原创 2021-08-13 19:15:17 · 509 阅读 · 0 评论 -
管道实现父子进程的信息传递(二)【标准流和其文件描述符、fwrite函数、perror函数】
文章目录代码实习标准流 和 标准流文件描述符代码中用到的函数fwrite()perror()在复习进程间的通信方式时又写了一遍,和 管道实现父子进程的信息传递(一)【pipe函数、write/read操作、wait函数】 的区别不是特别大,只是具体介绍了 (一) 中没有介绍到的知识点。代码实习#include<iostream>#include<unistd.h> // pipe(),fork(),STDOUT_FILENO#include<sys/wait.h&g原创 2021-08-13 17:23:16 · 446 阅读 · 0 评论 -
基础的shell编程问题(二)
文章目录题目一题目描述代码实现结果验证关于本题题目二题目描述代码实现结果测试题目三题目描述代码实现及结果测试题目四题目描述代码实现及结果测试题目五题目描述代码实现及结果测试题目一题目描述输入的命令行参数必须是hello,才会正确显示;否则,显示错误提示。代码实现结果验证关于本题本题的难点在于如何提取命令行输入的参数,本题中运用的是$*,表示在命令行中实际给出的所有实参字符串,说人话就是:代表所有参数本身内容。详情请参考:shell预先定义的特殊变量其实,用位置变量 $1 代替原创 2020-11-09 22:36:43 · 176 阅读 · 0 评论 -
基础的shell编程问题(一)
文章目录题目一代码关于$#的有关内容实测本程序的作用题目二代码注释关于argc、argv关于read函数关于文件描述符关于write函数本程序的作用题目一代码#!/bin/bash#bash script programmingif test $# == 0 # 参数个数为0(没有给出参数)then ls -l|grep '^d' # 寻找并显示当前目录中以d开头的字符串,即目录文件else # 参数个数不为0(给出了参数) for i原创 2020-11-09 19:48:11 · 2555 阅读 · 5 评论 -
管道实现父子进程的信息传递(一)【fork函数、pipe函数、write/read操作、wait函数】
文章目录题目描述代码实现关于pipe函数关于读写操作关于读写端口关于wait函数功能:注意:关于本题题目描述编写一个程序,利用管道实现父子进程的通信,父进程向子进程发送信息,由子进程输出显示。代码实现#include <stdio.h>#include <stdlib.h>#include <unistd.h> //管道功能所在的头文件#include <sys/types.h> //wait函数所在的头文件#include <原创 2020-11-09 18:14:57 · 2517 阅读 · 2 评论 -
Linux实验五:Linux环境下的C语言编程
文章目录一、实验目的:二、实验要求三、实验内容1、编写一段C语言程序使其完成:父进程创建两个子进程,每个进程都在屏幕上显示自己的进程ID号。2、上机调试下面的程序,观察运行结果,分析原因。3、利用两个管道进行双向通信,实现父子进程协作把整数x从1加到10。4、利用消息队列实现父子进程的通信。父进程创建消息队列,并向消息队列发送消息;子进程接受消息;父进程等待子进程接收消息后删除消息队列。一、实验目的:1、学会用系统调用和库函数进行编程2、加深对进程概念的理解,明确进程和程序的区别。3、进一步认识并原创 2020-10-30 19:37:06 · 2548 阅读 · 0 评论 -
Linux实验四:编译和调试工具的使用
文章目录一、实验目的:二、实验要求三、实验内容四、实验操作1、用gcc编译程序,写出编译过程,并给出运行结果。2、调试程序,要求用gdb进行调试并给出修改方案。3、make的使用一、实验目的:1、练习并掌握Linux提供的vi编辑器来编译C程序2、学会利用gcc、gdb编译、调试C程序3、学会使用make工具二、实验要求1、编写C语言程序,用gcc编译并观察编译后的结果,运行生成的可执行文件。2、利用gdb调试程序。3、学习编写makefile,并进行编译。三、实验内容1、GNU原创 2020-10-30 16:01:22 · 922 阅读 · 0 评论 -
Linux实验三:Shell编程
文章目录一、实验目的二、实验要求三、实验内容1、通配符的使用2、重定向3、管道4、shell变量5、建立下面的脚本,运行并分析输出结果,并给出代码注释。6、编写脚本一、实验目的1.为文件扩展名使用通配符2.标准输入、标准输出和标准错误的重定向3.使用管道将一个进程的输出作为输入提供给另一个进程。4.执行命令分组和行继续5.编写shell 脚本。二、实验要求1、管道(pipe-line)的使用执行格式: command1|command2功能:将command1的执行结果送到comma原创 2020-10-30 11:28:32 · 3243 阅读 · 0 评论 -
Linux实验二:vi编辑器的使用
文章目录一、实验目的二、实验要求三、实验内容1、创建文件2、编辑文件一、实验目的1、练习并掌握Linux提供的vi编辑器来编译C程序2、学会利用gcc、gdb编译、调试C程序3、本次实验的目的是让同学们了解如何使用vi编辑器进行创建和编辑文件二、实验要求1、文件编辑器vi的工作模式(1)输入模式(2)命令模式(3)ex转义模式2、命令模式下光标的移动3、命令模式下的编辑命令三、实验内容1、创建文件(1)使用vi创建一个名为vitest的文件,文件的内容自己录入。需要输入多行原创 2020-10-30 10:56:05 · 3833 阅读 · 0 评论 -
Linux实验一:常用的Linux命令
文章目录一、实验目的二、实验要求三、实验内容1、系统的使用2、命令的使用3、文件操作4、系统询问与权限口令5、其它常用命令四、实验操作1、基本命令的使用2、文件和目录操作3、创建用户帐户一、实验目的1、熟悉Linux的桌面环境;2、了解Linux所安装的软件包3、了解Linux的文件目录结构;4、熟悉Linux的终端方式或文本方式下文件目录操作命令。5、了解Linux的命令及使用格式。6、熟悉Linux系统的文件和目录二、实验要求1、Linux的桌面环境GNOME、KDE;2、Li原创 2020-10-29 16:16:54 · 6756 阅读 · 0 评论 -
shell预先定义的特殊变量
文章目录$#$*$$$#表示命令行上参数的个数,但不包括shell脚本名本身为脚本ex1赋予两个变量,测试$#的输出结果[root@localhost test]$ . ex1 ma.c mb.c 2 # echo $#7 # cat $1 $2 $3 | wc -l2 # echo $#脚本ex1的具体内容[root@localhost test]$ cat ex1#ex1: shellecho $#cat $1 $2 $3 | wc -lecho $#原创 2020-10-15 16:07:44 · 549 阅读 · 0 评论 -
Linux简单命令集——head
NAME head - output the first part of filesSYNOPSIS head [OPTION]... [FILE]... head [选项]... [文件]... -c, --bytes=[-]NUM print the first NUM bytes of each file; with the leading '-', print all but the last原创 2020-09-14 23:26:18 · 185 阅读 · 0 评论 -
Linux简单命令集——less
NAMEless - opposite of moremore的对立面注意与more命令类似,less命令也用来分屏显示文件的内容,但是less命令允许用户向前或向后浏览文件。例如,less命令显示文件内容时,可以用⬆键和⬇键分别将屏幕内容下移一行和上移一行;用PageUp键向上翻页,用PageDown键向下翻页。而more命令没有这些功能,所以在功能上,less命令比more命令更强。当使用less查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:..原创 2020-09-14 18:22:32 · 259 阅读 · 0 评论 -
Linux命令集—— cat AND more
1、catNAMEcat - concatenate files and print on the standard output连接所有指定文件并将结果写到标准输出。【经常用来显示文件的内容,类似DOS的TYPE 命令】SYNOPSIScat [OPTION]... [FILE]...cat [选项]... [文件]...With no FILE, or when FILE is -, read standard input.如果没有指定文件,或者文件为"-",则从标准输入原创 2020-09-11 23:53:14 · 200 阅读 · 0 评论 -
Linux简单命令收录(who,echo,date)【上】
shell严格区分输入命令的大小写,如who、Who和WHO是不同的,其中只有全小写——who是正确的Linux命令。命令与选项和参数之间要用空格或制表符隔开。连续空格会被shell解释称单个空格。选项:对命令的特殊定义,以“-”开始,多个选项之间可以用”-“连接起来,如”ls -l -a“等同于”ls -la“。参数:提供命令运行的信息或者命令执行过程中所使用的文件名。通常,参数是一些文件名,告诉命令从哪里可以得到输入,以及把输出送到什么地方。若一个命令太长,一行写不完,可在每行行尾输入“原创 2020-09-09 22:20:21 · 489 阅读 · 2 评论 -
Linux简单命令收录(cal,passwd,clear)【下】
1、calNAMEcal-displayacalendarSYNOPSIScal[options][[[day]month]year]cal[options][timestamp|monthname]OPTIONS -1, --one Display single month output. (This is the default.) 显示单月(cal默...原创 2020-09-11 16:17:41 · 382 阅读 · 0 评论