鸟哥Linux(二)-bash shell命令摘录&Compress cmd

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"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值