一.路径与命令查找顺序

命令的运行程序可以这样看:

1.以相对/绝对的路径执行命令,例“/bin/ls”或“ls”

2.由alias乍到该命令来执行

3.由bash内置的(builtin)命令来执行

4.通过$PATH这个变量的顺序找到的第一个命令来执行

例如,执行/bin/ls与ls这两个命令来查看,会发现ls由颜色,而/bin/ls没有颜色,因为/bin/ls会直接采用该命令来执行,而ls会因为alias别名而先使用,如果西那个要了解命令查找的顺序,其实通过type -a ls也可以查询

二.bash的登陆与欢迎信息:/etc/issue,/etc/motd

[root@server3 ~]# cat /etc/issue

\s

Kernel \r on an \m

issue内的各代码意义

\d      本地端时间的日期

\l      显示地几个终端机接口

\m      显示硬件的等级

\n      显示主机的网络名称

\o      显示 domain name

\r      显示操作系统的版本

\t      显示本地端时间的时间

\s      操作系统的名称

\v      操作系统的版本

如果希望用户在登陆时可以获取一些信息,可以将信息加入/etc/motd中

[root@server3 ~]# cat /etc/motd

welcome

[kiosk@foundation8 ~]$ ssh root@172.25.8.3

root@172.25.8.3's password:

Last login: Mon Jan 14 19:23:32 2019 from 172.25.8.250

welcome

[root@server3 ~]# cat /etc/issue

三.终端机的环境设置:stty,set

stty

格式: stty 【-a】

-a:将目前所有的stty参数列出来

root@server3 ~]# stty -a

speed 38400 baud; rows 15; columns 79; line = 0;

intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;

eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;

werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

......

在上面列表中,需要注意的时特殊字体的几个,如果出现^表示【ctrl】的意思。几个重要的代表意义是:

eof:End of file的意思,代表结束输入

erase:向后删除字符

intr:送出一个interrupt(中断)的信号给目前正在运行的程序

kill:删除目前命令上的所有文字

quit:送出一个quit的信号给目前正在运行的程序

start:在某个程序停止后,重新启动它的输出

stop:停止目前屏幕的输出

susp:送出一个terminal stop的信号给正在运行的进程

例:

*设置用ctrl+h进行字符的删除

stty erase ^h

set

格式:set 【-uvCHhmBx】

-u:默认不启用,若启用后,当使用未设置变量时,会显示错误信息

-v:默认不启用,若启用后,在讯息被输出前,会显示信息的原是内容

-x:默认不启用,若启用后,在命令被执行前,会显示命令内容(前面由++号)

-h:默认启用,与历史命令有关

-H:默认启用,与历史命令有关

-m:默认启用,与工作管理有关

-B:默认启用,与括号【】的作用有关

-C:默认不启用,使用>等时,若文件存在时,该文件不会被覆盖

bash默认组合键介绍

组合按键    执行结果

Ctrl+C          终止目前的命令

Ctrl+D          输入结束(EOF),例如由检结束的时候

Ctrl+M          就是Enter

Ctrl+S          暂停屏幕的输出

Ctrl+Q          恢复屏幕的输出

Ctrl+U          在提示符下,将整行命令删除

Ctrl+Z          暂停目前的命令

四.通配符与特殊符号

常用通配符介绍

符号        意义

*           代表0到无穷多各任意字符

?          代表一定有一个任意字符

[]          同样代表一定有一个在中括号内的字符(非任意字符)。*1

[-]         若有减号在中括号内,代表在编码顺序内的所有字符*2

[^]         若中括号内的第一个字符为指数符号(*),那表示原向选择*3

*1:例如[abcd]代表一定有一个字符,可能是a,b,c,d这四个任何一个

*2:例如[0-9]代表0到9之间的所有数字,因为数字的语系编码是联系的

*3:例如[^abc]代表一定有一个字符,只要是非a,b,c的其他字符就接受的意思

特殊符号介绍

符号        内容

#           批注符号,这个最常被使用在script当中,视为说明,其后数                          据均不执行

\           转义符号,将“特殊字符或通配符”还原成一般字符

|           管道(pipe),分隔两个管道命令的界定

;          连续命令执行分隔符,连续性命令的界定

~          用户的主文件夹

