
unix
文章平均质量分 92
雪不化花不开
这个作者很懒,什么都没留下…
展开
-
xargs 命令使用
概念:可以通过stdin来进行command的执行,优势在于可以把多行的命令文本,每次都单一执行。其中空格、tab、\r、\n都可以作为分隔符。例子:1. 默认行为:$ cat args.txt args1args2args3$ cat args.txt |xargsargs1 args2 args32. 设置每行输出内容:$ cat args.tx...原创 2019-12-14 16:25:05 · 319 阅读 · 0 评论 -
第十一章 连接到近端或远端的进程:服务器与Socket
0.摘要概念和技巧 -客户/服务器模型 -用管道来双向通信 -协同进程(coroutines) -文件/进程的相似性 -什么是socket,为什么需要socket,如何使用socket -网路服务 -用socket编写客户/服务器程序 相关系统调用和函数 -fdopen -popen -socket -bind -listen -accept -connect1.一个简原创 2018-01-10 21:02:02 · 1014 阅读 · 0 评论 -
第十章 I/O重定向和管道
0.摘要概念与技巧 -I/O重定向:概念与原因 -标准输入,输出和标准错误的定义 -重定向标准I/O到文件 -使用fork来为其他程序重定向 -管道(Pipe) -创建管道后调用fork 相关的系统调用与函数 -dup,dup2 -pipe1.shell编程首先将介绍编写shell脚本时的I/O重定向和管道起的作用.然后,本章将介绍操作系统中对I/O重定向的支持.最后,写一个程序来原创 2018-01-10 20:58:26 · 449 阅读 · 0 评论 -
git使用
git使用git init:初始化 git add <文件>:添加文件 git commit -m "<消息>":添加修改内容 git status : 检查不同 git diff: 具体不同内容 git log:显示最近到最远的提交 git log --pretty=oneline 可以只输出commit id 和提交内容判断 HEAD表示当前版本, 上一个版本是HEAD^,上上一原创 2018-02-02 10:53:19 · 175 阅读 · 0 评论 -
第八章 进程和程序:编写命令解释器sh
0.摘要概念与技巧 -Unix shell的功能 -Unix的进程模型 -如何执行一个程序 -如何创建一个进程 -父进程和子进程之间如何通信 相关的系统调用 -fork -exec -wait -exit 相关命令 -sh -ps1.什么是进程进程就是运行的程序.2.通过命令ps学习进程ps会列出当前运行的所有进程ls会列出当前目录下的文原创 2018-01-07 11:09:12 · 502 阅读 · 0 评论 -
第九章:可编程的shell,shell变量和环境:编写自己的shell
0.摘要概念与技巧 -Unix shell 是一种编程语言 -什么是shell脚本语言? shell如何处理脚本语言? -shell如何处理结构化的工作?exit(0) = success -为什么需要shell变量以及如何使用shell变量 -什么是环境?它是如何工作的? 相关的系统调用 -exit -getenv 相关命令 -env1.shell编程#t原创 2018-01-07 11:10:30 · 314 阅读 · 0 评论 -
Vim的分屏功能
转自:https://fukun.org/archives/10171487.htmlVim的分屏功能分屏启动Vim使用大写的O参数来垂直分屏。 vim -On file1 file2 …使用小写的o参数来水平分屏。 vim -on file1 file2 …注释: n是数字,表示分成几个屏。启动Vim后进行分屏水转载 2018-01-05 20:03:11 · 219 阅读 · 0 评论 -
YCM(YouCompleteMe)不自动提示代码,逗号提示
现象我是在ubuntu16.04下安装的ycm,基本的安装过程往上很多,这里就不提了. 目前,主要用ycm来编写c语言的代码.ycm只提示自己输入的函数,变量,宏等.并不提示系统自带的库函数和宏. 但是,当点击点(.)再进行输入的时候,可以做到提示并补全代码.所以想应该是没有配置正确.解决google关键字ycm+dot得到了网页 https://github.com/Valloric/You原创 2018-01-03 23:39:31 · 6354 阅读 · 3 评论 -
C语言宏中"#"和"##"的用法
C语言宏中"#"和"##"的用法 在查看linux内核源码的过程中,遇到了许多宏,这里面有许多都涉及到"#"和"##",因此,在网上搜索了一些资料,整理如下:一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include #include using namespace std; #define STR(s)转载 2017-12-27 15:15:46 · 3147 阅读 · 0 评论 -
Unix-linux编程实践教程
首先从用户的角度来看待目录。讲解对unix文件系统的内部的结构的抽象过程。从磁盘到磁道到分区到块序列之后到文件系统的三个部分的划分(超级块,i-node节点表,数据区域)。之后围绕着文件系统展开,系统如何创建文件,以及目录如何看到inode节点相同的情况。以cat为例来论述如何查找访问文件。原创 2017-12-17 20:16:29 · 1069 阅读 · 0 评论 -
第5章 连接控制:学习stty
第5章 连接控制:学习stty0.摘要本章主要的概念与技巧 ·文件和设备相似之处 ·文件和设备不同之处 ·连接的属性 ·竞争和原子操作 ·控制设备驱动程序 ·流 相关的系统调用 ·fcntl,ioctl ·tcsetattr,tcgetattr 相关命令 ·stty ·write1.设备就像文件在Unix中,声卡,终端,鼠标等设备和磁盘文件是同一种对象。在Unix系统中,每个原创 2017-12-23 20:24:31 · 363 阅读 · 0 评论