📝 Writing docs.

This commit is contained in:
Zhang Peng 2017-11-22 10:47:05 +08:00
parent 71df16456b
commit ec051de59f
7 changed files with 509 additions and 2 deletions

View File

@ -9,7 +9,7 @@
## Shell
* [Shell 快速指南](shell/shell-quickstart.md)
* [Shell 快速指南](shell.md)
## Vim

View File

@ -0,0 +1,255 @@
# Linux 常用命令-压缩
## zip
> zip 命令用于压缩文件。
>
> zip 是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
### 语法
```
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]
```
**参数**
- -A 调整可执行的自动解压缩文件。
- -b<工作目录> 指定暂时存放文件的目录。
- -c 替每个被压缩的文件加上注释。
- -d 从压缩文件内删除指定的文件。
- -D 压缩文件内不建立目录名称。
- -f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
- -F 尝试修复已损坏的压缩文件。
- -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
- -h 在线帮助。
- -i<范本样式> 只压缩符合条件的文件。
- -j 只保存文件名称及其内容,而不存放任何目录名称。
- -J 删除压缩文件前面不必要的数据。
- -k 使用MS-DOS兼容格式的文件名称。
- -l 压缩文件时把LF字符置换成LF+CR字符。
- -ll 压缩文件时把LF+CR字符置换成LF字符。
- -L 显示版权信息。
- -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
- -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
- -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
- -q 不显示指令执行过程。
- -r 递归处理,将指定目录下的所有文件和子目录一并处理。
- -S 包含系统和隐藏文件。
- -t<日期时间> 把压缩文件的日期设成指定的日期。
- -T 检查备份文件内的每个文件是否正确无误。
- -u 更换较新的文件到压缩文件内。
- -v 显示指令执行过程或显示版本信息。
- -V 保存VMS操作系统的文件属性。
- -w 在文件名称里假如版本编号本参数仅在VMS操作系统下有效。
- -x<范本样式> 压缩时排除符合条件的文件。
- -X 不保存额外的文件属性。
- -y 直接保存符号连接而非该连接所指向的文件本参数仅在UNIX之类的系统下有效。
- -z 替压缩文件加上注释。
- -$ 保存第一个被压缩文件所在磁盘的卷册名称。
- -<压缩效率> 压缩效率是一个介于1-9的数值。
### 实例
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
```
zip -q -r html.zip /home/html
```
如果在我们在 /home/html 目录下,可以执行以下命令:
```
zip -q -r html.zip *
```
从压缩文件 cp.zip 中删除文件 a.c
```
zip -dv cp.zip a.c
```
## unzip
> unzip 命令用于解压缩 zip 文件
>
> unzip 为 .zip 压缩文件的解压缩程序。
### 语法
```
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]
```
**参数**
- -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
- -f 更新现有的文件。
- -l 显示压缩文件内所包含的文件。
- -p 与-c参数类似会将解压缩的结果显示到屏幕上但不会执行任何的转换。
- -t 检查压缩文件是否正确。
- -u 与-f参数类似但是除了更新现有的文件外也会将压缩文件中的其他文件解压缩到目录中。
- -v 执行是时显示详细的信息。
- -z 仅显示压缩文件的备注文字。
- -a 对文本文件进行必要的字符转换。
- -b 不要对文本文件进行字符转换。
- -C 压缩文件中的文件名称区分大小写。
- -j 不处理压缩文件中原有的目录路径。
- -L 将压缩文件中的全部文件名改为小写。
- -M 将输出结果送到more程序处理。
- -n 解压缩时不要覆盖原有的文件。
- -o 不必先询问用户unzip执行后覆盖原有文件。
- -P<密码> 使用zip的密码选项。
- -q 执行时不显示任何信息。
- -s 将文件名中的空白字符转换为底线字符。
- -V 保留VMS的文件版本信息。
- -X 解压缩时同时回存文件原来的UID/GID。
- [.zip文件] 指定.zip压缩文件。
- [文件] 指定要处理.zip压缩文件中的哪些文件。
- -d<目录> 指定文件解压缩后所要存储的目录。
- -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
- -Z unzip -Z等于执行zipinfo指令。
### 实例
查看压缩文件中包含的文件:
```
# unzip -l abc.zip
Archive: abc.zip
Length Date Time Name
-------- ---- ---- ----
94618 05-21-10 20:44 a11.jpg
202001 05-21-10 20:44 a22.jpg
16 05-22-10 15:01 11.txt
46468 05-23-10 10:30 w456.JPG
140085 03-14-10 21:49 my.asp
-------- -------
483188 5 files
```
-v 参数用于查看压缩文件目录信息,但是不解压该文件。
```
# unzip -v abc.zip
Archive: abc.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
94618 Defl:N 93353 1% 05-21-10 20:44 9e661437 a11.jpg
202001 Defl:N 201833 0% 05-21-10 20:44 1da462eb a22.jpg
16 Stored 16 0% 05-22-10 15:01 ae8a9910 ? +-|¥+-? (11).txt
46468 Defl:N 39997 14% 05-23-10 10:30 962861f2 w456.JPG
140085 Defl:N 36765 74% 03-14-10 21:49 836fcc3f my.asp
-------- ------- --- -------
483188 371964 23% 5 files
```
## tar
> tar 命令用于备份文件。
>
> tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
### 语法
```
tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <>][-L <>][-N <>][-T <>][-V <>][-X <>][-<><>][--after-date=<>][--atime-preserve][--backuup=<>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<>][--force-local][--group=<>][--help][--ignore-failed-read][--new-volume-script=<Script>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<>][--recursive-unlink][--remove-files][--rsh-command=<>][--same-owner][--suffix=<>][--totals][--use-compress-program=<>][--version][--volno-file=<>][...]
```
**参数**
- -A或--catenate 新增文件到已存在的备份文件。
- -b<区块数目>或--blocking-factor=<区块数目> 设置每笔记录的区块数目每个区块大小为12Bytes。
- -B或--read-full-records 读取数据时重设区块大小。
- -c或--create 建立新的备份文件。
- -C<目的目录>或--directory=<目的目录> 切换到指定的目录。
- -d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
- -f<备份文件>或--file=<备份文件> 指定备份文件。
- -F<Script文件>--info-script=<Script> Script
- -g或--listed-incremental 处理GNU格式的大量备份。
- -G或--incremental 处理旧的GNU格式的大量备份。
- -h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
- -i或--ignore-zeros 忽略备份文件中的0 Byte区块也就是EOF。
- -k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
- -K<文件>或--starting-file=<文件> 从指定的文件开始还原。
- -l或--one-file-system 复制的文件或目录存放的文件系统必须与tar指令执行时所处的文件系统相同否则不予复制。
- -L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量单位以1024 Bytes计算。
- -m或--modification-time 还原文件时,不变更文件的更改时间。
- -M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
- -N<日期格式>或--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
- -o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
- -O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
- -p或--same-permissions 用原来的文件权限还原文件。
- -P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
- -r或--append 新增文件到已存在的备份文件的结尾部分。
- -R或--block-number 列出每个信息在备份文件中的区块编号。
- -s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
- -S或--sparse 倘若一个文件内含大量的连续0字节则将此文件存成稀疏文件。
- -t或--list 列出备份文件的内容。
- -T<范本文件>或--files-from=<范本文件> 指定范本文件其内含有一个或多个范本样式让tar解开或建立符合设置条件的文件。
- -u或--update 仅置换较备份文件内的文件更新的文件。
- -U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
- -v或--verbose 显示指令执行过程。
- -V<卷册名称>或--label=<卷册名称> 建立使用指定的卷册名称的备份文件。
- -w或--interactive 遭遇问题时先询问用户。
- -W或--verify 写入备份文件后,确认文件正确无误。
- -x或--extract或--get 从备份文件中还原文件。
- -X<范本文件>或--exclude-from=<范本文件> 指定范本文件其内含有一个或多个范本样式让ar排除符合设置条件的文件。
- -z或--gzip或--ungzip 通过gzip指令处理备份文件。
- -Z或--compress或--uncompress 通过compress指令处理备份文件。
- -<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
- --after-date=<日期时间> 此参数的效果和指定"-N"参数相同。
- --atime-preserve 不变更文件的存取时间。
- --backup=<备份方式>或--backup 移除文件前先进行备份。
- --checkpoint 读取备份文件时列出目录名称。
- --concatenate 此参数的效果和指定"-A"参数相同。
- --confirmation 此参数的效果和指定"-w"参数相同。
- --delete 从备份文件中删除指定的文件。
- --exclude=<范本样式> 排除符合范本样式的问家。
- --group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
- --help 在线帮助。
- --ignore-failed-read 忽略数据读取错误,不中断程序的执行。
- --new-volume-script=<Script文件> "-F"
- --newer-mtime 只保存更改过的文件。
- --no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
- --null 从null设备读取文件名称。
- --numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
- --owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
- --posix 将数据写入备份文件时使用POSIX格式。
- --preserve 此参数的效果和指定"-ps"参数相同。
- --preserve-order 此参数的效果和指定"-A"参数相同。
- --preserve-permissions 此参数的效果和指定"-p"参数相同。
- --record-size=<区块数目> 此参数的效果和指定"-b"参数相同。
- --recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
- --remove-files 文件加入备份文件后,就将其删除。
- --rsh-command=<执行指令> 设置要在远端主机上执行的指令以取代rsh指令。
- --same-owner 尝试以相同的文件拥有者还原问家你。
- --suffix=<备份字尾字符串> 移除文件前先行备份。
- --totals 备份文件建立后,列出文件大小。
- --use-compress-program=<执行指令> 通过指定的指令处理备份文件。
- --version 显示版本信息。
- --volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。
### 实例
压缩文件 非打包
```
# touch a.c
# tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
a.c
```
列出压缩文件内容
```
# tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
```
解压文件
```
# tar -xzvf test.tar.gz a.c
```

