Linux 精华文章
文章平均质量分 84
kobejayandy
十多年互联网产品研发经验,历经华为、腾讯、字节跳动等公司,主要从事后端技术研发及技术管理工作(andyjaykobe)
展开
-
Linux操作系统中的七件超厉害的武器
Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能 自由使用的UNIX兼容产品。也许有些准备和正在使用Linux的朋友对为什么使用Linux并不十分了解。本文试就这一问题给出答案,让人们真正了解 Linux带给我们的七件武器。转载 2011-11-07 13:14:39 · 954 阅读 · 0 评论 -
每个Linux管理员应该知道的20个Linux系统监视工具
需要监视Linux服务器的性能?试试这些内置的命令和一些附加的工具吧。大多数Linux发行版都集成了一些监视工具。这些工具可以获取有关系统活动的信息的详细指标。通过这些工具,你可以发现产生系统性能问题可能存在原因。下面讨论的是一些最基本的命令,它涉及到系统分析和调试服务器等一些问题,如:1. 找出系统瓶颈问题.2. 磁盘 (储存) 瓶颈问题.3. CPU和内存瓶颈问题转载 2013-01-15 22:57:35 · 1382 阅读 · 0 评论 -
Linux 操作系统架构简介
可以说,Linux 是21 世纪初最火的操作系统。注意,我只在这时说它是最“火”的,而不是最“好”的。最好的定义对于每个人都不一样,为避免产生口水仗,我不在书中对Linux 进行评价。不过我得先介绍一下Linux 的架构。 Linux 肯定是一款大内核操作系统,Linus Tovals 和Tanenbaum 的网上争论余音绕梁,相信知道此事的读者一定还记得Linus转载 2013-03-07 22:03:18 · 1599 阅读 · 0 评论 -
Linux内核相关常见面试题
1. Linux中主要有哪几种内核锁?Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡;Linux的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——转载 2013-06-05 21:56:45 · 849 阅读 · 0 评论 -
Linux操作系统的安全性的过人之处
Linux操作系统的安全性是有目共睹的,相比Windows操作系统,到底Linux有哪些过人之处?这里我们就抛砖引玉,挑选三点重要的特点给大家说明,为什么说Linux操作系统安全性有其他系统无可比拟的优越性。 1、用户/文件权限的划分 用户权限在Windows操作系统里也不陌生,但是Linux操作系统的用户权限和文件权限要比Windows操作系统里严格有效。比较明显的一个案例就转载 2013-06-05 21:58:01 · 1520 阅读 · 0 评论 -
Linux多进程与多线程的深度比较
嵌入式Linux中文站,关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”。这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有那么简单了,选的不好,会让你深受其害。经常在网络上看到有XDJM问“多进程好还是多线程好?”、"Linux下用多进程还是多线程?"等等期望一劳永逸的问题,只能说:没有最好,只有更好,根据实际情况来判转载 2013-06-05 22:02:01 · 1041 阅读 · 0 评论 -
libevent源码深度剖析
1 前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent是用c语言编写的(MS大牛们都偏爱c语言哪),而且几乎是无处不函数指针,学习其源代码也需要相当的c语言基础。2 Libevent简介转载 2013-07-04 22:36:39 · 684 阅读 · 0 评论 -
Nginx与apache比较
为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。转载 2013-07-05 23:48:28 · 718 阅读 · 0 评论 -
Linux系统下安装rz/sz命令及使用说明
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我们就简单的讲解一下如何安装和使用rz、sz命令。1.软件安装root 账号登陆后,依次执行以下命令:1cd /tmp转载 2013-10-28 13:33:54 · 125815 阅读 · 8 评论 -
Linux下的文本dos格式转Unix格式,去除^M符号
问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文本文件后每行最后都有^M的标志。由于很长,用编辑器去除太麻烦,有什么解决办法呢?答:为了解决这个问题,Linux下专门有两个工具可以互换Windows格式和Linux格式,它们分别是dos2unix和unix2dos。比如用下面的命令就可以将文件名为“filename”文件从Windows格式转换为Linux文本格式转载 2013-10-28 13:27:25 · 26404 阅读 · 0 评论 -
Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re转载 2013-10-31 19:20:31 · 886 阅读 · 0 评论 -
Linux SSH远程文件/目录传输命令scp
相信各位在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.vpser.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用s转载 2013-10-31 19:27:00 · 860 阅读 · 0 评论 -
Linux下利用nc命令来监控检测服务器的端口使用情况
检测端口还在用telnet?太落伍把有没有批量检测的方法?有的。我们用nc就可以快速检测端口的开放性。nc检测端口的用法nc -z -w 10 %IP% %PORT%-z表示检测或者扫描端口-w表示超时时间-u表示使用UDP协议 我们知道检测UDP端口是否开启可以使用linux下的nc命令.例子:12转载 2013-10-31 19:31:20 · 15116 阅读 · 0 评论 -
Linux下NC扫描TCP,UDP端口
nc扫描端口udpnc -z -v -n 10.1.1.100 9990-10000 2>/dev/nulltcpnc -z -v -u -n 10.1.1.100 120-125 2>/dev/null转载 2013-10-31 19:31:20 · 6348 阅读 · 0 评论 -
Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q转载 2013-11-06 20:51:05 · 680 阅读 · 0 评论 -
Linux命令学习手册-tail命令
tail [Option]... [File]... [功能] 打印文件的最后部分。 [描述] 这个命令会打印文件的最后10行。如果指定多个文件那么会在每个文件的开始打印出相应的文件名称。 常用项: --retry 即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件. 只与-f合用时有用转载 2013-12-08 16:27:21 · 744 阅读 · 0 评论 -
Linux命令学习手册-head命令
head [OPTION]... [FILE]... [功能] 打印文件的开头部分。 [描述] 默认head命令打印其相应文件的开头10行。 [举例] *查看的测试文件内容: [root@lv-k samba]# cat -n smb.conf 1 [global]转载 2013-12-08 16:39:09 · 713 阅读 · 0 评论 -
Linux命令学习手册-vi介绍
文本编辑器和字处理软件是不一样的,要学会区分它Linux系统下常用的文本编辑器:一、vi、vim(vi improved)二、Emacs(专业级的工作站)三、nano下面主要讲解vi---------------------------linux1、vi是模式化的编辑器:三种模式(1)插入模式或输入模式(2)命令模式或编辑模式:只能是转载 2013-12-08 18:08:32 · 823 阅读 · 0 评论 -
Linux下SecureCRT上传和下载文件
用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII、Xmodem、Zmodem。文件传输协议:文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等转载 2013-12-08 21:36:49 · 812 阅读 · 0 评论 -
Linux命令学习手册-vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结转载 2013-12-08 22:11:22 · 772 阅读 · 0 评论 -
Linux命令学习手册-more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1.命令格式:more [-dlfpcsu ] [-num ] [+/ patte转载 2013-12-08 16:53:34 · 614 阅读 · 0 评论 -
Linux命令学习手册-ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的linux操作中用的很多!1. 命令格式:ls [选项] [目录名]转载 2013-12-08 17:40:10 · 686 阅读 · 0 评论 -
Linux命令学习手册-iostat命令
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。转载 2013-12-08 22:12:18 · 794 阅读 · 0 评论 -
Linux命令学习手册-grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文转载 2013-12-08 20:42:05 · 664 阅读 · 0 评论 -
Linux文件类型与扩展名简介
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。一. 文件类型Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。1转载 2013-12-08 21:32:28 · 820 阅读 · 0 评论 -
Linux命令学习手册-top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存转载 2013-12-08 21:58:10 · 761 阅读 · 0 评论 -
Linux下抓包工具tcpdump应用详解
tcpdump简介 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。转载 2013-12-08 22:49:46 · 1947 阅读 · 0 评论 -
Linux使用tcpdump抓取网络数据包示例
tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04。tcpdump的命令格式tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数:tcpdump [-i 网卡] -nnAX '表达式'各参数说明如下:-i:interface 监听的转载 2013-12-08 22:52:05 · 66184 阅读 · 0 评论 -
Java问题排查常用Linux命令
(1)ping :功能是检测主机,执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 (2) netstat:显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。·netstat –s本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如W转载 2013-12-15 21:47:56 · 1244 阅读 · 0 评论 -
Linux命令学习手册-crontab命令
crontab 命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检转载 2014-01-01 16:14:08 · 768 阅读 · 0 评论 -
iptables—包过滤(网络层)防火墙
一:Linux 防火墙基础:Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(也称网络层防火墙);Linux防火墙体系基于内核编码实现,具有非常稳定的性能和高效率,因此被广泛的应用。1.Netfilter和iptables的区别:Netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或转载 2014-01-01 15:33:26 · 1059 阅读 · 0 评论 -
Linux命令学习手册-traceroute命令
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,转载 2014-01-01 14:50:14 · 823 阅读 · 0 评论 -
Linux下select, poll和epoll IO模型的详解
select的特点:1. 最大并发数限制,因为一个进程所打开的 FD (文件描述符)是有限制的,由 FD_SETSIZE 设置,默认值是 1024/2048 ,因此 Select 模型的最大并发数就被相应限制了。自己改改这个 FD_SETSIZE ?想法虽好,可是先看看下面吧 …2. 效率问题, select 每次调用都会线性扫描全部的 FD 集合,这样效率就会呈现线性下降,把转载 2014-01-04 14:24:30 · 1109 阅读 · 0 评论 -
Linux中的常用多线程同步方式
嵌入式linux中文站给大家介绍三种Linux中的常用多线程同步方式:互斥量,条件变量,信号量。1 互斥锁 互斥锁用来保证一段时间内只有一个线程在执行一段代码。必要性显而易见:假设各个线程向同一个文件顺序写入数据,最后得到的结果一定是灾难性的。 先看下面一段代码。这是一个读/写程序,它们公用一个缓冲区,并且假定一个缓冲区只能保存一条信息。即缓冲区只有两个状态:有信息或没有信息。转载 2013-06-05 22:03:28 · 1006 阅读 · 0 评论 -
Pthread锁机制
Pthreads提供了多种锁机制: (1) Mutex(互斥量):pthread_mutex_*** sleep-waiting, 上下文切换 (2) Spin lock(自旋锁):pthread_spin_*** busy-waiting (3) Condition Varia转载 2014-01-04 16:32:22 · 3781 阅读 · 0 评论 -
Linux中epoll IO多路复用机制
epoll简介epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高转载 2014-01-29 16:50:53 · 2984 阅读 · 0 评论 -
你需要知道的 16 个 Linux 服务器监控命令
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程转载 2014-01-29 15:51:51 · 1109 阅读 · 0 评论 -
Linux中select IO多路复用机制
Linux提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、stdo转载 2014-01-29 16:39:57 · 4199 阅读 · 0 评论 -
ZeroMQ的核心优势
ZMQ定义为“史上最快的消息队列”,从网络通信的角度看,它处于会话层之上,应用层之下。ZMQ相较于传统的socket网络编程,最大的特点和优势体现如下:ZMQ为应用程序提供了一套简单的套接字API,不用考虑实际使用的协议类型(进程内、进程间、机器间、或广播);ZMQ提供了多种模式进行消息路由,如请求-应答模式、发布-订阅模式等。这些模式可以用来搭建网络拓扑结构;ZMQ是通过后台的I原创 2014-01-29 00:01:10 · 4895 阅读 · 0 评论 -
Linux的进程/线程间通信方式总结
Linux系统中的进程通信方式主要以下几种:同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal) * System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shared Memory)网络主机间的进程通信方式转载 2014-01-29 16:10:24 · 29211 阅读 · 0 评论