shell是一个命令解释器,提供用户和机器以前的交互shell
命令历史
按向上的方向键一个个出现以前命令历史
history 查看以前的命令
命令历史存在文件.bash_history
文件最大行数由变量HISTSIZE决定,默认1000
变量HISTSIZE可在/etc/profile中修改
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
设置时间显示,非永久有效,若要一直有效,须要在/etc/profile中增长
chattr +a ~/.bash_history 永久保存命令(chattr +a只能增长不能删除)
!! 上一条命令
![char] 最近char开头的命令
!n 前第n条命令bash
命令补全
当命令开头打出一部分,如'mk',tab键补全命令和文件目录名,若结果不惟一,须要连续按两下,会列出全部以mk开头的命令ide
通配符
* 任意数量任意字符
? 1个任意字符
[0-9] 任意一个数字 [2345] 2345任一
[a-z] a-z任意一个
[A-Z] A-Z任意一个
[0-9a-zA-Z]任一数字或字母
{1,3,t,y,H} 枚举式选一个,中间用逗号隔开.net
输入输出重定向
[contents or cmd] > [file] 将左边内容(正确)重定向到右边文件,覆盖文件原有内容
[contents or cmd] >> [file] 将左边内容(正确)重定向到右边文件,不覆盖文件原有内容,追加
[contents or cmd] 2> [file] 将左边内容(错误)重定向到右边文件,覆盖文件原有内容
[contents or cmd] 2>> [file] 将左边内容(错误)重定向到右边文件,不覆盖文件原有内容,追加
[contents or cmd] &> [file] 将左边全部内容重定向到右边文件,覆盖文件原有内容
[contents or cmd] &>> [file] 将左边全部内容重定向到右边文件,不覆盖文件原有内容,追加
[contents or cmd] > [file1] 2>[file2] 正确和错误内容分别输出到不一样文件
[cmd] < [file] 将文件内容输入到命令里(左边不能是文件)3d
管道符
管道符: [cmd] | [cmd] 将左边命令结果输出到右边
cut 截取字符
-d '[xx]' 以xx为分隔符
-f n,m 截取第n和m位
-c 指定第几个字符
sort 排序
-n 以数字排序(其余符号识别为0)
-r 逆序
wc 统计字符
-l 行数
-m 字符数
-w 词数(根据空格来分隔,不是真的认单词)
uniq 去重(要先排序使相同行相邻才能去重)
-c 统计重复次数
tee 至关于>,可是要加上|管道符,以及会显示出来
-a 追加
tr 替换字符
split 切割
-b 大小(默认单位字节)
-l 行数blog
做业控制
ctrl + z 暂停任务
fg n 回到(第n个)暂停命令
jobs 查看中止或后台运行的任务
bg 把任务放到后台运行(暂停后能够用)
命令后加' &' 直接把命令放到后台运行排序
变量
env 查看系统变量
自定义变量,c未定义,所以无内容
unset [变量名] 撤销变量定义
变量命名:由数字、字母、下划线组成,首位不能是数字
变量值中有特殊符号时,要用单引号括起来
单引号、双引号和反引号的区别,在另外一块看到的http://blog.csdn.net/iamlaosong/article/details/54728393字符串
bash 进入子shell
进入子shell后 exit退出此shell
通常定义变量不跨shell
export [变量名]=[变量值] 此定义能够用在当前shell的子shellcmd
环境变量配置文件
/etc/profile 登陆后加载
/etc/bashrc执行shell加载
用户目录下的是:
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout 定义用户退出时要进行的操做
变量PS1,在/etc/profile中定义,表示命令前字符串格式
W的大小写对应当前路径显示完整与否it