正确的关机方法:

数据同步写入磁盘:sync

惯用的关机命令:shutdown

重新启动,关机:reboot, halt, poweroff

切换运行等级:init

  • run level 0:关机

  • run level 3:纯文本模式

  • run level 5:含有图形接口模式

  • run level 6:重新启动

认识BASH这个Shell

/etc/shells

  • /bin/sh (已经被/bin/bash 所取代)

  • /bin/bash (就是Linux 默认的shell)

  • /bin/ksh (Kornshell 由AT&T Bell lab. 发展出来的,兼容于bash)

  • /bin/tcsh (整合C Shell ,提供更多的功能)

  • /bin/csh (已经被/bin/tcsh 所取代)

  • /bin/zsh (基于ksh 发展出来的,功能更强大的shell)

Bash shell 的功能:

命令编修能力(history):

命令与文件补全功能:([tab] 按键的好处)

命令别名配置功能:(alias)

工作控制、前景背景控制:(job control, foreground, background)

程序化脚本:(shell scripts)

通配符:(Wildcard)

Bash shell 的内建命令:type

命令的下达:

如果命令串太长的话,如何使用两行来输出?
[vbird@www ~]# cp /var/spool/mail/root /etc/crontab \
> /etc/fstab /root

Shell的变量功能

变量的取用与配置:echo,变量配置守则,unset

环境变量的功能:用env 观察环境变量与常见环境变量说明,用set观察所有变量(含环境变量与自定义变量),export:自定义变量转成环境变量

影响显示结果的语系变量(locale):

变量键盘读取、数组与宣告:read, array, declare

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

变量内容的删除、取代与替换:

变量配置方式

说明