View File

@ -0,0 +1,229 @@
# Linux 常用命令-文件
## chmod
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
**使用权限** : 所有使用者
### 语法
```
chmod [-cfvR] [--help] [--version] mode file...
```
**参数说明**
mode : 权限设定字串,格式如下 :
```
[ugoa...][[+-=][rwxX]...][,...]
```
其中:
- u 表示该文件的拥有者g 表示与该文件的拥有者属于同一个群体(group)者o 表示其他以外的人a 表示这三者皆是。
- \+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取w 表示可写入x 表示可执行X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
- --help : 显示辅助说明
- --version : 显示版本
### 实例
将文件 file1.txt 设为所有人皆可读取 :
```
chmod ugo+r file1.txt
```
将文件 file1.txt 设为所有人皆可读取 :
```
chmod a+r file1.txt
```
将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
```
chmod ug+w,o-w file1.txt file2.txt
```
将 ex1.py 设定为只有该文件拥有者可以执行 :
```
chmod u+x ex1.py
```
将目前目录下的所有文件与子目录皆设为任何人可读取 :
```
chmod -R a+r *
```
此外chmod也可以用数字来表示权限如 :
```
chmod 777 file
```
语法为:
```
chmod abc file
```
其中a,b,c各为一个数字分别表示User、Group、及Other的权限。
r=4w=2x=1
- 若要rwx属性则4+2+1=7
- 若要rw-属性则4+2=6
- 若要r-x属性则4+1=5。
```
chmod a=rwx file
```
```
chmod 777 file
```
效果相同
```
chmod ug=rwx,o=x file
```
```
chmod 771 file
```
效果相同
若用chmod 4755 filename可使此程序具有root的权限
## more
more 命令类似 cat 不过会以一页一页的形式显示更方便使用者逐页阅读而最基本的指令就是按空白键space就往下一页显示按 b 键就会往回back一页显示而且还有搜寻字串的功能与 vi 相似),使用中的说明文件,请按 h 。
### 语法
```
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
```
**参数**
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
- -l 取消遇见特殊字元 ^L送纸字元时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串pattern然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
### 实例
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
```
more -s testfile
```
从第 20 行开始显示 testfile 之文档内容。
```
more +20 testfile
```
## less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
### 语法
```
less [参数] 文件
```
**参数说明**
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将"tab"键显示为规定的数字空格
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n重复前一个搜索与 / 或 ? 有关)
- N反向重复前一个搜索与 / 或 ? 有关)
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一行
- 回车键 滚动一页
- [pagedown] 向下翻动一页
- [pageup] 向上翻动一页
### 实例
1、查看文件
```
less log2013.log
```
2、ps查看进程信息并通过less分页显示
```
ps -ef |less
```
3、查看命令历史使用记录并通过less分页显示
```
[root@localhost test]# history | less
22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft
23 cd ..
24 scp -r web root@192.168.120.203:/opt/
25 cd soft
26 ls
……省略……
```
4、浏览多个文件
```
less log2013.log log2014.log
```
说明:
输入 n后切换到 log2014.log
输入 p 后切换到log2013.log

