Linux的五个查找命令
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Variable-name=value 设置实际值到variable-name Variable-name+value 如果设置了variable-name,则重设其 值 Variable-name:?value 如果未设置variable-name,显示未定 义用户错误信息 Variable-name?value 如果未设置variable-name,显示系统 错误信息
$ locate ~/m 搜索用户主目录下,所有以m开头 的文件。
$ locate -i ~/m 搜索用户主目录下,所有以m开头 的文件,并且忽略大小写。
3. whereis whereis命令只能用于程序名的搜索,而 且只搜索二进制文件(参数-b)、man说 明文件(参数-m)和源代码文件(参数s)。如果省略参数,则返回所有信息。 whereis命令的使用实例:
$ 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开头的文件。
环境变量的功能 •主文件夹的变换 •提示符的显示 •执行文件查找的路径 •…
3.1 设置环境变量 VARIABLE-NAME=value;export VARIABLE-NAME 在两个命令之间是一个分号,也可以这样 写: VARIABLE-NAME=value export VARIABLE-NAME
3.2 显示环境变量 显示环境变量与显示本地变量一样,用echo命令 即可。 使用env命令(environment)可以查看所有的环境变 量。 3.3 清除环境变量 使用unset命令清除环境变量 unset VARIABLE-NAME
使用变量时,如果用花括号将之括起来,可 以防止shell误解变量值。 要设置一本地变量,格式为: $ variable-name=value 或 $ {variablename=value} 注意,变量内容可以有空格。如果取值包含 空格,必须用双引号括起来。shell变量可以 用大小写字母。
变量设置时的不同模式:
$color=blue $unset color $echo "The sky is ${color:-grey} today" The sky is grey today 上面的例子并没有将实际值传给变量,需使用下述命令完成此功能: $ {variable:=value}
2.6 使用变量来保存系统命令参数 可以用变量保存系统命令参数的替换信息。 举例:使用变量保存文件拷贝的文件名信息。 变量source保存passwd文件的路径。 $ source="/etc/passwd" $ cd $source
$ whereis grep
4. Which 在PATH变量指定的路径中,搜索 某个系统命令的位置,并且返回第 一个搜索结果。即使用which命令, 就可以看到某个系统命令是否存在, 以及执行的到底是哪一个位置的命 令。 which命令的使用实例:
$ which grep
5. type type命令不算查找命令,它是用来区分 某个命令到底是由shell自带的,还是由 shell外部的独立二进制文件提供的。 如果一个命令是外部命令,那么使用-p 参数,会显示该命令的路径,相当于 which命令。
2.7 设置只读变量 如果设置变量时,不想再改变其值,可以将之设置
为只读方式。如果有人包括用户本人想要改变它,
则返回错误信息。
格式如下: variable-name=value readonly variable-name 设为只读后,任何改变其值的操作将返回错误信息。 要查看所有只读变量,使用命令readonly即可。
3 环境变量 环境变量用于所有用户进程(经常称为子进程,目前这个 Shell已经打开的情况下,又去打开另一个新的shell,就是 子进程)。登录进程称为父进程。s h e l l中执行的用户进 程均称为子进程。父进程的自定义变量无法在子进程中使 用。环境变量应用于用户进程前,必须用export命令导出。 环境变量可以在命令行中设置,但用户注销时这些值将丢 失,因此最好在. profile文件中定义。系统管理员可能在 /etc/profile文件中已经设置了一些环境变量。将之放入 profile文件意味着每次登录时这些值都将被初始化。
echo $var_1$var_2
举例1:设置一个变量name,内容为Vyu 12 name=Vyu name = Vyu name=Vyu 举例2:设置一个变量name,内容为Vyu’s name name=Vyu’s name name=“Vyu’s name” name=‘Vyu’s name’ name=Vyu\’s\ name
2.2 清除变量 使用unset命令清除变量。 unset variable-name 2.3 显示所有本地shell变量 使用不加任何参数的set命令显示所有本地定义的shell变量。 set输出可能很长。查看输出时可以看出shell已经设置了一 些用户变量以使工作环境更加容易使用。 2.4 结合变量值 将变量并排可以使变量结合在一起:
type命令的使用实例:
$ type cd 系统会提示,cd是shell的自带命令 (build-in)。
$ type grep 系统会提示,grep是一个外部命令,并 显示该命令的路径。
$ type -p grep 加上-p参数后,就相当于which命令。
Shell 的变量的功能
为使shell编程更有效,系统提供了一些 shell变量。shell变量可以保存诸如路径 名、文件名或者一个数字这样的变量名。 shell将其中任何设置都看做文本字符串。 变量是bash环境中很重要的一部分。 有两种变量,本地变量和环境变量。严 格地说可以有4种,但其余两种是只读的, 可以认为是特殊变量,它用于向shell脚 本传递参数。
在命令执行的过程中,反单引号`的意义为何?
在一串命令中,在`之内的命令将会被先执行, 而执行出来的结果将作为外部的输入信息。
例如:uname –r会显示出目前的内核版本,而我 们的内核版本在/lib/moules里面,所以可以先执 行uname –r找到内核版本,然后cd 目录回到该 目录下。
例如:locate命令可以列出所有相关文件名,但 如果想要知道各个crontab相关文件的权限呢? ls –l `locate crontab`
Variable-name:=value 如果未设置variable-name,设置其值 Variable-name:-value 同上,但是取值并不设置到variable-name,可 以被替换
2.1 显示变量 使用echo命令可以显示单个变量取值,并在变量名前加$, 例如: 在屏幕上显示出你的环境变量HOME与MAIL
举例:Linux是多用户、多任务的环境, 每个人登陆系统都能取得一个bash,每个 人都能够使用bash执行mail这个命令来收 取“自己”的邮件,但bash是如何得知你 的邮件信箱是哪个文件? 变量就很有用。变量就是以一组文字或符 号等,来代替一些设置或者是一串保留的 数据。
本地变量 本地变量在用户现在的shell生命期的脚本中 使用。例如,本地变量file-name取值为 loop.doc,这个值只在用户当前shell生命期有 意义。 如果在shell中启动另一个进程或退出,此值 将无效。优点:用户不能对其他的shell或进 程设置此变量有效。
echo $HOME 或者echo ${HOME} echo $MAIL 或者echo ${MAIL}
设置变量内容 变量=变量内容 myname=Vyu
echo $myname myname=Vyu echo $myname
变量的设置规则: 1 变量与变量内容用等号来连接 2 变量名称只能是英文字母或数字,但开 头字符不能是数字 3 可以用转义字符\将特殊符号变成一般字 符 4 如果该变量需要在其它子进程执行,则 需要以export来使变量变成环境变量 5 通常大写字符为系统默认变量,自行设 置变量可以使用小写字符,方便判断。
举例,登录的审核系统需要编辑。在菜单中选择此选 项时,应用查询EDITOR变量值,其值为vi。系统知 道可使用此编辑器(用命令echo $EDITOR看看自己 的?)
另一个例子需要登录数据库系统,键入下列命令:
$ isql -Udavet -Pabcd -Smethsys 这里- S为正在连接的服务器名称。有一变量 DSQUERY保存服务器名称值。设置服务器名称值到 DSQUERY变量,这样如果登录时不使用-S提供服务 器名称,应用将查询DSQUERY变量,并使用其取值 作为服务器名称。需要做的全部工作就是键入下列命 令: $ isql -Udavet –Pabcd
2.5 测试变量是否已经设置 有时要测试是否已设置或初始化变量。如果未设置或初始化,就可 以使用另一值。此命令格式为:
$ {variable:-value} 意即如果设置了变量值,则使用它,如果未设置,则取新值。例如:
$color=blue $echo "The sky is ${color:-grey} today" The sky is blue today 变量colour取值blue,echo打印变量colour时,首先查看其是否已赋 值,如果查到,则使用该值。现在清除该值,再来看看结果。
录。默认为当前目录。 - <指定条件>: 所要搜索的文件的特征。 - <指定动作>: 对搜索结果进行特定的处理。
如果什么参数也不加,find默认搜索当前目录 及其子目录,并且不过滤任何结果(也就是返回所 有文件),将它们全都显示在屏幕上。
find的使用实例:
$ find . -name "my*" 搜索当前目录(含子目录,以下同)中,所 有文件名以my开头的文件。
1 什么是shell变量 变量是存储设备中的一些可读写的存储单元。 变量可以定制用户本身的工作环境。使用变量可 以保存有用信息,使系统获知用户相关设置。 变量也用于保存暂时信息。
例如:一变量为EDITOR,系统中有许多编辑工 具,但哪一个适用于系统呢?将此编辑器名称赋 给EDITOR,这样,在使用cron或其他需要编辑器 的应用时,这就是你将一直使用的EDITOR取值, 并将之用作缺省编辑器。
Linux的五个查找命令
find locate whereis which type
1. find find是最常见和最强大的查找命令,你可以用它找 到任何你想找的文件。
find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目
在变量的设置中,单引号与双引号用途有何不 同?
双引号可以保有变量的内容,但单引号只能是 一般字符,而不会有特殊字符。
假设定义了一个变量name=Vyu,现在想以name这 个变量的内容定义出myname显示Vyu its me这个 内容,如何设置?
name=Vyu echo $name Myname=“$name its me” echo $myname Myname=‘$name its me’ echo $myname
$ locate ~/m 搜索用户主目录下,所有以m开头 的文件。
$ locate -i ~/m 搜索用户主目录下,所有以m开头 的文件,并且忽略大小写。
3. whereis whereis命令只能用于程序名的搜索,而 且只搜索二进制文件(参数-b)、man说 明文件(参数-m)和源代码文件(参数s)。如果省略参数,则返回所有信息。 whereis命令的使用实例:
$ 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开头的文件。
环境变量的功能 •主文件夹的变换 •提示符的显示 •执行文件查找的路径 •…
3.1 设置环境变量 VARIABLE-NAME=value;export VARIABLE-NAME 在两个命令之间是一个分号,也可以这样 写: VARIABLE-NAME=value export VARIABLE-NAME
3.2 显示环境变量 显示环境变量与显示本地变量一样,用echo命令 即可。 使用env命令(environment)可以查看所有的环境变 量。 3.3 清除环境变量 使用unset命令清除环境变量 unset VARIABLE-NAME
使用变量时,如果用花括号将之括起来,可 以防止shell误解变量值。 要设置一本地变量,格式为: $ variable-name=value 或 $ {variablename=value} 注意,变量内容可以有空格。如果取值包含 空格,必须用双引号括起来。shell变量可以 用大小写字母。
变量设置时的不同模式:
$color=blue $unset color $echo "The sky is ${color:-grey} today" The sky is grey today 上面的例子并没有将实际值传给变量,需使用下述命令完成此功能: $ {variable:=value}
2.6 使用变量来保存系统命令参数 可以用变量保存系统命令参数的替换信息。 举例:使用变量保存文件拷贝的文件名信息。 变量source保存passwd文件的路径。 $ source="/etc/passwd" $ cd $source
$ whereis grep
4. Which 在PATH变量指定的路径中,搜索 某个系统命令的位置,并且返回第 一个搜索结果。即使用which命令, 就可以看到某个系统命令是否存在, 以及执行的到底是哪一个位置的命 令。 which命令的使用实例:
$ which grep
5. type type命令不算查找命令,它是用来区分 某个命令到底是由shell自带的,还是由 shell外部的独立二进制文件提供的。 如果一个命令是外部命令,那么使用-p 参数,会显示该命令的路径,相当于 which命令。
2.7 设置只读变量 如果设置变量时,不想再改变其值,可以将之设置
为只读方式。如果有人包括用户本人想要改变它,
则返回错误信息。
格式如下: variable-name=value readonly variable-name 设为只读后,任何改变其值的操作将返回错误信息。 要查看所有只读变量,使用命令readonly即可。
3 环境变量 环境变量用于所有用户进程(经常称为子进程,目前这个 Shell已经打开的情况下,又去打开另一个新的shell,就是 子进程)。登录进程称为父进程。s h e l l中执行的用户进 程均称为子进程。父进程的自定义变量无法在子进程中使 用。环境变量应用于用户进程前,必须用export命令导出。 环境变量可以在命令行中设置,但用户注销时这些值将丢 失,因此最好在. profile文件中定义。系统管理员可能在 /etc/profile文件中已经设置了一些环境变量。将之放入 profile文件意味着每次登录时这些值都将被初始化。
echo $var_1$var_2
举例1:设置一个变量name,内容为Vyu 12 name=Vyu name = Vyu name=Vyu 举例2:设置一个变量name,内容为Vyu’s name name=Vyu’s name name=“Vyu’s name” name=‘Vyu’s name’ name=Vyu\’s\ name
2.2 清除变量 使用unset命令清除变量。 unset variable-name 2.3 显示所有本地shell变量 使用不加任何参数的set命令显示所有本地定义的shell变量。 set输出可能很长。查看输出时可以看出shell已经设置了一 些用户变量以使工作环境更加容易使用。 2.4 结合变量值 将变量并排可以使变量结合在一起:
type命令的使用实例:
$ type cd 系统会提示,cd是shell的自带命令 (build-in)。
$ type grep 系统会提示,grep是一个外部命令,并 显示该命令的路径。
$ type -p grep 加上-p参数后,就相当于which命令。
Shell 的变量的功能
为使shell编程更有效,系统提供了一些 shell变量。shell变量可以保存诸如路径 名、文件名或者一个数字这样的变量名。 shell将其中任何设置都看做文本字符串。 变量是bash环境中很重要的一部分。 有两种变量,本地变量和环境变量。严 格地说可以有4种,但其余两种是只读的, 可以认为是特殊变量,它用于向shell脚 本传递参数。
在命令执行的过程中,反单引号`的意义为何?
在一串命令中,在`之内的命令将会被先执行, 而执行出来的结果将作为外部的输入信息。
例如:uname –r会显示出目前的内核版本,而我 们的内核版本在/lib/moules里面,所以可以先执 行uname –r找到内核版本,然后cd 目录回到该 目录下。
例如:locate命令可以列出所有相关文件名,但 如果想要知道各个crontab相关文件的权限呢? ls –l `locate crontab`
Variable-name:=value 如果未设置variable-name,设置其值 Variable-name:-value 同上,但是取值并不设置到variable-name,可 以被替换
2.1 显示变量 使用echo命令可以显示单个变量取值,并在变量名前加$, 例如: 在屏幕上显示出你的环境变量HOME与MAIL
举例:Linux是多用户、多任务的环境, 每个人登陆系统都能取得一个bash,每个 人都能够使用bash执行mail这个命令来收 取“自己”的邮件,但bash是如何得知你 的邮件信箱是哪个文件? 变量就很有用。变量就是以一组文字或符 号等,来代替一些设置或者是一串保留的 数据。
本地变量 本地变量在用户现在的shell生命期的脚本中 使用。例如,本地变量file-name取值为 loop.doc,这个值只在用户当前shell生命期有 意义。 如果在shell中启动另一个进程或退出,此值 将无效。优点:用户不能对其他的shell或进 程设置此变量有效。
echo $HOME 或者echo ${HOME} echo $MAIL 或者echo ${MAIL}
设置变量内容 变量=变量内容 myname=Vyu
echo $myname myname=Vyu echo $myname
变量的设置规则: 1 变量与变量内容用等号来连接 2 变量名称只能是英文字母或数字,但开 头字符不能是数字 3 可以用转义字符\将特殊符号变成一般字 符 4 如果该变量需要在其它子进程执行,则 需要以export来使变量变成环境变量 5 通常大写字符为系统默认变量,自行设 置变量可以使用小写字符,方便判断。
举例,登录的审核系统需要编辑。在菜单中选择此选 项时,应用查询EDITOR变量值,其值为vi。系统知 道可使用此编辑器(用命令echo $EDITOR看看自己 的?)
另一个例子需要登录数据库系统,键入下列命令:
$ isql -Udavet -Pabcd -Smethsys 这里- S为正在连接的服务器名称。有一变量 DSQUERY保存服务器名称值。设置服务器名称值到 DSQUERY变量,这样如果登录时不使用-S提供服务 器名称,应用将查询DSQUERY变量,并使用其取值 作为服务器名称。需要做的全部工作就是键入下列命 令: $ isql -Udavet –Pabcd
2.5 测试变量是否已经设置 有时要测试是否已设置或初始化变量。如果未设置或初始化,就可 以使用另一值。此命令格式为:
$ {variable:-value} 意即如果设置了变量值,则使用它,如果未设置,则取新值。例如:
$color=blue $echo "The sky is ${color:-grey} today" The sky is blue today 变量colour取值blue,echo打印变量colour时,首先查看其是否已赋 值,如果查到,则使用该值。现在清除该值,再来看看结果。
录。默认为当前目录。 - <指定条件>: 所要搜索的文件的特征。 - <指定动作>: 对搜索结果进行特定的处理。
如果什么参数也不加,find默认搜索当前目录 及其子目录,并且不过滤任何结果(也就是返回所 有文件),将它们全都显示在屏幕上。
find的使用实例:
$ find . -name "my*" 搜索当前目录(含子目录,以下同)中,所 有文件名以my开头的文件。
1 什么是shell变量 变量是存储设备中的一些可读写的存储单元。 变量可以定制用户本身的工作环境。使用变量可 以保存有用信息,使系统获知用户相关设置。 变量也用于保存暂时信息。
例如:一变量为EDITOR,系统中有许多编辑工 具,但哪一个适用于系统呢?将此编辑器名称赋 给EDITOR,这样,在使用cron或其他需要编辑器 的应用时,这就是你将一直使用的EDITOR取值, 并将之用作缺省编辑器。
Linux的五个查找命令
find locate whereis which type
1. find find是最常见和最强大的查找命令,你可以用它找 到任何你想找的文件。
find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目
在变量的设置中,单引号与双引号用途有何不 同?
双引号可以保有变量的内容,但单引号只能是 一般字符,而不会有特殊字符。
假设定义了一个变量name=Vyu,现在想以name这 个变量的内容定义出myname显示Vyu its me这个 内容,如何设置?
name=Vyu echo $name Myname=“$name its me” echo $myname Myname=‘$name its me’ echo $myname