Shell在/etc/shells中

Bash:Bourne-again Shell的缩写

GNU计划的一个组件

与Unix的Bourne Shell完全兼容

Bash优点

Bash支持命令行输入、操作历史查询、快捷键、使用变量等功能。

支持通配符、别名、串操作、文件测试、×××算术运算

可以交互使用,或者作为脚本语言

超过60个shell变量

Bash缺点

资源型敏感,对CPU负担重的程序

复杂的大项目

需要灵活的处理文件程序(逐行)

需要图形用户界面的程序

需要直接与系统硬件打交道的程序

需要访问I/O端口和网络套接字的程序

需要使用库或

Bash快捷键

 Ctrl + d:输入已结束 在shell下相当于一个exit

 Ctrl + c:键盘中断请求

 Crtl + z:挂起

 Ctrl + s & Ctrl + q:暂停/恢复屏幕输出

 Ctrl + l:清屏 相当于clear

 Tab:自动补完命令行与文件名 列出所有可能的选

 Ctrl + a:光标移到行首

 Ctrl + e:光标移到行尾

 Ctrl + k:从光标所在处删除到行结尾

 Ctrl + u:删除整行

 Esc + f:光标移到下一个单词的开始处

 Esc + b:光标移到前一个或当前单词的开始处

连续按TAB键,可以看现在可以使得命令

 

Shell在/etc/shells中

顺序

Bash命令优先级

Alias

Keyword

Functions

Builtin

$PATH

builtin:BASH内置命令

Help cd /man cd查看内置命令

Bash的操作环境

主要设置文件

全局设置:/etc/profile

/etc/bashrc

用户设置:~/.bashrc

~/.bash_profile

Bashrc

定义别名

其他设置文件

~/.bash_logout

~/.bash_history

