xshell 常用命令

一、grep 命令

(1)命令格式

grep [选项] pattern [file]

(2)常用参数

参数 描述

-c 计算找到 ‘搜寻字符串‘(即 pattern) 的次数

-i 忽略大小写的不同,所以大小写视为相同

-n 输出行号

-v 反向选择,打印不匹配的行

-r 递归搜索

--color=auto 将找到的关键词部分加上颜色显示

(3)常用范例

例一:将/etc/passwd 文件中出现 root 的行取出来,关键词部分加上颜色显示,可以使用如下命令:

grep "root" /etc/passwd --color=auto

cat /etc/passwd | grep "root" --color=auto

例二:将/etc/passwd 文件中没有出现 root 和 nologin 的行取出来,可以使用如下命令:

grep -v "root" /etc/passwd | grep -v "nologin"

例三:在当前目录下递归搜索文件中包含 main()的文件,经常用于查找某些函数位于哪些源代码文件中,可以使用如下命令:

grep -r "main()".

2.3 正则表达式与 grep 命令

正则表达式元字符由以下字符组成:

^ $ . [ ] { } - ? * + ( ) | \

(1)常用范例

例一:利用 Linux 系统自带的字典查找一个五个字母的单词,第三个字母为 j,最后一个字母为 r ,/usr/share/dict 目录下存放字典文件,可以使用如下命令:

grep ‘^..j.r$‘ linux.words

例二:验证固定电话,打印符合条件的电话,固定电话格式基本都是带有 0 的区号+连接符“-”+电话号码,另外还有可能有分机号,区号有 3 位、4 位,电话号码有 7 位和 8 位的,可以使用如下命令:

grep "^0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{3,4})?$" telphone.txt

区号:前面一个 0,后面跟 2-3 位数字 : 0[0-9]{2,3}

电话号码:7-8 位数字: [0-9]{7,8}

分机号:一般都是 3-4 位数字: [0-9]{3,4}

注意执行下面的命令时没有任何匹配输出,这是因为没有加-E 选项,那例一没加为什么可以呢,这是因为 grep 把.当成 shell 通配符,不是正则表达式的元字符。

二、tail 命令

tail 命令主要用于显示指定文件末尾内容。常用查看日志文件。

(1)命令格式

tail [选项] [文件]

(2)常用参数

参数 描述

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<字节> 显示的字节数

-n<行数> 显示行数

(3)常用范例

例一:显示 shiyanlou.log 文件中的最后 5 行内容,可以使用如下命令:

tail -n 5 shiyanlou.log

例二:显示 shiyanlou.log 文件中的最后 5 行内容,当 shiyanlou.log 文件有新内容增加,自动更新显示。可以使用如下命令:

tail -n 5 -f shiyanlou.log

ping www.shiyanlou.com >> shiyanlou.log 这条命令作用是,ping 远程主机,并将信息追加到 shyanlou.log 文件中。& 的作用是将这条命令放在后台执行,这样 shiyanlou.log 文件就会一直有内容增加。说明一下,linux 下执行 ping 命令会一直执行,必须手动停止才行。而 windows 下执行 ping 命令时,发送一定请求后会自动停止。

使用 tail 命令的-f 选项可以即时输出文件变化后追加的内容,tail -f filename 会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

另外顺便说一下怎么查看后台正在运行的任务及怎么停止任务。

jobs 命令可以查看正在后台运行的任务。kill 命令可以杀死一个任务,但要使用任务的 id。任务的 id 可以通过 ps 命令查看获得

2.5 cat 命令

cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat 命令是 concatenate 的缩写。

(1)命令格式

cat [选项] [文件]

(2)常用参数

-A --show-all 等价于 -vET

-b --number-nonblank 对非空输出行编号

-e 等价于 -vE

-E --show-ends 在每行结束处显示 $

-n --number 对输出的所有行编号,由 1 开始对所有输出的行数编号

