三、常用指令与VIM
常用指令
dd命令 if表示从什么路径下复制,of表示粘贴路径,bs表示每次写入文件大小,count表示写入次数
dd if=/dev/zero of=bigfile bs=1M count=100 用指定大小的块拷贝一个文件
压缩
压缩文件可以使用gzip和bzip2(解压缩使用gunzip和bunzip2,默认压缩比为6,压缩区间为1-9,9为最高压缩比)
gzip -9 bigfile
gunzip bigfile.gz
bzip2 -1 bigfile
bunzip2 bigfile.bz2
压缩多个文件或目录 tar --help
常见选项:
-c 创建压缩文件
-v 显示压缩或解压缩进度
-f 将待压缩的内容打包归档为文件
-x 解压缩
-j bzip2格式
-J xz格式
-z gzip格式
-C 解压时指定压缩路径(不加此选项,默认解压到当前目录)
tar cvf etc.tar /etc/
tar jcf etc.tar.bz2 /etc/
tar zcf etc.tar.gz /etc/
tar Jcvf etc.tar.xz /etc/
tar Jxvf etc.tar.xz
tar Jxvf etc.tar.xz -C /opt/
more分页查看文件内容;默认向下查看,按q退出,不能对文件进行编辑
less逐行查看文件内容,支持文件的关键词搜索,支持上下翻页,按q退出
head 查看文件头10行(默认)
-n number表示查看指定的行数
-number表示查看指定的行数
tail 查看文件后10行(默认)
n number表示查看指定的行数
-number表示查看指定的行数
grep 过滤文件内容
-i 过滤时,忽略关键词的大小写
-n 过滤时,显示关键词所在文件的行数
-v 过滤时,对结果取反,不显示关键词相关信息
-AX 过滤时,同时查看关键词行数的下面几行
-BX 过滤时,同时查看关键词行数的上面几行
du 统计目录内容大小
默认统计所有子目录,想查看总目录大小,可以加选项s
-s 统计时,显示目录的总大小
-h 统计时,以人性化方式显示目录大小
wc 统计文件内容 默认显示的信息依次为文件行数,文件的单词数,文件的大小 -l 统计文件或目录的行数
alias 命令别名建立 如果在终端执行,指令会立即生效 指令格式:新指令=‘原指令+选项’ 如果需要用户永久使用,可以编辑家目录下的‘.bashrc’文件,添加指令
find 实时查找
-name 根据名称做文件查找
-size 根据文件大小做文件查找,+表示大于,-表示小于
-exec \; -exec表示将前一个指令的输出当作后面指令的输入,同时需要借助{}替代前面查找的结果
e.g. find /etc -size +1M -exec ls -lh {} \;
vim编辑器使用
命令模式(默认模式):对一行或者多行做复制,粘贴,剪切,删除,进入其他模式
输入模式(编辑模式):可以对文件的每一个字符做修改
末行模式(扩展模式):保存退出,查看路径,读取新文件,强制退出
命令模式-》输入模式:使用a/i/o/A/I/O
命令模式-》末行模式:shift+;=‘:’
输入模式-》命令模式:按一下ESC键
末行模式-》命令模式:按两下ESC键
命令模式:
行间快速跳转
跳转到文件首行 1G或者gg
跳转到文件末行 G
跳转到文件中的第#行 #G 其中#代表数字
跳转到累加行 #enter 其中#代表数字,然后按回车,会在当前行的基础上,跳转到累加行
剪切(删除)
删除当前光标处单个字符 x或者Del 剪切当前行 dd
剪切从光标处开始的#行内容 #dd #表数字
删除当前光标前到行首所有内容 d^
删除当前光标到行尾所有内容 d$ dgg dG
复制
复制当前行 yy
复制从光标开始处的#行内容 #yy
粘贴
粘贴到当前行下 p
粘贴到当前行上 P
撤销
取消最近一次操作 u
反撤销最近一次操作 Ctrl+r
保存
保存并退出当前编辑 ZZ(shift+zz或开大写开关,按两次Z)
末行模式:
查找
从上至下在文中找“word”字符串 /word
从下而上在文中查找“word”字符串 ?word
定位下一个匹配字 n
定义上一个匹配字 N
显示行号
显示行号 :set nu(:set number)
取消行号显示 :set nonu
保存
保存修改内容 :w 另存为 :w /路径/文件
退出
未修改退出 :q 放弃修改强制退出 :q!
保存并退出
保存退出 :wq :x 保存并强制退出 :wq!
文件中打开文件
打开新文件编辑 :e /路径/文件
读入文件内容到当前编辑 :r /路径/文件
将当前行中查找到的第一个字符“old” 替换为“new” :s/old/new
将当前行中查找到的所有字符串“old” 替换为“new” :s/old/new/g
在行号“#,#”范围内替换所有的字符串“old”为“new” :#,#s/old/new/g (#,#=1,5)
在整个文件范围内替换所有的字符串“old”为“new” :%s/old/new/g
输入模式:
a:在当前光标所在位置的后面输入字符
i:在当前光标所在位置的前面输入字符
A:在当前光标所在位置的行尾输入字符
I:在当前光标所在位置的行首输入字符
o:在当前光标所在位置的下一行,重新输入字符
O:在当前光标所在位置的上一行,重新输入字符