在学习Linux BASH Shell编程的过程当中,发现因为不常常用,因此不少东西很容易忘记,因此写篇文章来记录一下正则表达式
ls 显示当前路径下的文件,经常使用的有 -l 显示长格式 -a 显示全部包括隐藏 -R 显示文件夹内的内容 -c 按照最后一次修改时间排序 -t 按照修改时间排序输出编程
echo 显示 -n 不换行数组
touch 建立一个文件,或者修改文件的访问时间和修改时间 touch -a file 只更改访问时间 -m之更改修改实际那 -t指定特定时间bash
cp 复制文件 -a 保留文件的属性 -f强行复制,如存在则覆盖 -i 存在覆盖则提示 -r 复制文件夹中全部存在的内容 -u 只有源文件更新的状况下复制 less
mv 移动和重命名 mv a b 将a文件移动到b的路径函数
rm 删除 -i 删除时提示 -r 删除目录及其中内容 -f 不提示工具
file 查看文件类型学习
cat 查看文件内容ui
more 查看文件内容,满一页后暂停, 空格和z下一页 d下半页 q退出spa
less 加强版的more b能够向后翻页 u能够向后翻半页
tail 显示后几行的内容 tail -f能够动态刷新 很经常使用 tail -n指定行数
head 显示前几行的内容,和tail对应
ps 显示进程 ps aux 查看全部进程 经常使用 显示的比较多,通常配合 管道来查找
top 实时监控进程 命令 u 查看某个用户的进程 k 结束指定进程 q 退出
kill pid 结束进程 kill -9 pid 强制结束
killall 进程名 不用输入pid 直接输入进程名来进行结束进程
mount 挂载 mount -t type device directory type是磁盘类型 device是设备文件 directory 是挂载地址 常常用 通常是经过fdisk -l找到设备地址,而后进行挂载
umount 卸载 卸载挂载点或者设备文件 若是有程序使用则没法卸载 用lsof 来查看那些进程正在使用
df 查看磁盘使用状况
du 查看那特定目录下文件的磁盘使用状况 通常用du -h 直观一些
sort 排序 sort -n 按数字排序 -r 反序
cut 分割 cut -f1 -d':' 按:分割,取第一列
grep 搜索 通常配合管道使用 cat tt|grep number -n添加行号 -c有几个匹配的
tar 压缩和解压 经常使用的是tar 和tar.gz文件 打包 tar -cvf 拆包 tar -xvf 对于tar.gz 打包 tar -zcvf 拆包 tar -zxvf
export 将变量做为环境变量,想要重启不会消失,能够写在用户家目录的.bash_profile 中,写在/etc/profile则对全部用户都有效
unset 删除环境变量
array=(1 2 2 3 4) 用圆括号括起来做为数组 ${array[*]}显示全部 ${#array[*]} 显示个数
useradd 添加用户 -u 指定uid -g指定组名或gid userrm 删除用户 usermod 修改密码 passwd 修改本身的密码 相关文件 /etc/passwd /etc/shadow
groupadd 添加组 groupmod 修改组 grouprm 删除组 相关文件/etc/group
chmod 修改文件权限 chmod 666 a.sh 每一个数字表明rwx权限 第一个数字是拥有着第二个是组第三个是其余,666就是全部人都用用写和执行的权限
chown 修改文件全部者 chgrp 修改文件所属组
fdisk磁盘管理工具
yum 下载安装工具 通常 yum install xxx 查看已安装的包 yum list installed 卸载 yum remove xxx 完全卸载 yum erase xxx
rpm 安装rpm包 与yum功能相似
date 日期 通常用 date +%y%m%d
who查看用户信息
双引号 将其中的信息做为字符串 ,除了转义符 \ 反引号 和$变量
反引号 将其中的文本做为命令执行
单引号 将其中的全部东西做为字符
> 输出重定向 覆盖 >>输出重定向 追加
<输入重定向
|管道 前面的输出做为后面的环境
$[] 进行数学运算只支持整数
bc 具体不描述,支持小数运算
$? 上一条命令的运行结果 0是成功
exit 0 脚本退出并返回状态码
if语句依照以下结构
if command;then xxxxxx fi if command;then xxxxxx elif command; then xxxxxxx else xxxxxxx fi
test 因为if验证的只能是命令,因此引入test [ $a -gt $b ] 用方括号括起来能够做为判断条件,用于文件则是[ -f "$file"] 其中f是文件 e是存在 d是文件夹 等等
判断字符串只有 [ $str1 = $str2] = != > < -z -n
(()) 双圆括号支持更犀利一些的算术运算 如++ -- ** & | 等 [[]] 支持更犀利的字符串比较,好比正则表达式
case命令
case $param in aaa) xxxxxxxxx;; bbb) xxxxxxxxx;; *) xxxxxxxxx;; esac
for 循环控制 while 循环控制 until循环控制 比较简单,再也不赘述
break n 退出n层循环 continue 从新回到n层外的循环
read 读取输入 -p 后面跟提示 read -p "please input a and b" a b 将用户输入读入并存在a b中 -n 指定超时时间
local temp 在函数中声明临时变量temp
$0 脚本名 $#参数数量 $1 $2 .. 第n个参数 $* 全部参数做为一个 $@ 全部参数
shift 向前移动参数
Ctrl+z暂停当前任务
Ctrl+c退出任务
Ctrl+d 结束输入
at 指定命令运行时间 atq查看已有 atrm删除
cron指定命令运行周期
目前先写这么多,用到了在进行添加