[command]bash基本命令

前端之家收集整理的这篇文章主要介绍了[command]bash基本命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

bash基本命令

环境变量通常是大写字符。
变量赋值,=两边不能有空格!
双引号内的特殊字符如$,保持原来的意思。
单引号内的特殊字符都是一般字符。

name=test
echo "$name" # test
echo '$name' # $name

unset取消变量。
环境变量中PATH表示为执行文件查找的路径,目录与目录之间用:分割。目录的顺序是很重要的。

变量的设置方式

${变量#关键字}: 从头开始匹配关键字,将符合的最短的关键字删除
${变量##关键字}:将符合的最长的关键字删除
${变量%关键字}: 从头开始匹配关键字,将符合的最短的关键字删除
${变量%%关键字}:将符合的最长的关键字删除
${变量/旧字符/新字符}:替换,将第一个旧字符替换
${变量//旧字符/新字符}:替换,全部替换

history

描述最近运行的命令。

!@H_403_50@number: 执行第几条命令
!@H_403_50@command: 从最近的指令开始找,第一个满足@H_403_50@command开头的命令
!!:上一条指令

组合按键

Ctrl+U:删除整行命令
Ctrl+Z:  暂停当前命令

特殊符号

>: 输出导向,替换
>>: 输出导向,累加
<:  输入导向

&& 与 ||

遵循短路规则。

cmd1 && cmd2:如果cmd1执行完毕且正确($?=0),则执行cmd2,否则不执行cmd2 cmd1 || cmd2:如果cmd1执行完毕且正确,则不执行cmd2,否则执行cmd2

基本命令

cut

-d:后面接分割符 -f:取出第几段 -c: 以字符的单位取出固定字符区间
cut -d ':' -f 3,4

sort

-f:忽略大小写 -b:忽略最前面的空白 -M:以月份的名字排序,例如JANDEC等的排序方法 -n:使用纯数字排序 -r:反向排序 -u:uniq,相同数据只出现一次 -t:分割符 -k:以某个区间进行排序

uniq

去重。

-i:忽略大小写 -c:进行计数
scripts ls | uniq -c
   1 1234_2017060
   1 1234_20170604
   1 1234_20170606
   1 file_20170604
   1 file_20170606
   1 script.sh
   1 test.txt

wc

计数。

-l:进列出行 -w:仅列出多少字 -m:多少字符

tee

双向重定向

-a,累加的方式加入file当中

tr

切割。

tr -ds set1
-d删除信息中set1字符串
-s:取重复字符

col

-x: 将tab键转换为对等的空格键

join

将两个文件当中有相同数据的那一行加在一起。

a.txt: 123213 123
b.txt: 123213 1234

join a.txt b.txt 
123213 123 1234
-t: 分隔符,默认为空格,默认比较第一个字段 -i:忽略大小写差异 -1 x:第一个文件以第x字段比较 -2 x:第二个文件以第x字段比较
join -t ' ' -1 1 -2 1 a.txt b.txt 
123213 1234 134 1234 42151

paste

-d:后面接分割符,默认tab -:来自standard input

a.txt

123213 1234 134
123213 1234 134

b.txt

123213 1234 42151
123213 1234 42151
123213 1234 42151
123213 1234 42151
paste -d ' ' a.txt b.txt
123213 1234 134 123213 1234 42151
123213 1234 134 123213 1234 42151
 123213 1234 42151
 123213 1234 42151

expand

将tab转换为空格。

-t:一个tab对应多少个空格

split

切割文件

split -b [] -l [] file prefix
-b:切割文件的带下,可加单位b,k,m -l:以行数切割 prefix:切割后文件前缀,默认以a a,ab等排序。
split -b 1 file files

可以用cat复原

原文链接:https://www.f2er.com/bash/392851.html

猜你在找的Bash相关文章