文件处理
l ls 查看, 参数 –i显示其inum(i结点)(每个文件(软链接除外)都唯一确定的,不重复), .(点)表示当前目录.
l mkdir 创建文件夹
l touch 创建空文件
l cp 复制
l mv 移动
l cat 查看文件内容(一次性显示全部,只显示最后一屏的内容)
l more 分页式查看(一页一页显示)
l ln 创建软连接文件(-s 创建硬链接文件)
l file 判断文件类型
权限处理
l chmod 更改权限(只用数字表示)
l chgrp 改变所属组
l unmask 查看权限,设置权限缺省值,注意是掩码值(exp: 0022, 0-特殊权限位,022-用户权限位,权限掩码值,类似子网掩码,需要用777-022=755真正的权限值)
切换用户
l su – 用户名 切换用户
搜索命令
l which 显示系统命令所在绝对路径/
通过路径可以判断该命令的执行权限,在/usr/bin目录的命令所有人能使用,/sbin目录的命令只有管理员root能够使用.
l whereis显示系统命令所在绝对路径
与which区别,还能够显示帮助文档所在位置
l find 查找文件或者用户(尽量不要在根目录/下查找,这样系统开销会很大,原则在于占用系统资源越少越好)(重点)!!!!!!!!!!!!!!!!!
常用参数
n -name 按名字
* 匹配任意字符 init*
? 匹配单个字符 init???
exp:
find/etc -name init 意义:在etc目录下查找名为init的文件(唯一匹配)
find/etc -name init* 意义:在etc目录下查找名开头为init的文件(通配符匹配,找出init开头全部)
find/etc -name init??? 意义:在etc目录下查找名开头为init的文件(通配符匹配,找出init开头后面接三个任意字符的文件)
n -inum 按i结点查找(可以用于某些疑难文件删除或者查找操作,比如文件名中包含空格,多个杠-)
n -size 文件大小 block数据块 512B ~ 0.5KB
100MB =? Block
100MB = 102400KB = 204800 block
大于 +
小于 –
等于 exp:find / -size 204800(很少用,几乎不用)
n -user 文件所有者
n 时间
1. 天 ctime atime mtime
2. 分钟 cmin amin mmin
c-change 改变,表示文件属性被修改过,所有者,所属组,权限
a-access 访问
m-modify 修改,表示文件内容被修改过
-之内, +超过
Exp: find /etc –mmin -120 意义:表示在etc文件夹内120分钟内被修改过的文件
n 1.连接符
-a and 逻辑与
-o or 逻辑或
Exp:find /etc –name init* -a –type l
意义:表示查找时只会列出软链接文件
2.连接符
-exec 执行(后可接查找到后接下去执行的命令)
-ok (执行-exec并进行询问确认)
find.....-exec 命令 {} \;
{} find查询的结果
\ 转义符,符号命令使用本身含义,比如/n换行符
; 结果
n -type 文件类型 f 二进制文件 l 软链接文件 d 目录
更复杂的查找正则表达式
find /etc –name inittab –o –size +2048000
意义:查找满足文件名为inittab或者大小大于1000MB的文件
find /etc –name inittab –exec ls –l {} \;
意义:查找满足文件名为inittab的文件,显示其具体内容
find /etc –name testfile3 –exec rm {} \;
意义:查找满足文件名为testfile3的文件并执行删除
关于find 使用正则表达式
范例:不加单引号或者双引号报错
[root@autoinstalltest]# find / -name passwd-[a-zA-Z]*
find: paths must precede expression: passwd-so
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec][path...] [expression]
加上单引号或者双引号
[root@autoinstall test]# find / -name"passwd-[a-zA-Z]*"
/tmp/test/passwd-so
/tmp/test/passwd-hd
[root@autoinstall test]# find / -name 'passwd-[a-zA-Z]*'
/tmp/test/passwd-so
/tmp/test/passwd-hd
[root@autoinstall test]#
所以在find使用正则表达式时必须要使用上述连个操作
补一个用法
#find/ -type f |find -name passwd
找到是文件类型的passwd文件
l locate 寻找文件或者目录(Linux特有命令,Unix中不提供此命令(比如solaris))
列出所有与file相关的文件
速度快,但是只能在系统目录数据库。可用于一些系统命令manual或者系统配置文件查找使用.
l updated (更新)建立整个系统目录文件的数据库(root权限)
l grep 在文件中搜寻字符串匹配的行并输出
exp:grep ftp /etc/services 意义:寻找所有含有ftp的行在services中,并输出.
帮助命令
--help 命令后加这个参数可以得到该命令的可选参数信息
l man 帮助命令 查看配置文件\command manual,参数5是配置文件,
exp:man 5 passwd 意义:查看配置文件passwd
exp:man passwd 意义:查看命令passwd的manual
l info 同man(Linux独有,Unix没有)
l whatis/apropos/makewhatis 命令帮助(简单用法帮助)
# markwhatis
建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatisdatabase没有建立
l help 查看shell内置命令的帮助(当用man无法找到帮助时,试试help)
压缩解压缩命令
gzip 压缩文件 压缩后的文件格式:.gz
1. 只能压缩文件,不能压缩目录
2. 不保留原文件
gunzip 解压缩.gz的压缩文件
tar 打包目录
命令格式
打包同时压缩 tar –zcvf dir1.tar.gz dir1 (这种形式只有Linux才支持,Unix不行,只能先打包,再压缩)
解包 tar –xfz dir1.tar.gz
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
zip 压缩成zip文件
命令格式
压缩文件zip services.zip /etc/services
压缩目录 zip –r test.zip /test
unzip 解压缩zip文件
bzip2 压缩成bz2文件(高压缩比
参数–k 保留原文件
压缩格式:
1. .gz
2. tar.gz
3. zip 默认win和linux通用格式
4. .bz2 (高压缩比)
网络通信命令
write 向另一个用户发送信息, 以Ctrl+D作为结束
语法 write <用户名>
wall 向所有用户发广播
ping 测试网络连通性(只能测出网络是否连通,不能测试网络是否良好,还需要依据丢包率来看)(兄弟连视频讲解第三讲中的常用命令04中有网络测试方法)
ifconfig 查看网络设置信息
参数–a(all)显示所有网卡信息
Shell应用技巧
Ctrl + L 清屏
Ctrl + U 删除光标行
history 显示使用过的命令
alias 命令别名,(可查看,还可定义命令)
exp:
alias copy = cp (定义命令别名)
alias xrm = “rm -r”(定义命令组合)
unalias 删除别名
输入输出重定向
1. > 输出重定向 (单次输出,会覆盖掉原文件内容)exp:ls –l /tmp > /tmp.msg
2. >> 输出重定向 (追加输出)
3. < 输入重定向 exp:wall < /etc/motd
4. 2> 错误输出重定向 exp:cp–R /usr/backup/usr.bak 2> /bak.error
管道
将一个命令的输出传送给另一个命令,作为另一个命令的输入
语法:命令1|命令2|命令3|命令4
Exp:
ls –l /etc | more
ls –l /etc | grep init
ls –l /etc | grep init | wc -1
命令连接符
;间隔的各命令按顺序依次执行
&& 前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才能被执行
|| 前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它后面的命令才会被执行
命令替换符将一条命令的输出作为另一个命令的参数
格式为:命令1 `命令2`(注意这个不是双引号小撇,是数字键1旁边那个小撇)
将命令2的输出作为命令1的输入
Exp: ls –l `which touch`
练习重点
n 权限练习
n 软硬链接文件练习
n Find查找练习
n 命令技巧练习