linux过滤掉自己命令 linux日志查看过滤命令

linux中利用相关命令显示出系统中当前内核的版本号同时过滤掉系统其他信息

-aux 和top看了yexic的回答我似乎理解了问题要问的什么了,问题的应该是查看当前进程的命令和动态查看进程的命令。如果问题是这样的话答案就是ps 和top,如果还是你问的那样的话就应该只用ps命令就可以查看了加上参数-aux,用了这个命令过后主要查看STAT那一列如果是S那么该进程为停止状态,如果为T那么是正在侦测或者是停止状态,如果为Z那么就是僵尸程序,为Z的要kill掉,没用的R为可执行的状态。但我想应该是ps 和top这两个命令

创新互联专注于颍泉企业网站建设,成都响应式网站建设,商城网站定制开发。颍泉网站建设公司,为颍泉等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

3、7个运行级别、init 3

4、作用为与windows系统共享文件、配置文件为/etc/samba/smb.conf

5、不怎么理解,第二个空的答案应该是command options object

6、2代表最大的一个版本号,第二个位偶数的话为正式版,为基数则是测试版,第三个指定第二个数的补丁包。我的理解是这个答案,说实话没看懂他想问的是什么。

7、容量和文件

8、mount、umount

9、/dev、/etc

10、/、swap

11、pwd、cd、/、./或者../

12、重定向命令吧,格式是这样的cat world.txt hello.txt 就为重定向符号为追加,为替换。

13、r读、w写、x执行

14、service 进程名 start,和/etc/init.d/进程名 start

15、ls -l

16、mv cjh.txt wjz.txt

简答题:

1、有三种方法,分别是man,info,和--help

使用方法分别为man ls获取ls命令的帮助

info ls 获取ls命令的帮助

ls --help简单的查看ls命令的参数信息

2、-rw- r-- r-- aaa root Jul 15 17:31 abc.txt

里面的第一个字符-表示abc.txt为普通文档后面的rw- r-- r--里面rw-表示u-user(这里是aaa)拥有者的权限是rw读写权限;r--表示g-group(这里是root组)所属组的成员拥有的权限为r读的权限;r--表示o-other其他用户(这里是出了aaa,和root组里面的用户以外的用户)有r读的权限。

3、1)、解压源码包

2)、解压后会有一个readme类似的文档

3)、根据文档查看软件安装时需要的环境变量,照着做完过后make测试一下。

4)、测试成功过后make install即可

源码包安装我只装过一次所以我知道的就这些,你也可以去网上搜一下具体一点的方法

4、1)、创建分区来给配额做准备,创建好后记得格式化,支持磁盘配额的文件系统只有ext2、ext3、ext4这几个。所以格式化的时候也只能格式化成这几个之中的其中之一,格式化文件系统用mkfs命令,-t指定文件系统类型。这里以/dev/sda4为新创建的分区。

2)、创建挂载点mkdir /quota挂载点可以自己取名

3)、挂载分区(文件系统)mount -o usrquota,grpquota /dev/sda4 /quota

4)、检查分区是否具备配额的要求quotacheck -cugm /dev/sda4

5)、激活配额,可以有两种方法quotaon -a激活所有可以配额的分区。quotaon /dev/sda4激活指定分区的。

6)、为指定用户设置配额:edquota -u user配置好后即可

5、1)lvm需要多个磁盘,但是linux多个分区就可以当成是不同的磁盘,所以这里要先创建分区,用fdisk创建两个分区,一个也行,两个更具有代表性。并且要把分区的文件系统类型设置为8e,8e既是 Linux LVm。这里假设新建的两个分区为/dev/sda5和/dev/sda6

2)、创建物理卷。用pvcreate命令如pvcreate /dev/sda5 /dev/sda6

3)、创建卷组。用vgcreate命令例:vgcreate myvg /dev/sda5 这里是创建一个名叫myvg的卷组,而且在一个卷组里面vgcreate只能用一次,要添加新的物理卷到这个卷组里面要用vgextend命令例:vgextend myvg /dev/sda6把/dev/sda6添加到myvg这个卷组里面,

4)、创建逻辑卷。用lvcreate命令例:lvcreate -n mylv -L 100M myvg从卷组myvg里面读取100M的空间来创建一个叫mylv的逻辑卷。

5)、格式化文件系统,mkfs命令。

6)、挂载LVM。首先创建挂载点mkdir /lvm,然后挂载mount /dev/myvg/mylv /LVM就可以挂载上去了,也可以这样挂载mount /dev/mapper/myvg-mylv /LVM效果一样。

另外,站长团上有产品团购,便宜有保证

linux下编程实现用户命令过滤功能

你可以这样做:

