linux & shell 教程

Linux

  1. cat

当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

  1. 监测磁盘空间
    df 列出磁盘使用信息
    du 列出当前目录下各目录、子目录、文件的磁盘使用情况,便于排查是否有超大文件存在

-h 两者都可指定,人性化显示磁盘空间

  1. 处理数据文件常用命令
  • 排序:sort ,-M 按月排序
  • 搜索:grep,在文件中搜索符合要求的数据行
    • grep t file1,在file1中搜索匹配模式t的行
    • 支持
      • 正则表达式、反向匹配(输出不匹配该模式的行)- v、统计满足的行数 - c、指定多个匹配模式 -e
  • 归档:tar

    tar -cvf test.tar test/1 test2/ 创建tar文件
    tar -tf test.tar 只查看
    tar -xvf test.tar 解压tars


输出

  • printf:支持格式化输出
  • echo:自动添加换行符(-n 取消换行符);支持三种输出方式,单引号、双引号、不加引号;支持彩色打印;
    • 单引号:不支持变量替换;不可以写!号;
    • 双引号:支持转义字符;
    • 无引号:不可以用空格;

变量

在bash中,每个变量的值都是字符串;定义变量时使不使用引号都可以;有自定义变量和环境变量(如PATH)两种;

  • 查看
    • 某个进程运行时的环境变量 :cat /proc/$PID/environ, PID即进程号
    • 查看当前shell中定义的全部环境变量:env 或 printenv
  • 输出变量:
    echo $var
    echo ${var}
    
  • 引用变量:单引号中不支持变量替换
    echo '$var' will print $var
    
  • 判断用户是否为超级用户:[ $UID -ne 0 ]
  • 获取字符串长度:echo ${#var}
  • PS1 系统变量:bash命令行提示符。
  • shell参数扩张:${parameter:+expression} 如果parameter不为空,就使用变量expression的值

算数操作

shell中使用let、(())、[] 来执行算数操作。

#!/bin/bash
no1=10   # 会被存储为字符串;但是可以用一些方法让它向数字一样进行运算。
no2=20
  • let:使用时,引用变量不需要添加$;支持++、+=等运算;
  • []:$可加可不加
  • (()):变量名之前需要加
let res=no1+no2;
echo $res;

let no1++;  # 11

res=$[ no1 + no2 ]
echo $res;

res=$((no1 + no2))

你可能感兴趣的:(linux & shell 教程)