${变量#关键词}
${变量##关键词}

若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除
若变量内容从头开始的数据符合『关键词』,则将符合的最长数据删除

${变量%关键词}
${变量%%关键词}

若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除
若变量内容从尾向前的数据符合『关键词』,则将符合的最长数据删除

${变量/旧字符串/新字符串}
${变量//旧字符串/新字符串}

若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』

变量的测试与内容替换:

变量配置方式

str 没有配置

str 为空字符串

str 已配置非为空字符串

var=${str-expr}

var=expr

var=

var=$str

var=${str:-expr}

var=expr

var=expr

var=$str

var=${str+expr}

var=

var=expr

var=expr

var=${str:+expr}

var=

var=

var=expr

var=${str=expr}

str=expr
var=expr

str 不变
var=

str 不变
var=$str

var=${str:=expr}

str=expr
var=expr

str=expr
var=expr

str 不变
var=$str

var=${str?expr}

expr 输出至stderr

var=

var=$str

var=${str:?expr}

expr 输出至stderr

expr 输出至stderr

 

命令别名与历史命令

命令别名配置:alias, unalias

历史命令:history

Bashshell 的操作环境

bash 的进站与欢迎信息:/etc/issue, /etc/motd

bash 的环境配置文件:

终端机的环境配置:stty, set

通配符与特殊符号:

符号

意义

*

代表『0 个到无穷多个』任意字符

?

代表『一定有一个』任意字符

[ ]

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

[ - ]

若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如[0-9] 代表0 到9 之间的所有数字,因为数字的语系编码是连续的!

[^ ]

若中括号内的第一个字符为指数符号(^) ,那表示『反向选择』,例如[^abc] 代表一定有一个字符,只要是非 a, b, c的其他字符就接受的意思。

符号

内容

#

批注符号:这个最常被使用在script 当中,视为说明!在后的数据均不运行

\

跳脱符号:将『特殊字符或通配符』还原成一般字符

|

管线(pipe):分隔两个管线命令的界定(后两节介绍);

;

连续命令下达分隔符:连续性命令的界定(注意!与管线命令并不相同)

~

用户的家目录

$

取用变量前导符:亦即是变量之前需要加的变量取代值

&

工作控制(job control):将命令变成背景下工作

!

逻辑运算意义上的『非』not 的意思!

/

目录符号:路径分隔的符号

>, >>

数据流重导向:输出导向,分别是『取代』与『累加』

<, <<

数据流重导向:输入导向(这两个留待下节介绍)

' '

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

" "

具有变量置换的功能!

` `

两个『` 』中间为可以先运行的命令,亦可使用$( )

( )

在中间为子shell 的起始与结束

{ }

在中间为命令区块的组合!

数据流重导向(Redirection)

  • 1>:以覆盖的方法将『正确的数据』输出到指定的文件或装置上;

  • 1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;

  • 2>:以覆盖的方法将『错误的数据』输出到指定的文件或装置上;

  • 2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;

/dev/null 垃圾桶黑洞装置与特殊写法

standard input :< 与<<

命令运行的判断依据:; , &&, ||

命令下达情况

说明

cmd1 && cmd2

1. 若cmd1 运行完毕且正确运行($?=0),则开始运行cmd2。
2.若cmd1 运行完毕且为错误($?≠0),则cmd2 不运行。

cmd1 || cmd2

1. 若cmd1 运行完毕且正确运行($?=0),则cmd2 不运行。
2.若cmd1 运行完毕且为错误($?≠0),则开始运行cmd2。

管线命令(pipe):

撷取命令:cut, grep

排序命令:sort, wc(统计),uniq(仅列出一个显示)

双向重导向:tee

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

分割命令:split

关于减号– 的用途:[root@www ~]# tar -cvf - /home |tar -xvf -

Note For Linux By Jes(5)-认识与学习 BASH相关推荐

  1. Note For Linux By Jes(20)-Linux 核心编译与管理

    编译前的任务:认识核心与取得核心原始码: 什么是核心(Kernel) Kernel:核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块,这个核心文件通常被放置成/boo ...

  2. Note For Linux By Jes(16)-软件安装:原始码与 Tarball

    开放源码的软件安装与升级简介: 什么是开放源码.编译器与可运行档 什么是函式库: 什么是make与configure: 侦测程序会侦测的数据大约有底下这些: 是否有适合的编译器可以编译本软件的程序码: ...

  3. Note For Linux By Jes(13)-认识与分析日志文件

    什么是登录文件: Linux 常见的登录文件档名 /var/log/dmesg: 记录系统在启动的时候核心侦测过程所产生的各项资讯.由於CentOS 默认将启动时核心的硬件侦测过程取消显示,因此额外将 ...

  4. Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制

    Linux的账号与群组: 使用者标识符:UID与GID 使用者账号:先找寻/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID (在/etc/grou ...

  5. Note For Linux By Jes(19)-Linux 备份策略

    备份要点: 备份数据的考量: 备份哪些文件: 哪些数据对系统或使用者来说是重要的?那些数据就是值得备份的数据!例如/etc/* 及/home/* 等. 选择什么备份的媒介: 是可读写光盘.另一颗硬盘. ...

  6. Note For Linux By Jes(4)-文件的压缩与打包

    Linux系统常见的压缩命令:compress,gzip,zcat,bzip2,bzcat 打包命令:tar 压 缩:tar-jcv-f filename.tar.bz2 要被压缩的文件或目录名称 查 ...

  7. Note For Linux By Jes(12)-认识系统服务(daemons)

    什么是daemon与服务(service): daemon 的主要分类: stand_alone:此daemon 可以自行单独启动服务 super daemon:一支特殊的 daemon 来统一管理 ...

  8. Note For Linux By Jes(14)-启动流程、模块管理与 Loader

    Linux的启动流程分析: 启动流程一览 加载BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内MBR 的boot Loader (亦即是grub, s ...

  9. Note For Linux By Jes(1)-Linux 的文件权限与目录配置

    第一个字符代表这个文件是『目录.文件或链接文件等等』: 当为[d ]则是目录,例如上表档名为『.gconf』的那一行: 当为[- ]则是文件,例如上表档名为『install.log』那一行: 若是[l ...

最新文章

  1. Vue 2 | Part 4 v-bind绑定元素属性和样式
  2. mysql blob 比较_MySQL下,text 、blob的比较
  3. 2012年度IT博客大赛50强报道:高俊峰
  4. .NET速度的问题,不是最重要的
  5. 机器学习之路: python 实践 word2vec 词向量技术
  6. Tomcat连接池配置
  7. 每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享...
  8. struts-config message-resources配置问题总结
  9. 解决用word修改博客后字体变大的问题
  10. ubuntu18 防火墙关闭_Ubuntu防火墙怎么关闭或打开?
  11. linux asio 读取串口,ASIO 串口编程
  12. 用python处理文本数据(5)
  13. Axure RP9使用指南
  14. 【12306抢票神器】抢票啦—请收下这份2022元旦春节抢票攻略
  15. HTML空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法
  16. nacos 未读取到合法数据,请检查导入的数据文件
  17. 新手做seo该怎么做?seo新手入门基础教程
  18. 人脑的算力真的很弱吗
  19. 智能网联封闭测试场和开放道路测试政策情况全扫描(2022版)
  20. IBM TS3100磁带机更换磁带的方法

热门文章

  1. 《孩子快抓紧妈妈的手 -----转载
  2. 【机器学习笔记】如何改进算法性能
  3. SpringBoot入门操作笔记[+mybatismysql]
  4. 线性方程组之二:三元一次方程组
  5. java74-GUL面板
  6. java gul,java gui 选择文件
  7. 基于struts+spring+ibatis的轻量级J2EE开发
  8. ELF文件格式的详解
  9. Matplotlib的imshow()坐标刻度调整及热图对比的注意事项
  10. 手撕鸭腌料批发场 新奥尔良烤肉腌料批发 奥尔良鸡叉骨腌料批发