美文网首页
SHELL基础

SHELL基础

作者: 魔芋辣椒 | 来源:发表于2020-07-04 14:48 被阅读0次

[toc]

一、变量

“”可替换原义,‘’为直义
``和()同为先计算的意思 uname -r=$(uname -r)

查看:$echo xxx
赋值:$xxx=xxx
扩展变量使用:myname="$PATH":/home/bin
取消变量:unset xxx
删除变量部分内容: {varible# | % [*]xxx}
                - # 从左向右删除最短的 ##从左向右删除最长的
                - %从右向左

变量的替换: $var{str-expr}
          - 若str没有设置,则var=expr,其他var=str

二、数据流重定向

2.1 输出

> 覆盖  >>累加 1正确  2错误
\#find /home -name .barshrc >list 2>&1

2.2 输入

<拷贝另一个文件  <<输入x即停
cat > catfile < ~/.bashrc | cat > catfile << "eof"

三、执行符与管道

3.1 连续执行符号

正确执行 ?=0 错误执行?!=0
遇到?=0执行,||则相反
ls /temp/abc || mkdir /temp/abc && touch /temp/abc/hehe #创建abc并创建hehe

3.2 选取命令

cut 切分

cut -d 'x' -f field 分割x 取第field个
cut -c a-b 取一行数据中第a到第b的文字

grep [-acinv] '字符' filename

取出我们需要的一整行数据
-a 将二进制文本以文本文件形式查找
-c 计算找到目标字符的个数
-i 忽略大小写
-n 输出行号
-v 反向选择

sort
uniq [-ci]

将重复数据仅列出一个显示
last | cut -d ' ' -f1 | sort | uniq -c
-c 计数
-i 忽略大小写

wc

计算行、字数、字符数

3.3 双向重定向

tee [-a] file

同时输出到屏幕和文件

3.4 字符转换命令

tr [-ds]

-d 删除S1
-s 将S2替换为S1

join [-ti12] file1 file2

将两个文件比对,相同连接起来
-t ‘x’默认以空格为分割,可自定义为x
-i 忽略大小写
-1第一第二文件用第几栏位连接
-2
join -t ':' -1 4 /etc/pass -2 3 /etc/group

paste [-d] f1 f2

简易版join,不比对直接连接

col [-x]

-x 将tab换成对等空格

split [-bl] file

-b 接文件大小 xxkbm
-l 以行数划分
分割后的文件合并cat services* >> sevicesback

相关文章

网友评论

      本文标题:SHELL基础

      本文链接:https://www.haomeiwen.com/subject/ohilxktx.html