gnu

转:Unix传奇(上篇)

别等时光非礼了梦想. 提交于 2020-04-02 05:55:12
参考自: http://coolshell.cn/articles/2322.html 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《 Unix 40年:Unix年鉴 》、《 Unix 40年:昨天,今天和明天 》)。在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。 这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。 了解这段的历史的人,才能体会计算机世界变迁过程中的是是非非,才能了解计算机世界中的文化,从而才能参与到整个计算机革命的大潮中。希望这段历史

GNU/Linux应用程序开发学习笔记(三)套接字编程

南笙酒味 提交于 2020-03-30 06:19:54
套接字编程的各级要素: `主机接口:网络地址ip `协议:特定的协议(TCP & UDP) `端口:client或server的进程终点 套接字 简单的说,套接字就是两个应用程序之间通信管道的终点,这个管道可以唯一的标志一条链接,而应用程序则通过套接字来操作这个管道通信。 通信过程 要想使不同主机的进程通信,就必须使用套接字,套接字是用socket()函数创建,如果需要C/S模式,则需要把server的套接字与地址和端口绑定起来,使用bind(),当上述操作完成后,便可使用listen()来监听这个端口,如果有其他程序来connect,那么server将会调用accept()来接受这个申请并为其服务。client是调用connect()来建立与server之间的连接,这时会使用传说中的三次握手来建立一条数据链接。当连接被建立后,server与client便可以通信了,通信可以使用read()/write(),send()/recv(),sendto()/recvfrom()等一些函数来实现,但是不同的函数作用和使用位置是不同的。当数据传送完后,可以调用close()来关闭server与client之间的链接。上述过程就是不同主机之间进程通信的大致过程,当然这只是一个概要,其中的细节还是很多的。 创建和清除套接字 创建套接字的原型如下 int socket(int domain,

GNU make

此生再无相见时 提交于 2020-03-29 03:57:56
  Linux程序员必须学会使用GNU make来构建和管理自己的软件工程。GNU的make能够使整个软件工程的编译,连接只需要一个命令就可以完成。   make在执行时,需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译,连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译;需要创建哪些库文件以及如何创建这些库文件,如何产生我们想要的可执行文件。 Makefile(术语) 规则:用于说明如何生成一个或多个目标文件,规则格式如下:   Target: prerequisites     command   目标 依赖 命令 例子:main.o : main.c gcc –c main.c(注意:命令需要以TAB键开始) 例: make命令默认在当前目录下寻找名字为Makefile或者makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定: make –f 文件名 伪目标:Makefile中把那些没有任何依赖只有执行动作的目标称为”伪目标”(phony targets)。   .PHONY:clear   clear: rm –f hello main.o func1.o func2.o “.PHONY”将“clear”目标声明为伪目标 利用变量 Hello: main.o func1.o func2.o gcc main.o

GNU Makeflie

丶灬走出姿态 提交于 2020-03-29 00:52:13
简介   Gnu Make主要用于构建和管理程序包。Makefile文件描述了整个工程的编译、连接等规则。 其中包括:     工程中的哪些源文件需要编译以及如何编译;     需要创建那些库文件以及如何创建这些库文件;     如何最后产生我们想要得可执行文件。   make是一个命令工具,它解释Makefile中的指令(应该说是规则),Makefile中描述了工程中所有文件的编译顺序、规则。 Makefile有自己的书写格式、关键字、函数。像C语言有自己的格式、关键字和函数一样。 而且在Makefile中可以使用shell所提供的任何命令来完成你想要的工作。 详细请看《GNU make中文手册》。 1.make规则  工程中以下几种文件在执行make时将会被编译:   所有的源文件没有被编译过,则对各个C源文件进行编译并进行链接,生成最后的可执行程序。 每一个在上次执行make之后修改过的C源代码文件在本次执行make时将会被重新编译。 头文件在上一次执行make之后被修改。则所有包含此头文件的C源文件在本次执行make时将会被重新编译。 一个简单的Makefile描述规则组成: TARGET... : PREREQUISITES... COMMAND ... ... target :规则的目标。通常是程序中间或者最后需要生成的文件名。可以是.o文件

Deepin GNU/Linux 15.11 装机配置

前提是你 提交于 2020-03-28 02:20:03
安装 Tenda U12 wifi 驱动 官网下载linux驱动安装出现如下报错 通过如下方法安装可以成功安装驱动 sudo apt install dkms sudo apt update sudo apt install git git clone https://github.com/gnab/rtl8812au.git sudo dkms add ./rtl8812au dkms build 8812au/4.2.3 sudo dkms install 8812au/4.2.3 sudo modprobe 8812au 安装 KVM sudo apt-get install virt-manager bridge-utils libvirt-clients qemu qemu-kvm service libvirtd status reboot 来源: https://www.cnblogs.com/cjwnb/p/12585299.html

第六周作业

旧街凉风 提交于 2020-03-25 12:18:19
3 月,跳不动了?>>> 1、自建yum仓库,分别为网络源和本地源 配置网络源: 阿里云yum源链接:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11Al1i4w 备份: # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum makecache # yum repolist 配置本地源: [root@www ~]# mount /dev/cdrom /mnt/ [root@www ~]# rm -rf /etc/yum.repos.d/* [root@www ~]# vim local.repo [centos] name=centos baseurl=file:///mnt gpgcheck=0 enabled=1 [root@www yum.repos.d]# yum clean all Loaded plugins: fastestmirror, langpacks Cleaning

Unix传奇(上篇)

混江龙づ霸主 提交于 2020-03-24 14:11:55
http://hi.baidu.com/hieda/blog/item/eb78fd444aca4940510ffeef.html 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《 Unix 40年:Unix年鉴 》、《 Unix 40年:昨天,今天和明天 》)。在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。 这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。 了解这段的历史的人,才能体会计算机世界变迁过程中的是是非非,才能了解计算机世界中的文化,从而才能参与到整个计算机革命的大潮中

Linux 计算机基础

Deadly 提交于 2020-03-23 09:51:35
LINUX 计算机基础简介 1.计算机简介 计算机系统 : 软件系统和硬件系统。 计算机的组成 : 运算器、控制器、存储器、输入设备、输出设备。 运算器功能 : 对数据进行各种运算。除了对常规的加、减、乘、除运算外,还可以进行对与、或、非的逻辑运算。 控制器功能 : 是整个计算机系统的控制中心,指挥计算机协调运作。 存储器: 主要存储程序和数据信息,并能在计算机运作时,能高速、自动存取程序或数据。 输入设备: 向计算机输入各种程序和原始数据的设备。 输出设备 : 从计算机输出原始数据的设备。 2.描述内核功能以及作用 Linux 作用 : 主要负责系统的进程管理、内存管理、文件系统、网络功能、硬件驱动。 1)进程管理: 内核负责创建和销毁进程, 并处理进程与输入和输出设备的不同进程间的数据处理, 调度器,控制进程如何共享 CPU, 是进程管理的一部分. 更通常地, 内核的进程管理活动实现了多个进程在一个单个或者几个 CPU 之上的抽象。 2)内存管理: 计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的. 内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间. 内核的不同部分与内存管理子系统通过一套函数调用交互, 从简单的 malloc/free 对到更多更复杂的功能。 3) 文件系统: Unix 在很大程度 上基于文件系统的概念; 几乎 Unix

学习Linux-前言--笔记

我只是一个虾纸丫 提交于 2020-03-19 07:08:05
一、开源软件的定义:开源软件就是将软件程序和源代码文件一起打包提供给用户使用。 二、开源软件依靠提供服务生存发展。 三、开源软件的好处: 1.低风险 2.低成本 3.高品质 4.更透明 四、Linux遵循GNU GPL协议:只要软件中包含遵循GPL协议的产品或代码,那么该软件就必须也遵循GPL协议且开源、免费。这种协议不太适合商用。 五、GNU GPL的六个自由: 1.使用自由 2.复制自由 3.传播自由 4.修改自由 5.创建衍生品自由 6.收费自由 六、Linux发展历史 1.1970年:UNIX系统开源免费 2.1979年:AT&T公司对UNIX计划商业化 3.1984年:Richard Stallman 发起GNU源代码开放计划并制定GPL协议 4.1987年:GNU计划获得突破--gcc编译器发布 5.1991年:Linus Torvalds 编写了一款名为Linux的操作系统 6.1994年:Bob Young 在Linux系统内核的基础上集成源代码和软件程序,发布了红帽系统 七、RedHat旗下系统:CentOS Febora 八、Linux与Windows系统相比所具有的优势: 1.稳定且效率高 2.免费 3.出现漏洞可以快速得到修复 4.多任务多用户 5.占用资源少 6.可以小内核程序嵌入系统 来源: 51CTO 作者: fantasy7728 链接: https

Ubuntu启动后进入GNU GRUB Version 2.02

橙三吉。 提交于 2020-03-15 02:18:50
Question Description: 电脑中装Windows10和Ubuntu18.04,启动Ubuntu后无法正常进入,停留在GUN GRUB界面。 Solution: 1、Enter *Ubuntu 2、exit BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) exit /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) fsck exited with status code 4. The root filesystem on /dev/mapper/ubuntu--vg-root requires a manual fsck. BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) Enter 'help' for a list of built-in commands. 3、编写如下命令, fsck /dev/sdax 并给出Y控制台是否要求修复的东西: (initramfs)