c[tab][tab]: 获得以c开头的shell命令
alias lm='ls -al' : 取别名
unalias
type [cmd] : 判断是bash内建还是非内建的cmd
":双引号内的特殊字符可以保有变量特性
':单引号内的特殊字符尽为一般的字符
unset 变量名:取消变量名
$HOME 或 ${HOME}uns
$PATH
$SHELL
$MAIL
$LANG
$RANDOM
$HSITSIZE
$ENV
":可应保留变量特性
':只是单纯的字符
`cmd`:替换引号里为cmd的执行结果,如-source `pwd`, 就变成 -source /mnt/test/
env: 列出当前shell下所有环境变量与其内容
set:只在当前shell下有效的一些变量
unset: 取消当前shell下的变量
export 变量名:导出一个变量
cd ~:回到home目录
$:本shell的id
?:上一个command执行的返回值(重要)
locale -a:查看当前支持的编码类型
read:读取来自键盘的变量
数组:var[INDEX]=content
var((表达式)):计算4则运算的表达式
~/.xxx:~代表home目录,/.代表当前目录
万用字符与特殊符号:
* - 0或多个字符
?- 1个
# - 注释
/ - 跳脱符号
| - 分隔两个管线命令的界定
; - 分隔两个连续的命令
~ - home目录
$ - 标志变量
& - 将指令在后台工作
! - 非
/ - 路径分隔
>,>> - 输出导向,分别是"取代"和"累加"的意思
' - 单引号,不交友变量置换的功能
" - 具有变量置换的功能
() - 在中间为子shell的起始与结束
[] - 在中间位字符的组合
{} - 在中间位命令区块的组合
Ctrl-C - 终于当前的命令
Ctrl-D - 输入结束(EOF)
Ctrl-M - 回车
Ctrl-S - 暂停屏幕的输出
Ctrl-Q - 恢复屏幕的输出
Ctrl-U - 删除整行
Ctrl-Z - 【暂停】目前的命令
数据流重定向:
1.标准输入(stdin),< 或 <<, 值为0
2.标准输出(stdout),>或 >>,值为1
3.标准错误(stderr),2>或2>>,值为2
使用<<或>>或2>>,会写在文件的结尾,不会覆盖原来的文件
将正确和非正确的内容分别写入两个文件:
> file1 2> file2
只要错误的内容
2> file > /dev/null
将正确和非正确的内容分别写入同一个文件:
> file1 2>&1
管线(pipe):用|表示,仅能处理由前一个命令传来的stdout数据
cut(以行为单位):
cut -d '分隔字符' -f fields
cut -c 字符区间
-d 指定分隔字符 与-f一起使用
-f 指定分割后取第几段,也可以是一个区间
-c 以字符(character)为单位取出固定字符区间
grep:显示一行如果有我们需要的信息
grep [-acinv] 'search word' filename
-a 将binary文件以text文件的方式搜索数据
-c 计算找到的次数
-i 忽略大小写
-n 输出行号
-v 反向,找出没有需要搜索字符串的那些行
sort [-fbMnrtuk] [file or stdin]
-f 忽略大小写
-b 忽略最前面的空格
-M 以月份的名字来排序
-n 使用数字来排序
-r 反向排序
-u uniq,相同点数据只有一个
-t 分隔符,预设是tab键
-k 以一个区间来排序
uniq [-ic]
-i 忽略大小写
-c 进行技术
wc [-lwm]:word count
-l 仅列出行
-w 仅列出多少字
-m 多少字符
tee:同时能将数据流重定向到文件和屏幕
tee [-a] file
-a 以append的方式写文件
tr [-ds] 'string':删除或替换
-d 删除string
-s 取代重复的字符
col [-x]:将tab键转换成对等的空格
paste [-d] file1 file2:将2个文件以行为单位连起来,中间隔一个-d后面跟的字符,默认是tab键
split [-bl] file PREFIX:PREFIX是分割后文件的前缀
-b 后面接想要分隔的文件,可跟单位 b k m等
-l 以行数来进行分割
'-'可以代表前面的stdout
Compress:
*.Z: compress
*.bz2: bzip2
*.gz: gzip
*.tar: tar打包,并无压缩
*.tar.gz tar打包,gzip压缩
compress [-dcr] 文件或目录
-d 解压缩 也可以用uncompress
-r 解压一个目录里所有的压缩文件
-c 将压缩数据重定向
gzip:
none 压缩文件
-c 将压缩数据重定向,也可输出到屏幕上
-d 解压缩
-t 查看压缩问额就有无错误
-# 设置压缩等级,1-9,预设是6,1最快压缩率低,9最慢压缩率高
zcat + 文件名 查看解压后的内容,只是在屏幕上显示
bzip2:
-c 将压缩数据重定向,也可输出到屏幕上
-d 解压缩 bunzip2
-z 压缩
-# 设置压缩等级,1-9,预设是6,1最快压缩率低,9最慢压缩率高
bzcat + 文件名 查看解压后的内容,只是在屏幕上显示
如果没用数据重定向,压缩完后源文件都不存在了
tar:
-c 建立一个打包文件(需分压缩)
-x 解包
-t 查看打包文件内容,c/x/t只能存在一个
-z 是否需要用gzip压缩或解压
-j 是否需要用bzip2压缩或解压
-v 打包的过程中显示文件
-f 指定:目标文件名(路径) 需要打包的文件名(路径)
-p 使用原文件的属性
-P 可以使用绝对路径来压缩
-N 比给定日期(yyyy/mm/dd)还要新的文件才会被打包
--exclude FILE 在打包过程中,不要将FILE打包
tar -zcvf /tmp/etc.tar.gz /etc:将/etc下的文件全部打包和用gzip压缩成etc.tar.gz
tar -ztvf /tmp/etc.tar.gz :查看etc.tar.gz里有哪些文件
tar -zxvf /tmp/etc.tar.gz :解压缩这个文件
tar -zxvf /tmp/etc.tar.gz etc/passwd:只解压etc.tar.gz里的passwd文件
备份文件:
dd if="input_file" of="output_file" bs="block_size" count="number"