which:查找可执行文件(命令)并显示所在的位置
----搜索范围由PATH环境变量指定
例如:
[root@teacher lianxi]# which mkdir
/bin/mkdir
[root@teacher lianxi]# which tree
/usr/bin/tree
[root@teacher lianxi]# mv /usr/bin/tree / 将tree命令移走
[root@teacher lianxi]# which tree tree命令找不到了,因为它的路径改变了,且PATH变量的路径没有了
/usr/bin/which: no tree in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[root@teacher lianxi]# tree
bash: /usr/bin/tree: No such file or directory
[root@teacher lianxi]# /tree 使用绝对路径可以使用
[root@teacher lianxi]# echo $PATH 输出当前用户的查找命令的路径变量(环境变量中的一个变量)
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[root@teacher lianxi]# PATH=$PATH:/china 修改PATH变量的值
[root@teacher lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
***********
which默认在PATH变量提供的路径里面寻找,如果不存在就提示不存在,修改PATH变量,在环境变量路径中加入所查询的路径,就可以找到
whereis:查找文件的路径、该文件的帮助文件路径,原理和which类似
格式:
whereis 命令或程序名
例如:
[root@localhost ~]# whereis which
which: /usr/bin/which /usr/share/man/man1/which.1.gz
[root@localhost ~]# touch sxkj
[root@localhost ~]# whereis sxkj
sxkj:
[root@localhost ~]# mv sxkj /usr/bin
[root@localhost ~]# whereis sxkj
sxkj: /usr/bin/sxkj
*************
which和whereis的异同:
都是在PATH变量的路径下查找命令
但是whereis可以查看命令的man手册文件的路径,同时不要求命令具有可执行权限
locate 所有文件及其所在路径包含关键字段的文件与目录都会显示
格式:locate 文件名
[root@teacher ~]# updatedb 新建的文件locate不一定能找打,需要更新数据库
**********locate :在整个根目录下查找,比较适合查找文件
**********which :在PATH变量值路径下查找,比较适合查找命令
**********whereis :在PATH变量值路径下查找,比较适合查找命令
find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件] [表达式][-exec -ok ...] 指令 {} \;
{} 存放find找到的文件
\禁止转义 (注意{}和\之间的空格)
;表示本行指令结束
-exec 后面接需要执行的命令 (execute)
-ok 比-exec多一个确定是否执行
常用查找条件
-name:按文件名称查找 *
-size: 按文件大小查找 *
-user: 按文件属主查找
-type: 按文件类型查找 *
-perm :按文件权限查找
-mtime :按文件更改时间查找
-newer:按比某个文件更新的查找
-mmin 根据分钟来查找
1:有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。
‘’(单引号) 又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
“”(双引号) 又叫软转义,其内部只允许出现特定的shell 元字符:$用于参数代换 `用于命令代替
\(反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义。
[root@teacher ~]# find /boot -name "vm*" -exec ls -l {} \;(查找boot目录下以vm开头的文件名并且显示详细信息)
**************Linux Shell 通配符、元字符、转义符,更详细在百度键入通配符,元字符,转义符,博客园中有一篇文章总结的很好。之间粘贴网站貌似不行。
2:-size单位表示
‘k’ for Kilobytes (units of 1024 bytes)
‘M’ for Megabytes (units of 1048576 bytes)
‘G’ for Gigabytes (units of 1073741824 bytes)
[root@teacher ~]# find /boot -size +100M -exec cp {} /tmp \; (查找boot目录下文件大小大于100M的复制到/tmp目录下)
3:关于时间的参数:
-mtime modify 修改时间
-atime access 访问时间
-ctime change 改变文件的属性的时候(大小、时间、用户、组、权限)
例如:
[root@teacher bak]# find . -mtime +5 查找5天之前的文件
[root@teacher bak]# find . -mmin +420 -type f -exec rm -rf {} \; (在/bak目录下查找出7个小时之前的文件,并将它删除)
*******访问时间 cat、vim查看
修改时间 vim编辑
ctime chmod、chown可以修改文件的属性
4.-type参数:
b——块设备文件(block)
d——目录(directory)
c——字符设备文件(character)
p——管道文件(pipeline)
l——符号链接文件 (link)
f——普通文件 (file)
例如:
查找系统中所属组为 admin,权限为 644 的普通文件
[root@station12
/]# find / -group admin -perm 644 -type
f
5.特殊查找条件:
-o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足
-not :逻辑非,在命令中可用“!”表示。该运算符表示查找不满足所给条件的文件
-a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。
例如:
查找/boot 目录下不是目录的文件,然后把他们复制到/bak 目录下
[root@station12
/]# find /boot ! -type d -exec cp {} /bak \;
下面以练习形式引出命令:
1.新建一个文件夹在根目录下叫zhaoshi
[root@localhost /]# mkdir zhaoshi
2.进入根目录下的zhaoshi目录
[root@localhost /]# cd zhaoshi
3.复制/etc/passwd文件到当前目录下
[root@localhost zhaoshi]# cp /etc/passwd ./
4.显示/etc/passwd文件的内容,要求看到文件里有多少行
[root@localhost zhaoshi]# cat -n passwd (passwd注意路径)
cat 查看文件里的内容
选项说明:
-n;--number 由1开始对所有输出的行数编号
number all output lines
-b,--number-nonblank 和-n相似,但不对空白行编号
-s,--squeeze-blank 当遇到有连续两行以上的空白行,就代换成一行的空白行
tac命令
用途:从最后一行倒着显示出文件的全部内容(是cat反过来写)
5.分页显示passwd文件里的内容
[root@localhost zhaoshi]# more passwd
more 显示文件里的内容(分页显示)
用途:全屏方式分页显示文件内容
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
less命令
用途:与more命令相同,但扩展功能更多
交互操作方法:
与more命令基本类似,但个别操作会有些出入
【page down】【page up】上翻下翻页
6.显示passwd文件的头4行
[root@localhost zhaoshi]# head -4 passwd
head 查看文件开头的一部分内容(默认为10行)
格式:head -n 文件名
高级用法:
head -n -3 /etc/passwd 不显示最后三行 *
head -n +3 /etc/passwd 显示前三行
7.显示passwd文件的末尾3行
[root@localhost zhaoshi]# tail -3 passwd
tail 查看文件结尾的少部分内容(默认为10行)
格式:
tail -n 文件名
tail -f 文件名(动态的监控文件的变化,一旦有变化在屏幕上输出)查看secure这个日志文件,该文件和系统的安全有关,凡是远程登录系统,新建用户和设置密码都会记录到此文件
高级用法:
格式:
tail -n 数字 文件名
数字:数字前有 +(加号),从文件开头指定的单元 数开始输出;数字前有 -(减号),从文件末尾指定的单元 数开始输出;没有 +或 -,从文件末尾指定的单元 数开始输出。
tail -n +3 /etc/passwd 从第三行开始显示 *
tail -n -3 /etc/passwd 显示最后三行
8.显示passwd文件的第8行
[root@localhost zhaoshi]# head -8 passwd |tail -1
| 管道符号(pipeline) 将前面一个命令的输出送给后面一个命令作为输入的内容
9.显示passwd文件的第2行到最后第3行之间的内容
[root@localhost zhaoshi]# cat -n passwd|tail -n +2 |head -n -3(加上行数显示效果更明显)
打包归档及压缩命令
zip
[root@localhost huhu]# zip h.zip haha hehe
zip命令
用途:制作压缩文件
格式:zip 压缩文件名 文件1 文件2
unzip命令
用途:解压缩文件
格式:unzip [-l] 压缩文件名
gzip(扩展名为.gz)
用途:制作压缩文件、解开压缩文件
格式:
gzip [-9] 文件名...
gzip -d .gz格式的压缩文件
常用命令选项:
-9:表示高压缩比,取值1-9,默认为6
-d:用于解压缩文件,同gunzip命令
-c:将输出重定向到标准输出
zcat
用途:查看压缩文件内容
格式:zcat 压缩文件名
bzip2(扩展名为.bz2)
用途:制作压缩文件、解开压缩文件
格式:
bzip2 [-9] 文件名...
bzip2 -d .bz2格式的压缩文件
常用命令选项
-d:用于解压缩文件
-c:将输出重定向到标准输出
bzcat命令
用途:查看压缩文件内容
格式:bzcat 压缩文件名
tar
作用:创建压缩文件,用来备份,可以节约磁盘空间。
用途:制作归档文件、释放归档文件
格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
常用命令选项
-c:创建 .tar 格式的包文件
-c, --create
create a new archive
-x:解开.tar格式的包文件
-x, --extract(提取)--get
extract files from an archive
-v:输出详细信息
-v, --verbose(冗长的)
verbosely list files processed
-f:表示使用归档文件
-f, --file=ARCHIVE
use archive file or device ARCHIVE
-t:列表查看包内的文件
-t, --list
list the contents of an archive
-p:保持原文件的原来属性(权限)
-p, --preserve-permissions
extract information about file per-
missions (default for superuser)
-P:保持原文件的绝对路径
-P, --absolute-names
don’t strip leading ‘/’s from file
names
-C:解包时指定的目标文件夹
-z:调用gzip程序进行压缩或解压
-z, --gzip, --gunzip, --ungzip
filter the archive through gzip
-j:调用bzip2程序进行压缩或解压
-j, --bzip2
filter the archive through bzip2
--exclude file:压缩过程中排除file(也可以是目录)
例如:
[root@teacher wulin]# tar czf pwd-host.tar.gz /etc/passwd /etc/shadow(将根下etc下德passwd和shadow打包)
tar: Removing leading `/' from member names 正常提醒
将/wulin目录下的除boot目录以外的所有文件和目录打包放在/bak目录下,叫noboot-wulin.tar.gz
tar czvf /bak/noboot-wulin.tar.gz /wulin/* --exclude /wulin/boot
***************创建压缩包常用选项组合czvf(用于扩展名为.gz)和cjvf(用于扩展名为.bz2)
解压压缩包常用选项组合xvf
查看内容选项组合tvf
解压文件的时候接-C,指定路径
**********tar命令注意事项
一定要注意绝对路径和相对路径问题,推荐使用相对路径
使用z或j压缩的文件,解压缩的时候不需要加上z或j,tar直接可以识别,解压文件后会覆盖原来的文件
tar对目录和文件都可以进行操作,gzip和bzip2只能对文件进行操作
选项有-和没有-效果是一样的
*************整理有点乱。请多多见谅。
阅读(2612) | 评论(0) | 转发(2) |