(1)为Server的那些使用者建立单独的账户,例如:user01、user02....等等(可以给每个人建立一个单独的账户。当然,为了使系统中的账户不至于太多而导致难以管理,也可以按照他们所在的部门、项目组(或工作组)、或是其它分类方式去建立账户)。

(2)对每个账户下的$HOME/.profile文件或者是$HOME/.cshrc文件(视不同用户的SHELL来决定,例如:bsh和sh就是.profile,csh就是.cshrc),用

chown root:root ... (例如: chown root:root .cshrc)

命令将它们改成root用户及属组所有,只有root用户才可以更改它们。

(3)在每个用户的$HOME/.profile或是$HOME/.cshrc等shell环境配置文件中,将你认为是危险的命令做以下的转换:

alias 命令名='echo 管理员不运行执行该命令'

例如: alias format='echo 管理员不运行执行该命令'

这样这些用户就无法执行你限定的命令,执行之后都显示“管理员不运行执行该命令”。

如果觉得改.profile或是.cshrc文件不保险,还可以在每个用户的$HOME下建立.login文件,也用上述的方法将它改成root用户属组的,在里面加入

alias 命令名='echo 管理员不运行执行该命令'

效果更好。

----看到了你的问题追加。我觉得要是大家都只能使用root账户,那么这个系统的规划是否合理?假如一定都要使用root账户的话,对于每个用户在键入命令的过程中,你很难去捕获他们都正在敲入什么命令。只有等他们在命令行上都输入完了,回车确认之后才可能去发现他们执行的进程。假如真有这样的一个监控程序在你的系统中,就算是监控到了,那么那些进程已经开始运行了,对很多人来说已经是无法收拾了,只有及时的杀掉那些进程了。建议你把敏感的命令给rename了算了,例如mv format frmt

----呵呵,你也够执着的。既然一定要写个程序,那我就说说大概的思路吧!具体的程序代码你可以自己去写,这样也有些成就感。:)

不过我能保证,就算采用这样的做法也不会取得什么好的效果,尤其是大家都使用root账户。我用unix类操作系统近十年,听我一句劝告不会有什么害处啊!

程序思路:

(1)定义你的敏感命令列表(可以赋值给一个字符串数组)。

(2)获取你本人在系统中当前的tty编号,以及你自己的IP地址(你是从哪个IP地址发起的telnet?如果你本人使用Console,也需要如此)。

(3)按照你的敏感命令列表,循环检测除了自己的tty及IP地址之外的,其它tty及IP地址发起的敏感命令进程,如果发现,立即予以kill -9。并向相应的tty发送警告信息。

注意:这个循环是无限循环;这个程序是一个守护进程(Daemon)。除非接到进程中止信号,否则它将一直运行。这样做的缺点是,循环检测并杀掉那些敏感进程的过程并不能确保实时性,在发现相应的进程时,那些进程可能已经运行了一小段时间,尽管这段时间非常非常的短,但是也可能已经产生了效力甚至是危害。不过,这也是没办法的事情了。谁要你非要这样呢?

linux grep查询结果再过滤

grep查询过滤需要使用管道命令|。

举例说明:

1、在进程表中查找特定进程的命令通常如下:

输出时,不仅会输出将要查找的进程数据,清空包括grep进程本身的数据,因为查找串包含在grep调用中。过滤grep本身方法有:

-v:表示忽略grep本身。

2、还有一个方法:

即将要查找的串变为一个正则表达式。因为grep进程的条目显示处理命令优先于正则表达式([s]ome_string)。当grep命令运行时,grep进程自身的条目不匹配,就没有包括在输出中了。

使用egrep一次查找多个串:

Linux:为什么查找进程的时候要过滤掉grep呢?

因为你查找进程用到了grep命令,而这个命令执行的时候带有你查找的进程参数,同时这也是一个进程。

例如 这条命令 ps -ef | grep http 其实是分两步执行的 先执行ps -ef 再执行 grep http 这个命令本身执行的时候也是一个进程,并把也带有http。

所以你要查找http进程,需要把 grep http这个进程过滤掉,才是最后的结果,怎么过滤呢,肯定不能用http做关键字,只能用grep做关键字

也就是说查找http进程的话,这样写

ps -ef | grep http | grep -v grep

Linux常用指令---grep(搜索过滤)(转)

Linux常用指令---grep(搜索过滤) (转)

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

1.命令格式:

grep [option] pattern file

2.命令功能:

用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

3.命令参数:

-a   --text   #不要忽略二进制的数据。   

-A显示行数   --after-context=显示行数   #除了显示符合范本样式的那一列之外,并显示该行之后的内容。   

-b   --byte-offset   #在显示符合样式的那一行之前,标示出该行第一个字符的编号。   

