zoukankan      html  css  js  c++  java
  • linux 之 shell

    echo 输出命令

    语法:echo 【选项】【输出内容】

    选项

      -e:支持反斜线控制的字符转换

     范例 vi hello.sh

    #!/bin/bash

    #author liuch

    echo "我是最正直的人。"

    修改执行权限:chmod 755 hello.sh

    调用方法1: ./hello.sh

    调用方法2: bash hello.sh

     历史命令

    history【选项】【历史命令保持文件】

    选项:

      -c: 清空历史命令

      -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history

    历史命令默认保存1000条,可以修改HISTSIZE,设置条数。

    vi /etc/profile 

    HISTSIZE=1000

    历史命令的调用

    使用上下箭头调用以前的历史命令

    使用“!n”重复执行第n条历史命令

    使用“!!”重复执行上一条命令

    使用“!字串”重复执行最后一条以该字串开头的命令

    命令与文件补全

    在输入命令或文件时,输入开头部分,按“tab”键就会自动进行补全

    如果有多个相同开头的文件或命令,按两下“tab”键会列出所有相同开头的文件或命令,再补全字符,按“tab”补全剩余字符。

    命令别名

    alias 别名=‘原命令’ #设定命令别名

    alias #查询命令别名

    命令执行顺序

    1. 第一顺序执行用绝对路径或相对路径执行的命令
    2. 执行别名
    3. 执行bash的内部命令
    4. 执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

    让别名永久生效

    vi ~/.bashrc

    删除别名

    unalias 别名

    • Ctrl + a :移到命令行首
    • Ctrl + e :移到命令行尾
    • Ctrl + f :按字符前移(右向)
    • Ctrl + b :按字符后移(左向)
    • Alt + f :按单词前移(右向)
    • Alt + b :按单词后移(左向)
    • Ctrl + u :从光标处删除至命令行首
    • Ctrl + k :从光标处删除至命令行尾
    • Ctrl + y :粘贴至光标后
    • Alt + u :从光标处更改为全部大写的单词
    • Alt + l :从光标处更改为全部小写的单词
    • Ctrl + t :交换光标处和之前的字符
    • Alt + t :交换光标处和之前的单词
    • Ctrl + r:逆向搜索命令历史
    • Ctrl + g:从历史搜索模式退出
    • Ctrl + p:历史中的上一条命令
    • Ctrl + n:历史中的下一条命令
    • Ctrl + l:清屏
    • Ctrl + o:执行当前命令,并选择上一条命令
    • Ctrl + s:阻止屏幕输出
    • Ctrl + q:允许屏幕输出
    • Ctrl + c:终止命令
    • Ctrl + z:挂起命令
    • Ctrl + c:强制终止当前的命令

     

    输入重定向

    语法:wc 【选项】【文件名】

    选项:

      -c 统计字节数

      -w 统计单词数

      -l 统计行数

    语法2:命令< 文件

     

    变量分类

    • 用户自定义变量
    • 环境变量:这种变量中主要保存的是和系统操作环境相关的数据
    • 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
    • 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。

    本地变量

    只在当前的shell中生效

    name="hello"

    aa=123

    aa="$aa"456

    aa="$aa"789

    变量调用 echo $name

    变量查看(所有变量) set

    变量删除 unset name 

     环境变量

    环境变量会在当前shell和这个shell的所有子shell当中生效。如果把环境变量写入响应的配置文件,那么这个环境变量就会在所有的shell中生效。

    设置环境变量

    export 变量名=变量值 #申明变量

    export 变量名 #自定义变量转为环境变量

    env #查询变量

    unset 变量名 #删除变量

    pstree #确定进程树

     PATH:系统查找命令的路径

    #echo $PATH

    PATH=$PATH:/root   #命令叠加

    PS1:定义系统提示符的变量

    d:显示日期,格式“星期 月 日”

    h: 显示简写主机名。如默认主机名 “localhost”

    :显示24小时制时间,格式为“HH:MM:SS”

    T: 显示12小时制时间,格式为“HH:MM:SS”

    A:显示24小时制时间,格式为“HH:MM:”

    u: 显示当前用户名

    w:显示当前所在目录的完整名称

     W:显示当前所在目录的最后一个目录名称

    #: 执行的第几个命令

    $: 提示符。如果是root用户会显示提示符为"#",如果是普通用户会显示提示符为“$”

    举例: PS1=‘[u@ # w]$ ’

     位置参数变量

    $n: n为数字,$0代表命令本身,$1-$9 代表第一到第9个参数,十以上的参数需要用大括号包含,如${10}

    $*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

    $@:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待

    $#:这个变量代表命令行中所有参数的个数

    例子:

    #!/bin/bash

    num1=$1

    num2=$2

    sum=$(($num1+$num2)) #变量sum的和是num1加num2

    echo $sum #打印变量sum的值

    例子:

    #!/bin/bash

    echo “A total of $# paramenters”

    #使用$#代表所有参数的个数

    echo “The paramenters is : $* ”

    #使用$*代表所有参数

    echo “The paramenters is : $@”

    #使用$@代表所有参数

     环境变量作用

    条件判断

    test -e student.txt

    #检查是否存在student.txt文件

    [ -e student.txt ]

    #检查是否存在student.txt文件

    echo $?

    #检查上一条命令是否正确执行。

    [ -d /root ] && echo "yes" || echo "no"

    #判断存在目录/root,存在打印yes,否则打印no

     

  • 相关阅读:
    PL/SQL Developer 远程连接Oracle数据库
    常用js代码学习
    三元运算 多条件嵌套
    在后台CS文件里面,隐藏和显示Repeater里面控件
    最小二乘线性及平面拟合原理及C++实现
    C++的顶层const 和 底层const
    vs2019上遇到的一个未预指定引用函数的静态库导致的问题
    一个基础QItemDelegate检查器类
    linux 基础命令及快捷键
    lambda表达式
  • 原文地址:https://www.cnblogs.com/frankliu/p/8457050.html
Copyright © 2011-2022 走看看