linux命令详细解析,linux必学的60个命令解释

Linux常用命令详解 | find

find 命令的基本结构如下:

万柏林网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

find 命令手册 : man find

find 命令中的 -name 选项可以根据文件名称进行检索( 区分大小写 )。如需要忽略文件名中的大小写,可以使用 -iname 选项。

-name 和 -iname 两个选项都支持 wildcards 。如:

例1:查找 /usr 目录下所有文件名以 .txt 结尾的文件

例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件

例3:查以大写字母开头的文件

例4:查以两个小写字母和两个数字开头的txt文件

类似的还有:

-lname -ilname

-path -ipath

-regx -iregx

有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名。可以使用 -path 或 -ipath 选项。

例1:如查找 /usr 下所有文件名以 .txt 结尾的文件或目录,且该文件的父目录必须是 src 。可以使用以下命令:

例2:在当前目录除aa之外的子目录内搜索 txt文件

例3:在当前目录,不再子目录中,查找txt文件

如果只想搜索得到文件 或 目录,即不想它们同时出现在结果中。可以使用 -type 选项指定文件类型。

-type 选项最常用的参数如下:

例:检索 /usr 下所有文件名以 python 开头的目录

find 命令支持 -empty 选项用来检索 为空 的文件或目录。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录。

例:检索用户主目录下所有的空目录

find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作)。

如需要检索 /usr 下所有文件名 不 以 .txt 为后缀的文件。可以使用以下命令:

也可以“翻转”任何其他的筛选条件,如:检索 /usr 下所有内容不为空的文件

为了检索归属于特定用户的文件或目录,可以使用 -user 选项。

例:检索根目录下所有属主为 starky 的文件

类似于 -user 选项, -group 选项则可以根据文件或目录的 属组 进行检索。

有些时候,需要根据文件创建或修改的时间进行检索。

Linux 系统中,与文件相关联的时间参数有以下三种:

与此对应的是 find 命令中的 -mtime , -atime 和 -ctime 三个选项。

这三个选项的使用遵循以下示例中的规则:

检索 /usr 下两天前被修改过的文件

如果觉得 -mtime 等选项以 天 为单位时间有点长,还可以使用 -mmin , -amin , -cmin 三个选项。

查找比 aa.txt 新 的文件

查找比 aa.txt 旧 的文件

查找比aa.txt新,比bb.txt旧的文件

-size 选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……)。

表示文件大小的单位由以下字符组成:

另外,还可以使用 + 或 - 符号表示 大于 或 小于 当前条件。

检索文件大小高于 1 GB 的文件

find 命令可以使用 -perm 选项以文件权限为依据进行搜索。

9.1使用符号形式

例1:如需要检索 /usr 目录下权限为 rwxr-xr-x 的文件,可以使用以下命令:

例2:搜索 /usr 目录下所有权限为 r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:

很多时候,我们只想匹配文件权限的一个 子集 。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么。

上述的需求可以通过以下命令实现:

其中 a=x 前面的 / 符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置。

9.2使用数字形式

例如:搜索 /usr 目录下权限为 644 (即 rwxr-xr-x )的文件

find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth 限制 find 命令递归的层数。

例如:搜索时向下递归的层数最大为 3

在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转 。

实际上 find 命令支持 “and” 和 “or” 两种逻辑运算,对应的命令选项分别是 -a 和 -o 。通过这两个选项可以对搜索条件进行更复杂的组合。

此外还可以使用 小括号 对搜索条件进行 分组 。注意 find 命令中的小括号常需要用 单引号 包裹起来。因小括号在 Shell 中有特殊的含义。

如检索 /usr 下文件名以 python 开头且类型为目录的文件

该命令等同于:

更复杂的组合形式如:

例4:在除dir0及子目录以外的目录下查找txt后缀文件

说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.

命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件。

-delete 选项可以用来删除搜索到的文件和目录。

例如:删除 home 目录下所有的空目录:

-exec 选项可以对搜索到的结果执行执行该参数所给出的shell命令。形式为 command {} \; ,注意{}与\;之间有空格 。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的 {} ,然后执行 -exec 后面的命令一次。

例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是 /media/MyDrive ),可使用下面的命令:

