LINUX grep命令

LINUX grep命令
LINUX grep命令

Linux系统的学习过程中,会认识很多命令,记住这些命令会对你学习Linux系统,有很好的提高。你可能会看到grep命令,这里将介绍grep命令的知识。

1.作用

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

2.格式

grep [options]

3.主要参数

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

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

pattern正则表达式主要参数:

\:忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\<:从匹配正则表达式的行开始。

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。

。:所有的单个字符。

* :有字符,长度可以为0。

4.grep命令使用简单实例

$ grep ‘test’ d*

显示所有以d开头的文件中包含test的行。

$ grep ‘test’ aa bb c c

显示在aa,bb,cc文件中匹配test的行。

$ grep ‘[a-z]\{5\}’ a a

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep ‘w\(es\)t.*\1′ a a

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep 或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。

5.grep命令使用复杂实例

假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件:

$ grep magic /usr/src/Linux/Doc/*

sysrq.txt:* How do I enable the magic SysRQ key?

sysrq.txt:* How do I use the magic SysRQ key?

其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,’grep’只搜索当前目录。如果此目录下有许多子目录,’grep’会以如下形式列出:

grep: sound: Is a directory

这可能会使’grep’的输出难于阅读。这里有两种解决的办法:

明确要求搜索子目录:grep -r

或忽略子目录:grep -d skip

如果有很多输出时,您可以通过管道将其转到’less’上阅读:

$ grep magic /usr/src/Linux/Documentation/* | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。

下面还有一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

grep -C number pattern files :匹配的上下文分别显示[number]行,

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配pattern2 的行。

这里还有些用于搜索的特殊符号:

\< 和 \> 分别标注单词的开始与结尾。

例如:

grep man * 会匹配‘Batman’、’manic’、’man’等,

grep ‘\

grep ‘\’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

‘^’:指匹配的字符串在行首,

‘$’:指匹配的字符串在行尾,

6. 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)

7.Grep命令选项

-?

同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。

-b,--byte-offset

打印匹配行前面打印该行所在的块号码。

-c,--count

只打印匹配的行数,不显示匹配的内容。

-f File,--file=File

从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。

-h,--no-filename

当搜索多个文件时,不显示匹配文件名前缀。

-i,--ignore-case

忽略大小写差别。

-q,--quiet

取消显示,只返回退出状态。0则表示找到了匹配的行。

-l,--files-with-matches

打印匹配模板的文件清单。

-L,--files-without-match

打印不匹配模板的文件清单。

-n,--line-number

在匹配的行前面打印行号。

-s,--silent

不显示关于不存在或者无法读取文件的错误信息。

-v,--revert-match

反检索,只显示不匹配的行。

-w,--word-regexp

如果被<和>引用,就把表达式做为一个单词搜索。

-V,--version

显示软件版本信息。

8.实例

要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。

$ ls -l | grep '^a'

通过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*

显示所有以d开头的文件中包含test的行。

$ grep 'test' aa bb cc

显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]' aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep 'w(es)t.*' aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(),找到就显示该行。如果用egrep 或grep -E,就不用""号进行转义,直接写成'w(es)t.*'就可以了。

linux命令大全--分类汇总版

LINUX命令大全 一、通用命令 1、date :打印或者设置系统的日期和时间 2、stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、Ctrl-Z等) 3、passwd:用passwd -h查看 4、logout,login:登录shell的登录和注销命令 5、more,less,head tail:显示或部分显示文件内容 6、lp/lpstat/cancel,lpr/lpq/lprm:打印文件 7、chmod u+x:更改文件权限 8、rm -fr dir:删除非空目录 9、cp -R dir:拷贝目录 10、fg jobid :可以将一个后台进程放到前台 11、kill 的作用:send a signal to a process、eg:kill -9 发送的是SIG_KILL信号,具体发送什么信号可以通过man kill 查看、 12、ps 的用法,ps -e 或ps -o pid,ppid,session,tpgid,comm (其中session显示的sessionid,tpgid显示前台进程组id,comm显示命令名称) 二、常用命令 1、dpkg:package manager for Debian * 安装:dpkg -i package

* 卸载:dpkg -r package * 卸载并删除配置文件:dpkg -P |--purge package * 如果安装一个包时、说依赖某些库、可以先apt-get install somelib * 查看软件包安装内容:dpkg -L package * 查看文件由哪个软件包提供:dpkg -S filename * 另外dpkg还有dselect和aptitude 两个frontend 2、apt * 安装:apt-get install packs * 更新源:apt-get update * 升级系统:apt-get upgrade * 智能升级、安装新软件包,删除废弃的软件包:apt-get dist-upgrade * f --fix broken 修复依赖:apt-get -f install * 自动删除无用的软件:apt-get autoremove * 删除软件:apt-get remove packages * 删除包并清除配置文件:apt-get remove package --purge * 清除所以删除包的残余配置文件:dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P * 安装软件时候包的临时存放目录:/var/cache/apt/archives * 清除该目录:apt-get clean * 清除该目录的旧版本的软件缓存:apt-get autoclean

LINUX常用基础命令

Linux常用指令 (1)指令名称:pwd pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。 (2)指令名称:cd cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。 cd ..可进入上一层目录 cd -可进入上一个进入的目录 cd ~可进入用户的home目录 (3)指令名称:cp 使用方式: cp [options] source dest cp [options] source... directory 范例: 将档案aaa 复制(已存在),并命名为bbb : cp aaa bbb 将所有的C语言程式拷贝至Finished 子目录中: cp *.c Finished (4)名称:mv 使用方式:mv [options] source dest mv [options] source... directory 说明:将一个档案移至另一档案,或将数个档案移至另一目录。 参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。 范例: 将档案aaa 更名为bbb : mv aaa bbb 将所有的C语言程序移至Finished 子目录中: mv -i *.c /Finished 1 在线代理|网页代理|代理网页|https://www.360docs.net/doc/8614359394.html,

(5)指令名称: chmod 使用方式: chmod [-cfvR] [--help] [--version] mode file... 说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者、群组、其他。利用chmod 可以藉以控制档案如何被他人所存取。 mode : 权限设定字串,格式如下: [ugoa...][+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 范例:将档案file1.txt 设为所有人皆可读取: chmod ugo+r file1.txt 将档案file1.txt 设为所有人皆可读取: chmod a+r file1.txt 将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入: chmod ug+w,o-w file1.txt file2.txt 将ex1.py 设定为只有该档案拥有者可以执行: chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取: chmod -R a+r * 此外chmod也可以用数字来表示权限如chmod 777 file 语法为:chmod abc file 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。 范例: chmod a=rwx file 和chmod 777 file 效果相同 chmod ug=rwx,o=x file 和chmod 771 file 效果相同 若用chmod 4755 filename可使此程式具有root的权限 2 在线代理|网页代理|代理网页|https://www.360docs.net/doc/8614359394.html,

Linux常用命令

查询相关 find 按规则查找某个文件或文件夹,包括子目录 ?find . -name '*.sh' -- 以.sh结尾的文件 ?find . -name '*channel*' -- 包含channel字符的文件 ?find . -name 'build*' -- 以build开头的文件 ?find . -name 'abc??' -- abc后面有两个字符的文件 grep 查找内容包含指定的范本样式的文件,Global Regular Expression Print ?grep -n pattern files -- 规则-n表示显示行号 ?grep -n 'PostsActivity' AndroidManifest.xml ?grep -n '\d' AndroidManifest.xml ?grep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方 ?grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号 ?ps -e | grep java -- 所有java进程 ?ps -e | grep -i qq --所有qq进程,不区分大小写 ?find . -name '*channel.xml' | xargs grep -n 'aapt' -- 在以channel.xml 结尾的文件中查找包含‘aapt’关键字的地方 ?ls | grep 'channel' -- 包含channel关键字的文件 which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果?which zip ?which grep 查看命令 tail tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File] 从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。 ?tail -f test.log,循环查看文件内容,Ctrl+c来终止 ?tail -n 5 test.log,显示文件最后5行内容

Shell命令

Shell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 4.1.1 Shell 的基本概念 1. 什么是S hell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell 在L inux 系统中具有极其重要的地位,如图4-1 所示

第 4 章 Shell 与 V i 编辑器 - 71 - diff grep vi multitasking sh gcc device hardware interface kernn e l TCP/IP stack bash utilii t es 图 4-1 Linux 系统结构组成 2. Shell 的功能 Shell 最重要的功能是命令解释,从这种意义上来说,Shell 是一个命令解释器。Linux 系统中的所有可执行文件都可以作为 Shell 命令来执行。将可执行文件作一个分类,如表 4-1 所示。 表 4-1 可执行文件的分类 部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图 在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在 查找该命令时分为两种情况: 用户给出了命令路径,Shell 就沿着用户给出的路径查找,若找到则调入内存,若没有 则输出提示信息; 用户没有给出命令的路径,Shell 就在环境变量 PATH 所制定的路径中依次进行查找, 若找到则调入内存,若没找到则输出提示信息。 图 4-2 描述了 S hell 是如何完成命令解释的。

linux命令详解:pgrep命令

linux命令详解:pgrep 前言 经常要查看进程的信息,包括进程的是否已经消亡,通过pgrep来获得正在被调度的进程的相关信息。pgrep通过匹配其程序名,找到匹配的进程 重要选项 -l 同时显示进程名和PID -o 当匹配多个进程时,显示进程号最小的那个 -n 当匹配多个进程时,显示进程号最大的那个 注:进程号越大,并不一定意味着进程的启动时间越晚 使用说明 查看指定名称的进程信息 默认只显示PID 1: [root@master ~]# pgrep ssh 2: 3686 3: 7907 4: 8815 5: 12874 同时显示PID和ProcessName : –l 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd -o 当匹配多个进程时,显示进程号最小的那个 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd 6: [root@master ~]# pgrep -l -o sshd 7: 3686 sshd -n 当匹配多个进程时,显示进程号最大的那个 1: [root@master ~]# pgrep -l -n sshd 2: 12874 sshd 特别说明 1)pgrep相当于ps –eo pid,cmd | awk ‘{print $1,$2}’ | grep KeyWord 1: [root@master ~]# ps -eo pid,cmd | awk '{print $1,$2}' | grep init 2: 1 init 3: [root@master ~]# pgrep init 4: 1

ubuntu shell 使用命令大全

ubuntu shell 使用命令大全 前言 下面的命令大都需要在控制台/ 终端/ shell 下输入。 控制台, 终端, 和shell 意味着同样一件事- 一个命令行界面,他可以用来控制系统。 打开一个控制台: 应用程序--> 附件--> 终端 任何一个使用'sudo' 作为前缀的命令都需要拥有管理员(或root) 访问权限。所以你会被提示输入你自己的密码。 安装升级 查看软件xxx安装内容 dpkg -L xxx 查找软件库中的软件 apt-cache search 正则表达式 或 aptitude search 软件包 显示系统安装包的统计信息 apt-cache stats 显示系统全部可用包的名称 apt-cache pkgnames 显示包的信息 apt-cache show k3b 查找文件属于哪个包 apt-file search filename 查看已经安装了哪些包 dpkg -l 查询软件xxx依赖哪些包 apt-cache depends xxx 查询软件xxx被哪些包依赖 apt-cache rdepends xxx 增加一个光盘源 sudo apt-cdrom add 系统升级 sudo apt-get update (这一步更新包列表) sudo apt-get dist-upgrade (这一步安装所有可用更新) 或者 sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等) 清除所有已删除包的残馀配置文件 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。 dpkg: --purge needs at least one package name argument Type dpkg --help for help about installing and deinstalling packages [*]; Use `dselect' or `aptitude' for user-friendly package management; Type dpkg -Dhelp for a list of dpkg debug flag values; Type dpkg --force-help for a list of forcing options; Type dpkg-deb --help for help about manipulating *.deb files; Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*]. Options marked [*] produce a lot of output - pipe it through `less' or `more' ! 编译时缺少h文件的自动处理 sudo auto-apt run ./configure 查看安装软件时下载包的临时存放目录

Linux命令大全

Linux命令大全 1.主题 Linux命令大全。 2.摘要 本文分三篇介绍常用Linux命令,分别是入门篇、进阶篇和高级篇。 3.关键字 Linux。 4.作者 陈明辉。 5.简介 无。 6.背景 无。 7.具体内容 (一)入门篇 对于一个新手来说,如果计划从Windows换到Linux系统平台上来,或刚刚换到Linux上来,使用Linux命令来帮助执行所有任务是一个基础的途径。毫无疑问,在线文档,技术社区能提供很多相关的内容帮助,但是一篇文章收集到如何简单学习和理解Linux命令,这将会激发很多菜鸟掌握Linux和使用的积极性。 1)ls 首先ls命令,指列出目录内容(List Directory Contents)的意思。运行它可以列出文件夹里的内容。

“ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。 “ls -a”命令会列出文件夹里的所有内容,包括以“.”开头的隐藏文件。 注意:在Linux中,文件以“.”开头的就是隐藏文件,并且每个文件、文件夹,设备或者命令都是以文件对待。ls -l命令输出: 1.d (代表了是目录). 2.rwxr-xr-x是文件或者目录所属用户、用户组。 3.上面例子中第一个ravisaive代表了文件文件属于用户ravisaive 4.上面例子中的第二个ravisaive代表了文件文件属于用户组ravisaive 5.4096代表了文件大小为4096字节. 6.May 8 01:06代表了文件最后一次修改的日期和时间. 7.最后代表就是文件/文件夹的名字 2)lsblk “lsblk”就是列出块设备。除了RAM外,以标准的树状输出格式整齐地显示块设备。

Linux命令大全完整版

Linux命令大全完整版 目录 目录..................................................................... I 1. linux系统管理命令.. (1) adduser (1) chfn(change finger information) (1) chsh(change shell) (1) date (2) exit (3) finger (4) free (5) fwhois (5) gitps(gnu interactive tools process status) (5) groupdel(group delete) (6) groupmod(group modify) (6) halt (7) id (7) kill (8) last (8) lastb (8) login (9) logname (9) logout (9) logrotate (9) newgrp (10) nice (10) procinfo(process information) (11) ps(process status) (11) pstree(process status tree) (14) reboot (15)

rlogin(remote login) (16) rsh(remote shell) (16) rwho (16) screen (17) shutdown (17) sliplogin (18) su(super user) (18) sudo (19) suspend (19) swatch(simple watcher) (20) tload (20) top (21) uname (21) useradd (22) userconf (22) userdel (23) usermod (23) vlock(virtual console lock) (24) w (24) who (25) whoami (25) whois (25) 2. linux系统设置命令 (27) alias (27) apmd(advanced power management BIOS daemon) (27) aumix(audio mixer) (27) bind (29) chkconfig(check config) (29) chroot(change root) (30)

cat和grep指令

cat命令 功能1: 在标准输出上显示文件。 语法:cat [选项] 文件 说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。 该命令的各选项含义如下: -v 用一种特殊形式显示控制字符,LFD与TAB除外。 加了-v 选项后,-T 和-E 选项将起作用。其中: -T 将TAB显示为“ùI”。该选项需要与-v 选项一起使用。即如果没有使用-v 选项,则这个选项将被忽略。 -E 在每行的末尾显示一个$符。该选项需要与-v 选项一起使用。 -u 输出不经过缓冲区。 -A 等于-vET。 -t 等于-vT。 -e 等于-vE。 -n 在文件的每行前面显示行号。 指令实例: cat example.txt // 则在屏幕上显示出example.txt 文件的内容 cat -A exam2.txt // 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示 功能2:连接两个或多个文件 说明:该命令功能之二是用来将两个或多个文件连接起来。 cat file1 file2 > file3 // 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。 (此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容, 可以再使用“cat file3”。) 需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。 linux grep命令

1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始。 \>:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。 。:所有的单个字符。 * :有字符,长度可以为0。 4.grep命令使用简单实例 $ grep ‘test’ d* 显示所有以d开头的文件中包含test的行。 $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。 $ grep ‘[a-z]\{5\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $ grep ‘w\(es\)t.*\1′aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。 5.grep命令使用复杂实例 假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件: $ grep magic /usr/src/Linux/Doc/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? 其中文件’sysrp.txt’包含该字符串,讨论的是SysRQ 的功能。 默认情况下,’grep’只搜索当前目录。如果此目录下有许多子目录,’grep’会以如下形式列出:

Linux常用命令分类汇总

初学Linux时最让人觉得困惑的是有太多太多的命令需要去记,往往会出现想执行一个操作不知道用什么命令,知道命令却不知道该怎么用的时候,这里对Linux系统中的常用命令做一个简单的汇总,希望对初学的朋友有所帮助。 Linux命令的基本格式: command option parameter(object) command就是要执行的操作,option指出怎么执行这个操作,parameter则是要操作的对象。例如想查看一个目录的内容,“查看”是动作,“目录”是对象,如果加一个“详细”的话,那么“详细”就是选项了。 #ls -l /root ls: command -l: option /root:parameter 了解了这一点之后,我们即可知道:所有的命令都有其操作对象,也就是说命令的作用范围是有限的;同是,对于同一种对象,能在其上进行的操作也是特定的。因此,我们可以根据对象的不同而对Linux中的常用命令进行分类.(没有给出具体的用法,有时间再添加:-) ) 目录文件类命令: cd切换目录 dir显示目录内容 ls显示目录内容 cat显示文件内容,适合小文件 less分屏显示文件内容,可前后翻阅 more分屏显示文件内容,不可向前翻阅 head显示文件头部内容 tail显示文件尾部内容 touch创建文件或更新文件访问时间 mkdir创建目录 rmdir删除目录 rm删除文件或目录(-r) cp复制文件或目录 mv移动或改名 chown修改文件所有者 chgrp修改文件所属组 chmod修改文件目录权限 find查找文件或目录 tar打包工具 gzip/gunzip压缩工具 bzip2/bunzip2压缩工具 vi文本编辑工具 用户类命令: useradd添加用户

Linux grep命令的使用用法

Linux Grep用法 QUOTE: 原帖由"网中人" 发表: 比方以grep 来说, 在Linux 上你可找到grep, egrep, fgrep 这几个程序, 其差异大致如下: * grep: 传统的grep 程序, 在没有参数的情况下, 只输出符合RE 字符串之句子. 常见参数如下: -v: 逆反模示, 只输出"不含" RE 字符串之句子. -r: 递归模式, 可同时处理所有层级子目录里的文件. -q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取return value, 符合为true, 否则为false .) -i: 忽略大小写. -w: 整词比对, 类似\ . -n: 同时输出行号. -c: 只输出符合比对的行数. -l: 只输出符合比对的文件名称. -o: 只输出符合RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.) -E: 切换为egrep . * egrep: 为grep 的扩充版本, 改良了许多传统grep 不能或不便的操作. 比方说: - grep 之下不支持? 与+ 这两种modifier, 但egrep 则可. - grep 不支持a|b 或(abc|xyz) 这类"或一"比对, 但egrep 则可. - grep 在处理{n,m} 时, 需用\{ 与\} 处理, 但egrep 则不需. 诸如此类的... 我个人会建议能用egrep 就不用grep 啦... ^_^ * fgrep: 不作RE 处理, 表达式仅作一般字符串处理, 所有meta 均失去功能. g r e p一般格式为: ][ - ] CODE: grep [选项]基本正则表达式[文件] 这里基本正则表达式可为字符串。 单引号双引号 在g r e p命令中输入字符串参数时,最好将其用双引号括起来。 在调用模式匹配时,应使用单引号。 例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令,二是可以用来查找多个单词组成的字符串。在调用变量时,也应该使用双引号,诸如:g r e p“$ M Y VA R”文件名,如果不这样,将没有返回结果。 常用的g r e p选项有: QUOTE: -c 只输出匹配行的计数。 -i 不区分大小写(只适用于单字符)。 -h 查询多文件时不显示文件名。

grep命令详解

grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法,那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比较大,所以也花了点时间研究正则,特与大家分享下: 1基础正则表达式 grep 工具,以前介绍过。 grep -[acinv] '搜索内容串' filename -a 以文本文件方式搜索 -c 计算找到的符合行的次数 -i 忽略大小写 -n 顺便输出行号 -v 反向选择,即找没有搜索字符串的行 其中搜索串可以是正则表达式! 1 搜索有the的行,并输出行号 $grep -n 'the' regular_express.txt 搜索没有the的行,并输出行号 $grep -nv 'the' regular_express.txt 2 利用[]搜索集合字符

[] 表示其中的某一个字符,例如[ade] 表示a或d或e woody@xiaoc:~/tmp$ grep -n 't[ae]st' regular_express.txt 8:I can't finish the test. 9:Oh! the soup tast e good! 可以用^符号做[]内的前缀,表示除[]内的字符之外的字符。 比如搜索oo前没有g的字符串所在的行. 使用'[^g]oo' 作搜索字符串woody@xiaoc:~/tmp$ grep -n '[^g]oo' regular_express.txt 2:apple is my favorite foo d. 3:Foo tball game is not use feet only. 18:google is the best too ls for search keyword. 19:go ooo oogle yes! [] 内可以用范围表示,比如[a-z] 表示小写字母,[0-9] 表示0~9的数字, [A-Z] 则是大写字母们。[a-zA-Z0-9]表示所有数字与英文字符。当然也可以配合^来排除字符。 搜索包含数字的行 woody@xiaoc:~/tmp$ grep -n '[0-9]' regular_express.txt 5:However ,this dress is about $ 3183 dollars. 15:You are the best is menu you are the no.1. 行首与行尾字符^ $. ^ 表示行的开头,$表示行的结尾( 不是字符,是位置)那么‘^$’ 就表示空行,因为只有 行首和行尾。 这里^与[]里面使用的^意义不同。它表示^后面的串是在行的开头。 比如搜索the在开头的行 woody@xiaoc:~/tmp$ grep -n '^the' regular_express.txt 12:the symbol '*' is represented as star. 搜索以小写字母开头的行 woody@xiaoc:~/tmp$ grep -n '^[a-z]' regular_express.txt

Linux所有命令大全

查看内核 uname -a 查看Ubuntu版本 cat /etc/issue 或 lsb_release -a 查看内核加载的模块 lsmod 查看PCI设备 lspci 查看USB设备 lsusb -v 查看网卡状态 sudo ethtool eth0 查看CPU信息 cat /proc/cpuinfo 显示当前硬件信息 sudo lshw 显示系统运行时间 uptime 查看硬盘的分区 sudo fdisk -l 硬盘分区 sudo fdisk /dev/sda 硬盘格式化 sudo mkfs.ext3 /dev/sda1 硬盘检查(请不要检查已经挂载的分区,否则容易损坏数据) sudo fsck /dev/sda1 分区挂载 sudo mount -t 文件系统类型 (-o nls=utf8 或 -o iocharset=utf8) 设备路经访问路经分区卸载 sudo umount 目录名或设备名 查看IDE硬盘信息 sudo hdparm -i /dev/hda 查看STAT硬盘信息 sudo hdparm -I /dev/sda 或 sudo blktool /dev/sda id 查看硬盘剩馀空间 df

查看目录占用空间 du -hs 目录名 优盘没法卸载 sync;fuser -km /media/usbdisk 查看硬盘当前读写情况 sudo iostat -x 2 查看当前的内存使用情况 free 动态显示进程执行情况 top 查看当前有哪些进程 ps -A 查看当前进程树 pstree 中止一个进程 kill 进程号或 killall 进程名 强制中止一个进程 kill -9 进程号或 killall -9 进程名 图形方式中止一个程序 xkill 出现骷髅标志的鼠标,点击需要中止的程序即可 查看进程打开的文件 lsof -p 显示开启文件abc.txt的进程 lsof abc.txt 显示22端口现在运行什么程序 lsof -i :22 显示nsd进程现在打开的文件 lsof -c nsd 在后台运行程序,退出登录后,并不结束程序 nohup 程序 & 详细显示程序的运行信息 strace -f -F -o outfile 增加系统最大打开文件个数 ulimit -n 4096 或 echo 4096 > /proc/sys/fs/file-max 配置 ADSL sudo pppoeconf

Grep命令详解

Grep命令详解 grep [ -E | -F ] [ -i ] [ -h ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c | -l | -q ] ] [ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ 文件... ] 描述 grep 命令用于搜索由Pattern参数指定的模式,并将每个匹配的行写入标准输出中。这些模式是具有限定的正则表达式,它们使用ed或egrep命令样式。grep命令使用压缩的不确定算法。 如果在File参数中指定了多个名称,grep命令将显示包含匹配行的文件的名称。对shell 有特殊含义的字符($, *, [, |, ^, (, ), \ ) 出现在Pattern 参数中时必须带双引号。如果Pattern参数不是简单字符串,通常必须用单引号将整个模式括起来。在诸如[a-z], 之类的表达式中,-(减号)cml 可根据当前正在整理的序列来指定一个范围。整理序列可以定义等价的类以供在字符范围中使用。如果未指定任何文件,grep 会假定为标准输入。 注意: 1.行被限制为2048个字节。 2.段落(使用-p标志时)长度当前被限制为5000个字符。 3.请不要对特殊文件运行grep命令,这样做可能产生不可预计的结果。 4.输入行不应包含空字符。 5.输入文件应该以换行符作为结束。 6.正则表达式不会对换行符进行匹配。 7.虽然一些标志可以同时被指定,但其中的某些标志会覆盖其它标志。例如,-l选项将优先于所有其它标志。另外,如果您同时指定了-E 和-F标志,则后指定的那个会有优先权。 标志 -b 在每行之前添加找到该行时所在的块编号。使用这个标志有助于通过上下文来找到磁盘块号码。-b标志不能用于来自标准输入和管道的输入。 -c 仅显示匹配行的计数。

Linux Shell常用命令总结

1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际 为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*" 3) find . -maxdepth 2 -name fred 找出文件名为fred,其中find搜索的目录深度为2(距当前目录), 其中当前目录被视为第一层. 4) find . -perm 644 -maxdepth 3 -name "datafile*" (表示权限为644的, 搜索的目录深度为3, 名字为datafile*的文件) 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目录下文件名为datafile*的文件。 find . -path "./dir*" 列出所有符合dir*的目录及其目录的文件. find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目录下文件名为datafile*的文件。 6) find . -user ydev 找出所有属主用户为ydev的文件。 find . ! -user ydev 找出所有属主用户不为ydev的文件,注意!和-user之间的空格。 7) find . -nouser 找出所有没有属主用户的文件,换句话就是,主用户可能已经被删除。 8) find . -group ydev 找出所有属主用户组为ydev的文件。

linux中五种常用查找命令

1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。 find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>:所要搜索的目录及其所有子目录。默认为当前目录。 - <指定条件>:所要搜索的文件的特征。 - <指定动作>:对搜索结果进行特定的处理。 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。 find的使用实例: $ find . -name "my*" 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。 $ find . -name "my*" -ls 搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。 $ find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

2. locate locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。 locate命令的使用实例: $ locate /etc/sh 搜索etc目录下所有以sh开头的文件。 $ locate ~/m 搜索用户主目录下,所有以m开头的文件。 $ locate -i ~/m

Linux命令大全(磁盘维护)

磁盘维护 磁盘管理-quotaon 功能说明:开启磁盘空间限制。 语法:quotaon [-aguv][文件系统...] 补充说明:执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有https://www.360docs.net/doc/8614359394.html,er和quota.group配置文件。 参数: -a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。 -g 开启群组的磁盘空间限制。 -u 开启用户的磁盘空间限制。 -v 显示指令指令执行过程。 磁盘维护-badblocks 功能说明:检查磁盘装置中损坏的区块。 语法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块] 补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。 参数: -b<区块大小> 指定磁盘的区块大小,单位为字节。 -o<输出文件> 将检查的结果写入指定的输出文件。 -s 在检查时显示进度。 -v 执行时显示详细的信息。 -w 在检查时,执行写入测试。 [磁盘装置] 指定要检查的磁盘装置。 [磁盘区块数] 指定磁盘装置的区块总数。 [启始区块] 指定要从哪个区块开始检查。 磁盘维护-cfdisk 功能说明:磁盘分区。

语法:cfdisk [-avz][-c <柱面数目>-h <磁头数目>-s <盘区数目>][-P ][外围设备代号] 补充说明:cfdisk是用来磁盘分区的程序,它十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面,您可以轻易地利用方向键来操控分区操作。 参数: -a 在程序里不用反白代表选取,而以箭头表示。 -c<柱面数目> 忽略BIOS的数值,直接指定磁盘的柱面数目。 -h<磁头数目> 忽略BIOS的数值,直接指定磁盘的磁头数目。 -P 显示分区表的内容,附加参数"r"会显示整个分区表的详细资料,附加参数"s"会依照磁区的顺序显示相关信息,附加参数"t"则会以磁头,磁区,柱面的方式来显示资料。 -s<磁区数目> 忽略BIOS的数值,直接指定磁盘的磁区数目。 -v 显示版本信息。 -z 不读取现有的分区,直接当作没有分区的新磁盘使用。 磁盘维护-dd 名称: dd 使用权限: 所有使用者dd 这个指令在manual 里的定义是convert and copy a file 使用方式: dd [option] 如果你想要在线看manual, 可以试试: dd --help 或是 info dd 如果你想要看看这个版本如何: dd --version 输入或输出 dd if=[STDIN] of=[STDOUT] 强迫输入或输出的Size为多少Bytes

相关文档
最新文档