
linux
文章平均质量分 60
Half-up
【Keep Reading , Keep Writing , Keep Coding.】
展开
-
linux三种网络模式+SSH+SFTP的一些补充
三种网络连接模式:桥接,NAT模式.1.桥接模式2.NAT模式3仅主机模式总结补充LINUX网络配置1)动态ip2)静态ip3)访问测试局域网外网SSH和SFTPSSH我的另一篇教程:SFTP文件传输服务原创 2021-12-16 17:23:24 · 1569 阅读 · 0 评论 -
linux---高并发服务器(网络)
多进程并发服务器为提高服务器效率,服务器应能同时被多个客户端进程使用,且能处理多个用户请求,实际上,我们在生活、应用中接触到的服务器,都能实现并发功能。在多进程并发服务器中,若有用户请求到达,服务器将会调用fork()函数,创建一个子进程,之后父进程将继续调用accept(),而子进程则去处理用户请求。案例1:搭建多进程并发服务器,使服务器端可接收多个客户端的数据,并将接收到的数据转为大写,写回客户端;使客户端可向服务器发送数据,并将服务器返回的数据打印到终端。服务端:#include <a原创 2021-12-11 15:57:48 · 2440 阅读 · 0 评论 -
linux---socket编程(网络)
计算机网络概述Linux系统也与网络密不可分,无论是服务器开发,还是嵌入式应用等领域,都需要通过网络进行数据传递。Linux网络编程一般通过socket(套接字)接口实现。关于网络的概述我就不细讲了,看了晕头转向的,在此推荐这个老哥的博文1-1:网络初识之了解什么是协议以及TCP/IP协议1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)1-3:网络初识之网络传输的基本流程TCP首部,IP首部,MAC地址,IP地址等补充几点:网络结构模式:C/S原创 2021-12-10 18:54:53 · 5004 阅读 · 1 评论 -
linux互斥锁---一个简单的计程车线程
实现一个计程车的流程,打车,taxi,上车,到达原创 2021-12-07 20:47:13 · 345 阅读 · 0 评论 -
linux--线程
线程是系统调度分配的最小单位。线程概述线程操作线程属性线程同步原创 2021-12-06 17:28:12 · 1468 阅读 · 1 评论 -
linux--创建2个线程,分别计算不同图形面积
2.创建2个线程,线程1计算以学号后两位为边长的正方形面积,线程2计算以学号后两位为半径的圆形面积,分别输出计算结果。#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>//定义线程1运行函数void* th_fn1(void *arg) //传入void*数值 a{ int bianchang=(long)arg; int v; v=bi原创 2021-12-02 08:30:24 · 2109 阅读 · 0 评论 -
linux创建二个线程输出id和学号,比较二个线程id
1.创建2个线程,线程1输出线程id和自己姓名,线程2输出线程id和自己学号,比较两个线程id是否相等,输出比较的结果。原创 2021-12-01 11:36:57 · 2234 阅读 · 1 评论 -
LINUX生成僵尸进程并ps打印出来
3.编写实验程序task3.c创建一个子进程,要求在父进程中不用wait函数对子进程做任何处理,让子进程比父进程先结束,成为一个僵尸进程,并在程序中使用ps命令打印出僵尸进程的信息。参考linux 进程管理笔记他们二个的区别:一、 僵尸进程僵尸进程: 一个父进程利用fork创建子进程,如果子进程退出,而父进程没有利用wait 或者 waitpid来获取子进程的状态信息,那么子进程的状态描述符依然保存在系统中。二、孤儿进程孤儿进程:一个父进程退出,而它的一个或几个子进程仍然还在运行,那么原创 2021-11-23 19:48:07 · 4235 阅读 · 0 评论 -
LINUX--创建进程+进程显示时间
1.编写实验程序task1.c创建进程,创建如图所示的进程族亲结构,其中p1是程序启动时由加载程序创建第一个进程。各进程的输出信息分别如下:p1:I am father processp11: 当前时间是< 年 月 日 时 分 秒>p12: I am young brother processp121:我的学号是<您的学号xxx>p122:我的姓名是<您的姓名xxx>参考笔记 linux进程管理fork创建进程总代码:#include <stdio原创 2021-11-23 15:40:16 · 1941 阅读 · 0 评论 -
LINUX 批量添加删除用户(bash 循环)
添加用户由于添加的用户名采用统一的其中因此可使用user+数字方式实现,前缀usero0由用户手动输入,后缀的数字可通过循环逐次递增:因为用户名和密码相同,可在创建用户后,使用代表用户名的变量为用户设置密码:此外需对命令的执行情况进行判断,若密码设置失败,应给出提示。先确定输入字符串就是用户名前的qwe类似的#!/bin/bash#addusersecho "------add 9 users------"echo "please input a string:"read user.原创 2021-11-19 00:32:43 · 2378 阅读 · 0 评论 -
linux 实验楼Linux 基础入门 作业
实验楼实验界面课程很好用户及文件权限管理:添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest可以读写。截图并把操作过程写入实验报告。提示: 如何创建一个文件呢?可以考虑 touch 命令,执行 sudo touch /opt/forloutest这个命令可以创建一个空文件,但前提是执行这个命令的 loutest 用户需要具备 sudo 权限。进入loutest给他sudo权限然后进入改写权限Linux权原创 2021-11-18 21:12:53 · 2771 阅读 · 0 评论 -
LINUX 读取文件并将文件内容复制到另一个文件上
2.在/home下使用open()函数打开一个名为“学号.txt”的文件,如果该文件不存在,则创建此文件,通过使用read函数和write函数把“姓名.txt”的内容复制到“学号.txt”文件中。接上文的LINUX读取写入文件并打印出来(实例用的.txt)已经建好的.txt写代码:#include<sys/types.h>#include<sys/stat.h>#include <stdio.h>#include <unistd.h>#inc原创 2021-11-18 16:54:25 · 6486 阅读 · 3 评论 -
LINUX读取写入文件并打印出来(实例用的.txt)
参考我的文件管理笔记:linux 文件系统与操作1.在/home下使用open()函数打开一个名为“姓名.txt”的文件,权限为666,如果该文件不存在,则创建此文件,并向其中写入字符串“hello 学号,this is world”,然后把写入的内容读取出来并在终端上显示输出。先创建文件,然后chmod 666 文件写代码:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include &l原创 2021-11-18 11:28:15 · 6800 阅读 · 0 评论 -
linux -- 进程间通信(管道)
管道匿名管道pipe()函数的参数pipefd是一个数组,当在程序中使用pipe()创建管道时,程序可以通过传参的方式获取两个文件描述符,分别交给需要通信的两个进程,内核再将这两个进程中文件描述符对应file结构中的inode指向同一个临时的VFS索引结点,并使这个索引结点指向同一个物理页面。管道实现机制如图8-2所示。案例1:使用pipe()实现父子进程间通信,要求父进程作为写端,子进程作为读端。#include <stdio.h>#include <std.原创 2021-10-28 16:35:35 · 1209 阅读 · 0 评论 -
linux -- 信号
信号及信号来源使用kill命令杀死进程的实质,是向目标进程发送了一个信号,当目标进程接收到这个信号后,会根据信号的处理函数,执行指定动作。比如:keil 杀死进程就是使用的9号信号使用“kill-l”命令可查看系统中的信号产生信号的五种情况:linux系统中信号的状态:linux 系统中信号的处理方式:信号的默认动作:信号的产生系统调用中发送信号常用的函数有kill()、raise()、abort()等,其中kill是最常用的函数,该函数的作用是给指定进程发送信号,原创 2021-10-23 11:07:16 · 577 阅读 · 0 评论 -
linux 进程管理
进程处理机制进程属性标识符进程状态通常进程的状态被划分为五种:初始态、 就绪态、运行态、睡眠态 和终止态。初始态一般不进行讨论,因为当初始化完成后,进程会立刻转化为就绪态。①就绪态处于就绪态(Ready)的进程,所需的其它资源已分配到位,此时只等待cpu,当可以使用cpu时,进程会立刻变为运行态。②运行态进程处于运行态(Execting)时会占用cpu,处于此状态的进程的数目必定小于等于处理器的数目,即每个cpu上至多能运行一个进程。③睡眠态处于睡眼态(Sleeping)的.原创 2021-10-21 21:16:29 · 1793 阅读 · 3 评论 -
linux 文件系统与操作
1.分区类型主分区 :总共最多只能分四个扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区主分区1 sda1主分区2 sda2主分区3 sda3第四个分区分为扩展分区 sda4逻辑分区 sda5 sda6 sda7逻辑分区确从5 6 7开始因为 分原创 2021-10-19 21:34:42 · 811 阅读 · 0 评论 -
linux--shell编程--shll函数
函数的定义函数的调用#!/bin/sh#function hellofunction hello(){ echo "hello itheima."}#mainhello #hello函数调用exit 0函数中的参数#!/bin/sh#functionfunction _choice(){ echo "Your chioce is $1."}#maincase $1 in "C++" ) _choice C++ ;;原创 2021-10-13 20:47:37 · 295 阅读 · 0 评论 -
linux shell编程 --shell调试
原创 2021-10-13 11:18:52 · 108 阅读 · 0 评论 -
linux -shell编程-循环语句
for循环echo-e 含义#!/bin/shfor month in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec do echo -e "$month\t\c"doneechoexit 0echo -e /t/c表示输出 之间tab 不换行#!/bin/shfor file in ~/itheima/*.bxgdo rm $file echo "$file has been delete.原创 2021-10-13 10:47:20 · 422 阅读 · 0 评论 -
linux-shell编程-case语句
#!/bin/shecho -e "a:\c"read aecho -e "b:\c"read becho -e "select(+ - * /):\c"read var case $var in '+') echo "a+b="`expr $a "+" $b`;; "-") echo "a-b="`expr $a "-" $b`;; "*") echo "a*b="`expr $a "*" $b`;; "/") echo "a/b="`expr $a "/" $b`;; ..原创 2021-10-10 22:08:22 · 121 阅读 · 1 评论 -
linux shell编程-select语句
#!/bin/sh#select条件语句echo "What do you want to study?"select subject in "Android" "Java" "C++" "IOS"do echo "You have selected $subject." breakdoneexit 0原创 2021-10-10 21:47:27 · 364 阅读 · 0 评论 -
linux shell编程- 条件控制-if语句
单分支if语句#!/bin/sh#单分支if语句read filename if [ -d $filename ]; then echo $filename" is a directory"fiexit 0解释:read 输入变量filenameif 如果 filename变量不为空且为目录输出echo filename 变量名+is a directory双分支if语句#!/bin/sh#双分支if语句read filenameif [ -d $filen.原创 2021-10-10 19:25:32 · 544 阅读 · 0 评论 -
linux--shell编程 条件判断
吗11原创 2021-10-10 17:05:13 · 93 阅读 · 0 评论 -
linux--shell编程 字符处理命令
1.排序命令sort2.统计命令 wc原创 2021-10-05 17:51:45 · 97 阅读 · 0 评论 -
linux--shell编程 字符截取命令
cut建表printfawkcut命令不能识别 空格符等原创 2021-10-05 17:37:33 · 128 阅读 · 0 评论 -
linux--shell变量运算
在linux中shell编程中变量都初始化字符型declare声明变量类型expr或let 数值运算工具letexpr原创 2021-10-04 11:42:35 · 255 阅读 · 0 评论 -
linux--Bash变量
变量命名规则变量定义与叠加变量调用-查看-删除变量分类环境变量env–查看变量unset --删除变量原创 2021-09-30 23:31:30 · 142 阅读 · 0 评论 -
linux--Bash基本功能
linux--Bash基本功能1.历史命令历史命令的调用2 命令补全 tab键3 命令别名4 bash 快捷键输入输出重定向标准输入输出输出重定向错误重定向正确输出和错误输出同时保存输入重定向多命令顺序执行管道符grep通配符和其他特殊符号通配符bash中的其他符号1.历史命令查看历史历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改vim /etc/profile历史命令的调用2 命令补全 tab键熟练运用tab3 命令别名给命令起个别名a原创 2021-09-29 10:37:14 · 2628 阅读 · 0 评论 -
linux--shell编程
shell概述shell 的分类或者vi /etc/shells#sh #后面写shell名字就可以切换shell的功能shell执行流程shell脚本运行的流程 – 例子1.echo命令加e -e后 可以例子:\b :表示向左删除一个字符–退格键\t: 表示制表符 tab键\n:表示换行echo 颜色输出第一个脚本写脚本#!/bin/Bash 表示bash编程 shell编程执行脚本注:linux中的命令无大写如果你用原创 2021-09-24 10:19:45 · 165 阅读 · 1 评论 -
linux--用户与用户组管理
概念用户组和用户组管理用户管理用户添加管理 -useradd 【选项】用户名例如:useradd sc查看用户信息查看所以用户信息 tail -3 /etc/passwd例1: 例2:例3:设置用户密码 passwd [选项] 用户名例1:查看存储的密码:删除用户 userdel [选项] 用户名修改用户账号 usermod 选项 用户名...原创 2021-09-22 22:42:13 · 181 阅读 · 0 评论 -
linux gdb调试初学者简单了解
https://blog.youkuaiyun.com/qq_42543896/article/details/107094197link原创 2021-09-22 10:23:56 · 107 阅读 · 0 评论 -
linux--gcc编译
首先看自己是否安装gcc安装好gcc后才能用GCC 编译器在编译一个C语言程序时需要经过以下 4 步:将C语言源程序预处理,生成.i文件。预处理后的.i文件编译成为汇编语言,生成.s文件。将汇编语言文件经过汇编,生成目标文件.o文件。将各个模块的.o文件链接起来生成一个可执行程序文件。常见的编译命令1.无选项用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。2. 选项 -o用法:#gcc tes.转载 2021-09-22 10:06:52 · 691 阅读 · 0 评论 -
linux---vim编辑器的使用
11原创 2021-09-21 21:52:38 · 479 阅读 · 0 评论 -
Linux命令指令
Linux命令指令ls 文件查看命令mkdir 目录处理命令目录处理命令:cd目录处理命令:pwd目录处理命令:rm rmdirrmrmdir目录处理命令 :cp目录处理命令:mv文件处理命令 touch文件处理命令 cat文件处理命令 -tac文件查看命令:more文件处理命令 : less文件查看命令:head文件查看命令:tail文件处理命令: lnls 文件查看命令命令愿意:list命令所在路径 /bin/ls指向权限:所有用户功能描述:显示目录文件语法:ls 选项[-ald][文件原创 2021-09-15 09:49:33 · 2495 阅读 · 2 评论 -
Linux远程控制+文件传输
在Ubuntu中安装sshXshell访问:链接SecureCRT访问putty原创 2021-09-07 16:44:45 · 136 阅读 · 0 评论 -
Linux Vm虚拟机配置环境错误 在登录界面循环往复,登录不进去问题
在配置ARM环境变量的时候,误将/etc/environment 中PATH值 修改了,关机的时候就提示了错误,重启后发现输完帐号和密码,进不了桌面。由于在在/etc/environment 文件中用PATH=$PATH:/opt/Xj3D/bin导致同样的问题,解决方法:进行命令行模式,输入export PATH = /usr/binsudo vim /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/b原创 2021-05-19 18:14:00 · 3733 阅读 · 1 评论 -
初学FS4412——按键控制—灯
先找到原理图K2——对应 GPX1_1找到对应的如led灯一样,设置输入#define K2CON (volatile unsigned int *)0x11000c20#define K2DAT (volatile unsigned int *)0x11000c24//将gpx1_1设置为输入 *K2CON &= ~(0xf<<4);但是按键有抖动要按键消抖和松手检测//如果返回0表示按键没有按下//如果返回1表示案件按下了int key_scan()原创 2021-04-09 15:15:09 · 1381 阅读 · 0 评论 -
初学FS4412——简介和点灯
FS4412简介FS4412简介FS4412简介前几天拿到了一块板子FS4412是基于samsung的arm Cortex-A9的Exynos4412的板子,Exynos4412采用了32nm HKMG工艺,是samsung的第一款四核芯片,Exynos 4412有两种封装SCP和POP;Exynos 4412处理器当前sanmung推出了两个封装版本(PoP和SCP),其中PoP封装主要是针对智能手机等产品体积要求严格的项目中使用。由于采用了DDR和处理器叠层的焊接工艺,使得设计者对于DDR部分的L原创 2021-04-08 17:26:34 · 3981 阅读 · 0 评论 -
Linux命令指令
Linux命令指令1、目录结构及文件2、Linux命令平常通过图形界面能够实现的功能,通过命令基本上都可以实现1》命令的格式命令 选项 参数ls -a -l -hrm -r -f a.txt b.txt2》命令帮助信息命令 --help注意:并不是所有的命令都有帮助信息 pwd就没有3》man命令man是Linux提供的一个手册,这个手册有很多个章节第一章中放的是 命令 的帮助信息第二章中放的是系统调用(操作系统提供的函数 open)第三章中放的是库函数(c库提供的函数 pri转载 2021-04-06 21:20:10 · 572 阅读 · 0 评论