1. vi常用操作
- i 插入
- / 查找 然后按n可以查找下一行
- dd 删除 先按esc然后将光标移到想删除行 然后dd 就可以了 ndd 删除光标所在行下及下面 n-行
- yy 粘贴 先按esc 然后将光标移到想复制的那一行,然后按p就可以粘贴了 nyy 复制光标所在行及以下n-行
- u 撤回 先按esc然后 按u
-
Ctrl+b:向文件首翻一屏;
-
ctrl + u 往上翻半屏内容
-
Ctrl+f:向文件尾翻一屏;
-
ctrl + d 往下翻半屏内容
-
:set nonu 取消显示行号
-
:set number 显示行号
-
:1,3y 复制第一行到第三行
-
:1,3d 删除第一行到第三行
-
shift + g 到文件末尾
2.定向输入输出
- command > file 将命令运行结果输出重定向到 file,覆盖原先已有内容。
-
ls -l > 1.txt
-
echo "hello world!" > 1.txt
-
command < file 将输入重定向到 file。
-
command >> file 将命令运行结果输出以追加的方式重定向到 file。
-
ls -l >> 1.txt
-
echo "hello world!" >> 1.txt
3.tar命令
参数
-
-f:指定文件名
-
-c: 建立压缩档案
-
-x:解压
-
-t:查看内容
-
-v:显示所有过程
-
-r:向压缩归档文件末尾追加文件
-
-z:有gzip属性的
-
-j:有bz2属性的
-
-A: 追加tar文件
-
示例
-
tar -cvf xx.tar xxx
-
归档 .tar
-
多个 空格隔开,下面一样
-
-
tar -zcvf xx.tar.gz xxx
-
归档&压缩 .tar.gz
-
-
tar -jcvf xx.tar.bz xxx
-
归档&压缩 tar.bz
-
-
tar -xvf xx.tar
-
解压 tar
-
-
tar -zxvf xx.tar.gz
-
解压 tar.gz
-
-
tar -jxvf xx.tar.bz2
-
解压 tar.bz2
-
-
tar -rvf xx.tar xx
-
-
追加 文件
-
-
tar -A xx.tar xx1.tar
-
追加tar
-
-
tar-tf xx
-
查看归档内容
-
zip和unzip命令
-
zip参数
-
-r 递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。 -m 将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。 -v 显示详细的压缩过程信息。 -q 在压缩的时候不显示命令的执行过程。 -压缩级别 压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好。
-
-
unzip参数
-
-d 目录名 将压缩文件解压到指定目录下。 -n 解压时并不覆盖已经存在的文件。 -o 解压时覆盖已经存在的文件,并且无需用户确认。 -v 查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作。 -t 测试压缩文件有无损坏,但并不解压
-
-
示例
-
zip xx.zip xx1 xx2 ...
-
压缩多个
-
-
zip -rv xx.zip dir
-
递归压缩目录
-
-
zip -rq1/9 xx.zip dir
-
不显示命令
-
级别不同
-
-
unzip xx.zip
-
解压
-
-
unzip -d dir xx.zip
-
解压到目录
-
-
unzip -n/o xx.zip
-
解压不覆盖或者覆盖
-
-
unzip -v xx.zip
-
查看压缩文件信息
-
-
unzip -t xx.zip
-
测试压缩文件有无损坏,但并不解压
-
-
-
gzip和gunzip命令
-
gzip xx
-
压缩
-
-
gzip -r xxx
-
递归压缩
-
-
gunzip xxx.gz
-
解压
-
-
gunzip -r xx.gz
-
bzip2和bzunzip2命令
-
bzip2 xx
-
bunzip xx.bz2
-
总结
-
1、*.tar 用 tar -xvf 解压
-
2、*.gz 用 gzip -d或者gunzip 解压
-
3、.tar.gz和.tgz 用 tar -xzf 解压
-
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
-
5、*.tar.bz2用tar -xjf 解压
-
6、*.zip 用 unzip 解压
-
7、*.Z 用 uncompress 解压
-
8、*.tar.Z 用tar -xZf 解压
-
9、*.rar 用 unrar e解压
-
Shell函数
-
格式
-
[ function ] funname [()] { action; [return int;] }
-
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
-
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果( $? 获取,默认为0),作为返回值。 return后跟数值n(0-255
-
3、所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。
-
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
-
$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。
-
特殊的处理参数
-
$# 传递到脚本的参数个数
-
$* 以一个单字符串显示所有向脚本传递的参数
-
$$ 脚本运行的当前进程ID号
-
$! 后台运行的最后一个进程的ID号
-
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
-
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
-
if [ $? == 0 ]
-
-
-
-