Linux
玄冬Wong
别把自己当回事儿,我还是一只菜鸟……
展开
-
cygwin中的旧用户的文件夹无法删除的问题
问题表现是这样的:之前你安装了cygwin并使用过,那么在cygwin/home/目录下会出现相关的用户目录,比如:cygwin/home/User001。然后你重装了系统,然后你再使用cygwin时又会创建新的用户文件夹,比如:cygwin/home/User002。这时问题来了,以前的User001无法删除,即使在cygwin中用命令rm -rf User001也无法删除(...原创 2016-04-11 21:16:40 · 316 阅读 · 0 评论 -
用setsockopt()来控制recv()与send()的超时
原文:http://www.cppblog.com/jerryma/archive/2010/03/31/111169.html在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制:在Linux下需要注意的是时间的控制结构是struct timeval而并不是某一整型数,以下是来自于网上一篇文章中的摘录,它是这样写的:int nNetTime...原创 2013-07-21 18:45:31 · 196 阅读 · 0 评论 -
Linux命令[常用备忘]
自动补全历史命令如果你以前使用了“cp -r /root/a /home/test/”,下次还想使用同样的命令,可以采用: “!cp” 试试。或者在终端按下ctrl+r 然后输入以前用过的命令,如cp -r 会自动补全 【pwd】查看当前路径 【vim】Ctrl-f 即 PageDown 翻页。Crtl-b 即 PageUp 翻页...原创 2013-11-08 22:14:03 · 111 阅读 · 1 评论 -
Linux多线程同步的几种方式
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。1)互斥锁(mutex) 通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mute...原创 2013-06-18 14:25:11 · 154 阅读 · 0 评论 -
关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
原文:http://hi.baidu.com/tim_bi/item/1663bb8ef553fc57e63d199e1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有 区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回 值 <0时并且(errno == EINTR || errno == ...原创 2013-04-02 16:25:09 · 931 阅读 · 0 评论 -
Linux下getsockopt/setsockopt 函数说明
http://blog.csdn.net/lu_ming/article/details/4675594Linux下getsockopt/setsockopt 函数说明【getsockopt/setsockopt系统调用】 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的...原创 2013-04-01 23:22:01 · 95 阅读 · 0 评论 -
非阻塞socket的连接
http://doc.chinaunix.net/linux/201002/389886.shtml 方案1: int connect_socket_timeout(int sockfd,char *dest_host, int port, int timeout) { struct sockaddr_in address; struct in_addr inaddr; ...原创 2013-04-01 09:20:31 · 111 阅读 · 0 评论 -
Android NDK支持RTTI
在 NDK r5 的 sources/cxx-stl/gnu-libstdc++/README 文件里,写着:To use it, define APP_STL to 'gnustl_static' in your Application.mk. See docs/CPLUSPLUS-SUPPORT.html for more details. This implementation full原创 2016-01-25 16:43:57 · 1511 阅读 · 0 评论 -
Restart SCIM
$ sudo pkill -9 scim$ scim -d转载 2016-01-30 15:44:39 · 480 阅读 · 0 评论 -
为Ubuntu Server安装gnome图形桌面环境
原文:http://blog.creke.net/696.html/comment-page-1ubuntu server版默认都没有图形桌面(GUI),但是可以安装,以下共有两种安装方法。一、安装全部Gnome桌面环境Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desktop、Kubunut-desktop和Xubuntu-desktop。本文就以Ubuntu-desktop原创 2016-01-25 16:44:29 · 13276 阅读 · 0 评论 -
ubuntu修改root密码
Ubuntu安装后root是没有默认的密码的,因为你还没给root设置密码,你第一个 user 是在 admin 组,他可以给 root 设置密码,所以大家不要费脑筋想当初自己设的密码是多少了,因为根本就不存在。 端口输入如下命令:sudo passwd root[sudo] password for you :输入你的密码,不回显Enter new UNIX password: 设置root 密原创 2016-01-25 16:44:27 · 388 阅读 · 0 评论 -
linux的Eclipse菜单没有图标解决方法
装的Ubuntu 10.04发现菜单里面没有图标,新版本真的让人冏冏有神啊……打开GNOME配置编辑器:gconf-editor(通过yum安装:yum install gconf-editor,安装完以后点击系统左上角Applications -> System Tools -> Configuration Editor)工具栏图标的显示:1.是否在按钮文本傍边显示图标:/desktop/gno原创 2016-01-25 16:44:19 · 2750 阅读 · 0 评论 -
vim字符串替换
原文:http://bbs.chinaunix.net/thread-2045191-1-1.htmlvi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换原创 2016-01-25 16:44:03 · 382 阅读 · 0 评论 -
进程间通信——管道
原文:http://www.cppblog.com/tianbianlan/archive/2009/07/18/90420.html进程间通信——管道管道简介常说的管道都是匿名半双工管道,匿名半双工管道在系统中是没有实名的,并不可以在文件系统中以任何方式看到该管道。它只是进程的一种资源,会随着进程的结束而被系统清除。管道通信是在UNIX系统中应用比较频繁的一种方式,例如使用grep查找:ls |原创 2016-01-25 16:42:52 · 251 阅读 · 0 评论 -
Linux中gdb 查看core堆栈信息
原文:http://blog.csdn.net/azr22005/article/details/6927420core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename corefilename就是产生core文件的可执行文件,croe就是产生的core文件名查看栈信息—————当程原创 2016-01-25 16:41:54 · 434 阅读 · 0 评论 -
Linux网络编程socket错误分析
Linux网络编程socket错误分析 socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为...原创 2013-07-21 18:46:36 · 216 阅读 · 0 评论 -
[Linux]socket阻塞模式下recv()返回11(EAGAIN )的原因
linux socket 阻塞模式下recv()返回11(EAGAIN )的可能原因: 1,设置了接收超时为非0。参考至:http://stackoverflow.com/questions/735249/blocking-socket-returns-eagain 2,网络质量差,例如:wifi环境下的网络信号强度太弱...原创 2013-07-21 20:45:22 · 5799 阅读 · 0 评论 -
Linux 文件内容查看工具介绍(cat, more, less, tail)
1、cat 显示文件连接文件内容的工具;cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。比如:[root@localhost ~]# cat /etc/fstab为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;1.0 cat 语法结构;cat [选项] [文件]...选项 -A, --sho...原创 2013-12-24 00:26:33 · 138 阅读 · 0 评论 -
Linux上的线程sleep时间问题
原文作者:@玄冬Wong windows上的sleep最小间隔可以精确到1ms,但是linux上sleep函数需要注意几个地方: 1,usleep(int microseconds)是旧式API,虽然参数是微妙,但是在linux系统上如果间隔低于10毫秒,死循环的CPU占用率仍然很高,如果要用usleep,间隔最小值必须设置为10ms,10000微妙。windows上不存在这种问...原创 2016-04-10 21:33:52 · 3088 阅读 · 0 评论 -
巧夺天工的kfifo:Linux Kernel中的无锁环形缓冲讲解
原文:CSDN博主-海枫http://blog.csdn.net/linyt/article/details/5764312 Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,...原创 2016-04-08 22:59:30 · 1052 阅读 · 1 评论 -
在Linux(unix)中,以波浪线“~”开始的文件名
原文:http://blog.csdn.net/chun_1959/article/details/23243935 在Linux(unix)中,以波浪线“~”开始的文件名有特殊含义。 单独使用它或者其后跟一个斜线(~/),代表了当前用户的宿主目录。(在shell下可以通过命令“echo ~(~\)”来查看)。例如“~/bin”代表“/home/username/bin/”(当前...原创 2016-03-31 16:03:47 · 945 阅读 · 0 评论 -
Cygwin、MinGW中切换盘符的命令
例如,想切换到D盘:cd d敲回车 和window上的直接d:敲回车有区别原创 2016-03-30 00:58:00 · 2523 阅读 · 0 评论 -
CentOS 安装 g++
在debian下直接apt-get install gcc g++就可以了。 按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包。 差了一下,原来这个包的名字叫做gcc-c++。完整的应该是yum install gcc gcc-c++ 。 注意安装时要先成为root用户。...原创 2015-07-22 17:31:17 · 133 阅读 · 0 评论 -
Linux下多线程堆栈查看工具(pstree、ps、pstack)
原文:http://blog.csdn.net/yfkiss/article/details/6729364 1. pstreepstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) ...原创 2015-06-09 19:35:46 · 1209 阅读 · 0 评论 -
内核探测工具systemtap简介
原文:http://www.cnblogs.com/hazir/p/systemtap_introduction.html systemtap是内核开发者必须要掌握的一个工具,本文我将简单介绍一下此工具,后续将会有系列文章介绍systemtap的用法。 什么是systemtap假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统...原创 2014-04-09 23:03:09 · 124 阅读 · 0 评论 -
linux下多线程 之 pthread_detach(pthread_self())
原文:http://blog.csdn.net/trinea/article/details/5191165 多线程稍微看了下还能接受没想象中的难,写了个示例程序运行修改运行修改几遍后也大致明白了。 写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joina...原创 2013-09-12 14:31:24 · 91 阅读 · 0 评论 -
查看linux哪个线程占用cpu比较高
原文:http://michael-softtech.iteye.com/blog/813735 有时候在应用里面会出现cpu占用率很高的情况。这时候就需要确定到底是哪个线程出了问题。通常的ps,top等命令列出来的都是进程信息,而jvm通常只有一个主线程。这就给我们debug造成了不便。于是想办法找出有问题的线程信息而非进程信息。 搜索了一下,大概有这么几种方式:...原创 2013-09-09 16:53:27 · 192 阅读 · 0 评论 -
socket异步通信-如何设置成非阻塞模式、非阻塞模式下判断connect成功(失败)、判断recv/recvfrom成功(失败)、判断send/sendto...
原文:将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即:设置成非阻塞模式:先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags = fcntl(sockfd, F_GETFL, 0); //获取文件的flags...原创 2013-09-09 14:26:37 · 1577 阅读 · 0 评论 -
[linux] 将socket设置为非阻塞(non-blocking)
原文:http://blog.csdn.net/wwwsq/article/details/970198有一个非常有迷惑性的做法是:u_long has = 1;ioctl(m_sock, FIONBIO , &has);这个函数会非常无耻的返回你success,但是它实际上很可能什么也没做。正确的做法应该是使用fcntl:int flags = fcntl(m_sock, F_GE...原创 2013-09-09 13:15:10 · 201 阅读 · 0 评论 -
Linux 查看zip文件内容
原文:http://blog.sina.com.cn/s/blog_62109c5c0101m5j4.htmlLinux下 查看zip文件内容 ,类似win下用压缩软件打开压缩包,看看目录情况。 zipinfo -1 -M filename.zip 更多参数-1 只列出文件名称。-2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用。...原创 2014-07-02 14:09:20 · 4545 阅读 · 0 评论 -
Linux 下zip包的压缩与解压
转自:http://www.cnblogs.com/chinareny2k/archive/2010/01/05/1639468.html linux zip 命令详解 功能说明:压缩文件。 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-&l...原创 2014-06-27 23:03:16 · 85 阅读 · 0 评论 -
提高 Linux 上 socket 性能
原文:http://www.ibm.com/developerworks/cn/linux/l-hisock.html 简介: 使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 ...原创 2013-08-05 00:22:13 · 83 阅读 · 0 评论 -
Linux创建与解压zip, tar, tar.gz,tar.bz2文件
原文:http://wordpress.facesoho.com/software/linux-to-create-and-extract-zip-tar-tar-gz-tar-bz2-file.htmlHow to create extract zip tar targz tarbz2 in linuxLinux创建与解压zip, tar, tar.gz,tar.bz2文件Linux 解压, L原创 2016-01-25 16:40:34 · 585 阅读 · 0 评论 -
linux c/c++ GDB教程详解
原文:http://www.91linux.com/html/article/program/cpp/20081017/13581.html学习使用了GDB一段时间后,发现它真的好强大!好用!GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB原创 2016-01-25 16:40:22 · 534 阅读 · 0 评论 -
如何把Backtrack 5安装到U盘/Backtrack 4安装方法
原文:http://www.path8.net/tn/archives/1042 在这篇文章中我们将描述我们如何能够使一个USB启动的Linux发行Backtrack4驱动器。新版本是基于Debian / Ubuntu的,而不是Slackware的,因为它是用来在早期版本是(Backtrack 3以下)。 在这方面,UNet ...在这篇文章中我们将描述我们如何能够使一个USB启动的Linux原创 2016-01-25 16:39:40 · 3140 阅读 · 0 评论 -
CentOS 安装中文语言包以及输入法
语言包的安装方法有三个。两个Yum方式的,一个rpm方式的。其一:yum方式——完全的中文环境支持。这个方式的缺点是要从FTP上下载安装包,下载的包的数量虽然可以选择,但仍然是个不小的量。 以root身份登陆,运行命令:yum groupinstall -support 在上面的命令中, 是下列之一: assamese, bengali, chinese, gujarati, hindi, ja原创 2016-01-25 16:34:20 · 1036 阅读 · 0 评论 -
centos英文版下如何安装中文语言包
centos安装过程中,安装语言包时选择了english,在安装完毕后浏览中文网页或查看中文文档时总是宣誓乱码,因此需要安装中文语言包,如果不能从安装盘进行安装,可以通过yum进行安装,安装办法为: yum groupinstall -support 在上面的命令中, 是下列之一: assamese, bengali, chinese, gujarati, hindi, japanese, kan原创 2016-01-25 16:34:18 · 701 阅读 · 0 评论 -
Linux下解压RAR软件下载和解压.zip和.rar文件
原文:http://www.linuxdiyf.com/viewarticle.php?id=72943下载地址:http://www.rarsoft.com/download.htm(目前最新为RAR 3.71 for Linux)以最新的为准。对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:1:对于.ziplinux下提供了zip和unzip程序,zip原创 2016-01-25 16:34:15 · 581 阅读 · 0 评论 -
Linux下安装IntelliJ IDEA方法
第一步:解压缩 关于各种解压缩命令/工具的具体用法自己找去,不过给你的idea包可以这样解: tar -zxf XXXXX.tar.gz 或者你用Krusader也行 第二步:关联JDK IDEA是基于Java开发的一款JavaIDE,so得有jdk才行。 编辑$IDEA_HOME/bin/idea.sh,在前面加上这样一句: JDK_HOME=你的JDK位置 第三步原创 2016-01-25 16:34:12 · 7250 阅读 · 0 评论 -
Eclipse启动报错:no java virtual machine was found after searching
提示内容如下:linux eclipse no java virtual machine was found after searching需要制定JDK的路径,修改eclipse.ini。在:-vm /JDK路径/bin/java这个配置加在 -vmargs 之前即可 管理员在2009年8月13日编辑了该文章文章。 -->原创 2016-01-25 16:34:10 · 924 阅读 · 0 评论