Linux
- cat
当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
- 监测磁盘空间
df 列出磁盘使用信息
du 列出当前目录下各目录、子目录、文件的磁盘使用情况,便于排查是否有超大文件存在
-h 两者都可指定,人性化显示磁盘空间
- 处理数据文件常用命令
- 排序: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))