一些常见的shell命令的总结,写一个简单shell脚本。 ”欠过的债总是要还的“ 山的那边还有一座座要爬

哈喽哈喽,我是你们的金樽清酒。今天我来总结一下一些简单的常用的shell命令。我为什么要写这篇文章呢?因为我在山脚下见到了另一座山。是的,还没有会当临绝顶,一览众山小就只觉人外有人天外有天。有人说,听不懂,你说人话。好,我说,面腾讯云智的时候被面试官虐了。具体的题目我还没整理好,因为需要一些时间去钻研。这个shell命令就是其中之一。

什么是shell命令。

Shell命令是与操作系统交互的指令,用户通过输入这些命令来执行各种任务,例如管理文件、运行程序、配置系统等。Shell 是一个命令行解释器,它接收用户输入的命令并将其传递给操作系统内核执行。

听不懂,直观一点,它能让你与操作系统对话!!!比如,我切换到桌面文件夹,创建一个名为shell的文件夹。 打开我们的终端,输入shell命令。

可以看到我用shell可以直接与操作系统对话,然后操作系统就会执行相应的命令。

一些常见的shell命令

文件与目录操作

  1. ls

    • 列出目录内容
    • 示例:ls -l(详细列表)
  2. cd

    • 切换目录
    • 示例:cd /home/user
  3. pwd

    • 显示当前工作目录
    • 示例:pwd
  4. mkdir

    • 创建目录
    • 示例:mkdir new_folder
  5. rmdir

    • 删除空目录
    • 示例:rmdir empty_folder
  6. rm

    • 删除文件或目录
    • 示例:rm file.txtrm -r folder(递归删除)
  7. cp

    • 复制文件或目录
    • 示例:cp file.txt /backup/
  8. mv

    • 移动或重命名文件/目录
    • 示例:mv file.txt new_name.txt
  9. touch

    • 创建空文件或更新文件时间戳
    • 示例:touch new_file.txt
  10. cat

    • 查看文件内容
    • 示例:cat file.txt
  11. more / less

    • 分页查看文件内容
    • 示例:more file.txtless file.txt
  12. head / tail

    • 查看文件开头或结尾部分
    • 示例:head -n 10 file.txttail -f logfile(实时查看日志)
  13. find

    • 查找文件或目录
    • 示例:find /home -name "*.txt"
  14. chmod

    • 修改文件权限
    • 示例:chmod 755 script.sh
  15. chown

    • 修改文件所有者
    • 示例:chown user:group file.txt

文本处理

  1. grep

    • 搜索文本
    • 示例:grep "pattern" file.txt
  2. sed

    • 流编辑器,用于文本替换
    • 示例:sed 's/old/new/g' file.txt
  3. awk

    • 文本处理工具
    • 示例:awk '{print $1}' file.txt
  4. sort

    • 对文本行排序
    • 示例:sort file.txt
  5. uniq

    • 去除重复行
    • 示例:uniq file.txt
  6. wc

    • 统计行数、单词数、字符数
    • 示例:wc -l file.txt

系统信息与管理

  1. ps

    • 显示当前进程
    • 示例:ps aux
  2. top

    • 实时显示系统资源使用情况
    • 示例:top
  3. kill

    • 终止进程
    • 示例:kill -9 PID
  4. df

    • 显示磁盘使用情况
    • 示例:df -h
  5. du

    • 显示目录或文件大小
    • 示例:du -sh /home
  6. free

    • 显示内存使用情况
    • 示例:free -m
  7. uname

    • 显示系统信息
    • 示例:uname -a
  8. uptime

    • 显示系统运行时间
    • 示例:uptime

网络相关

  1. ping

    • 测试网络连接
    • 示例:ping google.com
  2. ifconfig / ip

    • 显示或配置网络接口
    • 示例:ifconfigip addr
  3. netstat

    • 显示网络连接信息
    • 示例:netstat -tuln
  4. ssh

    • 远程登录
    • 示例:ssh user@host
  5. scp

    • 安全复制文件
    • 示例:scp file.txt user@host:/path/
  6. wget / curl

    • 下载文件
    • 示例:wget http://example.com/filecurl -O http://example.com/file

压缩与解压

  1. tar

    • 打包或解压文件
    • 示例:tar -cvf archive.tar folder/tar -xvf archive.tar
  2. gzip / gunzip

    • 压缩或解压文件
    • 示例:gzip file.txtgunzip file.txt.gz
  3. zip / unzip

    • 压缩或解压ZIP文件
    • 示例:zip archive.zip file.txtunzip archive.zip

其他常用命令

  1. echo

    • 输出文本
    • 示例:echo "Hello, World!"
  2. date

    • 显示或设置系统日期和时间
    • 示例:date
  3. history

    • 显示命令历史
    • 示例:history
  4. alias

    • 创建命令别名
    • 示例:alias ll='ls -la'
  5. man

    • 查看命令手册
    • 示例:man ls

这些是用deepseek来帮我总结的。现在ai的强大让我们获取信息越来越便捷了。

会这些基本命令之后,写一个简单的shell脚本文件

1.打开我们的vscod,创建一个myscript.sh,然后开始写shell脚本。

shell 复制代码
#!/bin/bash
# 这是一个简单的 Shell 脚本示例

# 1. 输出欢迎信息
echo "Welcome to the Shell Script!"

# 2. 显示当前日期和时间
echo "Current date and time: $(date)"

# 3. 显示当前用户
echo "Current user: $USER"

# 4. 显示当前工作目录
echo "Current directory: $(pwd)"

# 5. 列出当前目录下的文件
echo "Files in the current directory:"
ls -l

# 6. 创建一个新目录
mkdir -p my_new_directory
echo "Created a new directory: my_new_directory"

# 7. 在新目录中创建一个文件
echo "This is a sample file." > my_new_directory/sample_file.txt
echo "Created a sample file in the new directory."

# 8. 显示文件内容
echo "Contents of the sample file:"
cat my_new_directory/sample_file.txt

# 9. 删除新目录及其内容
rm -r my_new_directory
echo "Deleted the new directory and its contents."

# 10. 结束脚本
echo "Script completed!"

首先在脚本的第一行指定解释器路径 我这里是#!/bin/bash。 然后运用上我们的shell命令。这就是一个简单的脚本了。这里我们解释一下什么是脚本。脚本(Script)是一种由一系列命令组成的文本文件,用于自动化执行任务。脚本通常由解释器逐行执行,而不是像编译型语言那样需要先编译成二进制文件。

然后我们用chmod命令赋予脚本执行权限,运行这个文件。

可以看到,上面的命令就被一行行执行了,这就是一个简单的shell脚本。

插语

为什么我的标题里面有欠过的债总是要还的呢?我的专业是网络工程的。必修课里面应该得学这些吧。计算机操作系统,计算机组成原理,数据结构与算法,计算机网络安全。可是呢,并没有,在大学处于一个懵懂的阶段,大一打二,我该干什么,我学这些东西有什么用,我该怎么去学,从来没有人告诉过我们。也是在某一个阶段完成一个觉醒,我得做些什么来改变,而不是整天焦虑的躺平。 翻过这座山,还有一座山,可以得到的是沿途的风景。其实这么看来其实也没有什么可后悔的。以后还有大把的时间可以去解答生命的意义。

相关推荐
范文杰3 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪3 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪3 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy4 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom4 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom4 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom4 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom5 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom5 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试
LaoZhangAI6 小时前
2025最全GPT-4o图像生成API指南:官方接口配置+15个实用提示词【保姆级教程】
前端