Shell 介绍(一)--Shell 的基本概念

目录

Shell 的基本概念

1. Bash(Bourne-Again SHell)

2. Sh(Bourne SHell)

3. Zsh(Z Shell)

4. Fish(Friendly Interactive SHell)

Shell 基础命令

1. 目录操作

2. 文件操作

3. 文本处理

4. 环境变量

5. 管道和重定向

Shell 脚本示例

示例 1:打印 Hello World

示例 2:备份目录

示例 3:计算目录大小

Shell 脚本的编写和执行

Shell 的常用技巧

1. Tab 自动补全

2. 历史命令

3. 别名(Alias)

总结


 

Shell 是一个命令行解释器,它允许用户通过键盘输入命令来与计算机操作系统交互。Shell 通常用于 Unix 系统(如 Linux 和 macOS)中,但也存在于其他操作系统中。以下是 Shell 的基本介绍和一些实用的 Shell 脚本示例。

Shell 的基本概念

1. Bash(Bourne-Again SHell)

Bash 是目前最流行的 Shell,它是 GNU 项目的一部分。Bash 是大多数 Linux 发行版的默认 Shell。

2. Sh(Bourne SHell)

Sh 是最早的一种 Shell,由 Stephen Bourne 在 1970 年代末期为 Unix 系统开发。

3. Zsh(Z Shell)

Zsh 是一个高度可配置的 Shell,提供了许多增强功能,如自动补全和语法高亮。

4. Fish(Friendly Interactive SHell)

Fish 是一个用户友好的 Shell,旨在易于使用,特别是对于新手用户。

Shell 基础命令

1. 目录操作

  • cd(Change Directory):改变当前目录。

     
    bash

    深色版本

    1cd /path/to/directory
    2cd ..
  • pwd(Print Working Directory):打印当前工作目录。

     
    bash

    深色版本

    1pwd
  • ls(List):列出目录内容。

     
    bash

    深色版本

    1ls -l
    2ls -a

2. 文件操作

  • touch:创建新文件。

     
    bash

    深色版本

    1touch newfile.txt
  • mkdir(Make Directory):创建目录。

     
    bash

    深色版本

    1mkdir newdirectory
  • rm(Remove):删除文件或目录。

     
    bash

    深色版本

    1rm file.txt
    2rm -r directory
  • cp(Copy):复制文件或目录。

     
    bash

    深色版本

    1cp file.txt /destination/path
    2cp -r source_directory /destination/path
  • mv(Move/Rename):移动或重命名文件或目录。

     
    bash

    深色版本

    1mv file.txt /destination/path
    2mv oldname newname

3. 文本处理

  • cat(Concatenate):显示文件内容。

     
    bash

    深色版本

    1cat file.txt
  • grep(Global Regular Expression Print):搜索文件内容。

     
    bash

    深色版本

    1grep pattern file.txt
  • sed(Stream Editor):用于文本流的编辑。

     
    bash

    深色版本

    1sed 's/old/new/g' file.txt
  • awk:强大的文本处理工具。

     
    bash

    深色版本

    1awk '{print $1}' file.txt

4. 环境变量

  • export:设置环境变量。

     
    bash

    深色版本

    1export PATH=$PATH:/new/path
  • echo:打印文本或变量值。

     
    bash

    深色版本

    1echo "Hello, World!"
    2echo $VAR

5. 管道和重定向

  • 管道(Pipe):将一个命令的输出作为另一个命令的输入。

     
    bash

    深色版本

    1ls | grep pattern
  • 重定向(Redirect):将命令的输出保存到文件中。

     
    bash

    深色版本

    1ls > output.txt

Shell 脚本示例

示例 1:打印 Hello World

 

bash

深色版本

1#!/bin/bash
2echo "Hello, World!"

示例 2:备份目录

 

bash

深色版本

1#!/bin/bash
2
3# 设置备份目录
4BACKUP_DIR="/backup"
5
6# 获取当前日期
7DATE=$(date +"%Y%m%d")
8
9# 创建备份目录
10mkdir -p "$BACKUP_DIR"
11
12# 备份目录
13rsync -avz /source/directory/ "$BACKUP_DIR/$DATE"
14
15# 输出备份完成的消息
16echo "Backup of /source/directory/ to $BACKUP_DIR/$DATE completed."

示例 3:计算目录大小

 

bash

深色版本

1#!/bin/bash
2
3# 检查是否提供了目录路径
4if [ $# -eq 0 ]; then
5  echo "Usage: $0 /path/to/directory"
6  exit 1
7fi
8
9# 获取第一个参数作为目录路径
10DIR="$1"
11
12# 计算目录大小
13SIZE=$(du -sh "$DIR" | cut -f1)
14
15# 输出目录大小
16echo "The size of $DIR is $SIZE"

Shell 脚本的编写和执行

  1. 编写脚本: 使用文本编辑器(如 nanovimgedit)编写脚本。

  2. 赋予执行权限

     
    bash

    深色版本

    1chmod +x scriptname.sh
  3. 运行脚本

     
    bash

    深色版本

    1./scriptname.sh

Shell 的常用技巧

1. Tab 自动补全

在命令行输入部分命令后按 Tab 键,Shell 会自动补全命令或文件名。

2. 历史命令

使用上下箭头键可以浏览之前输入过的命令。也可以使用 history 命令查看历史记录。

3. 别名(Alias)

设置别名可以使常用命令更加方便。

 

bash

深色版本

1alias ll='ls -l'

总结

Shell 是一个非常强大的工具,可以帮助用户高效地与操作系统交互。通过学习基本的 Shell 命令和脚本编写技巧,可以大大提高工作效率。希望以上介绍和示例能帮助您入门 Shell 编程。随着经验的积累,您将能够编写更复杂的脚本来自动化各种任务。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值