Linux
baobao1767640830
这个作者很懒,什么都没留下…
展开
-
Linux的文件操作命令
修改文件时间或创建新文件——touch命令格式touch [参数选项] 文件名例子:新建一个空的文件并查看时间命令参数1)-a 或–time=atime或–time=access或–time=use:仅更改访问时间。2)-c 或–no-create :仅修改文件时间,不创建任何文档3)-m 或–time=mtime或–time=modify :只更改变动时间。查看文件的时间参数 :注:A、modification time(mtime):更新文件的修改时间.。B、access ti转载 2020-05-22 10:18:18 · 139 阅读 · 0 评论 -
静态库和动态库
静态库静态库的命名方式:“libxxx.a”,其中“xxx”为库名,库名前加“lib”,后缀用“.a”工作过程 :在编译过程中,静态库的所有数据都被载进目标文件里。程序运行的时候就不再需要静态库优点 :编译后的执行程序不需要外部函数库支持缺点 :1.静态函数库编译成的文件占用的内存比较大。2.当静态库改变时,程序必须重新编译静态库的生成与使用命令介绍静态库的生成和使用过程中需要用到ar命令。ar是Linux系统的一个备份压缩命令,用于创建、修改备存文件(archive),或从备存文件原创 2020-05-22 09:46:40 · 190 阅读 · 0 评论 -
硬连接和软连接
Linux下的两种连接文件及创建方式在Linux下面的连接文件有两种——软连接和硬连接,虽然都是连接文件,但两者却有很大的区别:一种是类似于Windows的快捷方式功能的文件(或目录),这种连接称为软连接;另一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬连接创建连接文件的方法非常简单,就是使用ln命令,ln file1 file2,则创建硬连接,file2为file1的硬连接,ln -s file1 file2,则创建软连接,file2为file1的软连接。详述硬转载 2020-05-21 18:30:54 · 760 阅读 · 0 评论 -
数据流重定向
数据流重定向概念在说数据流重定向之前,先来说说数据流的概念吧。数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr)。简单来说,标准输出指的是命令执行所回传的正确信息,而标准错误输出指的是命令执行失败后,所回传的错误信息。这些信息默认是打印在屏幕上的什么时数据流重定向呢?从字面上理解就是改变数据流的流向,使之流向指定的文件或设备。例如,把执行命令所回传的正确信息(标准输出信息)流向一个文件,而将所回传的错误信息(标准错误输出)流向别一个文件,并把这两个文件的信原创 2020-05-21 15:34:08 · 414 阅读 · 0 评论 -
linux环境变量
环境变量的概念含义:环境变量一般是指操作系统中指定操作系统运行环境的一些参数。它相当于一个指针,想要查看变量的值,需要加上“$”。分类:按作用的范围分类:在Linux中的变量,可以分为环境变量和本地变量:1)环境变量:相当于全局变量,存在于所有的Shell中,具有继承性;2)本地变量:相当于局部变量只存在当前Shell中,本地变量包含环境变量,非环境变量不具有继承性。按生存周期分类:1)永久:需要修改配置文件,变量永久生效;2)暂时:使用export定义,关闭Shell后失效。环境变量的转载 2020-05-21 11:46:05 · 333 阅读 · 0 评论 -
LINUX进程状态
两状态进程模型在任何时刻,一个进程要么正在执行,要么没有执行,因而可以构成最简单的模型。一个进程可以处于以下两种状态之一:运行态或未运行态。在任何一种情况下,分配器都会从队列中选择一个进程来执行。进程的创建和终止进程创建的原因:(1)新的批处理作业;(2)交互登录;(3)操作系统因为提供一项服务而创建;(4)由现有的进程派生。一个应用程序进程可以产生另一个进程,以接收应用程序产生的数据,并将数据组织成适合以后分析的格式。当一个进程派生另一个进程时,前一个称为父进程,被派生的进程称做子进程原创 2020-05-21 10:32:37 · 452 阅读 · 0 评论 -
POSIX信号量
概念POSIX信号量与SYSTEM信号量的作用相同,都同步操作,达到无冲突地访问共享资源。但是不同的是,POSIX信号量可以用于线程间同步。其实,POSIX信号量是具有等待队列的计数器,它的相关函数存放在“semaphore.h”文件中。初始化信号量int sem_init(sem_t *sem, int pshared, unsigned int value);参数:pshared:0表示线程间共享,非0表示进程间共享。value:信号量初始值,表示可用资源的数量。销毁信号量int se原创 2020-05-21 09:51:50 · 122 阅读 · 0 评论 -
进程替换
替换原理用fork创建子进程后执行的是和父进程相同的程序,也有可能执行不同的代码分支,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新进程替换,从新程序的启动例程(main函数)开始执行。记住:调用exec并不创建新进程,所以调用exec前后该进程的id并为改变。exec只是用磁盘上的一个新程序替换了当前进程的正文段、数据段、堆段和栈段。替换函数其实,有六种以exec开头的函数,统称exec函数#include<unistd.原创 2020-05-20 09:17:44 · 97 阅读 · 0 评论 -
linux进程控制
进程创建fork函数是非常重要的函数,它从已存在的进程中创建一个新进程。这样,新进程为子进程,原进程为父进程。1)调用fork函数的格式#include <unistd.h>#include <sys/types.h>pid_t fork(void);//返回值:子进程返回0;父进程返回子进程的PID;出错返回-1。调用fork函数后,内核的工作:a.分配新的内存块和内核数据结构给子进程。b.将父进程的部分数据结构内容拷贝至子进程。c.添加子进程到系统进程列表中。转载 2020-05-19 22:31:06 · 119 阅读 · 0 评论 -
linux线程等待与分离
线程等待原因已经退出的线程,其空间没有被释放,仍然在进程的地址空间内。创建新的线程不会复用刚才退出线程的地址空间。线程等待函数:pthread_join(1)功能:等待线程结束(2)原型:int pthread_join(pthread_t pthread, void **value_ptr);(3)参数:a.thread:线程ID;b.Value_ptr:它指向一个指针,后者指向线程的返回值。(4)返回值:成功返回0;失败返回错误码线程终止状态调用pthread_join函数的线程将挂转载 2020-05-19 20:59:27 · 209 阅读 · 0 评论 -
线程之互斥量
概念互斥量从本质来说是一把锁,在访问共享资源前对互斥量进行设置(加锁),在访问完成后释放(解锁)互斥量。对互斥量进行加锁以后,任何其他试图再次对互斥量加锁的线程都会被阻塞,直到当前线程释放该互斥锁。如果解锁前有一个以上的线程阻塞,那么解锁后这些线程就变为运行状态,直到其中一个线程重新对互斥量加锁,这时其他线程又变为阻塞状态。互斥量的作用大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况变量归属单个线程,其他线程无法获得变量。但有的时候,线程间需要共享很多变量,通过数据的共翻译 2020-05-19 15:47:36 · 183 阅读 · 0 评论 -
Linux网络编程之套接字
预备知识1、了解IP地址1)IP协议有两个版本,IPv4和IPv6,现在用得比较多的是IPv4。2)IP地址是在IP协议中用来标识网络中不同主机的地址。3)对于IPv4版本来说,IP地址是一个4字节,32位的整数。4)通常使用“点分十进制”的字符串表示IP地址,例如:“192.168.181.129”,其中用点分割的每一个数字表示一个字节,范围为0-255。5)在IP数据报头部,有两个IP地址,分别叫做原IP地址和目的IP地址。IP地址能够把信息发送到对方的机器上,但是还需要一个其他的标识符来转载 2020-05-19 15:12:44 · 671 阅读 · 0 评论 -
Linux线程创建与终止
线程概念线程指程序的一个执行流,也可理解为是进程内部的一个控制序列,任何进程都至少含有一个线程。如下图所示:在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行什么, 只是维护应用程序所需的各种资源,而线程则是真正的执行实体。为了让进程完成一定的工作,进程必须至少包含一个线程。进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源,所以我们也说,进程是转载 2020-05-13 17:43:43 · 300 阅读 · 0 评论 -
Linux进程间通信3
共享内存概念共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。图解:共享内存的特点:1)共享内存是进程间共享数据的一种最快的方法。一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容2)使用共享内存要注意的是多个进程之间对一个给定存储区访问的互斥。若一个进程正在向共享内存区写数据,则在转载 2020-05-12 20:32:02 · 82 阅读 · 0 评论 -
LINUX进程间通信2
命名管道概念:无名管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO文件。命名管道(FIFO)不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相互通信,因此,通过FIFO不相关的进程也能交换数据。命名管道(FIFO)和无名管道(pipe)区别1、FIFO 在文件系统中作为一个特殊的文件而转载 2020-05-12 17:01:17 · 103 阅读 · 0 评论 -
linux常用命令
大佬的链接:https://blog.csdn.net/u013354805/article/details/50058369原创 2020-05-10 10:17:44 · 88 阅读 · 0 评论