/etc/profile.d/*.sh

.bash_logout离开系统时的操作

一般会写history -c清除历史操作和clear操作

 Bash各设置文件的执行顺序

Start /etc/profile

Start /etc/profile.d/*.sh

Stop /etc/profile.d/*.sh

Stop /etc/profile

Start ~/.bash_profile

Start ~/.bashrc

Start /etc/bashrc

Stop /etc/bashrc

Stop ~/.bashrc

Stop ~/.bash_profile

Env:用来列出环境变量

Set:Bash还有与操作系统有关变量,以及用户自定义的变量。Set显示全部变量

Stty:设置tty终端,控制backspace删除等功能

Unset a删除SET中的项

Stty intr ""取消Ctrl+C功能

退出终端停止生效

/etc/DIR_COLORS控制颜色

Set选项

-f 使路径名替换无效

-n 读取命令,但不执行(用来对脚本进行语法检查)

-o optionname 设置指定的选项:emacs,ignoreof,vi

-v 在命令被读取时打印命令(调试脚本时有用)

-x 在替换被应用之后打印命令(调试脚本和检查shell替换时有用)

-C 不允许shell在重定向中损坏文件

PS1命令提示符:

 \d 可显示出[星期 月 日]的日期格式,如:“Mon Feb 2”。

 \H 完整的主机名。

 \h 主机名在第一个小数点前的名字,如www后面省略。

 \t 显示时间,为 24 小时格式的[HH:MM:SS]。

 \T 显示时间,为 12 小时格式的[HH:MM:SS]。

 \A 显示时间,为 24 小时格式的[HH:MM]。

 \@ 显示时间,为 12 小时格式的[am/pm]样式 。

 \u 目前使用者的账号名称,如root。

 \v BASH的版本信息。

 \w 完整的工作目录名称,由根目录写起的目录名称,家目录会以~ 替代。

 \W 调用basename函数的工作目录名称,所以仅会列出最后一个目录名。

 \# 下达第几个指令。

 \$ 提示字符。root时是#,否则就是$。

PS1='[\h]\$'

\w带路径,比较常用

Bash的启动

 Shell的自动启动

无论何时登录或者打开终端,shell都会自动启动

 Shell的多层关系

有时用户想运行一个不同的shell或者同一个shell的另外一个实例。由于shell“另外一个程序”,所以新的shell可以从现有的shell上启动。新的shell被看作是原有shell的子shell。当子shell退出时,就由原来的shell继续控制。

Bash-locale

Locale显示影响显示结果的语系变量

/etc/sysconfig/i18n配置文件

图形界面也可以修改

System-config-language

LANG=C 设置成英文

LANG=en_US.UTF-8

Bash - declare

 declare或typeset  就是宣告变量的类型,不加参数

就是列出当前所有,和set命令输出一样。

 -a  将后面的变量定义成数组(array)类型

 -i  将后面的变量定义成×××(integer)类型

 -x  将后面的变量定义成环境变量

 -r  将后面的变量定义成readonly类型

-x 使值成为环境变量

或者

Bash - export

 export 变量名  自定义变量转换成环境变量

 export  查看环境变量

Bash - history

 在bash中输入history指令可以查询用户的过往操作

 history记录在内存中而定。

 history表在用户logout时会记录入用户主目录下的.bash_history文件中,在下次login时载入。

写在/etc/profile中

Bash – history  如何使用history?

 使用 ! 来调用历史命令

 !!:重复执行上一条命令

 !ex:重复执行上一条以ex为开头的命令

 !N:重复执行上一条在history表中记录号码为N的命令

 !-N:重复执行前面第N条命令

 可以用快捷键来调用历史命令

 Ctrl + r:在history表中查询某条历史命令

 fc命令:把之前的命令在编辑器中编辑,退出编辑器的时候执行

 Esc + .和Alt + .:之前被键入的命令行的最后一个标记可以用上面提到的2个组合键中的任何一个来恢复

Bash - alias

 在shell下键入alias可以查询当前alias列表。

 用户可以alias来为一条命令取一个简单的别名

 用户也可以用unalias来取消一条别名记录。

 alias记录在shell中总是先执行。

Bash - ulimit

ulimit与文件系统及程序的限制相关

 -H hard limit

 -S sort limit

 -a 列出所有的限制额

 -f 可以建立的做大文件大小

 -u 点用户可以使用的最大进程数量

 -n 打开文件的最大个数

Unalias vi

Ulimit -n是必改项

Bash欢迎信息

 进入系统时的:/etc/motd

 登录系统是的:/etc/issue  /etc/issue.net

转载于:https://blog.51cto.com/yangtong/503266

shell高级(一)相关推荐

  1. linux+用户的shell,Linux用户管理(十)Linux Shell高级

    Shell高级 一.shell置换和引用 1.什么是置换和引用 在shell中具有很多特殊意义的字符(*.?.\等),shell将包含元字符的字符串根据其意义转换成新字符串的过程称为置换:关闭shel ...

  2. linux 运维高级脚本生成器,Linux运维系列,Shell高级脚本自动化编程实战

    课程文件目录: Linux自动化运维系列 Shell高级脚本自动化编程实战 [6.1G] ┣━━01.Shell基础概述 [315.1M] ┃ ┣━━1-1 Shell脚本体系概述.mp4 [154. ...

  3. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...

    最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本 大家可以通过参考下面的课程学习目录,就会发现单单只从目录上来分析就知道这是一部非常系统的Shell自动化脚本运 ...

  4. 井字游戏(shell高级版)

    井字游戏(shell高级版) 大家小时候大概都玩过井字游戏,就是双方在九宫格里面轮流下棋 ,先构成三点一线(横线.竖线或者斜线)的一方取胜.有点经验的人都知道,这样简单的游戏根本是不分胜负的,除非就是 ...

  5. shell高级视频答学生while循环问题

    视频讨论回复只能200字,因此这里回答这位学生了.首先很感谢你学习老男孩培训的高级实战shell视频!我们先要理解while循环的意义,使用while循环的目的就是多次循环! while循环是根据wh ...

  6. Shell高级练习脚本15个

    目录 1.sed的基本使用 2.sed的高级使用 3.awk的基本使用 4.awk高级用法 其他 1.sed的基本使用 #!/bin/bash sed 'p' /etc/hosts # 使用sed所有 ...

  7. shell高级编程--引用

    引用 在shell中,引用的意思就是时讲字符串使用双拥好括起来,他的作用就是保护字符串中的特殊字符.不被shell或者shell脚本重新解释,或者扩展. andrew@andrew:~$ ls -l ...

  8. linux shell 高级编程,shell高级编程

    条件选择if语句 选择执行: 注意:if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else条件为假的分支代码 fi ...

  9. 第二部分 Linux Shell高级编程技巧——第三章 运行级别脚本介绍

    笔记 #运行级别脚本介绍 #准备工作 #进入目录 cd /home/wgb/shell #建立文件夹 mkdir 0421 #进入目录 cd 0421#运行级别 #运行级别目录 #进入etc目录 [r ...

最新文章

  1. C语言网络编程:listen函数详解
  2. vs如何将工程配置,保存到属性表
  3. 《JAVA程序设计》_第四周学习总结
  4. bootstrap 右对齐样式_Bootstrap的文本处理
  5. java linkedlist源码_Java集合之LinkedList源码分析
  6. 2345电脑管家_如何彻底清除流氓的2345安全卫士及2345SafeCenterSvc服务?
  7. getopt长参数(长选项)获取不到参数BUG
  8. C++设计模式之工厂模式(1)
  9. jzoj5363-[NOIP2017提高A组模拟9.14]生命之树【启发式合并,Trie】
  10. c3p0 0.9.1.2 配套mysql_连接数据库,使用c3p0技术连接MySQL数据库
  11. python第六十天-----RabbitMQ
  12. LeetCode58. 最后一个单词的长度
  13. 吴恩达新书手稿完工,现在开放免费下载 | 资源
  14. 第九届蓝桥杯 明码2018
  15. 【深度学习】使用预训练模型
  16. 华为将发布定制款“鸿蒙字体”,可以免费商用
  17. MagicDraw-状态机图
  18. 蛋白质二级结构预测工具psipred安装使用
  19. 2021-11-03 - 英文/英语简写 - 收集
  20. 西安无房证明网上办理指南

热门文章

  1. nginx小总结(五)
  2. postfix+mysql+dovecot
  3. 虚拟化帮您打造绿色数据中心
  4. Kubernetes理论基础
  5. kali最新国内更新源sources
  6. questasim linux安装包,Ubuntu16.04下Questasim10.7安装(64bit)全攻略
  7. 【MaxCompute】学习笔记操作表sql
  8. ans_rproxy 说明
  9. 用python生成词云wordcloud
  10. hdu 4336 Card Collector