链接库本质上是一段可执行的二进制代码,可以被操作系统载入内存执行。按加载的时机不同,链接库可以分为静态链接库和动态链接库。 静态链接库:编译过程中加载进可执行文件的库(静态库省去了运行时加载的消耗,但会导致可执行文件体积增大)动态链接库:程序运行过程中,动态加载进内存的库(动态库加载需要资源消耗,但 ...
分类:
系统相关 时间:
2018-10-26 22:19:07
阅读次数:
262
本代码来自于博主:辉夜星辰 本篇主要对运行代码中出现的问题进行分析,代码本身的内容后续展开讨论。 服务器端代码 客户端代码 鉴于自己刚刚起步学习Linux网络编程,看完书后一般是现在网上找一些实例代码进行测试,便于理解。 我网上找了些代码实例,经常会遇到出错情况,而上述代码运行没有错误,但是需要注意 ...
分类:
系统相关 时间:
2018-10-20 22:10:45
阅读次数:
222
2在前面介绍过,进程之间交换信息的唯一途径就是传送打开的文件。可以经由fork或者exec来传送。这一章将介绍新的进程共享方式 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓 ...
分类:
系统相关 时间:
2018-10-14 14:02:33
阅读次数:
209
数据结构与算法 算法 数据结构与算法分析 编程珠玑 剑指 Offer 操作系统 现代操作系统 深入理解计算机系统 鸟哥的 Linux 私房菜 Unix 环境高级编程 Unix/Linux 编程实践教程 Operating Systems: Three Easy Pieces (OSTEP) 计算机网 ...
分类:
其他好文 时间:
2018-10-10 14:34:40
阅读次数:
167
1. 输出重定向 最基本的重定向是将命令的输出发送到一个文件中。在bash shell中用大于号(>) ,格式如下:command > inputfile。例如:将date命令的输出内容,保存到指定的输出文件中。 如果文件已存在,重定向操作符会用新的文件数据覆盖已有文件。这种情况下可以用双大于号(> ...
分类:
系统相关 时间:
2018-10-09 18:08:11
阅读次数:
228
线程间无需特别的手段进行通信,因为线程间可以共享数据结构,也就是一个全局变量可以被两个线程同时使用。 不过要注意的是线程间需要做好同步,一般用 mutex。 可以参考一些比较新的 UNIX/Linux 编程的书,都会提到 Posix 线程编程,比如《UNIX环境高级编程(第二版)》、《UNIX系统编 ...
分类:
编程语言 时间:
2018-10-07 14:43:42
阅读次数:
167
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识。在大量编辑shell脚本前,先来学习下一些基本概念。 1.1 使用多个命令 Shell可以让多个命令串起来,一次执行完成,可以把它们放在同一行中,用分号隔开,如下所示: 上面就是一个简单的脚本 ...
分类:
系统相关 时间:
2018-09-27 18:45:20
阅读次数:
212
一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种权限来区分设置,还有使用chown,chgrp来改变默认属主属组关系。 1 . 改 ...
分类:
系统相关 时间:
2018-09-23 14:59:20
阅读次数:
247
一.用户组 前面章节知道用户账户在控制单个用户安全性方面很好,但涉及到共享资源或把用户类型分组时,组概念就出来了。 组权限允许多个用户对系统中的对象(比如文件,目录,设备等)共享一组共用的权限。 在centos中创建一个用户会为该用户单独创建一个组,这样可以更安全一些。 1.1 /etc/group ...
分类:
系统相关 时间:
2018-09-22 23:18:44
阅读次数:
227
一. 概述 linux安全系统的核心是用户账户。 创建用户时会分配用户ID(UID)。 UID是唯一的,但在登录系统时不是用UID,而是用登录名。在讲文件权限之之前,先了解下linux是怎样处理用户账户的。以及用户账户需要的文件和工具,这样处理文件权限问题时,就知道如何使用它们了。 1.1 /etc ...
分类:
系统相关 时间:
2018-09-19 19:46:05
阅读次数:
195