Linux下查找文件内容

 

Linux查找文件内容的常用命令方法:

 

1、从文件内容查找匹配指定字符串的行:

$ grep “被查找的字符串” 文件名

 

2、从文件内容查找与正则表达式匹配的行:

$ grep –e “正则表达式” 文件名

 

3、查找时不区分大小写:

$ grep –i “被查找的字符串” 文件名

 

4、查找匹配的行数:

$ grep -c “被查找的字符串” 文件名

 

5、从文件内容查找不匹配指定字符串的行:

$ grep –v “被查找的字符串” 文件名

 

6、从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name “*.log” | xargs grep “ERROR”

 

7、例子 :查找/SqLogs/access.log文件中包含”.exe” 或者”TCP_DENIED”的记录

方法1:grep /SqLogs/access.log –e “.exe”

grep /SqLogs/access.log –e “TCP_DENIED”

方法2:find /SqLogs –type f –name access.log | xargs grep “.exe”

find /SqLogs –type f –name access.log | xargs grep “TCP_DENIED”

 

ArchLinux包管理器pacman和yaourt简明用法

1.升级系统

pacman -Syu

2.升级系统,附带升级从aur安装的软件包

yaourt -Syu –aur

注:这条命令的确切意思是升级系统,从AUR升级本地软件数据库并安装更新。

3.安装包

pacman -S package_name
pacman -Sf package_name #重新安装软件包

4.只下载你要的包

pacman -Sw package_name

5.安装下载的包到指定目录

pacman -U /path/to/package/package_name-version.pkg.tar.gz

6.删除已安装的软件

pacman -R package_name
pacman -Rs package_name #卸载包的同时卸载相关依赖

注:-R和-Rs参数同样适用于yaourt。

7.查找包

pacman -Ss package
yaourt foo #会列出所有匹配foo的包,用户可选择安装。

8.查看本地包

pacman -Qi package #显示包信息
pacman -Ql package #显示包安装位置

9.清空cache

pacman -Scc

用pacman 安装的时候,下的包会在/var/cache 这个目录,你会发现这个文件夹很大

yaourt的其他用法:

yaourt -Si package_name #列出软件包信息
yaourt -Sc #从缓存中清楚旧的软件包
yaourt -Su #安装AUR中的更新软件包
yaourt -Sy #获取最新的AUR软件包数据库
yaourt -Cd #清除AUR软件包数据库

 

ArchLinux安装要点

1.安装文件包时记得设置DNS。

2.安装完成后首先设置Pacman镜像
nano /etc/pacman.d/mirrorlist
找到CN,去掉Server前面的#,Ctrl+X退出。

3.更新源列表,执行:

pacman -Syu

4.设置签名全部信任(如不设置会十分麻烦)
nano /etc/pacman.conf
在 Architecture = auto 下新增

SigLevel = Optional TrustAll

5.更新系统

pacman -Sy pacman
pacman -Su

6.安装yaourt(32位系统)
nano pacman.conf 最后添加:

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

然后执行 pacman -Sy yaourt curl

ArchLinux上关闭IPv6的方法

IPv6日历历在目,为啥要关呢?我归纳为:洁癖,这和性能或内存啥的没关系。所谓的洁癖是指执行

netstat -lntp

类命令时,输出能清爽一点。

:::*

实在太丑了!

不管怎样,让我们来看看怎样在Arch linux有有效的关闭

IPv6

吧…

正确方法

其实Arch linux的wiki专门介绍过关闭IPv6: Disabling IPv6, 但尝试后发现method1和method2都不管用,必须重新生成一个

initramfs

。对于像我这样的菜鸟,还是列出命令更实惠:

首先编辑

/etc/modprobe.d/modprobe.conf

,添加:

options ipv6 disable=1

然后编辑

/etc/mkinitcpio.conf

,添加:

FILES="/etc/modprobe.d/modprobe.conf"

最后执行命令,并重启:

sudo mkinitcpio -p linux

注意:

  1. 不确定这是最好的办法,因为要重启服务器
  2. 如果
    initramfs

    不是用默认的linux模板,那

    -p linux

    要做相应修改

Nginx全局变量释义

$args 此变量与请求行中的参数相等

$content_length 等于请求行的“Content_Length”的值。

$content_type 等同与请求头部的”Content_Type”的值

$document_root 等同于当前请求的root指令指定的值

$document_uri 与$uri一样

$host 与请求头部中“Host”行指定的值或是request到达的server的名字(没有Host行)一样

$limit_rate 允许限制的连接速率

$request_method 等同于request的method,通常是“GET”或“POST”

$remote_addr 客户端ip

$remote_port 客户端port

$remote_user 等同于用户名,由ngx_http_auth_basic_module认证

$request_filename 当前请求的文件的路径名,由root或alias和URI request组合而成

$request_body_file

$request_uri 含有参数的完整的初始URI

$query_string 与$args一样

$server_protocol 等同于request的协议,使用“HTTP/1.0”或“HTTP/1.1”

$server_addr request到达的server的ip,一般获得此变量的值的目的是进行系统调用。为了避免系统调用,有必要在listen指令中指明ip,并使用bind参数。

$server_name 请求到达的服务器名

$server_port 请求到达的服务器的端口号

$uri 等同于当前request中的URI,可不同于初始值,例如内部重定向时或使用index

本文出自 “学习要永恒” 博客