谷动谷力

 找回密码
 立即注册
查看: 647|回复: 0
打印 上一主题 下一主题
收起左侧

「Shell」Linux shell 脚本编程——认识Shell(一)

[复制链接]
跳转到指定楼层
楼主
发表于 2023-10-16 23:03:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
「Shell」Linux shell 脚本编程——认识Shell(一)

一、前言

在当今的计算机时代,操作系统扮演着至关重要的角色。它为我们提供了与计算机硬件交互的接口,让我们能够组织和处理各种数据。而作为操作系统中的核心组件之一,shell 是一个命令行解释器,用于接受并处理用户输入的命令。在众多操作系统中,Linux shell 因其强大的功能和灵活性而备受青睐。本文将介绍 Linux shell 的基本概念、特点、以及常用命令。

二、Linux shell 概述

Linux shell 是一个用 C 语言编写的程序, 是一种命令行界面,它是用户使用 Linux 的桥梁。shell 提供了许多功能,例如执行命令、管理进程、访问文件系统等。它还支持脚本编程,使得用户可以编写批处理文件来自动化任务。

#百万创作者计划#Shell 如C语言,java, python 一样,也是一种程序设计语言。不过是C,java是编译性语言,Shell如python一样是解释性语言,也称脚本语言。
三、Linux shell 特点

1. 强大的命令行编辑功能:Linux shell 支持多种命令行编辑键,如 Emacs 和 Vi/Vim。用户可以使用这些编辑键来快速编辑命令行,提高工作效率。
2. 管道和重定向:通过管道(|)和重定向(>、>>)操作符,用户可以将多个命令的输出结果进行组合、保存或传递给其他程序
处3理.。 控制结构:shell 支持条件判断和循环控制结构,如 if/else、for、while 等,方便用户编写复杂的脚本程序。
4. 函数和变量:shell 支持函数和变量的用定户义可与以使定用义。自己的函数,并在命令行中调用;同时,还可以设置环境变量或局部变量来保存和引用数据。
5. 进程管理:shell 能够管理当前正在运行的进程,包括创建、终止、查看进程
状6态.等 操作作业。控制:通过将进程放入后台或重新启动等方式,shell 可以实现对多个进程的管理和控制。
7. 作业调度:shell 还提供了作业调度功能,允许用户在特定时间三执、行常命用令 或L脚i本n。ux shell 命令

四、常用Shell命令

1. 目录操作命令:cd(切换目录)、pwd(显示当前目录)、ls(列出目录内容)、mkdir(创建目录)、rmdir(删除目录)。
2. 文件操作命令:touch(创建空文件)、rm(删除文件)、cp(复制文件或目录)、mv(移动文件或重命名文件)、cat(显示文件内容)、more/less(分页显示文件内容)、head/tail(显示文件尾头部部内/容)。
3. 进程管理命令:ps(查看进程状态)、top(实时查看进程状态)、kill(终止进程)。
4. 文件搜索命令:find(在目录中查找文件)、grep(在文件中查找匹配的文本)。
5. 包管理命令:apt-get(Ubuntu 系统包管理工具)、yum(CentOS 系统包管理工具)。
6. 网络相关命令:ifconfig(查看网络接口信息)、p性i)n、gc(u测r试l网(络发连送通 HTTP 请求)、wget(下载网络资源)。
7. 日志查看命令:tail(查看文件末尾内容)、grep(搜索文件中的特定文本)、cat(查看整个文件内容)、less/more(分页查看文件内容)。
8. 系统信息获取命令:uname(获取系统信息)、date(查看当前日期和时间)、hostname(查看主机名)。
9. 用户管理命令:su(切换用户)、userad用d户()添、加u新serdel(删除用户)、passwd(更改用户密码)。
10. 其他常用命令:echo(打印文本)、cd(切换目录)、alias(创建别名)、unalias(删除别名)、history(查看命令历史记录)。

以上仅列举了一些常用的 Linux shell 命令,实际上 Linux shell 还提供了很多其他功能和命令,可以根据实际需要选择学习。掌握这些常用命令,将有助于您高效地使用 Linux 操作系统进行开发和运维工作。

五、Shell脚本程序开发--爱之初体验

学过编程的同学都知道,我们学习一门新语言,都是从“hello world"开始, 我们首先”say hell to shell" 吧。

Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux

Shell 种类众多,常见的有:
  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
  • ……


不用急,这个很好办,只要安装了Linux系统的,这个环境是自带用有的。安装Windos10以下系统的, 可以开启wsl然后在Microsoft Store 安装一个ubuntu(linux一个发行版本,也可是其他的,如kali, debian, centos等)。

我们开始写一个打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。
输入一些代码,第一行一般是这样:
实例
  1. #!/bin/bash

  2. echo "Hello World !"
复制代码

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。

运行 Shell 脚本

运行 Shell 脚本有两种方法:

1、作为可执行程序
将上面的代码保存为 hello.sh,并 cd 到相应目录:
chmod +x ./hello.sh #使脚本具有执行权限./hello.sh #执行脚本

2、当作系统命令
注意,一定要写成 ./hello.sh,而不是hello.sh,运行其它二进制的程序也一样,直接写 hello.sh,linux 系统会去 PATH 里寻找有没有叫hello.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./hello.sh 告诉系统说,就在当前目录找。

+10

本帖被以下淘专辑推荐:

  • · Shell|主题: 28, 订阅: 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-29 02:37 , Processed in 0.104362 second(s), 45 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表