linux shell入门
目录 :
一.Shell常用命令
三.Shell内建命令
一.Shell常用命令
1.管理文件和目录
cd:可以用于切换当前的工作目录
pwd:可以打印当前工作目录的名称,注意在linux中打印这个词一般不是指打印机的打印,而是表示将文本内容输入到屏幕上。
ls:列出当前目录下的所有文件
touch:用于更改文件的修改区间,也可以用于创建一个空文件
cp:复制文件或目录
mv:移动或重命名一个文件或目录
rm:用于删除一个文件或目录
mkdir:用于创建一个目录
rmdir:用于删除一个目录,一般是用于删除空目录
file:用于判断一个文件的文件类型
cat:可以打印文件的文本内容
more:用于打开一个文件,进行交互式的阅读课,仅允许向下滚动less:类似more,区别在于使用less可以上下浏览文件,并在查看文件内容前不会加载到所有数据,更适合对大文件的浏览
tail:打印文件的最后部分,默认为最后十行
head:打印文件的开头部分默认为前十行
2.管理系统进程
ps:显示系统目前运行的进程信息
topz:显示系统目前运行进程的动态实时信息,与ps的区别是ps是静态的,而top命令可以进行动态的刷新
Kill:可以向进程发送一个信号通常用于终止一个进程
killall:可以通过进程的名称向进程的所有实力发送终止信号
3.管理磁盘空间
mount:提供文件系统的挂载功能,默认可以显示当前挂载的所有文件系统
umount:取消文件系统与其挂载点的连接,使其不能再被访问到,简单来说就是卸载某一个挂载点
df:用于查看当前文件系统的磁盘空间使用情况
du:用于计算指定文件或目录占用磁盘空间的大小
4.处理数据文件
sort:可以对文本文件进行排序
grep:能够查找文件里符合条件的字符串,支持正则表达式和简单模式匹配
gzip:提供了对zip压缩格式的文件压缩和解压功能
tar:可以对文件进行归档,压缩和解压缩
二. Shell外部命令
1.外部命令(文件系统命令) , 通常位于/bin、/sbin. /usr/bin. /usr/sbin 等目录
2. fork :外部命令执行时,会创建出-个子进程。( 以ps命令为例)
三.Shell内建命令
1.作为shell工具的组成部分,内建命令不需要使用子进程来执行。
2.对于有些命令,有多种实现,既有外部命令,也有内建命令。
3.了解某个命令的类型
●type -a
4.了解所有的内建命令
●man builtin
目录:
一.脚本创建、执行与退出状态码
二.变量的定义和使用
三.输出文本
四.数学运算
一.脚本创建、执行与退出状态码
1.创建shell脚本
·Shebang: #!/bin/bash
2.执行脚本
·增加脚本的可执行权限
·使用绝对或相对路径执行shell 脚本
3.脚本的退出状态码
·$?
·exit命令
二.变量的定义与使用
1. Linux系统的环境变量
·全局环境变量
·局部环境变量
2.自定义用户变量
·有字母、数字、下划线组成
·长度不超过20个字符
·区分大小写
3.变量的定义/赋值
·等号两边不能有空格
4.使用美元符$对变量进行引用
·建议使用${variable_ name}
5.命令替换:将命令的输出赋值给变量
1.反引号、command
2. $( command)
三.输出文本
·echo命令
·echo $USER * $(date)
·echo ' $USER * $(date)‘
·echo "$USER * $(date)"
四.数学运算
1. expr命令
2. $[ operation ]
3. bc命令(支持浮点数运算)
目录 :
一. 命令行参数
二.特殊参数变量
三.移动变量
四. 交互式处理
一.命令行参数
1.命令行参数:向shell脚本传递数据最基本的方法
2.位置参数: $0是脚本名,$1到$9表示第一到第九个参数,第十个参数可以用${10}表示
3.若参数内容包含空格,则必须使用引号
二.特殊参数变量
$#存储了脚本运行时携带的命令行参数的个数
三.移动变量
1.shift命令可以将每个参数变量向左移动一个位置
2.常用于遍历命令行参数
3.shift n
四.交互式处理——read命令
1.从标准输入读取数据并赋值给指定变量
·指定输出的命令行提示信息(-p)
·指定接收单字符的数据(-n)
·设置输入的超时时间(-t)
2.从文件中读取参数
Shell脚本重定向
目录 :
一. 标准文件描述符
二.重定向普通和错误信息
三.在脚本中重定向输出
四.创建自己的重定向
一.标准文件描述符
Linux用标准文件描述符来标识每个文件对象
二.重定向错误输出
#1.只重定向错误输出
$ ls -al badfile 2> error. log
# 2.重定向错误和普通输出
$ ls -al badfile testfile 2> error.log 1>
output. log
# 3.重定向错误和普通输出到同一个文件
$ ls-al badfile testfile &> output. Log
三.在脚本中重定向输出
1.临时重定向
·重定向到文件描述符时,必须在文件描述符数字前加一个 &
·echo "This is a error message" >&2
2.永久重定向
·使用exec命令在脚本执行期间重定向某个特定文件描述符
·exec命令会启动一个shell来进行数据重定向
四.创建自己的重定向
1.创建文件描述符
·exec 3>ouput_ file
·exec 0<input_ file
·exec 6<>test_ file
2.关闭文件描述符
·exec 6>&-
·exec 6<&-
3.实现一一个简单的线程池
·脚本需要并发地执行任务
·令牌桶模型控制并发数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」