Shell基础 - Bash基础功能

  1. 历史命令 history
    选项: -c 清空历史命令 -w 立即保存历史命令
    Linux 下输入过的历史命令,都会保存在根目录下的:~/root/.bash_history 文件中
    默认保存 1000 条,可在 /etc/profile 文件中修改环境变量
    !ser : 执行最后一条以 ser 开头的命令
    !! : 再次执行上一条命令
  2. 定义别名
    # alias vi = “vim” // 重启系统消失
    # unalias vi
    永久生效
    # vi /root/.bashrc
  3. 输出重定向
    标准输出重定向:命令 > 文件 覆盖的方式 命令 >> 文件 追加的方式
    标准错误输出重定向:错误命令 2> 文件 覆盖方式 错误命令 2>> 文件 追加方式
    a、以覆盖的方式,把正确输出和错误输出都保存到同一个文件
    格式:命令 > 文件 2>&1 
    命令 &> 文件
    b、以追加的方式,把正确输出和错误输出追加到同一个文件
    格式:命令 >> 文件 2>&1
    命令 &>> 文件
    c、把正确的输出追加到文件 1,错误输出追加到文件 2
    格式:命令 >> 文件 1 2>> 文件 2
  4. 脚本执行连接符
    ; 代表顺序执行 eg: 命令 1; 命令 2
    && 上一条命令成功执行了再执行下一条 eg: 命令 1&& 命令 2
    || 上一条命令执行不成功才执行 eg: 命令 1|| 命令 2
    | 命令 1 的正确输出作为命令二操作的对象 eg: 命令 1| 命令 2
  5. grep 命令
    # grep [选项] "搜索内容" 文件
    选项:
    -i : 忽略大小写
    -n:输出行号
    -v:反向查找
    –color=auto 搜索出的关键字用颜色显示
  6. 自定义变量
    变量可以由字母、数字、下划线组成,但是不能以数字开头
    变量的类型默认都为字符串类型,如果需要进行数值运算,必须修改变量类型为数值型
    变量用等号连接,等号2边都不能有空格,若变量值有空格,需要使用单引号包括
    如果需要增加变量的值,变量需要用双引号包含:“$变量名”或者用${变量名}包含
    如果把命令的结果作为变量值赋予变量,需要使用反引号或$()包含命令
    变量设置:a=123
    变量调用:echo $name
    变量查看:set
    变量删除:unset name
  7. 预定义变量
    预定义变量 作用
    $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行,如果变量值非0,证明上一个命令执行不正确。 (echo $?)
    $$ 当前进程的进程号(PID)
    $!
    后台运行的最后一个进程的进程号(PID)

    接收键盘输入
    # read [选项] [变量名]
    选项:
    -p "提示信息" 在等待read输入时,输出提示信息
    -t 秒数 read命令会一直等待用户输入,指定等待时间
    -n 字符数 read命令只会接受指定的字符数,就会执行
    -s 隐藏输入的数据,适用于密码输入
    代码例子:

    #! /bin/bash
    
    read -t 10 -p "please input your name: " name
    # 提示请输入姓名,等待10秒,将用户输入保存到变量名name中
    echo "Name is $name"
    
    read -s -t 10 -p "please enter your age: " age
    # 年龄是隐私,用"-s" 选项隐藏输入
    echo -e "\n"
    echo "Age is $age"
    
    read -n 1 -t 10 -p "please select you gender[M/F]: " gender
    # 使用"-n 1" 选项只接收一个输入字符就会执行(不用回车)
    echo -e "\n"
    echo "Sex is $gender"

    Code

  8. declare声明变量类型

    # declare [+/-] [选项] 变量名

    选项:

    -:给变量设定类型属性

    +:取消变量的类型属性

    -i:将变量声明为整数型

    -x:将变量声明为环境变量

    -p:显示指定变量的被声明的类型

    其他方法:数值运算使用:cc = $(($aa+$bb))      或      cc = $[$aa+$bb]

时间: 2024-08-12 16:12:33

Shell基础 - Bash基础功能的相关文章

Linux学习 -- Shell基础 -- Bash基本功能

历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 alias 别名='原命令' 命令执行顺序: 绝对路径或相对路径 > 别名 > Bash的内部命令 > $PATH环境变量中找到的第一个命令(外部命令) 配置文件:/root/.bashrc 删除:unalias 别名 常用快捷键 输入输出重定向 标准输入输出 输出重定向 注意:2和>

Shell编程——bash基础知识

创建脚本:vim test.sh    脚本内容:#! /bin/bash  #"#!"是一个约定标记,告诉系统用哪种shell来执行              echo "Hello world!"使脚本具有执行权限:chmod  +x ./test.sh执行脚本:./test.sh     #注意,一定要写成./test.sh,而不是test.sh.若直接写成test.sh,linux会去PATH里面找寻有没有test.sh. [shell注释]:以“#”开头的

Linux基础——bash基础应用及文件系统基础命令

(一).命令别名 alias用于获取当前用户可用的别名定义 [[email protected] ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' 定义别名:~]# alias  NAME='COMMAND'(生命周期:当前shell进程) 撤消别名:~]# unalias NAME 注意:如果别名和

4、Bash基础及配置、标准I/O、管道及shell编程基础;

1.Bash基础及配置 站在用户的角度来讲,SHELL的类型: 登录式shell 正常通过某终端登录 su - USERNAME su -l USERNAME 非登录式shell su USERNAME 图形终端下打开的虚拟终端 自动执行的shell脚本 bash的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh , /etc/bashrc 个人配置: ~/.bash_profile, ~/.bashrc profile类的文件 1.设定环境变量 2.运

centos6.5 bash基础命令2

@@@第三天第二段 @@stat命令:查看文件的元数据信心!Inode stat FILE... bash文本编辑器编辑器:进行文本内容修改的程序 行编辑器:sed 全屏编辑器:nano, vi, vim @@nano FILE... 用户和权限管理: 1.用户是什么? 2.没有用户计算机也可以正常运行 用户:用户就是计算机系统按需对操作人员授权,标识资源获取的识别符!资源分配,是安全权限模型的核心要素之一 密码:用户认证,对用户是否具有授权进行验证! 多用户的操作系统:同一时间允许多个用户对计

Bash基础知识

在网上找了一些Shell/bash基础知识. // Study_shell.txt // 2016.1.1 by Huangtao 1. 定义变量时,变量名不加美元符号,变量名和等号之间不能有空格. 使用一个定义过的变量,只要在变量名前面加美元符号即可. 推荐给所有变量加上花括号,帮助解释器识别变量的边界. 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变. readonly a 使用 unset 命令可以删除变量,不能删除只读变量. 2. Shell字符串可以用单引

shell 脚本编写基础

在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行命令开头处不用就空格也行.. 第1部分. linux 脚本编写基础 1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执

0823第三课-2 Linux的文件系统 bash基础特性

1.linux文件系统 绝对路径:/ LSB: FHS(文件系统层级结构标准) FHS: /boot: 引导文件存放目录,例如kernel(vmlinuz).bootloader(grub, grub2): 包含开机菜单以及开机所需要的配置文件等等 [[email protected] boot]# lsconfig-2.6.32-504.el6.x86_64         lost+foundefi                                  symvers-2.6.3

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台

cmd 与 bash 基础命令入门

身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>?<) cmd 与 bash 基础命令入门 ??????简介 ??????CMD 基础命令 ????????????目录操作 ??????????????????切换目录 ??????????????????列出文件与子目录 ??????????????????创建目录 ??????????????????删除目录 ??????????????????复制目录 ??????????????????移动目录 ????