通配符 * ? [] [^]
命令行光标 home end ctrl+u ctrl+k ctrl+箭头 ctrl+l
echo $HISTFILE, $HISTFILESIZE, $HISTSIZE | |
!100 !-5 !! !$ (esc + .) !string | |
$(cmd) `cmd` | |
mkdir -pv ./test/{x/m,y} ./test2/{a,d}_{b,c} |
cp复制的文件,属主,属组是当前执行cp的用户本身
复制链接时,默认是复制链接指向的那个文件本身
cp -a /etc /backup/etc-`date +%F` 归档复制 | |
/etc/default/useradd | |
/etc/skel | |
/etc/shells | |
$SHELL | |
PATH=$PATH:/bin/go | |
export PATH |
suid 特殊权限位,进程的属主为该执行文件本身的属主,如果本身的owner有x,则为小写s,否则大写S
umask 创建文件默认的权限=最大权限-umask值
注意:文件一般不给执行权限
umask
umask 027
grep 'umask' /etc/profile /etc/bashrc
bash配置文件
/etc/profile.d/*.sh /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc
立即生效修改后的配置文件 . file , source file
type set | |
set 查看所有变量 | |
set -C 禁止覆盖重定向 (可以使用强制覆盖 >|) | |
set +C 解除 | |
stdin 0 | |
stdout 1 | |
stderr 2 |
重定向 改变标准输入,输出的设备源
> >> >| | |
2> 2>> | |
&> &>> | |
< | |
ls /var > out1 2> out2 | |
ls /var > out 2> out | |
ls /var &> out | |
cat < /etc/fstab 接受文件并打印,一般就默认带有stdin重定向 | |
tr a-z A-Z < /etc/passwd | |
here doc | |
cat << END | |
... | |
END | |
cat >> file << EOF | |
... | |
EOF | |
tee 读取stdin,写到stdout,和文件各一份 | |
tee file < /etc/file2 | |
echo xxx | tee file |
管道: 前一个命令的标准输出stdout,当前后一个命令的标准输入stdin
cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z' | |
egrep | |
egrep -ivo --color pattern file... | |
egrep -A|B|C # ... | |
. 单个任意字符 | |
* 其前面的字符任意次 .* | |
? 其前面的字符0次或1次 | |
[] [^] | |
+ {1,} | |
{m,n} | |
^ $ ^$ | |
\< \> \b | |
() \1 \2 | |
a|b C|cat (C|c)at |