Linux
JNeuman
这个作者很懒,什么都没留下…
展开
-
Linux top里面%CPU和us%的解释
有的同学会把%CPU和us%搞晕,也就是下图所示在top的时候查看cpu的信息。这时有的同学会问:这两个CPU到底哪个是对的。其实都是对的,只是表达的意思不一样。官方解释如下Cpu(s):34.0% us: 用户空间占用CPU百分比%CPU:上次更新到现在的CPU时间占用百分比读到这里我也不是十分理解他们俩的关系,我一直以为%CPU是每个进程占用的cpu百分比,原创 2015-02-03 17:58:32 · 39520 阅读 · 5 评论 -
二进制文件文本文件和二进制数据
二进制文件二进制数据文本文件个人简单理解原创 2015-05-27 17:48:45 · 3232 阅读 · 0 评论 -
Linux shell获得后台进程返回值
shell实现多进程的方法原创 2015-03-05 11:27:45 · 13016 阅读 · 0 评论 -
awk指定列修改
awk的用法原创 2015-05-27 19:03:56 · 25897 阅读 · 1 评论 -
可执行二进制文件与文本文件编码的区别
一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自转载 2015-06-01 12:38:13 · 2944 阅读 · 0 评论 -
线程与进程
多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。如果用多线程实现Maste转载 2015-05-22 15:32:59 · 485 阅读 · 0 评论 -
Linux进程状态
在操作系统下执行top命令,S列为进程状态,对几个进程状态做下解释:进程大致分为以下几个状态 D 不可中断 Uninterruptible sleep (usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始原创 2015-06-12 16:37:43 · 1276 阅读 · 0 评论 -
Linux自动安装 光盘
安装linux的时候需要人机交互,如果一次安装几台那就要耗费很多精力,莫不如把每次要做的设置写在配置文件里,一键安装,省时省力。这里我们只介绍用光盘进行自动安装。 无人职守安装我们首先想到的就是kickstart软件,那么什么是Kickstart? Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.c原创 2015-07-12 16:33:46 · 924 阅读 · 0 评论 -
Linux lvs DR配置
三台服务器,(1)做路由,(2)(3)做realserverIP为:192.168.196.121 (1) 192.168.196.122 (2) 192.168.196.123 (3)要在(1) load banlance机器 上安装ipvsadm软件可以在cluster目录里面找到,源码编译安装很麻烦,频频出错,这里不讲。原创 2015-07-06 15:29:09 · 795 阅读 · 0 评论 -
expect获取返回值
对于获取多台服务器状态且不用交互需要用到expect,但有时候expect无法获取返回值,这里解释一下expect如何获取返回值 expect -c " spawn $1; expect { \"(yes/no)?\" {send \"yes\n\";expect \"assword:\";send \"$2\n\"}原创 2015-08-08 13:49:42 · 15785 阅读 · 1 评论 -
shell EOF注意点
当sqlplus与shell交互的时候我们这么用su - oracle -c "sqlplus / as sysdbaselect * from gv($instance);exit;EOF"这个程序看起来没什么问题,真正执行的时候会报错。为什么?因为这种方式,“内容”中的东西是被解析的所以$instance没有值,这里就只能看到gv这么写就没错原创 2015-08-08 13:44:25 · 2744 阅读 · 0 评论 -
rpm包下载地址
有时候大家会找不到某些rpm包,我为大家提供一个地址:http://rpm.pbone.net/里面的rpm包很全。原创 2015-08-08 13:33:40 · 1307 阅读 · 0 评论 -
Linux shell脚本加密
如何保护自己编写的shell程序要保护自己编写的shell脚本程序,方法有很多,最简单的方法有两种:1、加密 2、设定过期时间,下面以shc工具为例说明:一、下载安装shc工具shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. # wget http://www.datsi.fi.upm.es/~frosal/sources/sh转载 2015-05-28 19:08:28 · 3749 阅读 · 0 评论 -
源码包安装后启动失败 error while loading shared libraries: libinotifytools.so.0: cannot open shared object fil
今天安装源码包inotify 一切安装妥当之后启动失败,报如下错误:第一感觉是找不到这个库,此时有两种可能1,操作系统上没有安装该库2,操作系统找不到该库首先在/usr路径下查找该包的名称,如下图ps:为什么要在/usr下找呢,因为库文件一般都安装在该目录下。结果只在源码包的安装路径下找到了该库,证明以源码包形式安装该软件的时候该库已经被安装在操作系统中了。原创 2015-03-12 10:55:33 · 5342 阅读 · 0 评论 -
Linux回收站建立
误删除是很多运维人员比较恐怖的字眼,如果事前做好准备工作防患未然就会避免此类事情发生。虽然目前有很多恢复数据的软件,但大多数都操作繁琐,恢复效果并不理想,比如说利用lsof这种形式恢复很难把数据完全恢复回来,testdisk工具也可以恢复删除的数据,但恢复的数据都被重命名了,很难找到删除的文件,而且这种恢复方式耗时长风险大,可以把这种方法当作没有办法的办法。为了满足Linux操作系统没有回收站原创 2015-03-20 10:25:02 · 928 阅读 · 0 评论 -
升级gcc4.4.7升级gcc4.8
出于需求系统自带的是gcc4.4.7,版本太低无法编译,被逼无奈只能升级gcc了,碰到很多坑,下载这个玩意就用了不少时间。123456[root@VM_222_92_centos ~]# gcc -vUsing built-inspecs.Target: x86_64-redhat-linuxConfigured wi转载 2015-12-16 19:51:22 · 652 阅读 · 0 评论 -
SPEC文件详解
1 spec文件1.1 spec文件的语法TagName: value比如Version: 2.1.0tag名大小写不敏感。1.2 宏spec支持定义宏,要定义宏,使用:%define testMacro 2这里定义了一个宏,名称为testMacro,值为2,要使用这个宏,使用%{testMacro}或者%test转载 2016-04-11 16:49:15 · 39800 阅读 · 1 评论 -
32位和64位的理解
32位和64位操作系统的区别原创 2015-05-27 19:01:52 · 1050 阅读 · 0 评论 -
Linux系统中普通文件和目录文件的区别
看了赵小兵老师的RHCE和一些相关贴子,受了一些启发,根据平常所知,说说Linux系统中,文件的权限控制,在对于普通文件和目录文件时,有何区别。 文件权限一般可认为是0 123 456 789,一共十位: 0:表示该文件的文件类型。Windows里面是使用了一种文件关联的技术,通过扩展名来关联相应的应用程序,使得双击某个文件,就能达到调用相应的应用程序来打开它的目的,这样简单快捷。转载 2015-05-17 16:51:14 · 832 阅读 · 0 评论 -
shell中exec命令
shell中exec命令1、find中的-exec参数在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行find ./ -name "*.txt" -exec grep "bin" {} \;在当前目录下(包含子目录),删除所有txt文件find ./ -name "*.txt" -exec rm {} \;Execute command; t转载 2015-05-14 16:36:50 · 2067 阅读 · 0 评论 -
rsync 匹配通配符 * 失败 link_stat failed: No such file or directory
rsync -avP /home/map/mongodb2.4.6/data/road140403* map@hz12:/home/map/users/wangxin/script/tmp上面的命令执行的时候不会报任何错误,并正常的同步数据,此时会弹出交互界面,并提示要输入hz12服务器的密码,但如果这种操作放在脚本里就要expect来支持,如果放在expect里面的话会报如下错误原创 2015-02-04 17:25:27 · 16426 阅读 · 1 评论 -
Linux top命令Cpu(s):ni 的解释
部门有人抱怨自己的进程运行过慢,登陆操作系统并通过top查看信息查看Cpu一栏发现ni占用过高,ni又是什么呢?ni: 用户进程空间内改变过优先级的进程占用CPU百分比网上对ni的解释似乎很难理解,那我们换个角度来看。假设在一个CPU轮转中,有2个runnable的进程A和B,如果他们的nice值都为0,假设内核会给他们每人分配1k个cpu时间片。但是假设进程A的为0,但是B的原创 2015-02-03 16:32:08 · 27368 阅读 · 5 评论 -
Linux操作系统PS命令详细解析
Linux操作系统PS命令详细解析要对系统中进程进行监测控制,用 ps 命令满足你。/bin/psps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用 top 工具。kill 用于杀死进程。==============ps 的参数说明============================l 长格式输出;u 按用户名和启动时间的顺序来显示进程;转载 2015-02-09 14:42:36 · 547 阅读 · 0 评论 -
linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的;一、在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/b转载 2015-02-09 15:22:31 · 525 阅读 · 0 评论 -
Linux free 查看内存
类Unix系统里面内存的空闲值很少,这时候大家不要认为内存到达了瓶颈,因为Linux和windows操作系统管理内存的方式不一样,Linxu会尽量多的利用内存,让尽可能多的内存参与工作(做cache)以提高性能。。下面我们就对free命令里面列出的内存做一一解释,下图是我的服务器列出的内容。free -g free -g 单位是GBtotal 内存总数used原创 2015-03-17 15:14:52 · 601 阅读 · 0 评论 -
shell中${ } 的功能
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt我们可以用 ${ } 分别替换获得不同的值:${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt${file#*.}:拿掉第一个 . 及其左边的字符串:转载 2015-03-17 15:35:24 · 511 阅读 · 0 评论 -
Linux locale详解
locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信。从实际经验上看来,locale的设定与看中文关系不大,但是与写中文,及window分区的挂载方式有很密切的关系。本人认为就像一个纯英文的Windows能够浏览中文,日文或者意大利文网页一样,你不需要设定loca转载 2015-03-10 12:16:13 · 1451 阅读 · 0 评论 -
Linux find详解
前言:关于find命令优劣对比:常用的grep只能通过文本内容过滤(行)查找文件,而locate 数据库【依据/var/lib/mlocate内的数据库记载,找出使用者输入的关键字档名】查找却是模糊匹配,将指定的字符串跟整个路径进行匹配 -i 忽略大小写 -n N 只显示匹配到的前N个文件。而此时find命令则体现出其强大之处。由于find具有强大的功能,所以它的选项也很多,其中大部转载 2015-03-11 15:39:37 · 714 阅读 · 0 评论 -
Linux 磁盘配额
不管磁盘空间有多么大,磁盘空间不够使用似乎是一个永远的事实。而且Linux系统在默认情况下,并不限制每个用户使用磁盘空间的大小,如果某个用户疏忽或恶意将磁盘占满,将导致系统无法进行写操作甚至崩溃。因此Linux提供了限制用户磁盘空间的手段,以便促使每个用户合理有效地使用分配给他的空间。设置用户和组配额的分配量对磁盘配额的限制一般是从一个用户占用磁盘大小和所有文件的数量两个方面来进行的。设置转载 2015-03-13 11:40:40 · 792 阅读 · 0 评论 -
Linux /dev/loop0文件详解
1. loop设备介绍 在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。转载 2015-03-12 19:28:49 · 48345 阅读 · 3 评论 -
Linux创建固定大小目录
Loopback设备是linux中的一个可以用来像其他媒体设备一样的虚拟设备。媒体设备的例子像硬盘分区,例如/dev/had1,/dev/had2,dev/sda1,或者像/dev/fd0软盘分区一样的整个磁盘。这些设备全部都可以用来储存文件以及目录。它们可以被格式化成需要的文件格式(ext2fs, msdos, ntfs等)然后被mount。Loopback文件系统就是把一个文件和另外的转载 2015-03-12 17:52:23 · 1450 阅读 · 0 评论 -
Linux 进程在哪个CPU上运行
在多核环境下,要监测指定进程在哪个核上运行,可以使用如下命令ps命令的输出格式可以通过-o参数定制,可以使用如下命令显示进程所对应的执行CPU:# ps -eo pid,args,psr参数的含义:pid - 进程IDargs - 该进程执行时传入的命令行参数psr - 分配给进程的CPU转载 2015-03-14 16:00:56 · 643 阅读 · 0 评论 -
HA中虚IP自动切换的原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。转载 2015-04-02 17:52:05 · 1069 阅读 · 1 评论 -
#!/bin/bash详解
在shell脚本的第一行中,必须写#!/bin/bash吗?带着这个问题,我今天在百度上搜索了一下,发现在一个贴子中讨论了这个问题,觉得各个跟贴者在回答这个问题时,都解释的很有道理,现摘记如下,以便学习。 ---------------------------------------------------------------------------------------------转载 2015-04-07 16:55:57 · 16680 阅读 · 1 评论 -
源码包详解
转载:http://blog.csdn.net/cswodi/article/details/7282122一、glib介绍libc指C函数库,这是一个通称,而glibc是GNU实现的libc,至于glib是一组较高层的函数库,比如链表、Hash等,在linux中glib是建立在glibc之上的,qt的库就叫做qt,也是建立在glibc和其他一些基本库之上。GLib转载 2015-04-14 20:20:17 · 600 阅读 · 0 评论 -
linux获取目录下文件 包含子目录
#!/bin/bashsum=0function lsdir(){for i in `ls`;do if test -d $i ;then #用于排除某个目录 if [[ $i = "static" ]];then continue fi cd $i lsdir cd ..原创 2017-11-23 17:18:09 · 1521 阅读 · 0 评论