Linux之Shell的操作环境
1、路径与命令查找顺序 ①、以相对/绝对路径执行命令,例如【/bin/ls】或【./ls】 ②、由alias找到该命令来执行 ③、由bash内置的,命令来执行 ④、通过$PATH这个变量的顺序查找到的第一个命令来执行
2、bash的登录界面与欢迎信息 当使用终端我们登陆用户的时候会有提示信息,这些提示信息是可以修改的。
①、当我们修改登录前提示的信息(第一块)时,可以在文件 /etc/issue文件中进行编辑 “ d ”表示本地端时间的日期 “ l ”表示显示第几个终端界面 “ m ”表示硬件等级 “ ”表示主机的网络名称 “ O ”表示显示域名 domain name “ ”表示操作系统的版本 “ ”表示显示本地端时间 “ S ”表示显示操作系统的名称 “ v ”表示操作系统的版本
②、当我们修改登录后提示的信息(第二块)时,可以在文件 /etc/motd 中进行编辑
3、bashd环境配置文件 当我们登陆系统的时候就已经存在了一些变量如:USER、HOME、PS1、PS2等 ①、login-shell(init 3) 当在不带桌面的模式中输入命令的时候,就是login-shell
②、nologin-shell(init 5)
当我们打开一个终端的时候(不是打开一个shell),会自己连接到本地的shell上去,此时的shell为nologin-shell ③、profile文件 设置了所有的环境变量 /etc/profile,如:PATH、HOME等全局变量 ④、inputrc 查看所有的快捷键 /etc/inputrc 当用户登录系统时,系统会先去执行/etc/profile、/etc/inputrc、/etc/profile.d/,然后再去执行~/.bash_profile
4、查看快捷键 语法:stty -a
5、终端环境设置 语法:set [-+uvCHhmBx] “ -u ”默认不开启,开启后,当使用未设置变量时,会显示错误信息 “ -v ”默认不开启,开启后,在信息被输出前,会先显示信息的原始内容 “ -x ”默认不开启,开启后,在命令被执行前,会显示命令内容(前面有++符号) “ -h ”默认开启,与历史命令有关 “ -H ”默认开启,与历史命令有关 “ -m ”默认开启,与任务管理有关 “ -B ”默认开启,与中括号 [ ] 的作用有关 “ -C ”默认不开启,若使用 > 等,若文件存在时,该文件不会被覆盖
如要去除这些设置信息,可以使用“ + ”符号;例如:set +x
6、数据重定向 标准输入:代码为0,使用 < 或者 << 标准输出:代码为1,使用 > 或者 >> 标准错误输出:代码2,使用 2> 或者 2>>
1>,以覆盖的像是将【正确的数据】输出到指定的文件或设备上 1>>,以追加的像是将【正确的数据】输出到指定的文件或设备上 2>,以覆盖的像是将【错误的数据】输出到指定的文件或设备上 2>>,以追加的像是将【错误的数据】输出到指定的文件或设备上
①、如果需要不将错误信息输出,可以使用/dev/null垃圾桶黑洞设备与特殊写法 ②、< 与 << ’ < ’ 表示将原来需要由键盘输入的数据,改由文件内容来替换,相当于将文件中的内容复制给另一个文件
例如:将文件 ~/.bashrc 文件中的内容复制给 a.txt 语法:cat > a.txt < ~/.bashrc
’ << ’ 表示结束的输入字符
例如:当输入 “ ok ” 字符时结束此次输入 语法:cat > a.txt << ‘ok’ 7、命令执行的判断根据 ①、连续这行多个命令 语法:命令1;命令2;命令3 ②、&& 和 ||(执行顺序从左到右) 语法: 命令1 && 命令2 表示若命令1正确执行完,则开始执行命令2;若命令1执行错误,则不执行命令2
语法:命令1 || 命令2 表示若命令1正确执行完,则不执行命令2;若命令1执行错误,则执行命令2