分类目录归档:Linux达人养成计划

用户管理

一、用户和用户组的概念
用户:使用操作系统的人
用户组:具有相同系统权限的一组用户

/etc/group 存储当前系统中所有用户组信息
— Group: x : 123 : abc,def,xyz
— 组名称:组密码占位符:组编号:组中用户名列表

/etc/gshadow 存储当前系统中用户组的密码信息
— Group : * : : abc,def,xyz
— 组名称:组密码:组管理者:组中用户名列表

/etc/passwd 存储当前系统中所有用户的信息
— user : x : 123 : 456 : xxxxxxx : /home/user : /bin/bash
— 用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型

/etc/shadow 存储当前系统中所有用户的密码信息
— user :vf;/Zu8sdf..:::::
— 用户名:密码:::::

二、用户和用户组的基本命令
groupadd 用户组
#添加用户组
例:
— [root@localhost ~]# groupadd sexy

groupmod -n 新用户组名 旧用户组名
#修改用户组名
例:
— [root@localhost ~]# groupmod -n market sexy

groupmod -g 用户组编号 用户组名称
#修改用户组编号
例:
— [root@localhost ~]# groupmod -g 668 market

groupadd -g 用户组编号 用户组名称
#创建新用户,并指定编号
例:
— [root@localhost ~]# groupadd -g 888 boss

groupdel 用户组名称
#删除用户组
例:
— [root@localhost ~]# groupdel market
注:删除用户组前需要先删除或转移当前用户组的用户

useradd -g 用户组名称 用户名
#添加新用户并指定的用户组
例:
— [root@localhost ~]# useradd -g sexy sdf

useradd -d 用户文件夹 用户名
#添加新用户并指定用户文件夹
例:
— [root@localhost ~]# useradd -d /home/xxx imooc

注:添加新用户时,如果没有指定用户组,会对应生成与用户名相同的用户组

usermod -c 用户备注 用户名
#给用户添加注释
例:
— [root@localhost ~]# usermod -c dgdzmx sdf

usermod -l 新用户名 旧用户名
#修改用户名
例:
— [root@localhost ~]# usermod -l cls sdf

usermod -d 用户文件夹 用户名
#给用户指定新用户文件夹
例:
— [root@localhost ~]# usermod -d /home/cls cls

usermod -g 用户组 用户名
#给用户指定用户组
例:
— [root@localhost ~]# usermod -g sexy imooc

userdel 用户名
#删除用户
例:
— [root@localhost ~]# userdel jzmb

userdel -r 用户名
#删除用户同时删除用户文件夹
例:
— [root@localhost ~]# userdel -r jzmb

touch /etc/nologin
#禁止除了root外的所有用户登录,只要在/etc/下建立nologin文件,文件不包含任何内容

三、用户和用户组进阶命令
passwd -l 用户名
#锁定用户
例:
— [root@localhost ~]# passwd -l cls

passwd -u 用户名
#解锁用户名
例:
— [root@localhost ~]# passwd -u cls

passwd -d 用户名
#清除用户密码
例:
— [root@localhost ~]# passwd -d cls

主要组与附属组
用户可以同时属于多个组
— 一个主要组
— 多个附属组
The main and subsidiary group

gpasswd -a 用户 附属组名称
#给用户添加附属组
例:
— [root@localhost ~]# gpasswd -a cls boss

newgrp 用户组
#用户切换用户组
例:
— [root@localhost ~]# newgrp boss

gpasswd -d 用户名 用户组
#把用户从某用户组中移除
例:
— [root@localhost ~]# gpasswd -d cls boss

useradd -g 主用户组 -G 附属用户组1,附属用户组2… 用户名
#新建用户,并指定用户组及附属用户组
例:
— [root@localhost ~]# useradd -g group1 -G group2,group3… test

gpasswd 用户组名称
#设置用户组密码
例:
— [root@localhost ~]# gpasswd imooc

四、其他命令
su 用户名
#切换用户
例:
— [root@localhost ~]# su username
注:如果只输入su不输入用户名,表示切换到root用户

whoami
#我是谁?显示当前登陆用户名

id 用户名
#显示指定用户信息,包括用户编号、用户名、主要组编号及名称,附属组列表
例:
— [root@localhost ~]# id imooc

groups 用户名
#显示指定用户所在的所有组
例:
— [root@localhost ~]# groups imooc

chfn 用户名
#设置用户资料,依次输入用户资料
例:
— [root@localhost ~]# chfn imooc

