• Linux学习笔记四Bash Shell


    查看某一命令是否是来自于外部命令还是内置于bash中:type [-tpa] name      也可用来查找命令,如:type -p touch 有/bin/touch;type -p vbird无显示

    ls    -al     /root

    列出/root下面的各文件名称,注意到不论命令与参数之间空几格,都是可以接受的

    cp  /var/spool/mail/root   /etc/crontab \(空格,\,Enter,下行会自动输出>)

    > /etc/fstab   /root

    将3个文件复制到/root目录下。

    如果命令太长,可以使用2行来输出,\[Enter]转义,注意中间不能有空格

    变量

    变量的用途

    简化路径名称,如:linux下得目录和文件名一般都都代表这一定的含义,普遍都会很长,不利于去记忆,此时可以设置一变量来代表该路径,直接 cd $myVariable

    脚本中常用到存储路径,且每个人的存储路径都会不一样,这样的话修改起来就很麻烦,此时定义一变量,引用该变量,这样只需每个人去修改响应的变量内容即可

    变量内容

    查看更多变量的方法:man  variable

    echo $variable

    echo ${variable}

    设置和修改某个变量内容,用等号=连接变量和内容。取消变量 unset

    通常大写字母为系统默认变量,自行设置的变量可以使用小写字母,便于判断

    如:myVariable=PATH

    unset myVariable

    注:

    =号两边不能直接接空格符

    变量名称只能是英文字母和数字,但数字不能是开头字符

    若有空格符,可用 “ 或 ‘ 。区别:双引号内的特殊字符可以保持变量特性,单引号内的特殊字符则仅位一般字符

    必要时转义字符 \ 

    如:myVariable=PATH's name(x)

    myVariable="PATH's name"

    myVariable=PATH\'s\ name

    在PATH变量中累加:/home/dmtsail/bin

    PATH=$PATH:/home/dmtsail/bin

    或PATH="$PATH":/home/dmtsail/bin

    如变量为扩展变量内容,双引号及$

    如:如果要将变量myVariable的内容多出“yes”:

    myVariable=$myVariableyes(x),这样的话,myVariable的内容就是$myVariableyes这个变量

    myVariable="$myVariable"yes

    myVariable=$(myVariable)yes

    如何让刚刚设置的name=PATH可以用在下一个shell程序中

    什么是子程序,就是说在当前这个shell的情况下去启用另一个新的shell,那个新的shell就是子程序。一般情况下符程序的自定义变量是无法在子程序内使用的,需通过export将变量编程环境变量,就能够在子程序下应用了

    在一串命令中还需要通过其他的命令提供的信息,可以使用 `  (键盘数字键1的左边的那个按键,不是单引号)

    如:如何进入到当前核心的模块目录

    cd  /lib/modules/`uname -r`/kernel

    每个操作系统的核心版本都不相同,uname -r 是获取这个版本的命令

    再:想知道每个crontab相关文件的权限

    ls -l `locate crontab`

    locate列出所有相关文件的文件名,再ls

    环境变量

    env 列出当前shell环境下所有环境变量及其内容  export命令也可以实现这个功能

    set  将环境变量列出来之外,其他自定义变量,所有变量都会列出来

    PS1 命令提示符的设置

    查看$shell的PID  echo $$

    显示上一个执行命令的回传码,一般来说,如果上一命令成功地执行,则返回0,如果执行过程中发生错误,就回传错误代码,通常以非0来替换

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

    查看系统支持的语系   locale

    LANG、LC_ALL

    当前Linux主机内保存的语系文件位置:/usr/lib/locale/目录中。如果想修改系统的语系支持时,可修改/etc/sysconfig/i18n

    读取键盘输入的变量 read

    declare/typeset

    数组属性 array

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

    附加的变量设置功能:#、##、%、%%、/、//具体略。

    alias、unalias    命令别名设置

    alias lm='ls -l|more'

    alias rm='rm -i'

    history   之前使用过的命令的记录

    history 3  显示当前最近使用的3个命令

    history -w  默认情况下会将历史记录写入~/.bash_history中

    !number   执行历史记录中第number条命令

    !command 由最近的命令向前搜索,命令串开头为command的命令,并执行

    !!     执行上一条命令

  • 相关阅读:
    Android Studio 2.3.1导出jar文件不能生成release解决办法
    AndroidStudio 3.0 生成jar包的方法
    Android Studio如何打jar包
    Android Studio 如何打JAR包(修订版)
    6款程序员必备的开源中文处理工具
    Qt5.8 下链接 Mysql 错误以及解决方法(无论 Mysql 是什么版本的,64 位 Qt 要用 64 位的 Mysql 驱动,32 位的 Qt 要用 32 位的Mysql 驱动)
    Go 语言如果按这样改进,能不能火过 Java?
    基于 CSP 的设计思想和 OOP 设计思想的异同
    DELPHI下多线程编程的几个思维误区(QDAC)
    如何使用表单
  • 原文地址:https://www.cnblogs.com/perfy/p/2509192.html
Copyright © 2020-2023  润新知