随笔分类 - Linux与Shell
摘要:当数据量较大或者时间复杂度高的时候,盲目地等待结果,开发效率极低。听说OpenMP可以多核并行运算,加快运行速度。整理了一些OpenMP的资料,以待学习。1.openMP的一点使用经验2.OpenMP入门3.OpenMP数据环境4.第一次试用vc2010的openmp功能, 多线程并行执行for循环...
阅读全文
摘要:有时一个程序需要运行很长一段时间,但是下班或者吃饭的时候离开电脑,电脑因睡眠导致虚机断开连接,导致程序中断。重新开始又是漫长的等待... screen可以保证即使你关闭了虚机窗口,进程也不会被杀死。 screen 可执行程序 :Screen命令创建一个执行程序的窗口会话 screen -l...
阅读全文
摘要:1.编码转换iconv -futf8 -tgbk filename-c 从输出中忽略无效字符-o 输出文件2.wc命令-l filename 查看文件有多少行-w filename 查看文件里有多少word-L filename 常看文件里最长的那一行是多少字利用管道只显示行数不显示文件名: cat...
阅读全文
摘要:vivim简明教程(写的不错),vim使用Vim静态模板文件(自动生成固定格式)打造自己的vim界面ShellLinux Shell脚本教程:30分钟玩转Shell脚本编程Linux入门教程(正则表达式,shell脚本)Bash Shell字符串操作小结命令linux中grep命令的用法linux之...
阅读全文
摘要:一.inode 在Linux中,“一切皆文件”。唯一标识文件的是inode而非文件名,文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 寻找正确的文件数据块。 什么是数据块呢?文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5K...
阅读全文
摘要:“完成一段代码,代码有三个线程。主线程有main进入,启动一个生产者和一个消费者线程。生产者线程随机产生整数,并且把这个整数放入一个List中,消费者从List中取出数据进行显示。”(摘自淘宝校招笔试题) 生产者-消费者问题是一个经典的线程同步问题。生产者将产品投入缓冲区,消费者从缓存区取...
阅读全文
摘要:一.概念题1.线程的基本概念、线程的基本状态及状态之间的关系? 线程是进程中某个单一顺序的控制流,是程序执行流的最小单位。线程由线程ID、当前指令指针、寄存器集合和堆栈组成。线程是进程的一个实体,是被系统调度和分配的基本单位,线程与同一进程中的其他线程共享进程的全部资源。 线程有五种基本状态...
阅读全文
摘要:前言:有这样一道面试题(来自http://blog.csdn.net/morewindows/article/details/7392749): “编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABC...
阅读全文
摘要:一.I/O复用 在《TCP套接字编程》的同步聊天程序中,我们看到TCP客户同时处理两个输入:标准输入和TCP套接字。考虑在客户阻塞于标准输入fgets调用时,服务器进程被杀死,服务器TCP虽然会给客户TCP发送一个FIN,但是客户客户进程正阻塞于标准输入读入过程,它将看不到这个EOF,直到从...
阅读全文
摘要:一.套接字(socket)函数 图1给出了在一个TCP客户与服务器通信的流程。服务器首先启动,稍后某个客户启动,它试图连接到服务器。假设客户给服务器发送一个请求,服务器处理该请求,并且给客户发回一个相应。这个过程一直持续下去,知道客户关闭连接的客户端,从而给服务器发送一个EOF(文件结束)通知为止...
阅读全文
摘要:如果在shell脚本中处理数据文件,那么我们就必须熟悉正则表达式。正则表达式是用来过滤数据流中文本的模式模板,模式由标准文本字符和特殊字符组成。正则表达式用特殊字符来匹配一系列一个或多个字符,要想掌握正则表达式,必须深刻认识每个特殊字符: .*^${}+?|()下面分别解释一下: 脱字符 ^ 定义从数据流中文本行的行首开始的字符; 美元符 $ 指明数据必须以该文本模式结尾; 点字符 . 用来匹配任意单字符,除了换行符; 字符组 [Yy] 用来匹配字符组中某个字符(比如y,但不清楚其大小写)出现在数据流中; 排除字符组 [^ch] 用来排除字符组中出现过字符(比如ch)的文本; 区间 [0-..
阅读全文
摘要:一.sed编辑器 shell脚本最常见的用途就是处理文本文件,sed和gawk能够极大的简化需要进行的数据处理任务。sed编辑器是流编辑器,跟普通交互式文本编辑器(如vim)不同。流编辑器在编辑器处理数据前基于预先提供的一组规则来编辑数据流。由于命令都是一行一行顺序处理,sed编辑器必须一次就完成对...
阅读全文
摘要:之前都在虚拟机下面捣鼓Linux,有种隔靴搔痒的感觉。为了更快地熟悉Linux系统,重新安装了Ubuntu,首先就是配置vim。 下面是我的vim配置,为了方便,我在代码后添加注释说明。 1.配置C/C++风格编程方式。 sudo vi /etc/vim/vimrc,在末尾添加如下代码:""""""""""""""""文本格式和排版"""""""""
阅读全文
摘要:首先,为什么要学习shell呢?哈哈,当然不是shell能够怎样怎样然后100字。 最近看到一篇博文《开阔自己的视野,勇敢的接触新知识》,读完反思良久。常常感慨自己所会不多,对新知识又有畏惧心理,导致自己停滞不前。古人说,逆水行舟不进则退。既然如此,何不走出自己的舒适区,迎接新挑战!好了,闲话不多说,开始我的shell学习之旅。(ps:阅读本文需要熟悉一些linux基本命令;本文给出的都是简单shell脚本的模板,开门见山,一步到位。我觉得这是快速学习的一种非常好的方法。)1.一个简单的shell脚本a.编辑脚本在创建shell脚本文件时,必须在文件的第一行指定要使用的shell,其格式为#.
阅读全文
摘要:本文罗列的是我在学习linux与shell编程时所遇到的一些问题。我相信既然存在问题那么就会有需求,记录于此,希望可以快速帮助到大家。1.在vim中用“/word"查找后,vim会以棕色背景高亮显示出来。下次在打开该文件,或者新建的另外文件里出现“word”后,还是会有棕色高亮背景。怎样去掉呢?解决...
阅读全文