Linux学习笔记——bash命令及shell变量简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记——bash命令及shell变量简介相关的知识,希望对你有一定的参考价值。

bash 及其特性

shell  外壳  

GUI :Gnome  KDE  xface 

CLI :shell  csh  ksh  bash  

 

程序,进程

进程:每个进程看来,当前主机上只存在内核和当前进程

进程是程序的副本,进程是程序执行实例

 

用户的工作环境:

bash:

           #   root用户

 $   普通用户

shell  ,子shell

 

bash :

            1.命令历史

            2.管道,重定向

            3.命令行编辑

            4.命令别名

  5.命令行展开

  6.文件名通配

  7.变量

  8.编程  

命令行使用技巧:

           Ctrl + a  光标跳转行首

 Ctrl + e  光标跳转行尾

 Ctrl + u  删除光标至行首的内容

 Ctrl  + k  删除光标至行尾内容

 Ctrl  + l  实现清屏

命令历史使用技巧:

           !n  执行命令历史中第N行命令

           !-n  执行历史命令中倒数第N行命令

           !!   执行上一条命令

           !CHARACTER  执行历史命令中最近一次以CHARACTER开头的命令

           !$ 引用前一个命令的最后一个参数

           ESC 松开按.  引用前一个命令的最后一个参数


tab按键功能:

命令补全 :搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件

路径补全 :搜索我们给我的起始路径下的每个文件名,并试图补全 

  

命令别名:

#alias CMDALIAS=COMAND  命令重命名

在shell 中定义的别名仅在当前shell 生命周期中有效,别名的有效范围当前shell进程         

#unalias   取消命令重命名 ,#unalias COMAND

 

bash 支持的引号及作用:

  ``    反引号, 命令替换

“” 双引号,弱引用,可以完成变量替换

‘’  单引号,强引用,不可完成变量替换

命令替换

把命令中某个子命令替换为命令执行结果的过程

#echo “The directory is $(pwd)”

#touch  ./file-$(date +%F-%H-%M-%S).txt  ==   #touch ./file-`date +%F-%H-%M-%S`.txt   ,功能相同 

 

命令历史:

#history 

[[email protected] skel]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
    显示或操纵历史列表。
    
    带行号显示历史列表,将每个被修改的条目加上前缀 `*‘。
    参数 N 会仅列出最后的 N 个条目。
    
    选项:
      -c        删除所有条目从而清空历史列表。
      -d        偏移量 从指定位置删除历史列表。
    
      -a        将当前绘画的历史行追加到历史文件中
      -n        从历史文件中读取所有未被读取的行
      -r        读取历史文件并将内容追加到历史列表中
      -w        将当前历史写入到历史文件中 并追加到历史列表中

 

环境变量 :

PATH        命令路径

HISTSIZE   命令历史大小

示例:# echo $HISTSIZE  ,显示缓存命令的大小

          #echo $shell ,显示用户Shell 环境

 

文件名通配 ,globbing

           *    匹配任意长度的任意字符,包含空#ls  a*

           ?    匹配任意单个字符 ,#ls  ?y*

           [ ]   匹配指定范围内的任意单个字符,如[a-zA-Z][0-9] [0-9a-zA-Z]

           [[:space:]] 所有的空白字符

 [[:punct:]] 所有标点符号

 [[:lower:]]  所有小写字符

 [[:upper:]]  所有大写字符

 [[:alpha:]]  所有大小写字母

 [[:digit:]]  所有数字

 [[:alnum:]]  数字和大小写字

           [^]  匹配指定范围之外的任意单个字符

 

例#ls [[:alpha:]]*[[:space:]]*[[:alpha:]] ,显示以字母开头并以字母结束,且中间包含空格的文件

 

站在用户登录的角度来说,shell 的类型

登录式shell

     正常通过某终端登录

 su - USERNAME

 su -l USERNAME

非登录式shell

           su USERNAME

  图形终端下打开的命令窗口

  自动执行的shell 脚本 

bash 的配置文件 

全局配置

     /etc/profile , /etc/profile.d/*.sh , /etc/bashrc 

个人配置

     ~/.bash_profile , ~/.bashrc 

profile类的文件 

     设定全局环境变量

     登录运行命令或脚本 

bash 类的文件

      设定本地变量

      定义命令别名 


登录式shell 如何读取配置文件

/etc/profile ---> /etc/profile.d/*.sh ---> ~/.bash_profile -->~/.bashrc -->/etc/bashrc

非登录式shell

~/.bashrc -->/etc/bashrc-->/etc/profile.d/*.sh


本文出自 “Wish_亮” 博客,请务必保留此出处http://itwish.blog.51cto.com/11439802/1963152

以上是关于Linux学习笔记——bash命令及shell变量简介的主要内容,如果未能解决你的问题,请参考以下文章

linux 学习笔记 基本的bash shell命令

Linux学习笔记:bash颜色显示及shell脚本相关

Linux学习笔记

Linux学习笔记-Shell命令机制

Linux学习笔记第8章 Linux shell基础知识

linux的shell学习笔记