-B显示行数   --before-context=显示行数   #除了显示符合样式的那一行之外,并显示该行之前的内容。   

-c    --count   #计算符合样式的列数。   

-C显示行数    --context=显示行数或-显示行数   #除了显示符合样式的那一行之外,并显示该行之前后的内容。   

-d 动作      --directories=动作   #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。   

-e范本样式  --regexp=范本样式   #指定字符串做为查找文件内容的样式。   

-E      --extended-regexp   #将样式为延伸的普通表示法来使用。   

-f规则文件  --file=规则文件   #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。   

-F   --fixed-regexp   #将样式视为固定字符串的列表。   

-G   --basic-regexp   #将样式视为普通的表示法来使用。   

-h   --no-filename   #在显示符合样式的那一行之前,不标示该行所属的文件名称。   

-H   --with-filename   #在显示符合样式的那一行之前,表示该行所属的文件名称。   

-i    --ignore-case   #忽略字符大小写的差别。   

-l    --file-with-matches   #列出文件内容符合指定的样式的文件名称。   

-L   --files-without-match   #列出文件内容不符合指定的样式的文件名称。   

-n   --line-number   #在显示符合样式的那一行之前,标示出该行的列数编号。   

-q   --quiet或--silent   #不显示任何信息。   

-r   --recursive   #此参数的效果和指定“-d recurse”参数相同。   

-s   --no-messages   #不显示错误信息。   

-v   --revert-match   #显示不包含匹配文本的所有行。   

-V   --version   #显示版本信息。   

-w   --word-regexp   #只显示全字符合的列。   

-x    --line-regexp   #只显示全列符合的列。   

-y   #此参数的效果和指定“-i”参数相同。

4.规则表达式:

grep的规则表达式:

^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。    

$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。    

.  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。    

*  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。    

.*   #一起用代表任意字符。   

