bash
bash定义: linux使用版本的shell叫做的“Bourne again Shell”,简称bash。 type:查看是否为shell的内置命令 ? 1. echo $变量名: 取用变量 ,设置规则介绍略过。 unset 变量名 : 取消设置的变量? ? 2. env :观察环境变量 (environment的缩写) set: 观察环境变量和自定变量(set 还可以帮我们设置整个指令输出/输入的环境。 例如记录历史命令、显示错误,这个懒得写笔记了好累啊) 列举几个变量: PS1变量:这个东西就是我们的“命令提示字符”.可以用man bash去看看PS1?,? ? echo ${PS1} $ : 目前这个线程的pid代号? echo $$ ? : 上一个指令的回传值, 正确时候回传0,错误时候回传非零?echo $?? export 将自定变量转为环境变量 locale查看语系变量,整体系统的默认语系定义在 /etc/locale.conf ? 3. read:读取来自键盘输入的变量 选项与参数: declare 宣告变量的类型 ? 4. 例echo ${path#/*local/bin:}?? #从前往后删最短的那个,?##从前往后删符合取代文字的最长的那个。 从后往前%,%% ${变量/旧字串/新字串} 替换第一个旧字符 ${变量//旧字串/新字串}替换所有的旧字符 ? 5. 变量设置方式str 没有设置str 为空字串str 已设置非为空字串 ? str没值? ? ? ? ?str为空串? ? ? ?str有值 ? 6. 别名alias,unalias 历史命令history,当期用的操作记录在~/.bash_history ? ? 7.配置文件解释 /etc/profile? ? :login shell 才会读/etc/profile还会去调用外部的设置数据。在 CentOS 7.x 默认的情况下,下面这些数据会依序的被调用进来:?/etc/profile.d/*.sh /etc/locale.conf? ?:?这个文件是由 /etc/profile.d/lang.sh 调用进来的 ~/.bash_profile :??login shell 才会读,bash 在读完了整体环境设置的 /etc/profile 并借此调用其他配置文件后,接下来则是会读取使用者的个人配置文件。所读取的个人偏好配置文件其实主要有三个~/.bash_profile,?~/.bash_login,?~/.profile?其实 bash 的 login shell 设置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序。 ~/.bashrc :?nonlogin?shell 时,该 bash 配置文件仅会读取 ~/.bashrc /etc/bashrc :?CentOS?7.x 还会主动的调用 这个文件。由于这个 ~/.bashrc 会调用 /etc/bashrc 及 /etc/profile.d/*.sh , 所以,万一你没有 ~/.bashrc (可能自己不小心将他删除了),那么你会发现你的 bash 提示字符可能会变成这个样子:-bash-4.2$? ?因为并没有调用 /etc/bashrc 来规范 PS1 变量(这个我还真遇到过。不过当时不知道为什么特别郁闷) /etc/man_db.conf :?规范了使用 man 的时候, man page 的路径到哪里去寻找。 ~/.bash_history :?历史命令就记录在这里 ~/.bash_logout :?当我登出 bash 后,系统再帮我做完什么动作后才离开 ? 8. 组合按键执行结果 符号 : *?代表“ 0 个到无穷多个任意字符 ?代表“一定有一个”意字符 [ ]?同样代表“一定有一个在括号内”的字符(非任意字符)。例如 [abcd] 代表“一定有一个字符, 可能是 a,b,c,d 这四个任何一个 [ - ]? ?、[^ ] ? 9 1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; <<代表结束符 /dev/null 垃圾桶黑洞 命令执行的判断依据? ?;? ? ?&&? ? ?|| ? 10管道 管线命令仅会处理 standard output,对于 standard error output 会予以忽略 ? 撷取命令: cut,grep 排序命令: sort,wc,uniq 双向重导向: tee 字符转换命令: tr,col,join,paste,expand 分区命令: split 参数代换: xargs stdin 与 stdout 可以利用减号 "-" 来替代 ? ? ? 这么多全敲了。脖子疼。。。T_T ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ctrl+a、ctrl+e让光标移动到最前、后面 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |