加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash

发布时间:2020-12-15 23:11:21 所属栏目:安全 来源:网络整理
导读:bash定义: linux使用版本的shell叫做的“Bourne again Shell”,简称bash。 type:查看是否为shell的内置命令 ? 1. echo $变量名: 取用变量 ,设置规则介绍略过。 unset 变量名 : 取消设置的变量? ? 2. env :观察环境变量 (environment的缩写) set: 观

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:读取来自键盘输入的变量

选项与参数:
-p :后面可以接提示字符
-t :后面可以接等待的“秒数

declare 宣告变量的类型

?

4.

例echo ${path#/*local/bin:}??

#从前往后删最短的那个,?##从前往后删符合取代文字的最长的那个。 从后往前%,%%

${变量/旧字串/新字串} 替换第一个旧字符

${变量//旧字串/新字串}替换所有的旧字符

?

5.

变量设置方式str 没有设置str 为空字串str 已设置非为空字串

       ? str没值? ? ? ? ?str为空串? ? ? ?str有值
var=${str-expr}? ?var=expr? ? ? ?var=? ? ? ? ? ? ? ?var=$str
var=${str:-expr}? var=expr? ? ? var=expr? ? ? ? var=$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.

组合按键执行结果
Ctrl + C 终止目前的命令
Ctrl + D 输入结束 (EOF),例如邮件结束的时候;
Ctrl + M 就是 Enter 啦!
Ctrl + S 暂停屏幕的输出
Ctrl + Q 恢复屏幕的输出
Ctrl + U 在提示字符下,将整列命令删除
Ctrl + Z “暂停”目前的命令

符号 :

*?代表“ 0 个到无穷多个任意字符

?代表“一定有一个”意字符

[ ]?同样代表“一定有一个在括号内”的字符(非任意字符)。例如 [abcd] 代表“一定有一个字符, 可能是 a,b,c,d 这四个任何一个

[ - ]? ?、[^ ]

?

9

1. 标准输入  (stdin) :代码为 0 ,使用 < 或 << ; <<代表结束符
2. 标准输出  (stdout):代码为 1 ,使用 > 或 >> ;>覆盖的方式输入,>>累加的方式输入
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

/dev/null 垃圾桶黑洞

命令执行的判断依据? ?;? ? ?&&? ? ?||

?

10管道

管线命令仅会处理 standard output,对于 standard error output 会予以忽略
管线命令必须要能够接受来自前一个指令的数据成为 standard input 继续处理才行。

?

撷取命令: cut,grep

排序命令: sort,wc,uniq

双向重导向: tee

字符转换命令: tr,col,join,paste,expand

分区命令: split

参数代换: xargs

stdin 与 stdout 可以利用减号 "-" 来替代

?

?

?

这么多全敲了。脖子疼。。。T_T

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

ctrl+a、ctrl+e让光标移动到最前、后面

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读