finger 用户名
#显示用户详细资料
例:
— [root@localhost ~]# finger imooc

磁盘管理

一、磁盘管理基本命令
1、df 查看磁盘分区使用状况
— l 仅显示本地磁盘(默认)
— a 显示所有文件系统的磁盘使用情况,包含比如/proc/
— h 以1024进制计算最合适的单位显示磁盘容量
— H 以1000进制计算最合适的单位显示磁盘容量
— T 显示磁盘分区类型
— t 显示指定类型文件系统的磁盘分区
— x 不显示指定类型文件系统的磁盘分区

2、du 统计磁盘上的文件大小
— b 以byte为单位统计文件
— k 以KB为单位统计文件
— m 以MB为单位统计文件
— h 按照1024进制以最适合的单位统计文件
— H 按照1000进制以最适合的单位统计文件
— s 指定统计目标

二、硬盘分区和格式化概述
为什么重新提起分区
第一、主分区和扩展分区总数不能超过4个
第二、扩展分区最多只能有一个
第三、扩展分区不能直接存取数据

三、在VM虚拟机中添加硬盘

四、MBR分区
— 主分区不超过4个
— 单个分区容量最大2TB
#Linux系统中硬件设备都是以文件的形式存在于根目录下的dev目录下
#硬件设备都是由Linux系统自动识别的
#必须对硬盘进行分区、格式化、挂载后才能使用

fdisk /dev/磁盘名 进入磁盘分区
fdisk -l 查看磁盘列表

五、GPT分区
#主分区个数“几乎”没有限制
— 在GPT的分区表中最多可以支持128个主分区
#单个分区容量“几乎”没有限制
— 在GPT的分区模式中,每个分区的大小突破了MRB分区的2TB限制

parted分区工具
parted
— select /dev/sdc:切换磁盘
— print:打印当前磁盘的分区信息
— print all:打印所有磁盘的分区信息
— mklabel msdos:创建MBR分区
— mklabel gpt:创建GPT分区

交互模式分区:
(parted) mkpart
Partition name? []? — 输入分区名称,可以直接回车省略
File system type? [ext2]? — 指定文件系统类型,默认为ext2,可以是ext3,ext4
Start? — 这个从哪里开始,第一分区可以”0″从开始,最好从“1”开始,“1”代表1MB,4K对齐
End? — 分区到哪结束

命令模式分区
mkpart test 2000 3000 — “test”是分区名称,不可省略,“2000”是分区的开始位置,“3000”是分区的结束位置

rm 3 — 分区删除,“3”代表分区号
unit GB — 更换分区默认的容量单位为GB,默认为MB

六、分区格式化
mkfs.分区类型 分区

mkfs -t 分区类型 分区
例:
— mkfs.ext3 /dev/sdb1
— mkfs -t ext4 /dev/sdb2

注:扩展分区不能格式化,只有主分区及逻辑分区可以格式化

七、挂载分区
1、临时挂载
mkdir -p /mnt/imooc:建立挂载点
mount /dev/sdb1 /mnt/imooc:挂载分区
umount /mnt/imooc:卸载分区
2、永久挂载
编辑/etc/fstab
— vi /etc/fstab
#在最后一行添加新的挂载记录
设备 挂载点 文件类型 default 0 0
例:/dev/sdb1 /mnt/imooc ext3 default 0 0

八、Swap分区
如何为硬盘添加swap交换分区?
第一,建立一个普通的Linux分区
第二,修改分区类型的16进制编码
第三,格式化交换分区
第四,启用交换分区

例:
[root@localhost ~]# fdisk /dev/sdb
Command (m for help): p — 查看分区详情
Command (m for help): t — 更换分区系统ID
Partition number (1-6): 6 — 选择分区编号
Hex code (type L to list codes): L — 输入“L”查看16进制分区类型编码列表
Hex code (type L to list codes): 82 — 输入16进制分区类型编码
Command (m for help): w — 保存分区修改
[root@localhost ~]# mkswap /dev/sdb6 — 格式化交换分区
[root@localhost ~]# swapon /dev/sdb6 — 启用交换分区
[root@localhost ~]# swapoff /dev/sdb6 — 停用交换分区

VIM文本编辑器

一、概述
Visual Interface(VI)
#可视化接口
#类似Windows中的记事本
#VI相对于记事本强大的不是一星半点

VI->VIM
VIM相对于VI做了哪些提升
— VIM支持多级撤销
— VIM可以跨平台运行
— VIM支持语法高亮
— VIM支持图形界面

二、VI编辑器的操作模式
Commmand Mode – 命令模式
Insert Model – 输入模式
Last Line Mode – 底行模式(尾行,末行)

三、VIM编辑器的命令模式
例:
[root@localhost ~]# vim abc
[root@localhost ~]# vim + abc
[root@localhost ~]# vim +3 abc
[root@localhost ~]# vim +5 abc
[root@localhost ~]# vim +/xxx abc

四、底行模式和命令模式常用指令
1、底行模式常用指令
— :w 保存文件
— :q 退出编辑
— :! 强制执行
— :ls 列出所有打开的文件
— :n 切换到后一个文件
— :N 切换到前一个文件
— :15 光标快速定位到15行
— /xxx 从光标位置开始向后搜索’xxx’字符串第一次出现所在的行
— ?xxx 从光标位置开始向前搜索’xxx’字符串第一次出现所在的行

2、命令模式常用指令
— h 光标左移
— j 光标下移
— k 光标上移
— l 光标右移
— ctrl+f 向下翻页(front)
— ctrl+b 向上翻页(back)
— ctrl+d 向下翻半页(down)
— ctrl+u 向上翻半页(up)
— dd 删除光标所在行
— o 在光标所在行的下方插入一行并切换到输入模式
— yy 复制光标所在的行
— p 在光标所在行的下方粘帖
— P 在光标所在行的上方粘贴

八、Shell基础

一、Shell概述
1、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

2、Shell的分类
Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。
C Shell:C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名

Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh

Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

3、Linux支持的Shell
/etc/shells :支持shell类型的记录文件

二、脚本执行方式
1、echo输出命令
echo [选项] [输出内容]
选项:
— -e:支持反斜线控制的字符转换
Control characters

例如:
[root@localhost ~]# echo -e “hell\bo”
#删除左侧字符

[root@localhost ~]# echo -e “h\te\tl\nl\to”
#制表符与换行符

[root@localhost ~]# echo -e “\x68\t\x65\t\x6c\n\x6c\t\x6f\t”
#按照十六进制ASCII码也同样可以输出

[root@localhost ~]# echo -e “\e[1;31m 嫁人就要嫁凤姐 \e[0m”

#输出颜色
— #30m=黑色,31m=红色,32m=绿色,33m=黄色
— #34m=蓝色,35m=洋红,36m=青色,37m=白色

2、第一个脚本
[root@localhost ~]# vi hello.sh
#!/bin/bash
#The first program

echo -e “\e[1;34m 天上掉下个林妹妹!\e[0m”

3、脚本执行
赋予执行权限,直接运行
— chmod 755 hello.sh
— ./hello.sh

通过bash调用执行脚本
— bash hello.sh

三、Bash的基本功能
1、命令别名与快捷键
1)什么是别名
— 命令别名==人的小名

2)查看与设定别名
alias
#查看系统中所有的命令别名

alias 别名=’原命令’
#设定命令别名

3)别名永久生效与删除别名
vi ~/.bashrc
#写入环境变量配置文件

unalias 别名
#删除别名

4)命令生效顺序
— 第一顺位执行用绝对路径或相对路径执行的命令。
— 第二顺位执行别名
— 第三顺位执行Bash的内部命令
— 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

5)常用快捷键
— ctrl+c 强制终止当前命令
— ctrl+l 清屏
— ctrl+a 光标移动到命令行首
— ctrl+e 光标移到到命令行尾
— ctrl+u 从光标所在位置删除到行首
— ctrl+z 把命令放入后台
— ctrl+r 在历史命令中搜索

2、历史命令
1)历史命令
history [选项] [历史命令保存文件]
选项:
— -c:清空历史命令
— -w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改

历史命令的调用
— 使用上、下箭头调用以前的历史命令
— 使用”!n”重复执行第n条历史命令
— 使用”!!”重复执行上一条命令
— 使用”!字串”重复执行最一条以该字串开关的命令

2)命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按”Tab”键就会自动进行补全

3、输出重定向
1)标准输入输出
The standard input and output

2)输出重定向
Output redirection
Output redirection-1

3)输入重定向
[root@localhost ~]# wc [选项] [文件名]
选项:
— -c 统计字节数
— -w 统计单词数
— -l 统计行数

命令 < 文件:把文件作为命令的输入
命令 << 标识符 … 标识符:把标识符之间内容作为命令的输入

4、多命令顺序执行
1)多命令顺序执行
Many command execution sequence

