Shell命令

文件头

#!/bin/bash

Shell命令

type

type [-tpa] name
type:不加任何参数时,type会显示出name是bash内部命令还是外部命令
-t : 加如参数t,会显示下面字符的含义
    file:表示外部命令
    alias:表示该命令的别称
    builtin:表示bash内置命令
-p:如果是外部命令,显示其路径
-a:会将PATH变量定义的路径中,含有name以及其别名中含有name的命令列出来

echo

echo ${PATH}
变量显示

export

功能说明:设置或显示环境变量(将自定义的变量设置为环境变量)。

语  法:export [-fnp][变量名称]=[变量设置值]

补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。

参  数:
 -f  代表[变量名称]中为函数名称。 
 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 
 -p  列出所有的shell赋予程序的环境变量。

子进程会继承父进程的环境变量,不会继承父进程的自定义变量

declare

声明变量类型

declare [-aixr] variable
+/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性;
-f:仅显示函数;
r:将变量设置为只读;
x:指定的变量会成为环境变量,可供shell以外的程序来使用;
i:[设置值]可以是数值,字符串或运算式。
a:声明数组

键盘左上角的单引号,在shell中可以先执行命令
例:进入内核模块,需要用uname -r命令查询内核号

cd /lib/modules/`uname -r`/kernel
cd /lib/modules/$(uname -r)/kernel

unset

取消变量

env

查看环境标量

set

查看所有环境变量

随机数获取

echo $RANDOM

/dev/random文件会生成0-32767之间的随机数,上述变量代表这个文件

read

读取来自键盘的输入

array

变量的操作

  • ${变量#关键词} 若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除
  • ${变量##关键词} 若变量内容从头开始的数据符合『关键词』,则将符合的最长数据删除
  • ${变量%关键词} 若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除
  • ${变量%%关键词} 若变量内容从尾向前的数据符合『关键词』,则将符合的最长数据删除
  • ${变量/旧字符串/新字符串} 若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』
  • ${变量//旧字符串/新字符串} 变量内容符合『旧字符串』则『全部的旧字符串会被新字符串取代』

history

返回目前shell的历史命令记录

n 返回最近n条
-c 清除历史记录
-a 将目前的历史记录加入到histfiles中,如果没有histfiles,则默认写入~/.bash_history
-r 从histfiles读入命令数据到history
-w 写出数据到histfiles

!number  执行第几条命令的意思(命令的条数是在history中记录)
!command 执行记录中command开头的那个命令
!! 执行上一个命令

cut

cut -d '分割字符' -f fields 
以'分割字符'将一段信息,并取出fields段

cut -c 字符范围
取出字符范围对应的字符

grep

查找对应的信息,将该行返回

grep [option] "string_to_find" filename
-i:忽略搜索字符串的大小写
-n:输出行号
-l:输出能够匹配模式的文件名,相反的选项为-L
-q:静默输出
-c:计算匹配成功行数
-v:取反,即输出不匹配的那些文本行
-o:输出匹配到的文本部分
-e:匹配多个正则表达式

string_to_find为需要匹配的模式,可以填写字符串或者正则表达式
filename为需要查找的文件的名称

sort

用法:sort [选项]... [文件]...
串联排序所有指定文件并将结果写到标准输出。
排序选项:
-b, --ignore-leading-blanks 忽略前导的空白区域
-d, --dictionary-order 只考虑空白区域和字母字符
-f, --ignore-case 忽略字母大小写
-g, --general-numeric-sort 按照常规数值排序
-i, --ignore-nonprinting 只排序可打印字符
-n, --numeric-sort 根据字符串数值比较
-r, --reverse 逆序输出排序结果
其他选项:
-c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作
-k, --key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)
-m, --merge 合并已排序的文件,不再进行排序
-o, --output=文件 将结果写入到文件而非标准输出
-t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的转换
-u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果

wc

wc(选项)(参数)
选项
-c或--bytes或——chars:只显示Bytes数;
-l或——lines:只显示列数;
-m :显示字符数
-w或——words:只显示字数。

tee

双向重定向

tee [-a] file
tee将standard output转存一份到文件,并将同样的数据继续送到stdout
-a:以累加的方式,将数据加入文件

uniq

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

-c或--count 在每列旁边显示该行重复出现的次数。
-d或--repeated 仅显示重复出现的行列。
-u或--unique 仅显示出一次的行列。
-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
--help 显示帮助。
--version 显示版本信息。
[输入文件] 指定已排序好的文本文件。
[输出文件] 指定输出的文件。

字符转换命令

tr [-ds] SET1 ...
-d 删除SET1这个字符
-s 替换SET1这个字符

col [-xb]
-b:过滤掉所有的控制字符,包括RLFHRLF-f:滤掉RLF字符,但允许将HRLF字符呈现出来;
-x:以多个空格字符来表示Tab字符;
-l<缓冲区列数>:预设的内存缓冲区有128列,用户可以自行指定缓冲区的大小。

join [-ti12] file1 file2
-t<字符>:使用栏位的分割字符;
-v<12>:更-a相同,但是只显示文件中没有相同栏位的行;
-1<栏位>:连接[文件1]指定的栏位;
-2<栏位>:连接[文件2]指定的栏位。

paste [-d] file1 file2
将两行贴在一起
-d:后面接分隔符,默认以[tab]来分隔
- : 如果file部分写成 - ,表示来自standard input的数据

expend [-t] file
将tab键替换成空格
-t:后面接数字表示替换成多少位空格

split

split [-bl] file PREFIX
-b:后接大小,单位b、k、m等
-l:后接数字,以行数来切割
PREFIX:切割完文件的文件名以PREFIX开头

bash的环境配置文件

/etc/profile
~/.bash_profile or ~/.bash_login or ~/.profile

source 读取配置文件命令

sed

管道命令,可以分析standard input
sed

awk

数据处理工具
awk命令详解

printf

格式化打印
参考:Shell printf命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值