其中的 大括号 ( {} )作为检索到的文件的 占位符 ,而分号( ; )作为命令结束的标志。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来或前面加上转义符 \ 。

例2:查看当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出

例3:在多个文件中检索某个指定的字符串。如在用户主目录下的所有文件中检索字符串 hello ,可以使用如下命令:

创建 Gzip 格式的压缩文件的命令为:

现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz 中,直观的感觉是,其命令应为如下形式:

实际情况是,这样得到的 music.tar.gz 其实只包含一个 MP3 文件。原因是 find 命令 每次 发现一个音频文件,都会再执行一次 -exec 选项后面的压缩命令。导致先前生成的压缩包被覆盖。

可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令。完整的命令如下:

如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用 -ls 选项。

例如:浏览所有 1G 以上大小的文件的详细信息

与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行

与 exec 作用相同 ,起承接作用。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等

例1:查找以ap或may开头的文件

例2:查硬连接数大于2的文件或目录

例3:查找含特定字符串的文件。查找当前目录下含有"the string you want find…"字符串的文件:

例4:从根目录开始查tmpfile,一旦查到马上删除

例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:

A Guide to the Linux “Find” Command

linux系统基本操作命令 linux下基本命令使用讲解

1、文件与文件夹(目录)操作命令

1)rm:删除命令

例:$ rm -i 文件名-------------有询问“Y/N”; rm -r 文件名 ---------------删除该文件夹和子目录下的所有文件;

例:$ rm -f 文件名------------- 直接删除,不询问

2) mv:移动目录或文件,还可以重命名

例:$ mv text /zzz -------------将text移动到zzz目录下;

例:$ mv text zzz ---------------text重命名为zzz

3) mkdir:创建路径和删除路径,创建目录

例:$ mkdir zzz -------------在当前目录下创建zzz的目录;

例:$ rmdir zzz ---------------删除目录zzz

4) touch :创建空文件

例:$ touch zzz.xx ----------------创建文件名是zzz.xx的文件

5)cat :查看文件内容

例:$ cat zzz.xx -----------------查看文件zzz.xx中的内容

6)tail :监视文件尾部内容,默认10行

例:$ tail -n 20 -f zzz.xx -----------查看文件zzz.xx的尾部20行内容

7)cp :复制

例:$ cp a.xx b -------将a.xx文件复制到b目录(文件夹)下

8)scp :拷贝文件

例:$ scp -i zzz.xx root@192.168.1.35:/xxx/xxxx/ -----------------从一台虚拟机上将文件zzz.xx拷贝到另外一台35的虚拟机的指定目录下;

例:$ scp -r zzz root@192.168.1.35:/xxx/xxxx/ -----------------从一台虚拟机上将文件夹(目录)zzz拷贝到另外一台35的虚拟机的指定目录下

9)chmod :给文件赋权限

例:$ chmod 777 zzz.xx 给zzz.xx文件增加可执行的权限2、查看端口号的命令 : netstat -antpl

3、查看正在执行的进程的命令 : ps -ef

4、强制杀死xxxx该进程的命令 :kill - 9 xxxx

5、配置Java环境变量的命令:

先执行---- vi /etc/profile 配置结束执行------- socrce /etc/profice 然后执行-------cat /etc/profile进行查看,用java -version查看Java版本

6、df -h ----------------是查看磁盘容量的使用情况

必要参数:

-a 全部文件系统列表

-h 方便阅读方式显示

-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

-m 区块为1048576字节

--no-sync 忽略 sync 命令

-P 输出格式为POSIX

--sync 在取得磁盘信息前,先执行sync命令

-T 文件系统类型

选择参数:

--block-size=区块大小 指定区块大小

-t文件系统类型 只显示选定文件系统的磁盘信息

-x文件系统类型 不显示选定文件系统的磁盘信息

--help 显示帮助信息

--version 显示版本信息

“df -h”这条命令再熟悉不过。以更易读的方式显示目前磁盘空间和使用情况。

“df -i” 以inode模式来显示磁盘使用情况。

7、网络命令

1)ifconfig :查看用户网络配置。它显示当前网络设备配置。补充:Windows 用的是 ipconfig

