文件名的匹配和环境变量及管道

ctrl+c 取消命令
ctrl+k 删除光标到尾的命令
ctrl+u 删除光标到首的命令

ctrl+a 光标命令首
ctrl+e 光标命令尾
ctrl+l 清屏

文件名匹配:
* .mp3 2.mp3,sul.mp4

[],[abc]d.mp3,ad.mp3,abd.mp3
[0-9]
[a-z]
[A-Z]

[[:alpha:]]b.mp3 7b.mp3
[:lower:],[:upper:],[:digit:],[:alnum:],[:punct:],[:space:]

ab?d.mp3 abd.mp3,abcd.mp3,abccd.mp3

rm -f *.doc
ls ab*ab
file a
ls ~redhat
touch {a,b}_{c,d}

cat:

-n:显示

bash,

shell,应用程序,提供用户作为系统接口

bash:

本地变量 NAME=Jerry  unset NAME
环境变量 可以为进程和子进程使用
位置参数变量
特殊变量,$?  echo $?

引用:取变量值,“”,‘’,``,
"": 弱引用
‘’: 强引用
``: 命令引用

echo
变量替换
$var,${var}
‘’强引用中变量替换不会发生

export,导出,输出

readonly NAME 命为常量

env 显示环境变量
printenv

HISTSIZE,HSTFILE,HISTFILESIZE,HISTCONTROL

PS1:
PS2:
PS3:
PS4:

LANG

命令别名:

alias cdnet='cd /etc/sysconfig/nework-scripts'
alias mntcd='mount /dev/cdrom /media/cdrom'

alias rm='rm -i'
unalias cdnet


#!/bin/bash

Linux ,# a.sh

echo "1+1" | bc
echo "scale=4;2/6" | bc

交互式:
profile <--环境变量的定义

非交互式:
bashrc <--别名等的定义

/etc/profile --> /etc/profile.d/* --> ~/.bash_profile -->~/.bashrc -->/etc/bashrc

~/.bashrc -->/etc/bashrc--> /etc/profile.d/*

 

程序,(代码,数据)

文件句柄,handle,文件描述符

标准输入:keyboard,0
标准输出:monitor,1
标准错误输出:monitor,2

I/O重定向:

>文件原有内容被覆盖掉set -C拒绝覆盖
2>
&>错误正确都放到一个文件中
>|强行覆盖
<

>>追加
<<here document

2〉&1
&>

管道
echo abcd | tr 'a-z' 'A-Z'

ls /etc > /tmp/a.out
ls /var >> /tmp/a.out
ls /home >> /tmp/a.out

exec 3> /tmp/a.out
ls /etc >&3
exec 3>&- 关闭

cat :dump
more,less
head,tail

head -n 20
tail -f显示新内容
grep:全面搜索正则表达式,并打印之

grep [options] 'pattern' filename
egrep = grep -E
fgrep = grep -F

你可能感兴趣的:(bash,管道,交互式,I/O重定向,文件匹配)