-s --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行

-t 与 -vT 等价

-T --show-tabs 将跳格字符显示为 ^I

-u (被忽略)

-v --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

(3)常用范例

例一:把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里,可以使用如下命令:

cat -n shiyanlou.log > zhou.log

例二:把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里,多行空行换成一行输出,可以使用如下命令:

cat -ns shiyanlou.log > zhou.log

例三:将 zhou.log 的文件内容反向显示,可以使用如下命令:

tac zhou.log

说明:tac 是将 cat 反写过来,所以它的功能就跟 cat 相反,cat 是由第一行到最后一行连续显示在屏幕上,而 tac 则是由最后一行到第一行反向在屏幕上显示出来。

三、find 命令(一)

find 命令主要作用是沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。

(1)命令格式

find [选项] [搜索路径] [表达式]

默认路径是当前目录,默认表达式为-print。

表达式可能由下列成份组成:操作符、选项、测试表达式以及动作。

(2)常用参数

-print find 命令将匹配的文件输出到标准输出

-exec find 命令对匹配的文件执行该参数所给出的 shell 命令

-name 按照文件名查找文件

-type 查找某一类型的文件

-prune 使用这一选项可以使 find 命令不在当前指定的目录中查找,如果同 时使用-depth 选项,那么-prune 将被 find 命令忽略

-user 按照文件属主来查找文件

-group 按照文件所属的组来查找文件

-mtime -n +n 按照文件的更改时间来查找文件,-n 表示文件更改时间距现在小于 n天,+n 表示文件更改时间距现在大于 n 天,find 命令还有-atime 和 -ctime 选项

其他命令命令选项及表达式可参见下图。

(3)常用范例

例一:打印当前目录下的文件目录列表 ,可以使用如下命令:

find . -print

例二:打印当前目录下所有以.txt 结尾的文件名 ,可以使用如下命令(截图只显示部分):

find . -name "*.txt" -print

-iname 选项跟-name 选项作用一样,不同在于-iname 会忽略字母大小写。

例三:打印当前目录下所有以.txt 或.pdf 结尾的文件名 ,可以使用如下命令(截图只显示部分):

find . \( -name "*.pdf" -or -name "*.txt" \)

例四:打印当前目录下所有不以.txt 结尾的文件名 ,可以使用如下命令:

find . ! -name "*.txt"

 find 命令(二)

下面将介绍如何根据文件类型、权限、所有者及操作符来查找匹配文件。

根据文件类型来查找文件,使用-type 选项,常见 find 文件类型见下表。

根据文件权限查找文件,使用-perm 选项。所有者使用-user 选项。

另外,find 命令可以通过逻辑操作符来创建更复杂的逻辑关系,例如 find 命令(一)中的例三就使用了操作符-or。find 命令的逻辑操作符见下表。

(1)常用范例

例一:打印当前目录下所有以.txt 结尾的符号链接 ,可以使用如下命令:

find . -type l -name "*.txt" -print

例二:打印当前目录下所有权限为 777 的 php 文件(web 服务器上的 php 文件一般需要执行权限),可以使用如下命令:

find . -type f -name "*.php" -perm 777

例三:打印当前目录下 root 用户拥有的所有文件,可以使用如下命令:

find . -type f -user root

例四:打印当前目录下权限不是 777 和 664 的所有文件,可以使用如下命令:

find . -type f \( ! -perm 777 -and ! -perm 644 \)

find 命令(三)

下面将介绍如何使用 find 命令的-exec 选项来实现对查找到的文件执行指定的动作命令

(1)常用范例

例一:找到当前目录下所有 php 文件,并显示其详细信息,可以使用如下命令:

find . -name "*.php" -exec ls -l {} \;

