
linux基础
文章平均质量分 85
dumb_man
这个作者很懒,什么都没留下…
展开
-
socket操作中的一些注意事项
TCP 建立连接以后,双方就是对等的。不论是哪一方,只要正常 close(socket_handle),那么 TCP 底层软件都会向对端发送一个 FIN 包。FIN 包到达对方机器之后,对方机器的 TCP 软件会向应用层程序传递一个 EOF 字符,同时自动进入断开连接流程(要来回协商几次,但这些都是自动的、不可控的)。什么是 EOF 字符?它其实什么也不是,只是一个标记,上层应用程序如果这时读 s原创 2017-11-20 17:36:23 · 689 阅读 · 0 评论 -
1970年计算的时间转日期
date -d '1970-01-01 1465816605 sec utc' +%Y/%m/%d/\ %T当前时间转1970年的秒数date +%s其它:http://www.docin.com/p-489573840.html原创 2017-11-20 17:45:35 · 3542 阅读 · 0 评论 -
一个好用的askII码对照表
http://96yx.com/tool/asc2.htm原创 2017-11-20 17:45:44 · 2575 阅读 · 0 评论 -
由localtime引发的函数可重入问题
转自:http://blog.youkuaiyun.com/cuishumao/article/details/10162603一、先看一个例子[html] view plain copyortant; margin-bottom: 1px !important; margin-left: 45px !important; background-color: rgb(255, 255, 255);" >o原创 2017-11-20 17:46:14 · 476 阅读 · 0 评论 -
typedef的使用说明
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可原创 2017-11-20 17:46:17 · 1122 阅读 · 0 评论 -
sbuf.st_size 为负数
我在 red linux fopen 一个6G 大文件,已设置了 -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 可以打开,但是 通过 fstat 函数 获得其属性的时候, sbuf.st_size 为负数 明显是错误的, 求解 呀-----问题找到了是 应该用 %lld 打印,是对的,不好意思原创 2017-11-20 17:46:26 · 1169 阅读 · 0 评论 -
Linux操作系统中文件结构stat中st_size的说明以及对于文件中洞(Holes)的理解
文件stat结构体中st_size成员 对于所有的文件类型,st_size成员对其中的普通文件、目录以及符号链接有实在的意义。其中,对于普通文件而言,st_size记录了该文件的实际大小;对于目录而言,st_size的值为16或者512的倍数;对于符号链接而言,st_size的值为符号链接所指的路径的长度。例如lib->usr/lib,则st_size的值即为7。 在某些Unix系统中,st_原创 2017-11-20 17:46:30 · 6949 阅读 · 1 评论 -
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型
uint8_t,uint16_t,uint32_t等都不是什么新的数据类型,它们只是使用typedef给类型起的别名,新瓶装老酒的把戏。不过,不要小看了typedef,它对于你代码的维护会有很好的作用。比如C中没有bool,于是在一个软件中,一些程序员使用int,一些程序员使用short,会比较混乱,最好就是用一个typedef来定义,如:typedef char bool;一般来说,一个C的工程原创 2017-11-20 17:46:37 · 273 阅读 · 0 评论 -
Ubuntu查看crontab运行日志
http://www.pooy.net/ubuntu-open-crontab-logging-and-resolution-no-mta-installed-discarding-output-problem.html在ubuntu下安装crontab后,系统默认的是不开启crontab的日志记录,如何开始crontab的日志:修改rsyslog文件,将/etc/rsyslog.d/50-def原创 2017-11-20 17:47:01 · 1087 阅读 · 0 评论 -
linux下用cron定时执行任务的方法
linux crontab 的格式 基本格式 :* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/li原创 2017-11-20 17:47:04 · 489 阅读 · 0 评论 -
grub rescue修复方法
转载自:http://blog.sina.com.cn/s/blog_4d6c45250100wxnq.html在此也表示感谢分享经验。问题描述:开机显示:GRUB loadingerror:unknow filesystemgrub rescue>造成该问题的原因:1.直接在window下格式化ubuntu的分区2.调整磁盘 利用工具合并 修改 删除分区 是磁盘分区数目发生变化3.重装系统选择不原创 2017-11-20 17:48:36 · 7475 阅读 · 1 评论 -
goldendict构词法下载
You could download it from here: http://sourceforge.net/projects/goldend ... ogies/1.0/(Don't forget to unzip them).Once you unzip and install them, Goldend dict would recognize them, then add the app原创 2017-11-20 17:51:11 · 2115 阅读 · 0 评论 -
dd命令详解!
dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。 建议 在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。 另外,使用dd对磁盘操原创 2017-11-20 17:51:43 · 6237 阅读 · 0 评论 -
linux(Debian)配置supervisor守护进程
安装supervisor# apt-get install supervisor# 查看配置文件,在/etc/spuervisor下# cd /etc/supervisor/其中conf.d是一个子目录,其中存放着supervisor监管的进程的配置信息,一个进程有一个对应的配置文件;supervisord.conf是supervisor的主配置文件,定义服务名称以及接口等配置监控项原创 2017-11-20 17:52:10 · 3040 阅读 · 0 评论 -
nethogs – creating socket failed are you root?
话说前几天更新了服务器之后,再用 nethogs 就会出现这种问题Creating socket failed while establishing local IP - are you root?分明是 root 权限的好嘛!其实这是 nethogs version 0.8.0 的一个 bug,只要更新到 0.8.1 即可。可是 Ubuntu 软件源里并没有更新到 0.8.1,那么只好拿转载 2017-11-20 17:53:09 · 2640 阅读 · 0 评论 -
passwd被误清的奇遇遭遇
几乎所有的linux入门书籍里都有这样一句警世哲言:在对服务器进行日常管理的时候建议使用普通的帐号;只有当确实需要使用root权限操作的时候,才切换到root用户.于是芸芸众生的我辈谨记前人的教诲,以普通的帐号管理服务器.但是,但是,我们还年轻嘛,总是耐不住会尝试一些新鲜的东东,于是乎也便有了本文:) 一日同事说:我正在用一个普通帐号登陆服务器用vi编辑passwd的文件,改的转载 2017-11-20 17:52:03 · 789 阅读 · 0 评论 -
minicom键盘失效,不能输入问题
转:http://blog.sina.com.cn/s/blog_5d0e8d0d01015svy.html默认情况下minicom是不接受键盘输入的,如果要接受键盘输入要修改一下选项:一、设定Ctrl-A -> O -> Serial Port Setup -> Hardware flow control,1. Serial port setup -->Hardware ...转载 2018-04-04 17:54:05 · 1978 阅读 · 1 评论 -
SO_REUSEADDR和SO_REUSEPORT异同
文章内容来源于stackoverflow上的回答,写的很详细http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t 虽然不同的系统上socket的实现方式有一些差异,但都来源于对BSD socket原创 2017-11-20 17:45:24 · 293 阅读 · 0 评论 -
守护进程的创建方法和步骤
原文地址:守护进程的创建方法和步骤 作者:fussfuss1概念: 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印原创 2017-11-20 17:45:08 · 1079 阅读 · 0 评论 -
“段错误 (核心已转储) ”一种可能原因及其解决方法
终端在运行的时候总是出现 “段错误 (核心已转储) ” 栈空间用来存储数组等数据,那么段错误就应该是我存储的数组超过了它所在段的大小,于是在的程序执行的过程中一到跟大数组相关的步骤就会出现段错误的提示(SIGSEGV: Segmentation fault)。 linux下应用 ulimit -a 命令查看当前栈空间大小,得到: 8012原创 2017-11-20 17:43:41 · 101839 阅读 · 18 评论 -
[转载] EPIPE和ECONNRESET
page1:假设Server A上面有Process X,它有一个socket M,和另外的Server B上面的Process Y的 Socket N以TCP协议连接上了,那么,据我所知,有2种情况会出现RST包:(1)X没有close socket就退出了,然后Y继续向M send数据,A的内核就会发送RST 到 socket N;(2)X设置了SO_LINGER,其中l_onoff 非0,原创 2017-11-20 17:36:26 · 831 阅读 · 0 评论 -
24位色BMP文件的简单分析及示例程序
如果你的意图是做一个显示BMP文件的程序,那么请参阅BMP文件详细格式分析,如果你仅仅是想知道怎么从一个未压缩的24位色BMP文件中把数据点阵信息读出,用来做其它的用途(当然也包括显示图像),那么这篇文章会对你有帮助。虽然有很复杂的定义,但是我们平时使用的BMP文件都多是8位色或24位色的,而这两种格式中,以24位色最为普遍。可以通过查看文件偏移量地址001C,得到图形的色数。查看地址0000起的原创 2017-11-20 17:38:04 · 3788 阅读 · 0 评论 -
用rm递归递归删除子目录下所有.o后缀文件
find . -name "*.o" | xargs rm -f可以通过管道命令来操作,先find出主目录 下想删除的文件,然后通过“xargs”这个构造参数列表并运行命令。find named/ -name *.bak | xargs rm -f以下是转的文件Linux文件查找命令find,xargs详述总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是fin原创 2017-11-20 17:38:10 · 923 阅读 · 0 评论 -
Vim实现批量注释的方法
调试代码的时候,免不了要批量注释/取消代码注释,很多IDE都有快捷键将你选中的代码块批量注释/取消注释的功能,那么在Vim里面如何完成这个功能呢?方法一 块选择模式批量注释:Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,Vim会自动将你选中的所有行首都加上注释取消注释:Ctrl + v 进入块选择模式,选中你原创 2017-11-20 17:38:16 · 225 阅读 · 0 评论 -
关于在enum中使用#define的意义
以下一段代码来自于linux中的pthread.henum{ PTHREAD_CANCEL_ENABLE,#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_DISABLE#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE};一直想不明白此处将#def原创 2017-11-20 17:38:21 · 1576 阅读 · 1 评论 -
使用sh脚本如何替换指定目录下所有文件中的指定字符串
我想要使用sh脚本替换一个目录下面的所有文件的内容如下:例如文件中有一行内容“#!/export/home/wyf/tool/bin/ruby”我想要把“tool/bin/ruby”之前的内容替换成当前的Path,该如何实现?find . * | xargs sed -i 's/\/export\/home\/wyf/要替换成的目录/g' sed -i 's/替换前的字符串/替换后的字符串/g'原创 2017-11-20 17:38:24 · 2866 阅读 · 0 评论 -
Linux - 非阻塞socket编程处理EAGAIN错误
在linux进行非阻塞的socket接收数据时经常出现Resource temporarily unavailable,errno代码为11(EAGAIN),这表明你在非阻塞模式下调用了阻塞操作,在该操作没有完成就返回这个错误,这个错误不会破坏socket的同步,不用管它,下次循环接着recv就可以。 对非阻塞socket而言,EAGAIN不是一种错误。在VxWorks和Windows上,EAGA原创 2017-11-20 17:38:36 · 445 阅读 · 0 评论 -
制作.ppm格式Linux内核启动logo
在做的产品中,采用默认的小企鹅做logo肯定是不行的,所以一定要替换个像样的企业logo图片! 以前做过Linux启动Logo,时间太久,给忘了,所以再从新研究下。 经过在网上的搜索,和实际验证,制作Linux启动logo的步骤如下: 1、在Linux系统中安装所需的包netpbm。我用的Fedora 10,刚开始安装命令是yum instal原创 2017-11-20 17:38:43 · 1029 阅读 · 0 评论 -
Ubuntu 12.10 程序图标放到启动器
【步骤】首先我们要了解,Ubuntu 的 Dash 里所有程序都是在 /usr/share/applications 中的,所以我们的思路很简单——建一个类似于“快捷方式”一样的东西扔进去就好了。所以第一步自然是打开终端,输入sudo gedit eclipse.desktop #创建一个eclipse.desktop文件接着,在打开的 gedit 里我们编辑这个 desktop 文件原创 2017-11-20 17:38:56 · 148 阅读 · 0 评论 -
How to compile a kernel module outside the kernel
l转:http://forum.xda-developers.com/showthread.php?p=17020258I've decided to make a short tutorial and present the way I compile kernel modules (outside the kernel sources).I've built few kernel modu原创 2017-11-20 17:39:10 · 327 阅读 · 0 评论 -
extern C的作用详解
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。 这个功能十分有用处,因原创 2017-11-20 17:40:17 · 313 阅读 · 0 评论 -
lseek的与O_APPEND的冲突
当open文件时,如果使用了O_APPEND,则不论用lseek把文件指针指向何处,当你进行write时,都会从文件的结尾处进行写入。所以如果你想自由的用lseek移动文件的指针然后写入内容,就必须不能用O_APPEND的方式open文件。原创 2017-11-20 17:40:30 · 719 阅读 · 0 评论 -
Linux Used内存到底哪里去了?
转载自系统技术非业余研究本文链接地址: Linux Used内存到底哪里去了?前几天 纯上 同学问了一个问题:我ps aux看到的RSS内存只有不到30M,但是free看到内存却已经使用了7,8G了,已经开始swap了,请问ps aux的实际物理内存统计是不是漏了哪些内存没算?我有什么办法确定free中used的内存都去哪儿了呢?这个问题不止一个同学遇到过了,之前子嘉同学也遇到这个问题原创 2017-11-20 17:41:04 · 1195 阅读 · 0 评论 -
udev实现原理
udev实现原理 转载时请注明出处和作者联系方式:http://blog.youkuaiyun.com/absurd作者联系方式:李先静更新时间:2007-4-29 相对于linux来说,udev还是一个新事物。然而,尽管它03年才出现,尽管它很低调(J),但它无疑已经成为linux下不可或缺的组件了。udev是什么?它是如何实现的?最近研究Linux设备管理时,花了一些原创 2017-11-20 17:41:44 · 166 阅读 · 0 评论 -
chattr和lsattr命令详解
chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。 lsattr比较简单,只是显示文件的属性[root]#原创 2017-11-20 17:42:46 · 245 阅读 · 0 评论 -
/proc/uptime详解
在Linux中,我们常常会使用到uptime命令去看看系统的运行时间,它与一个文件有关,就是/proc/uptime,下面对其进行详细介绍。View Code BASH1234master@jay-intel:~$ cat /proc/uptime6447032.12 48185264.69master@jay-intel:~$ cat /proc/cpuinfo | grep pr原创 2017-11-20 17:42:51 · 1870 阅读 · 0 评论 -
debian给eclipse加入快捷图标
1、新建/usr/share/applications/Eclipse.desktop加入如下内容:[Desktop Entry]Encoding=UTF-8Name=EclipseComment=Eclipse for JavaExec=/home/alex/eclipse/java-oxygen/eclipse/eclipseIcon=/home/alex/eclipse/java-...原创 2018-05-27 00:34:55 · 661 阅读 · 0 评论