例子:
[root@localhost ~]# pwd;touch abc; ls; date
[root@localhost ~]# ls anaconda-ks.cfg && echo yes
[root@localhost ~]# ls anaconda-ks.cfg || echo no
[root@localhost ~]# 命令 && echo yes || echo nos

2)管道符
命令格式:
[root@localhost ~]# 命令1 | 命令2
#命令1的正确输出作为命令2的操作对象

例子:
[root@localhost ~]# ll -a /etc/ | more
[root@localhost ~]# netstat -an | grep “ESTABLISHED”

5、Shell中特殊符号
1)通配符
The wildcard

2)Bash中其他特殊符号
Bash other special symbols

七、其他常用命令

一、挂载命令
1、查询与自动挂载
[root@localhost ~]# mount
#查询系统中已经挂载的设置

[root@localhost ~]# mount -a
#依据配置文件/etc/fstab的内容,自动挂载

2、挂载命令格式
[root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
— -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
— -o 特殊选项:可以指定挂载的额外选项
Special options

[root@localhost ~]# mount -o remount,noexec /home/
#重新挂载/home分区,并使用noexec权限
[root@localhost ~]# cd /home
[root@localhost ~]# vi hello.sh
[root@localhost ~]# chmod 755 hello.sh
[root@localhost ~]# ./hello.sh
[root@localhost ~]# mount – o remount,exec /home/
#记得要改回来,要不会影响系统启动

3、挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom/
#建立挂载点

[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
#挂载光盘

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

4、卸载命令
[root@localhost ~]# umount 设备文件名或挂载点
[root@localhost ~]# umount /mnt/cdrom

5、挂载U盘
[root@localhost ~]# fdisk -l
#查看U盘设备文件名

[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/

注意:Linux默认是不支持NTFS文件系统的

二、用户登录查看和用户交互命令
1、查看登录用户信息
w 用户名
命令输出:
— USER:登陆的用户名
— TTY:登陆终端
— FROM:从哪个IP地址登陆
— LOGIN@:登陆时间
— IDLE:用户闲置时间
— JCPU:指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
— PCPU:是指当前进程所占用的时间
— WHAT:当前正在运行的命令

who 用户名
命令输出:
— 用户名
— 登录终端
— 登录时间(登录来源IP地址)

2、查询当前登录和过去登录的用户信息
last
— last命令默认是读取/var/log/wtmp文件数据
命令输出:
— 用户名
— 登录终端
— 登录IP
— 登录时间
— 退出时间(在线时间)

3、查看所有用户的最后一次登录时间
lastlog
— lastlog命令默认是读取/var/log/lastlog文件内容
命令输出:
— 用户名
— 登录终端
— 登录IP
— 最后一次登录时间

一、命令基本格式

命令提示符
[root@localhost ~]#
其中:
— root:当前登录用户
— localhost:主机名
— ~:当前所在目录(家目录)
— #:超级用户的提示符(普通用户的提示符是$)

命令格式
命令 [选项] [参数]
注意:个别命令使用不遵循此格式,当有多个选项时,可以写在一起简化选项与完整选项
— -a 等于 –all

查询目录中内容:ls
ls [选项] [文件或目录]
选项:
— -a:显示所有文件,包括隐藏文件
— -l:显示详细信息
— -d:查看目录属性
— -h:人性化显示文件大小
— -i:显示inode

文件权限
-rw-r–r–
— -:文件类型( – 文件 d 目录 l 软链接文件)
— rw-:u所有者
— r–:g所属组
— r–:o其他人

— r:读
— w:写
— x:执行

六、关机和重启命令

1、shutdown命令
[root@localhost ~]# shutdown [选项] 时间
选项:
— -c:取消前一个关机命令
— -h:关机
— -r:重启

2、其他关机命令
[root@localhost ~]# halt
[root@localhost ~]# poweroff
[root@localhost ~]# init 0

3、其他重启命令
[root@localhost ~]# reboot
[root@localhost ~]# init 6

4、系统运行级别
— 0 关机
— 1 单用户
— 2 不完全多用户,不含NFS服务
— 3 完全多用户
— 4 末分配
— 5 图形界面
— 6 重启

[root@localhost ~]# cat /etc/inittab
#修改系统默认运行级别
id:3:initdefault:

[root@localhost ~]# runlevel
#查询系统运行级别

5、退出登录命令
[root@localhost ~]# logout

五、压缩与解压缩命令

常用压缩格式: .zip .gz .bz2 .tar.gz .tar.bz2

1、.zip格式压缩
zip 压缩文件名 源文件
#压缩文件

zip -r 压缩文件名 源目录
#压缩目录

2、.zip格式解压缩
unzip 压缩文件
#解压缩.zip文件

3、.gz格式压缩
gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失

gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留
例如:gzip -c cangls > cangls.gz

.gzip -r 目录
#压缩目录下所有的子文件,但不能压缩目录

4、.gz格式解压缩
gzip -d 压缩文件
#解压缩文件

gunzip 压缩文件
#解压缩文件

5、.bz2格式压缩
bzip2 源文件
#压缩为.bz2格式,不保留源文件

bzip2 -k 源文件
#压缩之后保留源文件

注意:bzip2命令不能压缩目录

6、.bz2格式解压缩
bzip2 -d 压缩文件
#解压缩,-k保留压缩文件

bunzip2 压缩文件
#解压缩,-k保留压缩文件

7、打包命令tar
tar -cvf 打包文件名 源文件
选项:
— -c:打包
— -v:显示过程
— -f:指定打包后的文件名

例如:
— tar -cvf longzls.tar longzls

8、解打包命令
tar -xvf 打包文件名
选择:
— -x:解打包

例如:
— tar -xvf longzls.tar

9、.tar.gz压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

tar -zcvf 压缩包名.tar.gz 源文件
选项:
— -z:压缩为.tar.gz格式

tar -zxvf 压缩包名.tar.gz
选项:
— -x:解压缩.tar.gz格式

10、tar.bz2压缩格式
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
— -z:压缩为.tar.bz2格式

tar -jxvf 压缩包名.tar.bz2
选项:
— -x:解压缩.tar.bz2格式

四、帮助命令

1、帮助命令main
man 命令
#获取指定命令的帮助

man ls
#查看ls的帮助

查看命令拥有那个级别的帮助
man -f 命令
相当于
whatis 命令

举例:
— man -5 passwd
— man -4 null
— man -8 ifconfig

man的级别
— 1 查看命令的帮助
— 2 查看可被内核调用的函数的帮助
— 3 查看函数和函数库的帮助
— 4 查看特殊文件的帮助(主要是/dev目录下的文件)
— 5 查看配置文件的帮助
— 6 查看游戏的帮助
— 7 查看其它杂项的帮助
— 8 查看系统管理员可用命令的帮助
— 9 查看和内核相关文件的帮助

查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令

例如:apropos passwd

2、其他帮助命令
选项帮助
命令 –help
#获取命令选项的帮助

例如:
— ls –help

shell内部命令帮助
help shell内部命令
#获取shell内部命令的帮助

例如:
whereis cd
#确定是否是shell内部命令
help cd
#获取内部命令帮助

详细命令帮助info
info 命令
— – 回车:进入子帮助页面(带有*号标记)
— – u:进入上层页面
— – n:进入下一个帮助小节
— – p:进入上一个帮助小节
— – q:退出

三、文件搜索命令

1、locate命令格式
locate 文件名
— 在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate
— locate命令所搜索的后台数据库
updatedb
更新locate数据库

/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS=”yes”
#开启搜索限制
PRUNEFS =
#搜索时,不搜索的文件系统
PRUNEPATHS =
#搜索时,不搜索的路径

2、搜索命令的命令whereis
whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
— -b:只查找可执行文件
— -m:只查找帮助文件

PATH环境变量
PATH环境变量:定义的是系统搜索命令的路径
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

3、find命令
find [搜索范围] [搜索条件]
#搜索文件

find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

find /root -iname install.log
#不区分大小写

find /root -user root
#按照所有者搜索

find /root -nouser
#查找没有所有者的文件

find /var/log/ -mtime +10
#查找10天前修改的文件
— -10 10天内修改文件
— 10 10天当天修改的文件
— +10 10天前修改的文件
— atime 文件访问时间
— ctime 改变文件属性
— mtime 修改文件内容

find . -size 25k
#查找文件大小是25KB的文件
— -25k 小于25KB的文件
— 25k 等于25KB的文件
— +25k 大于25KB的文件

find . -inum 262422
#查找i节点是262422的文件

find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20KB并且小于50KB的文件
— -a and 逻辑与,两个条件都满足
— -o or 逻辑或,两个条件满足一个即可

find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec/-ok 命令 {} \;对搜索结果执行操作

Linux中的通配符
— * 匹配任意内容
— ? 匹配任意一个字符
— [] 匹配任意一个中括号内的字符

4、搜索字符串命令grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
— -i 忽略大小写
— -v 排除指定字符串

5、find命令与grep命令的区别
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配