1. 压缩与解压
tar.gz tar.bz tar.xz 这三种压缩方式 从左到右 压缩比逐步升高,cpu消耗也越高
tar
-c -v -x -t -r -f
-J 采用xz的压缩方式
-j 采用bz2的格式压缩
-z 采用 gz的格式压缩
例如 创建压缩包:
tar -jcvf
tar -zcvf
解压:
tar -zxvf
tar -zxvf -C 解压到指定目录
2. vim 的操作
三种模式:浏览、编辑、(A、I、O、U 切换)
末行 (:e! 还原编辑后的文档)
VISUAL下,c是剪切,y是复制
:x 直接保存推出
:w 文件名 另存为
:r 文件名 在当前插入文件内容
查找:
/ 当前光标想下找
? 当前光标向上找
n 查看结果上一处
N 查看结果下一处
查找替换:
:1,$s/usr/user/g 从第一行到末尾把usr替换成user
:128,140s/usr/user/gc 从128行到140行把usr替换成user并询问
:! ls -l :! 是暂时离开vim,执行命令
:r! echo /…/conf 把conf文件内容插入下一行
:set nu
:set nonu
vim 编辑好文档后,不建议直接关闭终端
vim可同时打开多个文件
:files (指令)
:n (切换下一个文件)
:N (切换上一个文件)
多窗口,分屏指令
分屏启动Vim
- 使用大写的O参数来垂直分屏。
vim -On file1 file2 …
- 使用小写的o参数来水平分屏。
vim -on file1 file2 …
注释: n是数字,表示分成几个屏。
关闭分屏
- 关闭当前窗口。
Ctrl+W c
- 关闭当前窗口,如果只剩最后一个了,则退出Vim。
Ctrl+W q
分屏
- 上下分割当前打开的文件。
Ctrl+W s
- 上下分割,并打开一个新的文件。
:sp filename
- 左右分割当前打开的文件。
Ctrl+W v
- 左右分割,并打开一个新的文件。
:vsp filename
移动光标
Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W
- 把光标移到右边的屏。
Ctrl+W l
- 把光标移到左边的屏中。
Ctrl+W h
- 把光标移到上边的屏中。
Ctrl+W k
- 把光标移到下边的屏中。
Ctrl+W j
- 把光标移到下一个的屏中。.
Ctrl+W w
移动分屏
这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。
- 向右移动。
Ctrl+W L
- 向左移动
Ctrl+W H
- 向上移动
Ctrl+W K
- 向下移动
Ctrl+W J
屏幕尺寸
下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。
- 让所有的屏都有一样的高度。
Ctrl+W =
- 增加高度。
Ctrl+W +
- 减少高度。
Ctrl+W -
ctrl+shift+w+光标键 (来回切换分屏)
3. shell 变量
注意单引号和双引号区别
例如: var = “hello $world”
var = ‘hello $world’
转义字符“ ” 可转义,使之不引用对应的变量,$world 就是 $world
$ 变量 还可以引入指令,如 <strong>$(uname -r)</strong>
系统变量一般是大写变量
unset 可以取消已有的变量
export 永久生效某变量
env 列出目前shell下的所有环境变量
/etc/sysconfig/i18n 修改系统语言和字符集
locale 当前语系
locale -a 所有支持语系
4. echo $$ 显示当前的PID
$? 终端上一次指令成功与否的回调值
$@
$#
5. alias, unalias
例如 alias grep=grep --color=auto
(临时有效别名)
永久有效别名,需要在.bashrc 里面配置
6. history
所有的history命令保存在.bash_history
!604 执行history里面第604行指令
!ser 执行上一次的service指令
!vim 执行上一次的vim指令
7. stdin <或<< (一个是每次都覆盖,两个是追加,在已有的文件下添加,不覆盖)
stdout >或>> (一个是每次都覆盖,两个是追加,在已有的文件下添加,不覆盖)
stderr 2>或2>> (一个是每次都覆盖,两个是追加,在已有的文件下添加,不覆盖)
例如: find /home -user student > correct.list 2>error.list (分别输出文件)
利用&符号,可stdout 和stderr到同一个文件中去
find /home/ -user student &>list 2>&1
8. /dev/null 黑洞文件,类似回收站
9. cat > 文件 (终端实时写入文件中去)
10. echo ...
> 文件 比vim打开写入保存效果好
11. ls ; ls -l /tmp 同时执行两个指令,无逻辑判断
12. && 和 || 的命令执行
如 make && make install make失败就退出 ,不执行后面命令
13. 管道 | 的两边类型必须一致
14. cut 切割文本,得到结果
例如: last | cut -d -f 4,6或4-6
-d是分割符 -f 后跟的是切第几列
15. grep -c 统计找到后的结果
-i 忽略大小写
-n 包括行号
-v 反向选择
16. sort 排序
-k 以区间排序
-n 以数字排序
cat 文件 | sort -u 相同内容忽略掉,合并
17. wc 文件 (统计一个文件行数,字数,字符数)
18. tee -a 文件 实时的把想要输入的文本附加到文件中去
19. tr -d 删除指定字符
-s 去掉重复
例如: last|tr -d
last | tr -s |cut -d
-f 1,3
利用awk命令更简单
awk ‘{print $5}’ 截取第5个field,$0则表示整个内容