展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

在本指南中,我们将探索Linux和Bash符号与命令的广阔世界。从文件系统导航到文本处理、网络、系统管理等,我们将涵盖各种主题,并提供每个命令的实际示例。无论你是经验丰富的Linux用户还是刚刚入门,本指南都能帮助你提升命令行技能,在日常工作中变得更加高效。所以打开你的终端,让我们开始吧!重定向Bash最基本但最强大的功能之一是能够重定向命令的输入和输出。以下是一些可用于重定向的符号:>:将命令的输出重定向到文件,如果文件已存在则覆盖其内容。例如,ls>linuxmi.txt将命令的输出写入ls名为lin

本文目录

    在本指南中,我们将探索Linux和Bash符号与命令的广阔世界。从文件系统导航到文本处理、网络、系统管理等,我们将涵盖各种主题,并提供每个命令的实际示例。无论你是经验丰富的Linux用户还是刚刚入门,本指南都能帮助你提升命令行技能,在日常工作中变得更加高效。所以打开你的终端,让我们开始吧!

    提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

    重定向

    Bash 最基本但最强大的功能之一是能够重定向命令的输入和输出。以下是一些可用于重定向的符号:

    • >:将命令的输出重定向到文件,如果文件已存在则覆盖其内容。例如,ls > linuxmi.txt将命令的输出写入ls名为linuxmi.txt.
    • >>:将命令的输出重定向到文件,如果文件已存在,则将其附加到文件末尾。例如,echo "Hello, world!www.linuxmi.com" >> linuxmi.txt将附加字符串“Hello, world!www.linuxmi.com” 到文件末尾。
    • <:将命令的输入从键盘改为从文件中获取。例如,sort < linuxmi.txt将对 linuxmi.txt 的内容进行排序。
    • 2>:用于将命令的错误输出重定向到文件。
    • 2>>:用于将命令的错误输出附加到文件。
    • &>:用于将命令的输出和错误输出都重定向到文件。
    • &>>:用于将命令的输出和错误输出附加到文件。

    提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

    管道

    管道允许您将多个命令链接在一起,以便一个命令的输出成为另一个命令的输入。管道的符号是|。以下是一个例子:

    ls -l | grep "linuxmi"

    此命令以长格式 ( ) 列出当前目录的内容ls -l,然后将输出传递给grep命令,命令在输出中搜索字符串“linuxmi”。

    • tee:用于拆分命令的输出并将其发送到文件和标准输出。

    提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

    通配符和通配符

    Bash 支持称为通配符的强大功能,它允许您使用通配符来匹配文件名模式。以下是 globbing 中最常用的一些符号:

    • *: 匹配文件名中任意数量的字符。例如,ls *.txt将列出当前目录中所有以.txt.
    • ?: 匹配文件名中的任何单个字符。例如,ls file?.txt将列出当前目录中所有以 开头file且后面只有一个字符的文件,后跟.txt.
    • [ ]: 匹配一组字符中的任何一个。例如,ls file[123].txt将列出当前目录中以、或开头file和结尾的所有文件,后跟.123.txt

    常用表达

    • grep:用于在文件或流中搜索模式。
    • sed:用于对文件或流执行文本转换。
    • awk:用于图形扫描和处理。
    • egrep:用于扩展的正则表达式。
    • fgrep:用于固定字符串正则表达式。
    • regex:使用特殊字符和运算符指定文本模式的符号。

    变量扩展和环境变量

    • $:用于引用变量的值。
    • export:用于在 Bash 中创建或修改环境变量。
    • ${}:用于进行变量扩展。
    • $(()):用于进行算术展开。
    • env:用于显示当前环境变量。
    • echo:用于显示环境变量的文本或值。

    提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

    通配符和通配符

    • *: 匹配文件名中任意数量的字符。
    • ?: 匹配文件名中的任何单个字符。

    否定

    • !:与其他命令结合使用,执行取反。

    算术运算

    • +:算术表达式中的加法运算符。例如,echo $((2+3))将输出5.
    • -:算术表达式中的减法运算符。例如,echo $((16-5))将输出11.
    • *:算术表达式中的乘法运算符。例如,echo $((4*5))将输出20.
    • /: 算术表达式中的除法运算符。例如,echo $((20/2))将输出10.
    • $((expression)):用于在 Bash 中执行算术运算。例如,echo $((2 + 6))将打印值 8。
    • expr:用于执行算术运算。

    提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

    比较

    • ==:用于比较条件表达式中两个值是否相等。例如,if [ "$name" == "linuxmi" ]; then echo "Hello, linuxmi!"; fi将输出“Hello, linuxmi!” 如果变量的name值为“linuxmi”。
    • !=:用于比较条件表达式中的两个值是否不相等。例如,if [ "$name" != "linuxmi" ]; then echo "You're not linuxmi!"; fi将在变量name的值不为“John”输出“You’re not linuxmi!”。

    条件执行

    • &&:用于仅在前一个命令成功执行时执行后续命令。例如,command1 && command2 会仅在 command1 成功执行后才执行command2。
    • ||:用于仅在前一个命令失败时执行后续命令。例如,command1 || command2会仅在 command1 失败后才执行 command2。

    条件语句

    • if:用于检查条件是否为真并相应地执行命令。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; fi将检查变量是否foo等于“bar”,如果为真则打印“foo is bar”。
    • elifif:如果语句中的先前条件为假,则用于检查其他条件。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; elif [[ $foo == "baz" ]]; then echo "foo is baz"; else echo "foo is something else"; fi将检查是否foo等于“bar”并在为真时打印“foo is bar”,否则检查是否foo等于“baz”并在为真时打印“foo is baz”,最后打印“foo is something else”如果前面两个条件都为假。
    • [[ ]]:用于在 Bash 中执行条件测试。
    • case:用于将变量与模式列表进行匹配并相应地执行命令。例如:
    case $fruit inapple)echo "It's an apple";;banana)echo "It's a banana";;*)echo "It's something else";;esac

    将检查变量的值fruit,如果等于“apple”则打印“It’s an apple”,如果等于“banana”则打印“It’s a banana”,对于任何其他值则打印“It’s something else”。

    循环

    • for: 用于创建一个遍历项目列表的循环。例如,for fruit in apple banana orange; do echo $fruit; done将在不同的行中输出“apple”、“banana”和“orange”。
    • while:用于创建一个循环,只要条件为真,该循环就会继续执行命令。例如,while true; do echo "Hello"; sleep 1; done会重复输出“Hello”,直到脚本被中断。
    • until:用于执行命令,直到条件为真。

    函数

    • function:用于在 Bash 中定义一个函数。例如,function hello { echo "Hello, $1!"; }定义一个名为hello的函数,它接受一个参数并打印“Hello,”后跟参数。
    • $1, $2, 等:用于指代传递给函数的第一个、第二个、第三个等参数。例如,在上面定义的函数中hello,$1指的是传递给函数的第一个参数。

    数组

    • []:用于在 Bash 中定义一个数组。例如,my_array=(apple banana orange)定义一个名为my_array“apple”、“banana”和“orange”的数组。
    • ${array[@]}:用于引用 Bash 中数组中的所有元素。例如,echo ${my_array[@]}将在一行中输出“apple banana orange”。

    过程控制和管理

    • &:用于在后台运行命令。
    • ctrl-c:用于终止正在运行的命令。
    • ctrl-z:用于暂停正在运行的命令。
    • ps:用于显示有关正在运行的进程的信息。
    • kill:用于终止正在运行的进程。
    • nohup:用于在后台运行命令,即使终端已关闭。
    • nice:用于设置进程的优先级。
    • renice:用于修改已经运行的进程的优先级。

    文件系统操作

    • cp:用于复制文件。
    • mv:用于移动或重命名文件。
    • rm:用于删除文件。
    • mkdir:用于创建目录。
    • rmdir:用于删除目录。
    • ln:用于创建文件或目录之间的链接。

    文件和文本操作

    • head: 用于显示文件的前几行。
    • tail:用于显示文件的最后几行。
    • sort:用于按字母或数字对文本行进行排序。
    • uniq:用于删除重复的文本行。
    • cut:用于从文本行中提取特定的列或字段。
    • paste:用于合并来自多个文件的行。

    权限

    • chmod:用于更改文件和目录的权限。
    • chown:用于更改文件或目录的所有者。
    • chgrp:用于更改文件或目录的组。
    • umask:用于设置新建文件和目录的默认权限。

    字符串操作、搜索和比较

    • cut:用于从文件或流中提取特定列。
    • tr:用于翻译或删除字符。
    • sort:用于对文本行进行排序。
    • uniq:用于从文件或流中删除重复行。
    • grep:用于在文件或流中搜索模式。
    • sed:用于对文件或流执行文本转换。
    • awk:用于图形扫描和处理。
    • diff: 用于逐行比较两个文件。
    • cmp:用于逐字节比较两个文件。

    网络

    • ping:用于测试与网络主机的连接。
    • curl:用于向服务器传输数据或从服务器传输数据。
    • wget:用于从互联网下载文件。
    • ssh:用于安全地连接到远程计算机。
    • nslookup:用于查询 DNS 服务器以将主机名解析为 IP 地址。
    • ifconfig:用于显示和配置网络接口。
    • netstat:用于显示网络统计信息和活动连接数。

    SSH 和加密

    • ssh-keygen:用于生成和管理用于安全远程访问的 SSH 密钥。
    • scp:用于通过 SSH 连接在系统之间安全地传输文件。
    • openssl:用于加密功能,例如生成和管理 SSL/TLS 证书、加密和解密。
    • gpg:用于加密、解密和数字签名验证。

    系统信息、维护和管理

    • sudo:用于运行具有提升权限的命令。
    • su:用于切换到不同的用户帐户。
    • systemctl:用于管理基于 systemd 的 Linux 发行版中的系统服务。
    • uptime:用于显示系统运行了多长时间。
    • journalctl:用于查看系统日志。
    • fdisk:用于创建和操作磁盘分区。
    • mount:用于在系统上挂载文件系统。
    • top:用于显示系统资源使用情况。
    • htoptop:提供实时系统监控和资源使用信息的更高级版本。
    • ps:用于显示有关正在运行的进程的信息。
    • df:用于显示磁盘空间使用情况。
    • du:用于显示文件或目录的大小。
    • apt-get:用于安装、删除和更新软件包的包管理工具。
    • dpkg:用于安装和管理软件包的包管理工具。
    • shutdown:用于关闭或重启系统。
    • free:用于显示系统内存使用情况。
    • uname:用于显示内核版本、主机名等系统信息。
    • lscpu:用于显示CPU信息。
    • lsusb:用于显示系统连接的USB设备。
    • nmon:用于显示详细的系统性能信息,包括CPU、内存、磁盘I/O和网络使用情况。
    • sar:用于收集和报告一段时间内的系统性能数据。
    • lshw:用于显示系统硬件信息。
    • dmidecode:用于显示系统的BIOS和硬件信息。
    • lsblk:用于显示系统中块设备(如硬盘)的信息。
    • lspci:用于显示系统连接的PCI设备信息。
    • lsusb:用于显示系统连接的USB设备信息。

    用户输入

    • read:用于从命令行读取用户输入。
    • select:用于向用户显示选项菜单。

    命令行编辑

    • ctrl-a:用于将光标移动到行首。
    • ctrl-e:用于将光标移动到行尾。
    • ctrl-k:用于删除从光标位置到行尾的文本。
    • ctrl-u:用于删除从光标位置到行首的文本。

    文本编辑

    • nano:一个简单的命令行文本编辑器。
    • vi或vim:具有许多功能的更高级的文本编辑器。
    • cat:用于在终端上显示文件的内容。
    • head: 用于显示文件的前几行。
    • tail:用于显示文件的最后几行。

    作业控制

    • jobs:用于显示后台作业列表。
    • fg:用于将后台作业带到前台。
    • bg:用于将暂停或停止的作业移至后台。
    • kill:用于终止正在运行的进程。

    用户和组管理

    • useradd:用于创建新的用户帐户。
    • usermod:用于修改现有用户帐户。
    • userdel:用于删除用户帐户。
    • groupadd:用于创建新的用户组。
    • groupmod:用于修改已有的用户组。
    • groupdel:用于删除用户组。
    • passwd:用于更改用户密码。

    调试和故障排除

    • strace:用于跟踪进程发出的系统调用和信号。
    • ltrace:用于跟踪进程进行的库调用。
    • gdb: 一个强大的调试器,用于调试 C 和 C++ 程序。
    • tcpdump:用于捕获和分析网络流量。
    • wireshark: 用于分析网络流量的基于 GUI 的工具。ellaneous
    • echo:用于在终端上显示消息。
    • printf:用于格式化和显示数据。
    • date:用于显示或设置系统日期和时间。
    • tar:用于创建或提取压缩档案。

    各种各样的

    • cal:用于显示日历。
    • date:用于显示或修改系统日期和时间。
    • sleep:用于将脚本或命令的执行延迟指定的时间量。
    • tee:用于将输出重定向到屏幕和文件。
    • history:用于显示当前shell会话的命令历史。
    • echo:用于将文本打印到终端或输出到文件。

    注意:请注意,本指南中提供的符号分类并非绝对,它基于一种可能的分类方式。某些符号可能适用于多个类别,并且可能存在一些重叠或重复。提供的符号列表也并非详尽无遗,可能因Linux发行版和版本的不同而有所变化。我们鼓励读者参考其系统文档获取更多信息。本指南旨在提供关于Linux和Bash符号和命令的全面概述,但并不意味着是权威资源。

    感谢阅读我们关于Linux和Bash符号和命令的全面指南。希望您发现本指南对掌握命令行非常有帮助。为了及时了解有关在日常工作中使用这些命令的最新技巧、技巧和最佳实践,请务必长期关注Linux迷www.linuxmi.com以获取未来的文章。我们将提供深入的示例和用例,帮助您成为更熟练的Linux用户和命令行专家。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 命令行 Linux
    上一篇: 美图秀秀自制头像教程
    下一篇: 几何画板中输入分数的简单方法
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。