生产环境CentOS6.x服务器初装后的配置

#!/bin/bash   #  #selinux配置#     setenforce 0     grep -iE 'SELINUX=enforcing' /etc/selinux/config ; [ $? -eq 0 ] && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config     getenforce   #  #防火墙 iptables 配置#     iptables -F     /etc/init.d/iptables save     iptables -vnL       #  #精简开机自启动服务, 刚装完操作系统可以只保留crond,network,rsyslog,sshd这四个服务。(Centos6.7为rsyslog)此命令本人没经过测试,请慎用#     #for i in `chkconfig –list|grep 3:on|awk '{print $1}'` ; do…

Continue Reading

Shell重定向&>file、2>&1、1>&2的区别

        在UNIX/Linux系统中,每个打开的文件都有系统赋予的一个文件描述字,这是个小整数。一个文件被打开后,用户可以直接用这个描述字来引用对应的文件。系统为每个进程自动打开三个标准文件(即标准输入、标准输出和标准错误输出),其文件描述字分别为0,1和2。   shell上: 0表示标准输入 1表示标准输出 2表示标准错误输出 > 默认为标准输出重定向,与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中   用例子说话: 1. grep da * 1>&2 2. rm -f $(find / -name core) &> /dev/null 上面两例中的 & 如何理解,&不是放到后台执行吗?   牛解:   1.&>file或n>&m均是一个独立的重定向符号,不要分开来理解。   2.明确文件和文件描述符的区别。   3.&>file表示重定向标准输出和错误到文件 例如: rm -f $(find /…

Continue Reading

Linux查看文件属性的几种方法

    Linux下查看文件属性有多种方法,且这些方法中偏向不同,具体如下:   1  ls     ls -a 查看所有文件     ls -l 查看详细的属性      [pc@li1209-91 ~]$ ls -a ; ls -l . .. bak .bash_history .bash_logout .bash_profile .bashrc .lesshst .lftp lujiaz .ssh .viminfo wordpress wp-ueditor total 16 drwxrwxr-x 3 pc pc 4096 Sep 10 12:37 bak drwxr-xr-x 4 nginx root 4096 Jul 7 20:30…

Continue Reading

WordPress迁移至VPS的那些坑

一、背景简介 linode VPS买了两年多了,一直做shadowsocks翻墙用,上个月linode帮我免费升级到2GB内存,感觉VPS性能实在浪费,于是就想把之前bluehost的WordPress网站迁移到linode VPS,网上搜了很多教程,被坑了很多次,最终转移成功,下面介绍整个迁移过程(此站点peloo.net就是从owemeawe.com迁移过来的),顺便帮助下有需要或者正在困惑的朋友。   二、系统环境 1  旧网站配置信息 一个之前买的bluehost虚拟主机,上面傻瓜安装了WordPress。   2  新主机配置信息 [pc@li1209-91 ~]$ uname -a ; nginx -v ; mysql -V ; php -v Linux li1209-91.members.linode.com 4.6.5-x86_64-linode71 #2 SMP Fri Jul 29 16:16:25 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux nginx version: openresty/1.9.7.5 mysql Ver 14.14 Distrib 5.5.48, for Linux (x86_64) using readline 5.1 PHP…

Continue Reading

shell之too many arguments的解决方法

    新手在编写脚本时候,在做字符比对容易出现“too many arguments”报错,比如下面的代码: [pc@S5 Desktop]$ [ -n `ps aux | grep sshd` ] && echo test code bash: [: too many arguments 解决方法一: [pc@S5 Desktop]$ [[ -n `ps aux | grep sshd` ] ] && echo test code 解决方法二: [pc@S5 Desktop]$ [ -n ”`ps aux | grep sshd`“ ] && echo test code 我一般都用第二种方法,对变量加上双引号容错性强

Continue Reading

Linux File System浅析

    折腾了Linux这么久,对磁盘存储也吃了不少亏,现在总结点Linux文件系统方面的东西。   一、硬件层面       一个真实的机械硬盘物理结构大致如下图所示:   其中磁头和盘片之间的距离是微米数量级,且磁盘内部是真空封闭的,一旦有空气进入,硬盘很容易故障。 对磁盘盘片上的抽象图如下图所示:       在磁盘盘片上主要有三部分划分:     track:磁道,以转轴为中心,划分了许多同心圆,每个圆命名为一个磁道,类似体育场上的跑道     sector:扇区,相邻两个磁道之间的区域,又被划分许多区域,叫做扇区     cynlinder:柱面,对于多盘片的硬盘来说,由于臂杆和磁头固定,为了分区方便,引入柱面概念,一个分区的开始和结束都以柱面进行标识   二、软件层面 典型的ext 文件系统在格式化的时候基本上会划分为多个块组(Block Group)的,每个块组都有独立的 inode/block/super block 系统,整体展示图如下,   其中各块的含义如下: MBR:master boot record,硬盘的主引导记录,前446字节存放主引导程序,中间64字节存放分区表信息(主分区+扩展分区<=4),最后2个字节是结束标志位。 Super Block:记录此文件系统的整体系统,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统类型等。 Group Descriptor Table:文件系统描述说明,描述每个 block group 的开始与结束的 block 号码。 Block Bitmap:块对照表,用来快速寻找可用的 block 块。…

Continue Reading

sed删除行首行尾的空格和Tab

在Linux下处理一些文本字符串时候,往往会遇到行首行末一些空格和tab干扰最终处理结果,现留一手供以后不时之需。   1  sed去除行首空格和tab 命令:  sed -e 's/^[ \t]*//g' file 说明:  ^号代表匹配行的开头,中括号里包含空格和tab字符集,*号代表中括号里的字符集出现0次或多次   2  sed去除行末空格和tab 命令:  sed -e 's/[ \t]*$//g' file 说明:  $号匹配在行尾出现的前面提到的字符集   此外,可以合并两个命令一次性去除行首、行末的空格和tab 命令:  sed  -e 's/^[ \t]*//g’  -e ‘s/[ \t]*$//g' file  

Continue Reading

lsof命令详解

Lsof是遵从Unix哲学的典范,它只完成一个功能,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件、目录、NFS文件、块文件、字符文件、共享库、常规管道、命名管道、符号链接、Socket流、网络Socket、UNIX域Socket,以及其它更多类型。因为“一切皆文件”乃为Unix系统的重要哲学思想之一,因此可以想象lsof命令的重要地位。 lsof [options] filename lsof  /path/to/somefile:显示打开指定文件的所有进程之列表 lsof -c string:显示其COMMAND列中包含指定字符(string)的进程所有打开的文件;此选项可以重复使用,以指定多个模式; lsof -p PID:查看该进程打开了哪些文件;进程号前可以使用脱字符“^”取反; lsof -u USERNAME:显示指定用户的进程打开的文件;用户名前可以使用脱字符“^”取反,如“lsof -u ^root”则用于显示非root用户打开的所有文件; lsof -g GID:显示归属gid的进程情况 lsof +d /DIR/:显示指定目录下被进程打开的文件 lsof +D /DIR/:基本功能同上,但lsof会对指定目录进行递归查找,注意这个参数要比grep版本慢: lsof -a:按“与”组合多个条件,如lsof -a -c apache -u apache lsof -N:列出所有NFS(网络文件系统)文件 lsof -d FD:显示指定文件描述符的相关进程;也可以为描述符指定一个范围,如0-2表示0,1,2三个文件描述符;另外,-d还支持其它很多特殊值,如:     mem: 列出所有内存映射文件;     mmap:显示所有内存映射设备;     txt:列出所有加载在内存中并正在执行的进程,包含code和data;     cwd:正在访问当前目录的进程列表; lsof -n:不反解IP至HOSTNAME lsof -i:用以显示符合条件的进程情况 lsof -i[46] [protocol][@hostname|hostaddr][:service|port]    …

Continue Reading

awk命令详解

一、简介     Linux下必须掌握的三大文本处理工具: 1  grep: 文本过滤器 2  sed:流编辑器 3  awk: 报告生成器 AWK是以 a.k.a. Aho, Kernighan and Weinberger三位开发者命名,它是个强大的报告生成器,只有你没想到的,没有它做不到的。  基本用法: # awk [options] 'script' file1 file2, … # awk [options] 'PATTERN { action }' file1 file2, …     print, printf 二、具体用法 1. 模式和操作 awk脚本是由模式和操作组成的: pattern {action} 如$ awk '/root/' test,或$ awk '$3 < 100' test。 两者是可选的,如果没有模式,则action应用到全部记录,如果没有action,则输出匹配全部记录。默认情况下,每一个输入行都是一条记录,但用户可通过RS变量指定不同的分隔符进行分隔。 1.1….

Continue Reading

grep命令详解

grep三大家族:grep egrep fgrep 一、基本用法 grep [options] PATTERN [FILE…]     -i ignore case     –color     -v reverse     -o only print match string     -c  计算找到行的数目     -w  只匹配单词     -q  安静模式,不输出任何信息,即使是检测到错误,而是立即返回状态0(如果匹配到的话) TIP: alias grep='grep –color'   二、正则表达式 RegExp:  regular expression 正则表达式     ^ 表示一行的开头。如:/^#/ 以#开头的匹配。     $ 表示一行的结尾。如:/}$/ 以}结尾的匹配。     \<…

Continue Reading