Linux/Unix
TrueManWorld
爱生活爱编程
展开
-
理解linux inode
一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 s转载 2014-05-13 14:37:11 · 1124 阅读 · 0 评论 -
Linux 的文件权限详解
一个用户、一个组我们来看一看 Linux 权限和所有权模型。我们已经看到每个文件属于一个用户和一个组。这正是 Linux 中权限模型的核心。您可以在ls -l 清单中查看用户和组:$ ls -l /bin/bash-rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash在这个特殊的示例中,/bin转载 2012-02-17 13:05:11 · 830 阅读 · 0 评论 -
解决安装CentOS 5.7中文版报错问题
正常顺序安装CentOS 5.7中文版时,到了最后两分钟出现一个窗口“retrying package download”,然后就会弹出“无法打开文件openoffice.org-langpack-zh-TW-3.1.1-19.5.el5_5.6.i386.rpm.这是由于缺少文件,坏软件包或者介质造成的。请确认你的安装源。” 由 CentOS 5.7 起,安装程序将会被分开为两张 D转载 2012-02-15 10:17:17 · 2263 阅读 · 0 评论 -
php5支持posgresql
编译php5时添加 --with-pgsql,有以下报错 “configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path” 解决办法: yum install postgresql-devel ,重新编译PHP即可。转载 2012-02-10 18:32:01 · 933 阅读 · 0 评论 -
Linux下tr命令“字符”处理的实用例子
tr是Unix系统非常实用的工具,其实用tr做到的事情,几乎都可用sed做到,你可以把tr当作是实现sed许多基本功能的sed“简体”。我认为tr是简单的“字符”处理工具,而sed是功能非常强大的“字符串”处理工具。 【注意】tr是单个字符处理工具,而不是字符串处理工具! 我自己用过比较实用的例子如下: 1、将文件file中出现的"abc"替换为"xyz" # ca转载 2012-02-09 09:46:09 · 495 阅读 · 0 评论 -
查看Linux发行版名称及内核版本
一、查看内核版本命令:(1) cat /proc/version(2) uname -a二、查看发行版名称(1) lsb_release -a(2) cat /etc/issue原创 2011-09-06 14:54:17 · 634 阅读 · 0 评论 -
linux在shell中获取时间
获得当天的日期date +%Y-%m-%d输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期date -d next-day +%Y%m%d转载 2011-07-28 16:11:31 · 2230 阅读 · 1 评论 -
Linux shell编程中read参数说明
概述:read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::转载 2011-07-12 11:09:04 · 2429 阅读 · 0 评论 -
linux expect 用法小记
来自http://blog.csdn.net/winstary/archive/2009/08/08/4422156.aspx使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说转载 2011-07-12 16:10:04 · 948 阅读 · 0 评论 -
linux sed命令详解
<br />Sed命令是linux下的一个非常有用的命令,特别是在shell脚本中经常会使用到他。<br />熟悉他你会觉得非常有趣哦!<br />1.sed -n '2'p filename <br />打印文件的第二行。 <br />2.sed -n '1,3'p filename <br />打印文件的1到3行 <br />3. sed -n '/Neave/'p filename <br />打印匹配Neave的行(模糊匹配) <br />4. sed -n '4,/The/'p filename转载 2011-05-01 15:58:00 · 2179 阅读 · 0 评论 -
Ubuntu应用程序菜单点不开
今天想从左上角的“应用程序”菜单中删除一个东西,结果一不小心点错了,把整个菜单给删除了,点“恢复”也没有效果。关了设置窗口再点“应用程序“发现点不开,再去重新设置“主菜单”项,发现也点不开了,杯具了!网上找了找,发现解决办法很简单,只要去个人主目录把 .config目录中的applications.menu这个文件删除了就行了,不需要重启注销,直接生效。原创 2011-04-30 10:42:00 · 1941 阅读 · 1 评论 -
Linux下设置交换文件方法
一、创建指定大小的文件首先我们需要用到dd命令来创建一个指定大小的空文件,比如是1G,执行命令dd if=/dev/zero of=/swap bs=1024 count=1048576上面命令中“of”后面的是交换文件存放的路径 “bs“后面是数字指块大小,byte为单位,这里是1024byte也就是1KiB “count“后面的数字是指块的数目。公式:块的数目*块的大小=文件的实际大小。二、将文件格式化为交换文件在终端执行命令mkswap /swap出现以下提示:Setting up swapspace原创 2011-04-23 20:15:00 · 1366 阅读 · 0 评论 -
ubuntu格式化swap后不休眠及启动进度条消失的问题
<br />今天试着把Ubuntu升级到了9.04,感觉还不错,不过似乎显卡驱动有一点点问题,感觉图形界面比较的卡,不知道正式版本会不会有所优化。9.04的开机画面比较好看,有一个很漂亮的进度条,似乎是学习Mac的。比较令我不爽的是之前不知道做了什么操作,开机的时候进度条会消失,转化为文本界面,输<br />出一些类似于“Loading files needed to boot”之类的信息,很是难看。今天终于在官网上找到了一个bug<br />track解决了这个问题:https://bugs.la转载 2011-04-23 19:03:00 · 1147 阅读 · 0 评论 -
Linux下swap分区没有UUID解决办法
前几天在windows下使用分区调整软件更改了一下我Linux下swap分区的大小,之后再进入Linux时发现swap分区无法挂载。打开/etc/fstab查看一下挂载配置,发现挂载分区时使用的都是uuid而不是直接使用像/dev/sda1这样的完整路径。看了一下文件里面交换分区的UUID,然后又用blkid查看我原来交换分区的uuid,blkid /dev/sdb3结果:/dev/sdb3: TYPE="swap"奇怪了,竟然没有UUID。百度谷歌一起上,看了一些文章后总结出了一点结论:这个UUID是L原创 2011-04-23 18:42:00 · 5941 阅读 · 1 评论 -
linux下分区大小改变及fdisk应用
<br />实例解说Linux中fdisk分区使用方法<br />一、fdisk 的介绍<br /> fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具。<br /> fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;转载 2011-04-23 01:01:00 · 21909 阅读 · 1 评论 -
Linux中DD命令详解
<br />1.dd命令简介<br /> <br />功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 <br />语法:dd [选项] <br /><br />if =输入文件(或设备名称)。 <转载 2011-04-23 21:31:00 · 809 阅读 · 0 评论 -
PHP 5.3.10 编译安装时出现 undefined reference to `libiconv' 错误的解决方法
手动编译PHP安装时遇到如下错误/usr/local/src/php-5.3.10/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open'/usr/local/src/php-5.3.10/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined refe原创 2012-02-20 18:37:44 · 4783 阅读 · 1 评论 -
Linux ls 颜色设置
Here is an easy way to set different colours for different kinds of files when using thels command.Add the following lines to the bottom of your ~/.bashrc file -alias ls='ls --color'LS_COLORS=转载 2012-04-11 15:24:56 · 932 阅读 · 0 评论 -
linux目录跳转快捷方式——z武器
那还是我刚毕业时候的事,在移动的机房里,抵抗着夏天机房内的超低温,看着一个资深的攻城师舞动的手指在键盘上不断的敲打着命令。没错,你猜对了,他在用shell和vim调试程序。那时我对linux命令不算很熟悉,除了他敲的cd .. 和cd ../..是什么意思,其他的都不太清楚,因此在之后我对linux产生了极大的兴趣,我唯一的想法就是能够像他那样不假思索的敲出cd .. cd ../../..转载 2014-05-08 10:09:05 · 2567 阅读 · 0 评论 -
RabbitMQ各种交换机类型Exchange Types介绍
最新版本的RabbitMQ有四种交换机类型,分别是Direct exchange、Fanout exchange、Topic exchange、Headers exchange。Direct Exchange – 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为转载 2014-03-25 18:14:56 · 26287 阅读 · 6 评论 -
Linux下常用轻量级队列服务比较
Linux IPC:IPC进程间通信(Inter-Process Communication)就是指多个进程之间相互通信,交换信息的方法。系统消息队列功能是这些方法中的其中一种。使用此队列不需要额外安装服务,是系统内置功能。由于shell中也可以操作此队列,故PHP与Shell需要通讯时使用此队列会比较方便注:PHP使用前需要开启内置的 sysvmsg扩展模块原创 2014-03-24 18:06:41 · 4049 阅读 · 0 评论 -
rabbitmq工作队列实现高性能任务的负载分发[python实例]
前言:大部门下面的测试部在搞大批量的硬件信息数据抓取,这次不能用已经存在客户端,比如 puppet,saltstack,nagios这些个可以扩展的客户端,因为我们要远程的用ipmitool的接口来抓取信息,要是用在client搞的话,还要给他们密码,这个是很不安全的。 so,要搞一套基于自己的一套密码认证及数据抓取的平台。他们最后决定用gearman,虽然我也用过这东西,但是转载 2014-03-25 12:36:12 · 2801 阅读 · 0 评论 -
Partition table entries are not in disk order 解决办法
<br />如果你使用fdisk -l 来查看分区信息里出现了Partition table entries are not in disk order提示,这就说明你现在分区表中分区的顺序的硬盘物理顺序不一致,想要修复很简单。<br />声明:如果你对硬盘一窍不通,这个提示也不并不影响到你什么 ,那我建议你关了这个见面吧,毕竟分区表操作还是有一定风险的。<br /> <br />在终端执行以下命令:<br />fdisk /dev/sdb (用你的硬盘位置代替/dev/sdb)<br /> <br />原创 2011-04-23 20:59:00 · 13150 阅读 · 1 评论 -
linux下find命令详解
find是linux下很强大的搜索工具,但速度慢且很费硬盘。但不管怎么说,此命令的使用频率依然很高。使用选项:find [路径] [操作]1、name选项,按名称查找查找当前目录下的manage.py 文件:find . -name ‘manage.py’2、atime/ctime/mtime选项,根据时间(24小时为单位)查找 注:a表示access,c表示转载 2013-02-20 11:20:46 · 633 阅读 · 0 评论 -
Linux Crontab 定时任务 命令详解
一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如:[root@dave ~]# cat /etc/crontabSH转载 2012-12-21 17:18:31 · 477 阅读 · 0 评论 -
nginx 伪静态 重定向 包括域名、目录、文件等方法
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积累(比如PR值)就都白费了。 301重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值 1、将多个域名指向同一web目录:转载 2012-06-08 00:58:07 · 1111 阅读 · 0 评论 -
64位Linux环境安装PHP TCC 扩展方法
近日发现了一个很有用的PHP扩展,它可以让PHP直接执行C代码,无需编译。TCC(Tiny C Compiler)是一个C编译器,支持直接执行C源代码。关于TCC的介绍这里不多说,可以从这里了解 http://www.ibm.com/developerworks/cn/linux/l-tinyc/part1/刚开始在32位Ubuntu下安装,很顺利就装了,不过在64位CentOS上原创 2012-05-31 00:24:05 · 3205 阅读 · 0 评论 -
mysql socket连接比tcp连接方式更快
mysql有两种连接方式,常用的一般是tcpmysql -h(ip) -uroot -pxxx #常用的mysql -S /tmp/mysqld.sock mysql 采用unix socket连接方式,比用tcp的方式更快,但只适用于mysql和应用同在一台PC上。如果不在同一台pc上,就没有办法连接了。而且我们可以把socket文件放在/dev/shm (内存)。/etc/mysql转载 2012-05-11 22:16:29 · 12624 阅读 · 0 评论 -
Linux 下 apache mysql等服务修改默认端口后无法正常启动解决办法
服务器上装了两个webserver,一个是nginx 开在80端口,没有异常。另外一个是 apache 绑定的 8001 端口,可是启动服务时报错:Starting httpd: (13)Permission denied: make_sock: could not bind to address上网查了下,找到了原因,原来罪魁祸首是 selinux 这个东西。简单介绍一下SELinu原创 2012-05-04 14:14:50 · 2235 阅读 · 0 评论 -
SELinux 入门
几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见。不过随着日益增长的 0-day 安全漏洞,或许现在是时候去了解下这个在 Linux 内核中已经有8年历史的强制性访问控制系统(MAC)了。SELinux 与强制访问控制系统SELinux 全称 Security Enhanced Linux (安全强化 Linux)转载 2012-05-04 14:23:49 · 712 阅读 · 0 评论 -
grep 命令详解
相信grep是UNIX和LINUX中使用最广泛的命令之一。grep(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集。grep有三种变形,即:grep:标准grep命令,本章大部分篇幅集中讨论此格式。egrep:扩展grep,支持基本及扩展的正则表达式,但不支持\q模式范围的应用,与之相对应的一些更加转载 2012-04-20 15:36:51 · 2695 阅读 · 0 评论 -
PHP + Memcache 实现多服务器session共享
很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么php默认的files保存session的方式就无能为力了。这时我们可以考虑使用memcache 来接管session的保存与读取工作。第一步:我们需要在服务器上搭建必要的环境php 、web server的安装不是主题就不多说了,其他还需要的是 memcached 服务端、php_memca原创 2012-04-26 01:07:10 · 3237 阅读 · 0 评论 -
查询Linux系统是32位还是64位
查询Linux系统的位数在我们平常使用过程中经常会遇到需要查询linux系统位数的情况,以下为我平常判断的两种方法,仅供参考。1、直接看看有没有/lib64目目录的方法。64位的系统会有/lib64和/lib两个目录,32位只有/lib一个。2、查询系统参数:getconf LONG_BIT32位的系统中int类型和long类型一般都是4字节,64位的系统中in转载 2012-04-25 00:12:29 · 784 阅读 · 0 评论 -
linux下硬盘uuid查看及修改设置
<br />查看硬盘UUID方法一:ls -l /dev/disk/by-uuid<br />方法二:blkid /dev/sda5<br /> <br />修改硬盘UUID:<br /> <br />uuidgen 会返回一个合法的 uuid,结合 tune2fs 可以新生成一个 uuid 并写入 ext2,3,4 分区中:<br />比如新建或改变 sda5 的 uuid (需要 root 权限)uuidgen | xargs tune2fs /dev/sda5 -U<br />你也可以把转载 2011-04-23 01:40:00 · 40245 阅读 · 0 评论 -
linux下 tar解压 gz解压 bz2等各种解压文件使用方法
<br />大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!<br /><br /> .tar<br /> 解包:tar xvf FileName.tar<br /> 打包:tar cvf FileName.tar DirName<br /> (注:tar是打包,不是压缩!)<br /> ———————————————<br /> .gz<br />转载 2011-04-22 11:15:00 · 701 阅读 · 0 评论 -
FreeBSD下安装MySQL+Apache+PHP
众所周知,FreeBSD 提供了软件的 ports 安装方式,可以很方便的定制安装所需要的应用软件.当我们装好系统之后,当然首先想到是配置 web 服务器,FreeBSD 默认标准安装并没有安装 apache,mysql 和 php,所以就要亲自动手安装了.ports 安装方式的好处在于,不会像 LINUX 那样,由于一个依懒包或者库文件而导至不得不到处找依懒包或库文件,下载下来全部装好再来装需要转载 2009-08-29 14:05:00 · 1140 阅读 · 0 评论 -
FreeBSD下安装mysql+apache+php
一、安装MYSQL#pw groupadd mysql 先建立mysql组#pw useradd -g mysql mysql -s /nonexitent 建立用户mysql#cd /usr/ports/databases/mysql40-server#make install clean有很多朋友没有起动起来mysql,有很多是因为没有设置权限造成的,比如我前些天老是出现转载 2009-08-29 13:21:00 · 905 阅读 · 0 评论 -
在FreeBSD下安装VMware Tools
测试环境:FreeBSD7.0 + VMware Workstation 6.0 VMware提供了freebsd.iso这个文件,可以在vmware的安装目录中找到。如果你使用的是绿色版的话可能会没有,你只要在百度搜索VMware tools for FreeBSD就可得到下载地址。下载后把文件名改为freebsd.iso,然后放入vmware安装目录下,不然下面会有错误。FreeB转载 2009-08-28 20:17:00 · 7289 阅读 · 0 评论 -
解决VMWare中FreeBSD时间同步问题
最近在VMWare上学习FreeBSD,发现FreeBSD的时间总是不准,正常时间1分钟,BSD上才走大约半分钟,偏移得厉害。用ntpdate或ntpd都不能校正,无法正常同步时间。VMWare下普遍存在虚拟机CPU时钟频率慢于标准频率的BUG,导致虚拟机系统时间不准确甚至出现大幅度的偏移。在虚拟Windows系统下可以通过安装VMWare Tools并开启时间同步功能解决。但是在FreeBS转载 2009-08-27 19:07:00 · 1867 阅读 · 0 评论 -
FreeBSD下使用U盘实践经验
我是在VMware虚拟机中装的FreeBSD,装好后发现无法使用U盘,后来经过研究得出如下经验: 首先要插上你的U盘,这时FreeBSD中应该会显示USB设备已连接上的信息。如果没有的话要先确认VMware中是否启用了USB设备,点击VMware菜单栏中的“虚拟机”->“可移动设备”->“USB设备”,确认这个菜单项下面的“XXX 可移动磁盘(端口X)”前是否打了对勾。再说FreeBSD上原创 2009-08-25 20:06:00 · 3500 阅读 · 1 评论