$           使用变量前导符,即是变量之前需要加的变量替代值

&           作业控制,将命令变成背景下工作

!          逻辑运算意义上的“非”的意思

/           目录符号,路径分隔的符号

>,>>        数据流重定向,输出导向,分别是“替换”与“追加”

<,<<         数据流重定向,输入导向,

''          单引号,不具有变量置换的功能

""          双引号,具有变量置换的功能

``          两个“`”中间为可以先执行的命令,也可以使用$()

()          中间为子shell的开始与结束

{}          在中间为命令块的组合

shell 操作环境的更多相关文章

  1. shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)

    如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...

  2. Linux设置文件与Shell操作环境

    Shell设置文件读取流程 /etc/shells记录了Linux系统中支持的所有shell,默认使用bash.用户登入Linux系统时会获取到一个shell,具体获取到哪个shell与登录账号有关, ...

  3. 第十一章、认识与学习 BASH Bash Shell 的操作环境

    bash中的变量动不动就说环境变量,真是奇怪,bash只是一个c语言编写的程序而已,跟环境变量有什么关系?如果知道dos的历史的话就知道有个时代是只有命令行界面而没有图形用户界面,这只小小的程序就包揽 ...

  4. 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

    上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...

  5. Shell之操作环境

    目录 Shell之操作环境 参考 命令运行顺序 欢迎信息 环境配置 Shell之操作环境

  6. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  7. bash的操作环境[转]

          Bash Shell 的操作环境: 是否记得我们登陆主机的时候,屏幕上头会有一些说明文字,告知我们的 Linux 版本啊什么的, 还有,登陆的时候我们还可以给予用户一些信息或者欢迎文字呢. ...

  8. 理解及操作环境变量(基于Mac操作)

    通过本文,简单的了解下环境变量及其操作,与便于遇到相关问题时能够准确快捷的解决. 什么是环境变量 An environment variable is a dynamic-named value th ...

  9. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

随机推荐

  1. 2.Border Layout 自定义一个Layout来完成布局。

    目标: 1.添加控件的函数 void QLayout::addWidget ( QWidget * w ) 在这个例子里面我们重载这个函数 void addWidget ( QWidget * w, ...

  2. session的应用----验证码

    昨天登录功能中叙述了密码 用户名的数据库验证以及转发 那么这篇文章在昨天的基础上 处理验证码的验证功能,今天需要用到session域,session用于一次会话. package cn.lijun.d ...

  3. 一些webGL地球的网址

    测试浏览器的webgl支持情况:https://browserleaks.com/webgl 或者 https://github.com/AnalyticalGraphicsInc/webglrepo ...

  4. android eclipse 报error loading /system/media/audio/ xxx 错的解决办法。

    只针对 报错..error   loading /system/media/audio/ xxx.ogg 一步操作 解决烦恼..把 模拟器声音 关了..所有的错 都没了. 包括 关闭按键声音,触摸声音 ...

  5. MVC Action控制方式

    1.Controller 的OnActionExecuting中控制 protected override void OnActionExecuting(ActionExecutingContext ...

  6. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...

  7. 微信支付接入的总结 —— NATIVE & MWEB & JSAPI

    这段时间工作中需要对接微信支付,而且要多个端同时进行接入,web端,手机浏览器,微信浏览器,所以研究了下.不同场景选择合适的接入方式是必须的.https://pay.weixin.qq.com/wik ...

  8. oracle为IN OUT变量或OUT变量赋值时提示“表达式''不能用作赋值目标”

    是因为IN OUT变量和OUT变量是要输出的,不能赋给它常量值,这样它就不能再被赋值而输出了,所以是禁止赋常量值的,比如''也是常量值,也不可以赋给这两种类型的变量,如果不能把存储过程中的其他变量赋给 ...

  9. 简单概括下浏览器事件模型,如何获得资源dom节点

    在各种浏览器中存在三种事件模型:原始事件模型,DOM2事件模型,IE事件模型.其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE以外的所有主流浏览器支持. 浏览器事件模型 ...

  10. Django 项目重命名

    在日常学习工作过程中,我们难免需要复用以前的项目,这里讲下复用 Django 项目并重命名的过程. 1.修改项目名称,使用 pycharm -> refactor 重命名整个项目. 2.修改 m ...