![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
0x001
强大且温柔
展开
-
Linux(本笔记基于的版本为Ubuntu 14.04)- 24 管道
进程间通信又简称IPC (inter process communication)1 IPC2 管道ps:linux中的文件类型:真正占用磁盘存储的,l (L的小写)记录的是文件的路径,当路径不太长时就直接存放在inode里。 - 文件 d 目录 l 符号链接 伪文件(不是真正的文件,不占用磁盘存储): s 套接字 b 块设备 c 字符设备 p...原创 2019-10-30 11:46:13 · 217 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 23 进程
1 进程控制fork 函数 新创建的子进程从fork函数下继续执行,子进程的fork返回值为0,表示创建子进程成功;父进程的fork函数返回值返回的是子进程的pid值。 创建一个进程,参考代码: #include <stdio.h>#include <unistd.h>#include <stdlib.h>int main(void){...原创 2019-10-24 21:37:25 · 433 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 22 CPU MMU PCB 环境变量(简单笔记)
1 中央处理器CPU简单图示:2 内存管理单元MMU作用:实现虚拟地址和物理地址的映射管理。它在完成内存映射的同时,还会设置其访问级别,而这就实现了用户空间和内核空间的划分。cpu的等级从3级到0级,3级最低,0级最高。不过在linux中就实现了3级和0级。3 进程控制块PCB (又名进程描述符)重要进的状态:4 环境变量用户操作计算机时所...原创 2019-10-23 12:28:33 · 173 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 21 程序 进程 并发 (简单笔记)
程序和进程并发补充:单道程序设计模式:一个cpu一个时刻只处理一个进程,处理完了才会处理下一个。eg:早期的dos系统。 多道程序设计模式:一个cpu同时处理多个进程,看似是同时,其实是轮着做那种:即:cpu划分为时间轮片,把时间轮片分给不同的进程。采用时钟中断(硬件的方式)来保证cpu时间片轮转。(采用了并发的方式))...原创 2019-10-22 20:28:15 · 76 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 20 文件操作相关函数
这些函数大部分都有对应的命令。11.1 stat 相对于软连接来说是穿透函数,即当用它来获取一个软连接的大小时,获取的是软连接所指真正文件的大小,而lstat获取的则是软连接自己的大小。获取文件的属性信息。当命令使用时:stat 文件名字inode:通过stat函数实现ls 的功能。参考代码(此处是实现了获取文件大小):#includ...原创 2019-10-20 19:36:16 · 143 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 20 系统IO函数
1 系统IO函数2 open函数在文档的第二章(以下命令:man文档,第二章,open函数)open函数中的errno:通过perror函数就可以取到errno值所对应的错误内容:open函数的使用 :ps:写代码时,想要精确跳转到库函数的文档,可以把光标移动到该函数上,然后Shift+K。 当用open函数创建函数时,第三个参数可以...原创 2019-10-19 20:13:06 · 168 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 19 库函数 虚拟地址空间 文件描述符
1c库函数注意!:c库函数给用户提供了这样一个缓存(缓冲区),方便程序效率的提升。可是linux库函数的缓存需要用户自己提供。尽管linux库函数和c库函数看起来很像!c库函数与系统函数的关系系统IO函数(详见下一篇:https://mp.csdn.net/postedit/102642497)2 虚拟地址空间命令:查看文件格式:file 文件:3...原创 2019-10-19 20:11:53 · 104 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 18 makefile 下
1 函数wildcard ./*.c (当前目录下查找所有.c文件) patsubst ./%.c, ./%.o, $(变量)(把所有的.c文件匹配替换为.o文件,其中这个.c文件来自后面一个变量) (这里为嘛要用到这两个函数,还是不太懂)2 cleanmake 目标名字:如果:只是使用 make clean ,那么就只执行clean下面的,不会再执行上面的,或...原创 2019-10-19 19:34:39 · 121 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 18 makefile 上
1makefile:项目管理工具(代码管理工具)2 一个简单的makefilemakefile命名时只有两种方式:makefile、Makefile步骤(单条规则):vi makefile 规则:目标,依赖,命令 规则的固定格式: 目标:依赖条件 命令 (注意,命令前有一个tab) (注意,可以有多条规则,每条规则对应一个目标)...原创 2019-10-17 21:57:20 · 99 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 17 gdb
https://www.bilibili.com/video/av33660709/?p=64 学习笔记原创 2019-10-17 21:02:20 · 138 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 16 gcc
1gcc编译的四个阶段:参数:不加参数,直接生成可执行文件 指定生成的文件名:-o 文件名 (不加该参数默认生成的文件后面带有后缀.out) 指定头文件(注意!在最初的版本(14.04之前) I(大i)后面不要空格直接加文件):-I 头文件或头文件所在位置 指定宏:-D 要指定的宏(例如,要打印文件中的宏定义的debug信息,那么就写-D DEBUG ) 优化程序:-O优化...原创 2019-10-17 20:18:26 · 118 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 15 vi 和 vim
1vim是vi发展过来的一款文本编辑器。前提:安装了vim软件2工作模式:命令模式:打开文件后,默认进入命令模式 移动光标位置: H J K L 前 下 上 后 移动当前行的行首:0 移动当前行的行尾:4 移动当前文件的开始位置: gg 移动到当前文本的末尾:G (即:shift g) 行跳转:300G (移动到300行) ...原创 2019-10-16 16:21:46 · 185 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 14 ssh服务器
1安装:openssh-server远程登录: ssh 用户名@ip -p port配置文件:/etc/ssh/sshd_config1.服务器2.客户端2scp命令:原创 2019-10-16 11:16:00 · 115 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 13 nfs服务器的使用
net file system: 网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。(类似windows的共享文件夹)1.安装: apt-get install nfs-kernel-server2. 服务器端:安装 -> 创建共享目录 -> 修改配置文件(/etc/exports)->重启 (service nfs-kernel-server rest...原创 2019-10-15 21:49:42 · 173 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 12 ftp服务器(此处采用vsftpd)
ftp服务器:为了文件的上传与下载。此处采用vsftpd1. 服务器端安装:apt-get install vsftpd 修改配置文件:/etc/vsftpd.conf listen=YES (监听) anonymous_enable=NO (匿名登录) local_enable=YES(本地用户) write_enable=YES (实名用户拥有写权限) loca...原创 2019-10-15 21:12:06 · 69 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 11 用户管理
1添加用户:adduser 用户名 (实际就是一个封装好的脚本) useradd 参数 -s 指定命令解析器 -g 所属组 -d 目录 -m 如果目录没有,就创建 eg : useradd -s /bin/bash -g Robin -d /home/Robin -m Robin 2添加组 :groupadd 组名3修改密码:...原创 2019-10-15 19:18:24 · 97 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 10 网络相关命令
ifconfig 查看网络信息pingnslookup 域名原创 2019-10-15 16:33:13 · 76 阅读 · 1 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 9 进程管理
1who 查看当前用户 tty7:桌面终端; tty1 - tty6 :文字终端; Ctrl+al+f1-f7 切换 pts:设备终端(在linux下打开的黑窗口,terminal,这个终端称为虚拟终端,也称为设备终端)2ps 列出进程信息参数: a 列出用户信息 au 在a的基础上信息更丰富 aux 查看没有终端的应用程序 (tty 下显示...原创 2019-10-15 16:27:57 · 84 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 8 压缩包管理
1.屌丝版gzip: gzip 要压缩内容 (为符合的文件单独创建压缩包,原来的文件没了) gunzip *.gz (解压缩) bzip2: bzip2 要压缩内容 (为符合的文件单独创建压缩包,原来的文件没了) bzip2 -k 要压缩内容 (为符合的文件单独创建压缩包,且保留原来的文件) bunzip2 *.bz2 (解压缩) 2.高富帅版...原创 2019-10-15 11:46:41 · 90 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 7 U盘的挂载
1挂载:mount mount deviceName /mnt 查看设备信息:fdisk -l(ps:如果手动挂载u盘在一个非mnt目录下,则挂载的那个目录原来的内容就会被临时覆盖,当把u盘卸载后,那个目录里的内容才会出来。)卸载:umount2 一块硬盘sda、下一块sdb、再下一块sdc...原创 2019-10-15 11:14:30 · 115 阅读 · 0 评论 -
Linux - 6 软件安装
1 第三方工具安装:apt-get、aptitude deb yum (centos,rethat系列下的)2 源码安装原创 2019-10-14 21:44:35 · 96 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 5 查找文件
1 按文件名字查找:find 查找目录 -name 文件名 (文件名最好加一对双引号括起来,文件名 支持正则表达式)2 按文件大小查找: find 查找目录 -size 文件大小 eg : find ~ -size -10K (在~目录下,搜索小于10k的) find ~ -size +10k -size -10M (在~目录下,搜索大于1...原创 2019-10-14 21:29:22 · 192 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 4 修改文件 权限、所有者、所属组
1 查看当前登录用户: whoami2 修改文件权限:文字设定法: chmod [who] [+|-|=] [mode] who: 文件所有者:u 文件所属组:g 其他人:o 所有人:a(默认) +:添加权限 -:减少权限 =:覆盖原来权限 mode: r:读 w:写 x:执行 ...原创 2019-10-14 21:19:12 · 323 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 3 硬链接、文件和目录属性命令、which
1 硬链接硬链接不是快捷方式,相当于给原来的文件做了一个备份。(只有文件才能创建硬链接!)方式: ln 文件名当硬链接数减为0后,这个文件才真正被删除。(ps:软连接是快捷方式,命令:ln 加参数 -s)2 文件和目录属性命令wc 文件名 :获取文本文件的行数、字数、字节数、文件名字 od 文件名 : du : 查看当前目录的大小 df : 查看磁盘使用情况3 wh...原创 2019-10-14 21:00:23 · 116 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)- 2 ls和tree的使用
1 treetree:显示目录与文件 树状结构 (请自己安装)白色:普通文件 蓝色:目录 绿色:可执行文件 红色:压缩包 青色:链接文件 黄色:设备文件 灰色:其他文件(颜色不绝对哈~)2 lsls -a 所有目录ls -l 列出详细信息(ps: 所有的d 即‘目录’,它的大小都是4096,不管是空目录还是目录里有文件。)...原创 2019-10-14 20:40:01 · 120 阅读 · 0 评论 -
Linux(本笔记基于的版本为Ubuntu 14.04)-1 简介
1.前2.命令解释器 shell -- unix操作系统 bash -- Linux操作系统本质:根据命令的名字,调用对应的可执行程序3.linux一些简单快捷键history 显示历史命令:Ctrl+p 向上翻命令;Ctrl+n向下翻命令。 光标 移动:Ctrl+b向前;Ctrl+f向后。Ctrl+a 行首;Ctrl+e行尾。 ...原创 2019-10-14 19:25:44 · 206 阅读 · 0 评论