
Linux
CrankyPants
这个作者很懒,什么都没留下…
展开
-
Linux指令——基础
Linux常用指令 1.ls指令语法: ls 【选项】 【目录或文件】 常用选项-a:列出目录下的所有文件,包括 . 开头的隐藏文件。 -d: 将目录像文件一样显示,而不是显示其下的文件。比如:ls -d 指定目录。 -l:列出文件的详细信息。 2.cd命令语法: cd 【目录名】 常用选项cd .. :返回上级目录。 cd /home/andr...原创 2018-10-04 20:08:44 · 245 阅读 · 0 评论 -
Linux指令——提高(持续更新,Ctrl+F食用更佳)
查看消息队列的信息ipcs -q删除消息队列ipcrm -q [ID值]将错误信息导入到log文件之中(以make为例)make > log 2>&1使用make > log命令是错误的,这样只能将make的信息导入到log中。“>”叫做输出重定向。而输出信息包括两类,一类是往标准输出上输出,一类是往标准错误上输出。使用make >...原创 2018-12-18 21:46:43 · 581 阅读 · 0 评论 -
XShell连接mac解决中文乱码问题
RT,我的Xshell使用ssh连接上mac之后默认使用的shelll变成了zsh(不知道怎么回事不用ssh连接默认启动的是zsh,而不是bash)并且中文显示都变成了问号。解决步骤:打开zsh配置文件 nano ~/.zshrc 添加语句 export LANG=zh_CN.UTF-8 Ctrl+X,选择yes保存并退出万事大吉!...原创 2018-12-23 20:53:12 · 1183 阅读 · 0 评论 -
vim指令
目录 Vim的三种基本模式vim正常模式命令集同时打开两个vim窗口 (普通模式下输入)设置语法高亮(普通模式下输入)替换文本快速跳转复制以指定.vimrc文件启动vimVim的三种基本模式 正常/普通/命令模式(Normal Mode): 控制光标移动,字符的删除、复制以及进入Insert mode/last mode模式。 .插入模式...原创 2018-12-23 17:30:16 · 253 阅读 · 0 评论 -
基于环形队列的生产者消费者模型
之前的Blog基于Queue的生产者消费者模型,已经谈过了基于queue的生产消费模型,其空间是可以动态分配的。而现在是基于固定大小的环形队列重写这个程序。基于环形队列的生产消费模型环形队列采用数组模拟,用模运算来模拟环状特性环形结构起始状态和结束状态都是一样的,不好判断为空或者为满,所以就需要通过计数器或者标记位来判断满或空。另外也可以预留一个空的位置,作为满的状态。 ...原创 2018-12-23 17:10:28 · 533 阅读 · 0 评论 -
POSIX信号量
POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源的目的。但是POSIX信号量可以用于线程同步。(信号量本身是一个临界资源)初始化信号量:#include<semaphore.h>int sem_init(sem_t *sem,int pshared,unsigned int value);参数:sem:需要的信号量。 ps...原创 2018-12-17 14:57:18 · 166 阅读 · 0 评论 -
基于Queen的生产者消费者模型
生产者和消费者模型图模型解释:生产者消费者模型本质就是通过一个容器来解决两者之间的强耦合关系,生产消费之间不直接通讯,而是通过阻塞队列。生产者生产完数据之后直接交给阻塞队列,消费者需要数据的时候也是直接从阻塞队列中拿。以此来平衡生产者和消费者之间的处理能力。而这个阻塞队列,就是用来给生产者和消费者解耦的。优点:解耦(平衡生产者消费者之间的处理能力) 支持并发 支持忙闲不均(...原创 2018-12-17 14:13:27 · 328 阅读 · 0 评论 -
读者写者问题
在编写多线程的时候,有一种情况十分常见。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会高很多。通常而言,在读的过程中,往往伴随着查找的操作,中间的耗时很长。给这种代码段加锁,会极大的降低我们程序的效率。为此,我们有一种方法,就叫做读写锁读写锁的行为当前锁状态 读锁请求(读者) 写锁请求(写者) 无锁 可以 可以 读锁 可以 阻塞...原创 2018-12-20 17:33:05 · 425 阅读 · 0 评论 -
linux线程基础概念及多线程编程
Linux中线程的概念:首先,Linux中并不存在真在的线程。Linux中的线程是使用进程来模拟的。在一个进程需要同时运行多个执行流时,linux并不是开辟多个线程来执行,而是通过多个进程来模拟多个线程。Linux中线程的实现原理:首先先看一下张图:此时共有4个线程属于同一个进程,他们的task_struct(Linux中为PCB)不同,但是映射的虚拟地址空间和页表是相同的。所...原创 2018-11-14 13:19:08 · 341 阅读 · 0 评论 -
Git及Github基础汇总
功能 命令 备注 初始化Git仓库 git init 需要提前cd到你预期的git仓库目录。命令执行之后会在当前目录生成一个.git的隐藏文件,用来追踪管理版本库。 暂存文件 git add [文件名] 如果没有任何显示,则说明添加成功 把文件提交到仓库 git commit 还可以git commit -...原创 2018-11-02 11:45:14 · 218 阅读 · 0 评论 -
Vim配置
首先,先上一张未经配置过的vim:这是一张未经配置过,即原始安装的7.4版本vim。打开文件之后如下图:一、开始我配置vim的第一步——显示行号&语法高亮&设置空格缩进具体步骤sudo切换到root用户。(root下的配置.vimrc文件会对所有用户生效) 打开用vim打开/etc/vimrc文件,如下图: 这是vim的配置文件。上边有很多参数暂且不管。我们...原创 2018-10-15 16:40:23 · 238 阅读 · 0 评论 -
bash配置以及bash相关配置文件功能整理
/ect/profile此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/ profile. d目录的配置文件中搜集shell的设置/etc/bashrc为每一个运行bash shell的用户执行此文件.当 bash shell被打开时,该文件被读取.~/.bash_profile每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时...原创 2019-01-04 22:35:06 · 288 阅读 · 0 评论