linux
想飞的IT猪
这个作者很懒,什么都没留下…
展开
-
VMware里的centos7.0使用nat模式上网
之前一直用的是桥接模式不过桥接模式老爱出错,有时候开关机之后就连不上网了。还出现Failed to start LSB: Bring up/down networking 。真是烦。不发牢骚了看nat的步骤:1:在虚拟机的设置里选择NAT模式。如下:2.在vmware左上角的编辑里选择虚拟网络编辑器3》点击右下角的DHCP设置让起始IP地址的前3...原创 2020-03-31 00:43:47 · 302 阅读 · 0 评论 -
桥接模式与NAT模式的区别
原创 2020-03-29 15:51:24 · 316 阅读 · 1 评论 -
centos中怎么查看一个文件的创建时间
可以使用ls -l原创 2020-03-29 02:55:46 · 4533 阅读 · 0 评论 -
tcp三次握手的过程,accept发生在三次握手哪个阶段? . [
accept好像可以发生在3次握手之前也可以发生在3次握手之后。。。。。不信可以试试1.没有accept3次握手照样成功。也就是说你可以等到3次握手成功以后,再调用accept2.你也可以先调用accept,后面再开始3次握手,但是,这种情况下,accept会阻塞直到3次握手成功为止。这个是腾讯的一个面试题,只不过这个面试题在https://bbs.csd...原创 2020-03-11 00:20:36 · 1189 阅读 · 0 评论 -
Linux下select&poll&epoll的实现原理(一)
Linux下select&poll&epoll的实现原理(一)最近简单看了一把 linux-3.10.25 kernel中select/poll/epoll这个几个IO事件检测API的实现。此处做一些记录。其基本的原理是相同的,流程如下先依次调用fd对应的struct file.f_op->poll()方法(如果有提供实现的话),尝试检查每个提供待检测IO的fd是否...转载 2020-02-05 02:16:43 · 255 阅读 · 0 评论 -
用户不在sudoers文件中的解决方法
我们在执行sudo的时候如果显示:xxx is not int the sudoers filexxx是当前登录的用户,其原因是我们在安装时没有将用户添加为管理员,解决的方法也比较简单,添加就可以了。1.切换超级用户$su输入你的root密码后切换到了root用户2.编辑配置文件$visudo将会进入vi编辑器,并打开/etc/sudoers文件,注意:本来这个文件...转载 2019-12-26 00:13:19 · 2736 阅读 · 1 评论 -
Linux nice命令简要介绍
进程调度是linux中非常重要的概念。linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预。比如,你希望操作系统能分配更多的CPU资源给浏览器进程,让浏览速度更快、更流畅,操作体验更好。那具体应该怎么做呢?尽管linux的进程调度算法十分复杂,但都是以进程的优先级为基础的。因此,只需要改变进程的优先级即可。在linux中,nice命令用于改变进程...转载 2018-07-23 22:20:08 · 5827 阅读 · 0 评论 -
pstree命令
pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。语法pstree(选项)选项-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;-c:不使用精简标示法;-G:使用VT100终端机的列绘图字符;-h:列出树状图时,特别标明现在执行的程序;-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;-l:采...转载 2018-07-24 00:03:22 · 3013 阅读 · 0 评论 -
linux下的env命令和export命令
http://man.linuxde.net/env http://man.linuxde.net/export转载 2018-07-24 08:07:04 · 1888 阅读 · 0 评论 -
linux系统中如何进入退出vim编辑器,方法及区别
在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了。 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致强抽关机,确是不得以呀。 其实,这个VIM(VI)也是很简单的,只要你看到此文! 注意:linux命令要小写哦!工具/原料 linux系统 ...转载 2018-07-19 09:13:03 · 441 阅读 · 0 评论 -
linux下vi操作Found a swap file by the name
当我在linux下用vi打开Test.java文件时[root@localhost tmp]# vi Test.java会出现如下信息: Dos代码 E325: ATTENTION Found a swap file by the name ".Test.java.swp" owned by: root dated: Wed...转载 2018-07-19 12:37:47 · 141 阅读 · 0 评论 -
linux 下 /bin /sbin 的区别
/bin,/sbin,/usr/bin,/usr/sbin区别/ : this is root directory root 用户根目录/bin : commands in this dir are all system installed user commands 系统的一些指令/sbin: commands in this dir are ...转载 2018-07-24 22:34:39 · 227 阅读 · 0 评论 -
linux的ulimit各种限制之深入分析
http://blog.sina.com.cn/s/blog_59b6af6901011ekd.html转载 2018-07-25 06:53:54 · 142 阅读 · 0 评论 -
C语言main函数、return、exit函数
main函数说到return,有必要提及主函数的定义。很多人甚至市面上的一些书籍,都使用了void main( )这一形式 ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着:The definition void main( ) { /* ... */ } is not an...转载 2018-07-25 12:16:03 · 4502 阅读 · 0 评论 -
Vim插件之man.vim
用vim查看程序代码时,会经常碰到系统函数调用,对于它们的参数类型、参数个数、返回值,不管你信不信,反正我是记不住,这时man.vim就派上用场了。 安装manpagessudo apt-get install manpages-dev manpages-posix-dev 使能man.vim插件vi ~/.vimrc:source $VIMRUNTIME/ftplug...转载 2018-07-19 23:03:16 · 905 阅读 · 0 评论 -
pid_t的类型定义
http://blog.chinaunix.net/uid-20753645-id-1877915.html转载 2018-07-25 19:30:54 · 612 阅读 · 0 评论 -
objdump命令,反汇编_objdump
--archive-headers -a 显示档案库的成员信息,类似ls -l将lib*.a的信息列出。 -b bfdname --target=bfdname 指定目标码格式。这不是必须的,objdump能自动识别许多格式,比如: objdump -b oasys -m vax -h fu.o 显示fu.o的头部摘要信息,明确指出该文件是Vax系统下用Oasys编译器生成的目...转载 2018-07-20 14:17:33 · 1676 阅读 · 0 评论 -
Makefile详解—clean
每个Makefile中都应该写一个清空目标文件(.o和执行文件)的规则,这不仅便于重编译,也很利于保持文件的清洁。这是一个“修养”。一般的风格都是:clean:rm edit $(objects)更为稳健的做法是:.PHONY : cleanclean :-rm edit $(objects)前面说过,.PHONY意思表示clean是一个“伪目标”,。而在rm命令前面加了一个小减号的...转载 2018-07-26 22:24:55 · 16933 阅读 · 0 评论 -
内核空间非连续内存区的分配之vmalloc
我们知道CPU所访问的都是虚拟内存地址。那么平时我们自己在编写的内核模块时,linux到底分配的是什么样的内存空间呢?要解答这个问题,首先就要看看内核非连续内存。在linux的内存管理中,用户使用0~3GB的地址空间,而内核只是用了3GB~4GB区间的地址空间,共1GB;非连续空间的物理映射就位于3GB~4GB之间,如下图示0GB ...转载 2018-07-30 13:33:59 · 410 阅读 · 0 评论 -
xargs命令
xargs与管道有什么不同呢,这是两个很容易混淆的东西,看了上面的xargs的例子还是有点云里雾里的话,我们来看下面的例子弄清楚为什么需要xargs:echo '--help' | cat 输出:--helpecho '--help' | xargs cat 输出: 1 2 3 4 5 6 7 8 9 ...转载 2018-07-22 19:49:12 · 152 阅读 · 0 评论 -
~在linux中是哪个目录下
~ 是 home目录的意思。 如果以超级用户root账号登陆:~ 是 /root目录 如果以普通用户name登陆:~是 /home/name目录 一般linux预设添加用home目录为/home,也可以修改,修改方法如下:终端输入vi /etc/defaults/useradd 进行编辑默认情况下应该类似以下内容,修改HOME=后面的值到指定目录,以后添加的用户默认~目...转载 2018-07-22 20:02:48 · 2273 阅读 · 0 评论 -
Linux信号
Linux信号是:信号名称 数 描述 SIGHUP 1 挂断(POSIX) SIGINT 2 终端中断(ANSI) SIGQUIT 3 终端退出(POSIX) SIGILL 4 非法指令(ANSI) SIGTRAP 五 跟踪陷阱(POSIX) SIGIOT 6 物联网陷阱(4.2 BSD...转载 2018-07-31 08:44:06 · 207 阅读 · 0 评论 -
Linux信号发送命令之kill命令
kill作用:向进程发送信号。注意: kill命令只是用来向进程发送信号的,而不是直接杀死进程。kill命令的一般使用格式:kill [参数] 进程号进程号可用ps命令查看kill的参数:-l 列出全部的信号名称-a 当处理当前进程时,不限制命令名和进程号的对应关系-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号-s 指定发送信号-...转载 2018-08-01 19:25:33 · 5533 阅读 · 0 评论 -
POSIX线程,线程的客户/服务通信(pthread_join,pthread_exit,pthread_detach,pthread_self
POSIX线程,线程的客户/服务通信(pthread_join,pthread_exit,pthread_detach,pthread_self)2016-08-06 09:12:35 0个评论 收藏 我要投稿 我们所熟知的线程函数:1,pthread_create,pthread_join,pthread_exit,pthread_detach,pth...转载 2018-08-22 20:38:03 · 244 阅读 · 0 评论 -
获取线程Id的方法
第一种: gettid(), man gettid 可以看到gettid的使用方式。 使用时要先定义:_syscall0(pid_t, gettid) 其中_syscall0是一个宏(由于参数的不同还有_syscall1,_syscall2...),定义如下: #define _syscall0(type,name) \ type name(void) \ { \ lon...转载 2018-08-22 21:24:24 · 8058 阅读 · 0 评论 -
Linux 线程模型的比较:LinuxThreads 和 NPTL
详见https://www.ibm.com/developerworks/cn/linux/l-threading.html转载 2018-08-23 07:58:18 · 143 阅读 · 0 评论 -
Linux下多线程编程互斥锁和条件变量的简单使用
Linux下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,链接时需要使用库libpthread.a。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但是它可与同属一个进程的其它的线程共享进程所...转载 2018-08-27 15:41:02 · 162 阅读 · 0 评论 -
浅谈互斥锁为什么还要和条件变量配合使用
https://www.jb51.net/article /102764.htm这个介绍了为什么要使用条件变量https://www.linuxidc.com/Linux/2015-09/123604.htm 这个也介绍了为何使用条件变量。 http://blog.chinaunix.net/uid-1849361-id-2825417.html 这个介绍了条件变量的一些概念。...转载 2018-08-28 07:49:41 · 972 阅读 · 0 评论 -
条件变量为什么要初始化?
以前自己不懂条件变量为什么要初始化?其实初始化就是要条件变量的创建:详见https://www.jb51.net/article/37413.htm转载 2018-08-28 08:50:27 · 686 阅读 · 0 评论 -
Linux进程与线程的区别(超级经典)
https://my.oschina.net/cnyinlinux/blog/422207转载 2018-08-24 08:40:10 · 14523 阅读 · 0 评论 -
线程同步(互斥量、条件变量、信号量、自旋锁、读写锁)
http://blog.163.com/huangguoqiang_123%40126/blog/static/14104311420125289822440/ 写的很好https://blog.csdn.net/jkx01whg/article/details/78119189http://www.cnblogs.com/lonelycatcher/archive/2011/12/2...转载 2018-08-28 16:55:58 · 441 阅读 · 0 评论 -
pthread_h与pid_t分别是什么类型
pthread_t是什么类型http://www.cnblogs.com/heidsoft/archive/2013/11/12/3420452.htmlpid_t是什么类型http://blog.chinaunix.net/uid-20753645-id-1877915.html转载 2018-08-24 11:34:03 · 2082 阅读 · 0 评论 -
同一进程中的线程究竟共享哪些资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。 ...转载 2018-08-21 14:23:00 · 1244 阅读 · 0 评论 -
linux入门——.vimrc配置文件
问题一:什么是.vimrc配置文件.vimrc是一个文件,它的名字就叫.vimrc。它用来配置vi编辑器的显示及编辑等功能。vi编辑器:在linux系统下使用vi命令进入的文件的显示框,文后有配图。问题二:.vimrc在哪里这里是指家目录下(cd ~)的名为.vimrc的文件,它是一个隐藏文件,使用ll(ls -l)或la(ls -a)命令,即可以看到。问题三:怎么使用如果...转载 2018-09-22 10:43:42 · 2487 阅读 · 0 评论 -
pipe函数
http://www.360doc.com/content/11/1101/13/7899729_160794388.shtml pipe 函数 (C语言) pipe我们用中文叫做管道。 以下讲解均是基于Linux为环境: 函数简介 所需头文件 #include<unistd.h> 函数原型 int pipe(int fd[2]) 函数传...转载 2018-09-30 16:43:20 · 1086 阅读 · 0 评论 -
深入理解计算机系统第一章
即每个程序中的每个字符都在ASCII标准中被一个具体的数值来标明。这些字符称之为ASCII字符,由ASCII字符构成的文件叫做文本文件,其他都是二进制文件从源文件到目标文件需要4个阶段,预处理,编译,汇编,链接。系统的硬件组成:总线:贯穿系统的是一组电子管道,称为总线,它携带信息字节并负责在各个部件间传递。I/O设备是系统与外部世界的联系通道,I/O设备包括,输入设备键盘鼠标,...原创 2019-01-27 01:13:50 · 161 阅读 · 0 评论 -
linux下git的安装与配置
我用的是centos,所以本篇只讲centos上安装首先centos有自带的git,但是这个git总之是不好,需要移除,yumremovegit接着就是下载git。一.下载有很多方式1>wget https://github.com/git/git/archive/v2.14.1.zip(我选的这个)2>yum install git二,安装依赖sud...原创 2019-04-01 01:58:51 · 238 阅读 · 0 评论 -
关于vim下代码对齐的几个方法
1.配置文件,vim /etc/vim.rc进行配置,下面的配置选择自己认为需要的。写在配制文件的最下面set ai " 自动缩进,新行与前面的行保持—致的自动空格set aw " 自动写,转入shell或使用:n编辑其他文件时,当前的缓冲区被写入set flash ...原创 2019-04-11 16:59:51 · 3303 阅读 · 0 评论 -
关于unbuntu下Cmake跨平台工具的缓存文件CMakeCached.txt带来的资源不匹配问题
我们在同一个目录下创建不同的目录,因为每天的任务不同,需要编译不同的文件,但是在bulid目录下的CmakeCached.txt这个文件会缓存第一次编译的文件的信息,以至于第二次编译另一个文件的时候会出现下面的错误:CMake Error: The source "/home/lixuhao/muduo/08/CMakeLists.txt" does not match the source...原创 2019-04-11 20:07:15 · 2602 阅读 · 1 评论 -
unbuntu下载安装muduo库,测试有用
下载 boost库:apt-getinstalllibboost-dev。这个安装在有的版本上有效,有的无效,下载cmake:因为apt-get installcmake。之后,即便配置了环境变量,也老是找不到路径。所以我重新换了一种下载方式。wget http://www.cmake.org/files/v3.11/cmake-3.11.3.tar.gz,这样当前目录既有了cmak...原创 2019-04-03 10:35:38 · 465 阅读 · 0 评论