Binary file not shown.

View File

@ -3,6 +3,8 @@
## Linux
* [awesome-linux](https://github.com/aleksandar-todorovic/awesome-linux)
* [awesome-linux-software](https://github.com/LewisVo/Awesome-Linux-Software)
* [linux-tutorial](https://github.com/judasn/Linux-Tutorial)
* [菜鸟教程-Linux](http://www.runoob.com/linux/linux-tutorial.html)
## Shell

View File

@ -1,3 +1,14 @@
---
title: Shell 快速指南
date: 2017-11-20
categories:
- linux
tags:
- linux
- shell
- bash
---
# Shell 快速指南
```
@ -1165,4 +1176,4 @@ echo "xtrace is turned off again"
- [dotfiles.github.io](http://dotfiles.github.io/)上面有bash和其它shell的各种dotfiles集合以及shell框架的链接
- [Runoob Shell 教程](http://www.runoob.com/linux/linux-shell.html)
最后Stack Overflow上 [bash 标签下](https://stackoverflow.com/questions/tagged/bash)有很多你可以学习的问题,当你遇到问题时,也是一个提问的好地方。
最后Stack Overflow上 [bash 标签下](https://stackoverflow.com/questions/tagged/bash)有很多你可以学习的问题,当你遇到问题时,也是一个提问的好地方。

View File

@ -1,3 +1,13 @@
---
title: Vim 学习笔记
date: 2017-11-17
categories:
- linux
tags:
- linux
- vim
---
# Vim 学习笔记
## 概念