2)ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。ping 主要有两个作用:

用来确认网络连接是畅通的。

用来查看连接的速度信息。

Linux常用性能诊断命令详解

top命令动态地监视进程活动与系统负载等信息。

使用示例:

效果如下图:

以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。

统计信息区:

第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。

第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。

第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。

进程信息区:

按 q 键退出监控页面。

uptime 用于查看系统的负载信息。

使用示例:

查看系统的负载信息。

效果如下图:

输出说明:

当前服务器时间:11:06:57

当前服务器运行时长:59 min

当前用户数:1 users

当前负载情况:load average: 0.00, 0.04, 0.08(分别取1min,5min,15min的均值)

free用于显示当前系统中内存的使用量信息。

命令语法: free [-bkmotV][-s 间隔秒数]

参数说明:

使用示例:

显示当前系统中内存的使用量信息。

效果如下图:

输出说明:

ifconfig命令用于获取网卡配置与网络状态等信息。

使用示例:

获取网卡配置与网络状态等信息。

效果如下图:

输出说明:

第一部分的第一行显示网卡状态信息。

eth0表示第一块网卡。

UP代表网卡开启状态。

RUNNING代表网卡的网线被接上。

MULTICAST表示支持组播。

第二行显示网卡的网络信息。

inet(IP地址):172.16.67.50。

netmask(掩码地址):255.255.0.0。

broadcast(广播地址):172.16.255.255。

RX表示接收数据包的情况,TX表示发送数据包的情况。

lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。

linux中grep命令的详细解释

linxu下的grep命令其实是一个搜索文件文本的工具。下面由我为大家整理了linux的grep命令的详细解释的相关知识,希望对大家有帮助!

一、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。

二、linux中的grep命令的详解实例

1.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′就可以了。

2.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’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 CTRL c ,然后再试。

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

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 -n pattern files 即可显示行号信息

grep -c pattern files 即可查找总行数

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

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

例如:

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

grep ‘\man’ * 匹配’manic’和’man’,但不是’Batman’,

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

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

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

Linux常用命令以及解释

1.cd/home/fleety/Diagserver/log

cd到指定的目录

2.tail -f day.log

实时读取指定目录下的日志(一直中,不停止)

3.grep -a 'mdtId' day.log 或 grep -v 'mdtid' day.log

指定条件下查找mdtid文件的记录

4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz

分别是四个参数

x : 从 tar 包中把文件提取出来

z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压

v : 显示详细信息

f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

5.mkdir -p/home/fkeety/Diagserver/log

在home下建一个fleeety的子目录,在fleety下建一个DiagServer的子目录,在DiagServer建一个log的子目录

6.mv day.log day.log.bak

mv,移动文件到另一个文件,备份

7.rm -rf day.log

删除这个文件

8.vi day.log

打开或新建day.log文件,并将光标置于第一行首

9.pwd

显示工作目录

10. In -s aa bb

为bb文件在aa文件上建立一个同步的链接

11.unzip day.log.zip

解压到当前目录下

12. find/home/fleety/Diagserver -name ' zwyc' -print**

查找名称为XXX的内容并打印

13.ssh -l root 180.168.34.250 -p 9222

root权限连接主机,端口是9222

14.telnet 192.168.0.22 23

建立远程tcp连接

15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2

将字符串'100,2720p' 写入文件15..._2文件里 并重定向到15..._2_2文件里

16.chmod fleety.fleety aaa

给fleety.fleety设置权限

17.chown 755 aaa

给aaa 添加

7 拥有者有 读取,写入,执行权限

7 组用户有 读取,写入,执行权限

5 其他用户有 读取,执行权限

18.cp -r /home/fleety/Diagserve/log ./

将log文件下的所有内容 复制到当前目录下

19.ftp 192.168.0.218 21

ftp模式连接远程主机 ,服务器会询问用户名和密码

20.more day.log

查看day.log日志,分页形式打开, more 一页页显示文件内容 空白键下一页 b键上一页

21.ps -ef

查看系统进程

22.top

主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息


本文名称:linux命令详细解析,linux必学的60个命令解释
网站路径:http://scyanting.com/article/phpopg.html