[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。    

[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    

\(..\)  #标记匹配字符,如'\(love\)',love被标记为1。    

\      #锚定单词的开始,如:'\

\      #锚定单词的结束,如'grep\'匹配包含以grep结尾的单词的行。    

x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。    

x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。    

x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。   

\w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   

\W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。   

\b    #单词锁定符,如: '\bgrep\b'只匹配grep。  

POSIX字符:

为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。

[:alnum:]    #文字数字字符   

[:alpha:]    #文字字符   

[:digit:]    #数字字符   

[:graph:]    #非空字符(非空格、控制字符)   

[:lower:]    #小写字符   

[:cntrl:]    #控制字符   

[:print:]    #非空字符(包括空格)   

[:punct:]    #标点符号   

[:space:]    #所有空白字符(新行,空格,制表符)   

[:upper:]    #大写字符   

[:xdigit:]   #十六进制数字(0-9,a-f,A-F)  

5.使用实例:

实例1:查找指定进程

命令:

ps -ef|grep svn

输出:

[root@localhost ~]# ps -ef|grep svn

root 4943   1      0  Dec05 ?   00:00:00 svnserve -d -r /opt/svndata/grape/

root 16867 16838  0 19:53 pts/0    00:00:00 grep svn

[root@localhost ~]#

说明:

第一条记录是查找出的进程;第二条结果是grep进程本身,并非真正要找的进程。

实例2:查找指定进程个数

命令:

ps -ef|grep svn -c

ps -ef|grep -c svn

输出:

[root@localhost ~]# ps -ef|grep svn -c

2

[root@localhost ~]# ps -ef|grep -c svn 

2

[root@localhost ~]#

说明:

实例3:从文件中读取关键词进行搜索

命令:

cat test.txt | grep -f test2.txt

输出:

[root@localhost test]# cat test.txt 

hnlinux

peida.cnblogs.com

ubuntu

ubuntu linux

redhat

Redhat

linuxmint

[root@localhost test]# cat test2.txt 

linux

Redhat

[root@localhost test]# cat test.txt | grep -f test2.txt

hnlinux

ubuntu linux

Redhat

linuxmint

[root@localhost test]#

说明:

输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行

实例3:从文件中读取关键词进行搜索 且显示行号

命令:

cat test.txt | grep -nf test2.txt

输出:

[root@localhost test]# cat test.txt 

hnlinux

peida.cnblogs.com

ubuntu

ubuntu linux

redhat

Redhat

linuxmint

[root@localhost test]# cat test2.txt 

linux

Redhat

[root@localhost test]# cat test.txt | grep -nf test2.txt

1:hnlinux

4:ubuntu linux

6:Redhat

7:linuxmint

[root@localhost test]#

说明:

输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行,并显示每一行的行号

实例5:从文件中查找关键词

命令:

grep 'linux' test.txt

输出:

[root@localhost test]# grep 'linux' test.txt 

hnlinux

ubuntu linux

linuxmint

[root@localhost test]# grep -n 'linux' test.txt 

1:hnlinux

4:ubuntu linux

7:linuxmint

[root@localhost test]#

说明:

实例6:从多个文件中查找关键词

命令:

grep 'linux' test.txt test2.txt

输出:

[root@localhost test]# grep -n 'linux' test.txt test2.txt 

test.txt:1:hnlinux

test.txt:4:ubuntu linux

test.txt:7:linuxmint

test2.txt:1:linux

[root@localhost test]# grep 'linux' test.txt test2.txt 

test.txt:hnlinux

test.txt:ubuntu linux

test.txt:linuxmint

test2.txt:linux

[root@localhost test]#

说明:

多文件时,输出查询到的信息内容行时,会把文件的命名在行最前面输出并且加上":"作为标示符

实例7:grep不显示本身进程

命令:

ps aux|grep \[s]sh

ps aux | grep ssh | grep -v "grep"

输出:

[root@localhost test]# ps aux|grep ssh

root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0 

root  16901  0.0  0.0  61180   764 pts/0  S+   20:31   0:00 grep ssh

[root@localhost test]# ps aux|grep \[s]sh]

[root@localhost test]# ps aux|grep \[s]sh

root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0 

[root@localhost test]# ps aux | grep ssh | grep -v "grep"

root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0

说明:

实例8:找出已u开头的行内容

命令:

cat test.txt |grep ^u

输出:

[root@localhost test]# cat test.txt |grep ^u

ubuntu

ubuntu linux

[root@localhost test]#

说明:

实例9:输出非u开头的行内容

命令:

cat test.txt |grep ^[^u]

输出:

[root@localhost test]# cat test.txt |grep ^[^u]

hnlinux

peida.cnblogs.com

redhat

Redhat

linuxmint

[root@localhost test]#

说明:

实例10:输出以hat结尾的行内容

命令:

cat test.txt |grep hat$

输出:

[root@localhost test]# cat test.txt |grep hat$

redhat

Redhat

[root@localhost test]#

说明:

实例11:输出ip地址

命令:

ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"

输出:

[root@localhost test]# ifconfig eth0|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"

inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0

[root@localhost test]# ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"

inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0

[root@localhost test]#

说明:

实例12:显示包含ed或者at字符的内容行

命令:

cat test.txt |grep -E "ed|at"

输出:

[root@localhost test]# cat test.txt |grep -E "peida|com"

peida.cnblogs.com

[root@localhost test]# cat test.txt |grep -E "ed|at"

redhat

Redhat

[root@localhost test]#

说明:

实例13:显示当前目录下面以.txt 结尾的文件中的所有包含每个字符串至少有7个连续小写字符的字符串的行

命令:

grep '[a-z]\{7\}' *.txt

输出:

[root@localhost test]# grep '[a-z]\{7\}' *.txt

test.txt:hnlinux

test.txt:peida.cnblogs.com

test.txt:linuxmint

[root@localhost test]#

实例14:日志文件过大,不好查看,我们要从中查看自己想要的内容,或者得到同一类数据,比如说没有404日志信息的

命令:

grep '.' access1.log|grep -Ev '404'  access2.log

grep '.' access1.log|grep -Ev '(404|/photo/|/css/)'  access2.log

grep '.' access1.log|grep -E '404'  access2.log

输出:

[root@localhost test]# grep “.”access1.log|grep -Ev “404”  access2.log

说明:上面3句命令前面两句是在当前目录下对access1.log文件进行查找,找到那些不包含404的行,把它们放到access2.log中,后面去掉’v’,即是把有404的行放入access2.log

Linux运维必学命令之文件过滤!Linux入门

熟悉Linux运维工作的小伙伴们都知道,在Linux操作系统中,除了Cat、tac、more、less等命令之外,还有很多用于文本查看的命令,比如head、tail等,本文将为大家详细的介绍一下。

cat:合并文件或查看文件内容

tac:反向显示文件内容

more:分页显示文件内容

less:分页显示文件内容

head:显示文件内容头部

tail:显示文件内容尾部

tailf:跟踪日志文件

cut:从文本中提取一段文字并输出

split:分割文件

paste:合并文件

sort:文本排序

join:按两个文件的相同字段合并

uniq:去除重复行

wc:统计文件的行数、单词数或字节数

iconv:转换文件的编码格式

dos2unix:将DOS格式文件转换成UNIX格式

diff:比较两个文件的不同

vimdiff:可视化比较工具

rev:反向输出文件内容

tr:替换或删除字符

od:按不同进制显示文件

tee:多重定向

vi/vim:纯文本编辑器


分享标题:linux过滤掉自己命令 linux日志查看过滤命令
本文链接:http://azwzsj.com/article/hgpcce.html