【Linux】Shell脚本学习总结篇

本文是Linux Shell脚本学习的总结,涵盖shell基本命令回顾,包括文件操作、权限管理、文本处理等;深入讲解shell基本语法,如变量、条件执行、循环、函数和重定向;并介绍了awk和sed工具的简单应用。
摘要由CSDN通过智能技术生成

【Linux】Shell脚本学习总结篇


shell学习分为下面3个部分:

  • shell基本命令回顾
  • shell基本语法学习
  • awk/sed 工具学习

关于shell的介绍之类的在这里不做赘述!


shell基本命令回顾

1.1 最基础的常用命令

(注:命令选项直接 man 查看,不做说明)  

1.1.1 查看文件和目录的命令

ls : 列出目录下的清单;
cat: 连接显示文件内容
less/more: 分页显示文件内容,建议使用less,相比于more更方便;
head: 显示文件头部,可指定行数,默认显示10行;
tail: 显示文件尾部,可指定行数,默认显示10行;
file: 显示文件类型;
wc: 查看文件或统计信息;
find: 查找文件或目录(选项比较多,前面有博客专门介绍过)

部分演示:

这里写图片描述

1.1.2 操作文件和目录

touch:创建新文件(可以直接使用vim/vi/gredit等编辑器直接创建)
mkdir:创建目录,可以利用 -r选项递归创建
cp: 拷贝命令,拷贝目录时可以使用 -r 选项
ln: 创建链接命令,分为软连接和硬链接(有专门的文章介绍)
mv: 移动文件或者目录的命令,同时也是改名命令
rm: 删除命令,-r 删除目录, 谨慎使用;

1.1.3 管理文件或者目录的权限

ls -l : 可以列出文件和目录的权限信息;
chmod: 修改文件和目录的权限(需要了解字母及数字权限表示)
chown/chgrp: 改变属组和属主
setuid/setgid:设置用户或组权限位;

1.1.4 文本处理命令

sort : 文本排序
uniq : 文本去重
tr : 替换命令
grep : 查找字符串
diff: 文件对比,找出文件差异

部分演示:
这里写图片描述

解释: history 命令列出用户的历史使用命令,然后通过awk 过滤出第二列,因为第一列是文件的行数标号, 接着进行一个sort排序,将所有相同的命令都放在一起方便接下来的uniq -c命令去重并且统计出每个命令出现的次数,再然后是 sort -nr -n选项的意思是按照数字的大小即uniq统计出的次数进行排序 -r 则是反向的意思,即本来是正序变为逆序;然后取其前十,即最常用的前十个命令,最后用一下 tr 命令将小写字母替换为大写字母;

对于命令的选项,我一贯的思想都是记住命令和常用的选项即可,太多的选项不需要强行去记忆,用的时候 man 一下或者 –help 看一下即可;

1.1.5 其它常用的命令

hostname : 查看主机名
w, who : 列出系统登录的用户
uptime : 查看系统运行时间
uname : 查看系统信息
date : 显示和设置系统日期和时间
id  : 显示用户属性

1.1.6 shell命令进阶

paster : 合并文本
dd : 备份和拷贝文件(和vim 和剪切命令一样)
tar : 打包和解包文件
mount, umount : 挂载和卸载存储介质
df : 报告文件系统磁盘空间利用率
du : 评估文件空间利用率
ps : 查看系统的进程
pidof : 列出进程的pid
top : 相当于 Linux 的任务管理器
& : 将作业后台运行
jobs : 查看作业
bg : 让挂起的进程在后台继续执行
fg : 将后台进程放入前台
fdisk: 查看系统的磁盘信息

部分演示:
这里写图片描述

前后台切换演示:
这里写图片描述

解释: 先执行 sleep 100 & 让这个进程在后台执行,然后我们先使用 ps 配合 grep 命令查看一下 sleep 进程的信息,接着 jobs 查看一下后台运行的作业, 使用 fg 命令使其继续在前台执行,我们可以看到显示了sleep 100 , 接着我们又不想让他继续执行了,使用 ctrl + z 使其挂起,我们用jobs查看,可以看出其处于 stopped 状态,接着使用 bg 命令使其继续在后台执行,查看状态, 处于running状态;

至此,shell的基本命令回顾完毕,这些都是脚本中常用的命令;


shell基本语法学习

这部分学习编写shell脚本的基本语法,估计篇幅比较长,因为要敲很多代码,所以,有瑕疵的地方请指出;

2.1 shell 语法篇

(这是回顾与复习的过程,所以不是小白教程,起码都吃过猪肉,看过猪跑)

2.1.1 shell 编程基础

1> 上面刚说过,得吃过猪肉,看过猪跑,那么最基本的shell脚本的编写格式应该知道;

#!/bin/bash
echo "hello world"

分析:还是 hello world 起步,第一行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值