-exec 是 find 命令对找到的文件执行的动作,这个动作就是对找到的文件执行命令,上面的命令就是 ls -l {}。在这里说明一下{}和\;,{}其实它就是一个占位符,在 find 命令的执行过程中会不断地替换成当前找到的文件,相当于”ls -l 找到的文件”。而\;是-exec 的命令结束标记,因为规定-exec 后面的命令必须以;结束,但;在 shell 中有特殊含义,必须要转义,所以写成\;。

例二:在实验楼环境中有很多自己编写的 c 语言代码文件,现在想要把所有 c 语言代码文件下载下来,如果一个一个的下载很麻烦,我们可以先查找到所有的 c 语言代码文件,然后将这些文件内容写入到一个文件中,下载该文件,可以使用如下命令:

find . -name "*.c" -exec cat {} \; > all.c

例三:默认下,-exec 后面只能使用单个命令,如果想要多个命令,可以将多个命令写入脚本文件中,然后在-exec 中使用这个脚本,可以使用如下命令:

find . -name "*.c" -exec ./command.sh {} \;

原文地址:https://www.cnblogs.com/WXBai/p/8414716.html

时间: 2024-10-15 02:34:58

xshell 常用命令的相关文章

Xshell常用命令

(1)命令ls——列出文件ls 显示当前目录文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下cp * /tmp 把当前目录下的所有未隐藏文件复制到/

Xshell常用命令备忘

(1)命令ls——列出文件ls 显示当前目录文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下cp * /tmp 把当前目录下的所有未隐藏文件复制到/

xshell常用命令大全

(1)命令ls--列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的"隐藏"文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp--复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/

用xshell操作linux系统的常用命令

(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目

linux实操常用命令总结

1. linux目录操作命令 ------目录的增.删.改.查------ cd, pwd, ls, mkdir, mv, ls(du, df, tree) 切换目录,跟window的使用类似 cd 显示目录的详细信息 ls -ld 直接切换到根目录 cd / 在根目录下创建oracle目录 mkdir /oracle ls -ld /oracle drwxr-xr-x 2 root root 4096 Jun 21 15:00 /oracle 一次创建多个目录 mkdir -p /u01/ap

Linux学习日志之Linux常用命令总结

Linux常用命令: 练习3遍以上,命令有点多,建议慢慢查看 一.命令基本格式 1.命令格式: [root(管理员)@localhost(主机名)~]#(超级用户提示符,普通用户提示符是$) adminis /root一级目录用pwd print working directory(打印工作目录)查看 /home/user1/二级目录 [[email protected] ~]# cd /usr/local/src/ 切换当前目录 [[email protected] src]# 命令[选项]

redis数据类型及常用命令介绍(图文实例)

上图中即为redis中5种基本数据类型,在没接触过redis之前,听过最多相关的字眼就是键值对key-value之类,立马让我想到了HashMap.在HashMap中,key和value的的数据类型都可以指定,value也可以是HashMap类型.而在这里,redis的基本数据类型是针对的value,有这5种. 文中所用测试记录环境在Linux下,命令操作在SSH客户端下,这里使用的是Xshell 5,个人使用感觉很方便,同一系列的Xftp 5用于远程文件上传操作也很不错.如有需要,可直接进入官

04_远程管理常用命令

? 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01. 关机/重启 序号 命令 对应英文 作用 01 shutdown 选项 时间 shutdown 关机/重新启动 1.1 shutdown shutdown 命令可以 安全 关闭 或者 重新启动系统 选项 含义 -r 重新启动 提示: 不指定选项和参数,默认表示 1 分钟之后 关闭电脑 远程维护服务器时,最好不要关闭系统,而应该重新启动系统 常用命令示例 # 重新启动操作系统

Linux 系统基础优化和常用命令

目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux中文显示设置(防止中文乱码) df 命令 tree命令 设置主机名 DNS 查看Linux的dns, 唯一配置文件 本地强制dns解析文件 /etc/hosts nslookup命令 计划任务crond服务 软件包管理 windows程序 macos程序 RPM软件包管理器 实例 rpm安装软件 r