百度
360搜索
搜狗搜索

linux命令行与shell详细介绍

在 Linux 系统中,命令行(Command Line Interface, CLI) 是用户与操作系统交互的文本界面,而 Shell 是解析和执行用户命令的程序。以下是关于 Linux 命令行与 Shell 的核心知识整理,适合初学者快速入门和实践:

一、基础概念

  1. 什么是 Shell?

    • Shell 是 Linux 的命令解释器,负责将用户输入的命令转换为操作系统内核能执行的指令。
    • 常见 Shell 类型:
      • Bash(Bourne-Again SHell):Linux 默认 Shell,功能强大,兼容性强。
      • Zsh(Z Shell):增强版 Shell,支持语法高亮、自动补全、主题配置(如 Oh My Zsh)。
      • Fish(Friendly Interactive SHell):用户友好,适合新手,支持实时建议。

    • 查看当前 Shell:echo $SHELL
    • 切换 Shell:chsh -s /bin/zsh(需重启终端生效)。

  2. 命令行结构
    bash
    命令 选项 参数

二、常用 Linux 命令分类(按功能)

1. 文件与目录操作

命令 说明 示例
ls 列出文件 / 目录 ls -l(详细信息)、ls -h(人类可读大小)
cd 切换目录 cd ~(家目录)、cd -(返回上一次目录)
mkdir 创建目录 mkdir -p dir1/dir2(递归创建)
rm 删除文件 / 目录 rm file.txtrm -r dir(删除目录)
cp 复制文件 / 目录 cp src.txt dest.txtcp -r dir1 dir2
mv 移动 / 重命名文件 mv old.txt new.txtmv file dir
cat 查看文件内容(适合小文件) cat file.txt
less/more 分页查看文件(适合大文件) less log.txt(按空格翻页,q 退出)
nano/vim 文本编辑 nano config.txt(简单编辑器)、vim file.txt(高级编辑器)

2. 系统信息与进程管理

命令 说明 示例
top/htop 实时监控进程(htop 更友好) top
ps 查看进程状态 ps aux(显示所有进程)
kill 终止进程 kill -9 1234(强制终止 PID 1234)
df 查看磁盘空间 df -h(人类可读格式)
free 查看内存使用 free -h
uname 查看系统信息 uname -a(完整信息)

3. 网络与远程连接

命令 说明 示例
ping 测试网络连通性 ping www.baidu.com
curl/wget 下载文件 curl -O https://file.com
ssh 远程连接服务器 ssh user@192.168.1.1
scp 远程复制文件 scp local.txt user@server:/path
netstat 查看网络状态 netstat -tunlp(查看监听端口)

4. 文本处理与过滤

命令 说明 示例
grep 搜索文本中的关键词 grep "error" log.txt
awk 文本格式化与处理 awk '{print $1}' file.txt(打印第一列)
sed 流文本编辑(替换、删除等) sed 's/old/new/g' file.txt(替换所有 old 为 new)
sort 排序文件内容 sort -n numbers.txt(数字排序)
wc 统计文件行数、字数、字节数 wc -l file.txt(行数)

三、Shell 脚本基础

Shell 脚本是将一系列命令按顺序组合的文本文件,用于自动化任务(如备份、监控、部署)。

1. 脚本基础结构

bash

2. 变量与参数

  • 定义变量name="Linux"(无需 $ 符号)
  • 引用变量echo $name
  • 命令替换date=$(date +"%Y-%m-%d")(将命令输出赋值给变量)
  • 脚本参数$0(脚本名)、$1(第一个参数)、$@(所有参数)

3. 条件判断

bash

  条件  

命令1

条件2

命令2

命令3

file.txt

4. 循环

  • for 循环:bash
            

    /path/*

  • while 循环:bash

    i

5. 函数

bash

  

!"

greet

四、高级技巧与特性

  1. 管道(|)与重定向

    • 管道:将前一个命令的输出作为后一个命令的输入,如 ls -l | grep ".txt"(筛选.txt 文件)。
    • 重定向:
      • > 覆盖写入文件,< 从文件读取输入。
      • >> 追加写入文件,2> 重定向错误输出(如 command 2> error.log)。

  2. 通配符

    • * 匹配任意字符(如 *.log),? 匹配单个字符,[abc] 匹配括号内任意字符。

  3. 环境变量

    • 系统变量:PATH(命令搜索路径)、HOME(家目录)等,通过 echo $变量名 查看。
    • 自定义变量:export MYVAR="value"(临时生效,重启后失效),永久生效需写入 ~/.bashrc/etc/profile

  4. 后台运行与任务管理

    • command &:后台运行命令。
    • jobs:查看后台任务,fg %1:将任务 1 调至前台,kill %1:终止后台任务。

五、学习资源与实践建议

  1. 官方文档man 命令(如 man ls 查看帮助),--help 参数(如 ls --help)。
  2. 在线工具:Linux Shell Scripting Tutorial(入门指南),Shell Script Examples(实战案例)。
  3. 实践项目
    • 编写备份脚本:定时压缩目录并删除旧文件。
    • 日志分析脚本:统计日志中错误次数并发送邮件通知。
    • 使用 cron 定时执行脚本(编辑 crontab -e 添加任务)。

通过掌握命令行与 Shell,你可以高效管理 Linux 系统、自动化重复任务,甚至开发复杂的运维工具。建议从基础命令开始,逐步实践脚本编写,遇到问题时善用 man 和搜索引擎(如 “Linux 如何... 命令”)。

阅读更多 >>>  linux终端怎么看到根目录

网站数据信息

"linux命令行与shell"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux命令行与shell的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!