Linux学习五(BASH用法)----鸟哥私房菜

  • 查看命令类型

type -t 显示命令类型

ctrl+u 删除从行首到光标位置字符
ctrl+k 删除从光标到行尾字符
ctrl+a 光标移至最前面
ctrl+e 光标移至最后面
换行输入\+enter

  • 变量

echo $PATH 或 echo${PATH}

  • 变量规则

1.等号连接变量与变量内容,等号两边不能存在空格,若变量内容存在空格,可以用双引号括起来

            mynaame=Shenxian

2.双引号内的特殊字符$可以使变量保为原有属性,单引号内特殊字符为一般字符

3.转义符\可以输入空格等特殊字符,变量扩增可以用"$变量名称"或${变量}

4.若变量中需要借用其他命令提供信息时,返单引号`命令`或$(命令)

5.若想子进程要用此变量,需要用export 导出变量作为环境变量,取消变量用unset 变量名称


在~/.bashrc中配置用户定义变量

查看变量 env、export、环境变量;set:环境变量+自定义变量
PS1变量命令提示符 \t时间 \u用户 \W 绝对目录 \h主机名 \#执行的第几个命令

$返回shell进程id
?返回上一个命令的执行结果

export 自定义变量,自定义变量可以在子进程中使用
locale查看本地语系

  • read读取来自键盘的输入 

-p 后面接提示语
-t 后面接等待时间

  • declare或typeset用法一样

-a 指定变量为数组

-i 指定变量为整数
-x 指定变量为环境变量(与export一样)
-r 指定变量为只读(unset也不能使用)
-p 列出指定属性
(+ x)可以取消指定

ulimit -a查看当前用户的限制

  • 变量内容替换、取代和替换

${variable#delete} 从头匹配删除最短匹配 ----echo {path#/*:} 删除第一个/****:
${variable##delete} 从头匹配删除最长 匹配
${variable%delete} 从尾部匹配删除最短匹配
${variable%%delete} 从尾部匹配删除最长匹配
${variable/oldVal/newval} 第一个旧字符被替换
${variable//oldVal//newval} 所有旧字符被替换
var=${var1-exp} var1未设置则var=exp,否则var=var1
var=${var1:-exp} var1未设置或为空则var=exp,否则var=var1
var=${var1+exp} var1设置则var=exp,否则var=var1
var=${var1:+exp} var1设置或为空则var=exp,否则var=var1

  • 别名与历史命令

alias lm='ls -al|more'
history -n 列出n条最近的命令
history -c 清空最近的命令
history [-raw] hisFile 读取、添加、写入 hisFIle文件

~/.bash_history 记录当前的历史命令 
执行命令 !command 执行最近执行的以command开头的命令

 

  • 命令查找顺序


1.绝对路径和相对路径执行
2.别名执行
3.内置命令
4.通过$PATH查找

远程登录显示界面 /etc/issue.net
/etc/motd

 

  • bash环境遍历配置文件
    login 与nologin shell  区别
    login是登录bash 需要输入用户名密码
    no login则不需要,例如在bash中调用bash,在界面启动终端
    login读取etc/profile  ==>/etc/profilr.d/*.sh  
             ~/.bash-profile==》~/.bash_rc   ~/.bash-login ~/.profile 三个文件读取到一个则不在读取下一个
    nologin 只会读取 ~/.bash_rc
    source或. 读取环境配置文件的命令

CTRL+S 停止 CTRL+Q恢复

  • 数据流重定向
  1. 标准输入 <或<<
  2. 标准输出 >或1> >>或1>>
  3. 错误输出 2>或2>>

不加数字默认标准输出,>是清空重建模式,>>是累加模式

4.黑洞:/dev/null 

特殊语法

错误和输出同时输出到一个文件中
 ll /etc >list 2>&1或  ll /etc &>list 
(2>&1 将2的输出转入到1)
标准输入(<),以文本内容作为标准输入


结束输入字符,<<EOF 表示输入结束字符

;一次输入多个命令
&&与||
cmd1&&cmd2 cmd1正确才会执行cmd2
cmd1||cmd2 cmd1正确不会执行cmd2
cmd1&&cmd2||cmd3 执行顺序从左到右

管道命令(|)

cmd1 | cmd2
1.只能处理cmd1的标准输出命令
2.cmd2 能够接受标准输入命令

 选取命令(cut grep)处理每行数据
cut -d '分隔符' -f 区域
cut -c 12- 显示12个字符以后的数字


grep [-acinv] '查找字符' file
-i忽略大小写
-a 二进制方式查找
-c 查找次数
-n 输出行号
-v 反向查找 不存在查找字符

sort命令排序
-f 忽略大小写 -r反向排序 -n以数字排序

uniq 只显示一次

wc 列出行数/字数和字符数

tee 双向重定向


tee -a file 既输出到屏幕也输出到文件

tr删除和替换命令
tr -d '正则表达式'
tr -s '正则表达式' '正则表达式'


col显示特殊字符,join、paste合并两个文件
expand -t 8 一个tab键变为8个空格

split划分命令
-b:按照大小划分 后跟b、k、m等
-l:按照行数划分

- 代表 标准输出
xargs [-0epn] cmd将标准输入转换为指定信息
cmd |args -n 1 ls 
cmd命令输出作为标准输入进入ls,这些标准输入会以空格符分开,一个一个调用ls命令
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值