bash 一些指令
type --------区分一个指令 内建指令 还是外部指令
\ ---------跳脱指令
echo --------输出指令
unset ------取消变量
env -------观察环境变量
export -----观察环境变量,将普通变量转换为环境变量
set----------观察变量
declare-----声明变量类型
PS1--------设定终端的 命令提示符
$-----------shell的 PID ,echo $$
?----------上一指令的返回值
bash-----进入子bash
locale -a 显示语系
read -pt 变量键盘读取
declare 和typeset -aixr 声明变量类型
var[index]=content 数组变量
ulimit -SHacdfltu 与文件系统及程序的限制关系
${variable#。。。} ${variable##.....} 变量从前往后删除
${variable%......} ${variable%%....} 变量从后往前删除
${variabl/../,,,} ${variabl//.../...} 变量替换
注:为了便于理解,如果加了“:”可以理解为如果是空字符,则将空字符不认为是字符。
alias 设定别名
unalias 取消别名
history n 列出最近的n个使用的命令
-c 将目前的shell中的所有history内容全部消除
-raw histfiles 读取、增加、写入 histfiles
!number 执行history中的第number个指令
!command 执行从最近的指令向前搜索,开头为command的指令
!! 执行上一条指令
bash的进站与欢迎讯息:/etc/issue,/etc/motd(远程登录信息)
bash 环境配置文件login shell ,non-login shell 前者需要登录才可取得的环境配置,后者不需要登录就可以取得的环境配置
login shell ----------/etc/profile ---------设置一些环境变量并呼唤外部文件 /etc/inputrc /etc/profile.d/*.sh /etc/sysconfig/i18n
~/.bash_profile 或 ~/.bash_login 或 ~/.profile
source /etc/profile ------在登录的状态下 读取
~/.bash_profile
. /etc/profile --------同上,在登录的状态下读取
~/.bash_profile
non-login shell ~/.bashrc ---使用者个人设定指令以及呼唤 /etc/bashrc /etc/profile.d/*sh
/etc/man.config man的搜索路径
~/.bash_history 历史命令
~/.bash_logout 注销bash后,系统做的事情
stty -a 列出所有终端的环境设定(^表示键盘上的CTRL键)
stty 指令 快捷键
通配符
特殊符号
stdin 代码0 < <<
stdout 代码1 > >>
stderr 代码2 2> 2>>
/dev/null 垃圾箱黑洞
>list 2>&1 或&>list 表示标准输出和标准错误均输出到 list
cat > file
cat >file <~/.bashrc
cat >file <<"eof" -------"“ 表示键盘结束的符号
; -----连续指令下达
&&----前面指令正确执行则后面指令执行
||-----前面指令执行错误则后面指令执行
command1&&command2||command3 起到判断作用 注意 &&,|| 顺序
| -----pipe管线命令 ,处理标准输出,当作自己标准输入
cut----------按行截取,有多少行截取多少行
cut -d ’:’ -f n ---------表示按 ‘’中的符号将行分成若干段,然后保留第n段
cut -c n1-n2 ------截取 n1至n2之间的字符 n1,n2为数值,-不可少
grep 取出满足条件的行
-a 将binary 档案以text档案的方式搜寻数据
-c 计算找到 ”搜寻字符串”的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择
sort,wc,uniq 排序指令
sort -fbMnrutk
wc -lwm 输出有多少行,多少单词,多少字符
uniq -ic 行去重
tee -a 双向重导向 ---一份输出到屏幕,一份输出到tee后的文件夹
tr -ds删除
col 【tab】键转换为空格键
join 将两个文件中行合并
-t -------行分段
-i -----------忽略大小写
-1 n ------------代表第一个文档的第n段
-2 m --------------代表第二个文档的第m段
paste -d file1 file2 将两个文件中的相同行 合并,并已 d 后的分隔符 分隔开
expand -t n file 将文件file中的TAB键转换为n个空格键
unexpand 将空格键转换为TAB键
split file PREFIX 将文件file分割为PREFIXaa ,PREXFIXab。。等等依次类推
split -b nb,nk,nm按大小块分割
split -l n 按行分割
cat PREXFIX* >>PREXFIX合并
xargs command 读入stdin,并以空格键划分这些stdin,划分的每个段,作为command的输入参数
比如last |xargs finger
xargs -0 将特殊字符还原为一般字符
xargs -e 字符串 表示 遇到“字符串”参数输入停止
xargs -p 执行时询问指令
xargs -n 接次数,表示到第n个参数
- 表示标准输入或者标准输出
参考文献:《鸟哥的Linux私房菜 基础学习篇(第三版)》