lfs101-command-line-02

题图来自vim.org

简单介绍tar、gzip、bzip2、xz、zip、dd、nano、gedit、vi\vim、emacs的用法。

tar 用法

tar: 是一个打包命令而不是压缩命令,把一堆的文件或目录打成一个.tar扩展名的文件(扩展名其实是随便取都可以的,但是习惯用这个),用于备份或传输。通过参数的方式可以使用gzip、bzip2对打包的文件进行压缩。

常见用法:
-c: 创建打包文件
-v: 显示打包过程
-f: 指定打包文件
-z: 用gzip处理打包文件
-j: 用bzip2处理打包文件
-J: 用xz处理打包文件
-t: 查看打包文件
-x: 解压打包文件,不需要指定压缩类型,tar会自动判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tar -cvf goagent.tar goagent  # 对goanget 目录进行打包,打包后的文件是goagent.tar
tar -zcvf goagent.tar.gz goagent # 对goanget 目录进行打包并用gzip进行压缩,打包后的文件是goagent.tar.gz
tar -jcvf goagent.tar.bz2 goagent # 对goanget 目录进行打包并用bzip2进行压缩,打包后的文件是goagent.tar.bz2
tar -jtvf goagent.tar.bz2 # 查看goagent.tar.bz2打包文件里面的内容
tar -xvf goagent.tar.bz2 # 解压goagent.tar.bz2文件

wendyeq temp $ ls -al
total 35608
drwxr-xr-x 6 wendyeq staff 204 1 7 23:01 .
drwxr-xr-x 13 wendyeq staff 442 1 7 22:59 ..
drwxr-xr-x@ 10 wendyeq staff 340 12 26 23:36 goagent
-rw-r--r-- 1 wendyeq staff 7818752 1 7 22:59 goagent.tar
-rw-r--r-- 1 wendyeq staff 5241309 1 7 23:01 goagent.tar.bz2
-rw-r--r-- 1 wendyeq staff 5168639 1 7 23:00 goagent.tar.gz

gzip 用法

gzip: gzip 是使用广泛的压缩程序,常用.gz扩展名。gzip 对文件进行压缩,不能对目录进行压缩,所以一般与tar一起使用。

常见用法:
-v: 显示压缩过程
-l: 列出压缩文件的相关信息
-d: 解压文件

1
2
3
4
5
6
wendyeq temp $ gzip -v goagent.tar  # 压缩goagent.tar 文件
goagent.tar: 33.9% -- replaced with goagent.tar.gz
wendyeq temp $ gzip -l goagent.tar.gz # 列出goagent.tar 的相关信息
compressed uncompressed ratio uncompressed_name
5168651 7823360 33.9% goagent.tar
wendyeq temp $ gzip -d goagent.tar.gz # 解压goagent.tar.gz 文件

bzip2 用法

bzip2: 一种.bz2扩展名的压缩方式。

常见用法:
-v: 显示压缩过程
-k: 压缩后保留原文件,默认是删除原文件的。
-d: 解压文件

1
2
3
bzip2 -v goagent.tar  # 压缩goagent.tar 文件,并删除goagent.tar
bzip2 -kv goagent.tar # 压缩goagent.tar 文件,不删除goagent.tar
bzip2 -dv goagent.tar.bz2 # 解压goagent.tar.bz2 文件

xz 用法

xz: 一种.xz扩展名的压缩方式。压缩率比gzip、bzip2都高,所以压缩的时候速度比较慢。

常见用法:
-v: 显示压缩过程
-k: 压缩后保留原文件,默认是删除原文件的。
-d: 解压文件

1
2
3
xz -v goagent.tar  # 压缩goagent.tar 文件,并删除goagent.tar
xz -kv goagent.tar # 压缩goagent.tar 文件,不删除goagent.tar
xz -dv goagent.tar.xz # 解压goagent.tar.xz 文件

zip 用法

zip: 一种.zip扩展名的压缩方式。用的比较广泛,windows 也经常用这个格式。不带自解压参数,用unzip进行解压。

常见用法:
-q: 不显示压缩过程
-r: 递归处理,将指定目录下的所有文件和子目录一并压缩

1
2
zip -qr goagent.zip goagent  # 打包压缩goagent目录里的所有内容,没有`-r`参数不能对目录进行操作。
unzip goagent.zip # 解压goagent.tar.xz 文件

dd 用法

dd: 可用于高效精确地复制整个磁盘分区(把ISO文件刻录到U盘),也可以用于测试硬盘或内存的读写速度。

常见用法:
if=filename: 输入的文件,if 是input file 的简写
of=filename: 输出的文件,of 是output file 的简写
bs=bytes: 块的大小,可以用1M、1k这种格式
count=count: 重复的次数

1
2
3
4
dd if=xxx.iso of=/dev/sdb bs=1M  # 刻录ISO文件到U盘,`/dev/sdb`是U盘文件
dd if=/dev/sdc of=/dev/sdd # 将磁盘`/dev/sdc`整个备份到`/dev/sdd`
dd if=/dev/zero bs=1M count=1000 of=testfile # 生成1Gb的文件,用于测试硬盘写入速度
dd if=testfile bs=1M | dd of=/dev/null # 读取1Gb的文件,用于测试硬盘读取速度

nano 用法

nano: 终端里的一个编辑器,很多发现版本都用他做默认的编辑器。使用起来简单直观,底部有具体的命令用法。

常见用法:
CTRL-G: 显示帮助
CTRL-O: 保存文件
CTRL-X: 退出编辑器
CTRL-R: 读取另外一个文件
CTRL-C: 取消上一条命令

gedit 用法

gedit: 跟windows的notepad 差不多,不能在终端运行,必须在图形界面才能运行。

vi\vim 用法

vi\vim: 很多发行版本默认是包括了vi的,但不一定有vim,可能需要自己手工安装。vim 完全兼容vi的所有指令,vim的语法加亮和易用性都比vi好。特别是语法加亮功能很实用。

vi\vim 支持编辑模式和命令模式。从编辑模式切换到命令模式按Esc键,从命令模式切换到编辑模式一般用i键,还有其它键也可以。

运行命令vimtutor学习具体的操作方法。

常见用法:
i:在当前字符前插入文本
dd:删除光标行正行内容
ndd:删除当前行及其后n-1行
/字符串:查找操作,从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示
:wq:在命令模式下,执行保存退出操作
:w:在命令模式下,执行保存操作
:w!:在命令模式下,执行强制保存操作
:q:在命令模式下,执行退出vi操作
:q!:在命令模式下,执行强制退出vi操作,这个经常会用到
:set number:在命令模式下,用于在最左端显示行号
:set nonumber:在命令模式下,用于在最左端不显示行号
:行号:光标跳转到指定行的行首
SHIFT-G:跳转到最后一行

emacs 用法

emacs: 是一个很强大的文件编辑器,可惜很多系统没有自带这个软件,需要自己手工安装。

常见用法:
C-x C-c: 退出Emacs
C-x C-f: 打开一个文件,如果文件不存在,则创建一个文件
C-x C-s: 保存当前buffer
C-x C-w: 文件另存为