美文网首页
Linux Shell学习笔记

Linux Shell学习笔记

作者: Kim9501 | 来源:发表于2018-09-29 16:27 被阅读0次

    Linux Shell学习笔记

    基本信息

    • 系统:Debian 9.5
    • 发行信息:Debian GNU/Linux 9.5/Stretch

    Shell基础

    update:2018年09月22日


    • 只要能够操作应用程序的借口都能成为壳程序Shell。
    • 文件/etc/shells中存放着用户可以使用的shell,/bin/bash是Linux默认的的shell
    • ex:Debian9.5中可以使用的shell
    • shells.pngshells.png
    • 文件/etc/passwd中存放着登录时取得的shell,每行的最后一个数据,就是该用户登陆后取得的默认shell
    • ex:用户kim登录取得的shell为/bin/bash
    • passwd.pngpasswd.png

    命令历史记录

    • 用户通过bash操作的记录都被记录到用户主目录下的.bash_history中,该文件中记录的是前一次登录以前所执行过的命令。本次登录所执行的命令都被暂存到内存中,当登出系统后,该用户的操作记录才会被记录到该文件中。
    • 使用命令history可查看当前登录用户执行过的命令

    命令别名设置

    • alias ll='ls -la' //使用命令ll替代命令ls -la
    • 如果下次登录该别名时效,还可以通过在文件~/.bashrc78行左右添加一条记录alias ll='ls-la'
      • alias.pngalias.png

    查询指令类型

    • 使用命令type 可以查询shell指令是file or alias or builtin
      • 可用的参数有- p -a -t //参数p仅在指令为外部指令时,显示完整文件名
      • type.pngtype.png

    指令的快速编辑

    • ctrl+u 从光标处向前删除指令
    • ctrl+k 从光标处向后删除指令
    • ctrl+a 从光标处移动到整个指令的最前面
    • ctrl+e 从光标处移动到整个指令的末尾

    update:2018-09-25

    Shell中的变量

    • 输出变量内容使用echo,ex:echo $PATH or echo ${PATH}
    • echo.pngecho.png
    • 变量规则
      1. 变量与变量内容以=连接,=两侧不能直接接空白字符
      2. 变量名称只能是英文字母和数字,但是不能以数字开头
      3. 变量内容若有空白字符,可以使用双引号"或单引号'将变量内容结合起来,二者的区别是:双引号内的特殊字符仍然保持原本的特性,单引号内的特殊字符仅为一般字符
      • 单引号双引号.png单引号双引号.png
      1. 可以使用转义字符\将特殊字符转换为一般字符
      2. 若指令中需要使用额外指令提供的内容,可以使用$(comm) or "`\comm `"(数字1左侧的反引号)
      3. 若变量需要在其他子程序中执行,则需要以export使变量变成环境变量
      4. 通常大写字符为系统默认变量,自行设置变量可以用小写字符
      5. 取消变量使用unset 变量名
      • unset.pngunset.png
    • 环境变量的功能
      1. 使用env查看环境变量与常见环境变量说明
        env.pngenv.png -
      2. 使用set查看所有变量(包含环境变量与自定变量)

    update:2018-09-26

    变量键盘读取

    • read [-pt] 变量
      • p 后面可以连接提示符
      • t 后面可以连接等待时间
      • read.pngread.png

    变量类型定义

    • declar/typeset [-aixr] 变量
      • -a 将变量定义为阵列类型[array]
      • -i 将变量类型定义为整数数字[integer]
      • -x 用法与export一样,将变量定义为环境变量
      • -r 将变量定义为只读不可更改内容[readonly]
      • typeset.pngtypeset.png

    终端可用资源

    • ulimit [-SHacdfltu]
    • ulimit.pngulimit.png

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

    • 变量内容的删除需要用到特殊字符# new=${old#*_} //删除变量old内容中的_及前面所有的内容,删除从最左侧开始
    • delete.pngdelete.png

    相关文章

      网友评论

          本文标题:Linux Shell学习笔记

          本文链接:https://www.haomeiwen.com/subject/zllboftx.html