【Linux入门】轻松掌握20+必备Linux基本指令,告别命令行恐惧!


🐧💻🌐🤝🚀🔥

✨ 「张有志的Linux开源分享站」欢迎你!✨

linux

🛡️ 探索自由软件的魅力,构建稳定强大的系统!
🙏 感谢每一个阅读、点赞和分享的你!

Linux专栏


🐧 开源不息,分享不止! 🐧
❤️ 一起为Linux社区添砖加瓦! ❤️

🔗 连接你我,让Linux的力量改变世界!

文章目录

    • ✨ 「张有志的Linux开源分享站」欢迎你!✨
      • 为什么学习Linux指令?
      • 核心指令详解
        • A. 文件和目录导航 (Navigation)
        • B. 文件和目录管理 (Management)
        • C. 查看文件内容 (Viewing Files)
        • D. 文本搜索与处理
        • E. 系统信息与帮助 (System Info & Help)
        • F. (可选) 权限管理 (简单提及)
        • G. (可选) 压缩与解压
      • 常用技巧与快捷键 (Tips & Tricks)
      • 总结 (Conclusion)
      • 互动与交流

为什么学习Linux指令?

在当今IT世界,Linux无处不在:

  • 服务器操作系统霸主:绝大多数Web服务器、数据库服务器运行在Linux上。
  • 开发者的好伙伴:Docker、Kubernetes等容器化技术,以及众多开发工具链都与Linux紧密相关。
  • 嵌入式与物联网:安卓系统基于Linux内核,大量智能设备运行着定制化的Linux。
  • 提升工作效率:命令行操作在很多场景下比图形界面更快捷、更强大。
  • 理解系统底层:学习命令能让你更深入地理解操作系统是如何工作的。

本文的目标读者是 Linux初学者对命令行感兴趣的开发者 以及任何想要提升Linux操作技能的朋友们。我们将一起探索文件导航、管理、内容查看、系统信息等方面的核心指令。

准备工作:你需要一个可以操作Linux命令行的环境。这可以是:

  • 本地安装的Linux发行版(如Ubuntu, CentOS)
  • 虚拟机中的Linux系统 (如VMware, VirtualBox)
  • Windows Subsystem for Linux (WSL)
  • 云服务器 (如阿里云, 腾讯云等)

打开你的终端(Terminal),让我们开始这段奇妙的旅程吧!

在这里插入图片描述


核心指令详解

我们将指令按功能进行分类,方便你理解和记忆。

A. 文件和目录导航 (Navigation)

在文件系统中穿梭是基本功。

  1. pwd (Print Working Directory): 显示当前工作目录

    • 作用:告诉你当前正处于哪个目录下。
    • 示例:
      pwd
      
    • 输出可能像这样:/root/lesson1
      在这里插入图片描述
  2. cd (Change Directory): 切换目录

    • 作用:改变你当前所在的目录。
    • 常用方法:
      • cd /path/to/directory: 切换到指定绝对路径。
      • cd relative/path: 切换到指定相对路径。
      • cd ~cd: 切换到当前用户的主目录 (Home Directory)。
      • cd ..: 切换到上一级目录。
      • cd -: 切换到上一次所在的目录。
    • 示例:
      cd /var/log  # 切换到/var/log目录
      pwd
      cd ..        # 返回上一级 /var
      pwd
      cd ~         # 回到用户主目录
      pwd
      
      [图片占位:连续使用,,并配合显示路径变化的截图]
  3. ls (List Directory Contents): 列出目录内容

    • 作用:显示当前目录下的文件和子目录列表。
    • 常用选项:
      • -l: 以长格式显示详细信息 (权限、所有者、大小、修改时间等)。
      • -a: 显示所有文件,包括隐藏文件 (以.开头的文件)。
      • -h: 与 -l 结合使用,以人类可读的格式显示文件大小 (如 KB, MB, GB)。
      • -t: 按修改时间排序,最新的在前面。
      • -R: 递归列出所有子目录的内容。
        💡tips:不同选项可自由组合,无顺序要求
    • 示例:
      ls
      ls -l
      ls -a
      ls -lh
      ls -lt
      
      [图片占位:执行  命令后,终端显示文件列表的截图,高亮显示权限、大小、文件名等部分]
B. 文件和目录管理 (Management)

创建、复制、移动、删除是日常操作。

  1. mkdir (Make Directory): 创建新目录

    • 作用:创建一个新的目录。
    • 常用选项:
      • -p: 递归创建目录,如果父目录不存在,则一并创建。
    • 示例:
      mkdir csdn
      mkdir -p path/to/deep/directory
      
      [图片占位:先,然后,再,清晰展示目录被创建的过程]
  2. rmdir (Remove Directory): 删除空目录(不常用)

    • 作用:删除一个空的目录。如果目录非空,则会报错。
    • 示例:
      rmdir empty_directory
      
  3. touch (Touch Files): 创建空文件或更新文件时间戳

    • 作用:如果文件不存在,则创建一个空文件;如果文件已存在,则更新其访问和修改时间戳。
    • 示例:
      touch main.cpp
      
      [图片占位:先,然后,再,展示文件被创建及其初始大小和时间戳]
  4. cp (Copy Files/Directories): 复制文件或目录

    • 作用:复制文件或目录。
    • 常用选项:
      • -r-R: 递归复制,用于复制目录及其内容。
      • -i: 交互式复制,在覆盖前会询问。
      • -v: 显示复制过程。
    • 示例:
      cp source.txt destination.txt
      cp source.txt existing_directory/
      cp -r source_directory/ destination_directory/
      
      [图片占位:展示将文件复制到,以及将目录复制到的命令和确认结果]
  5. mv (Move/Rename Files/Directories): 移动或重命名文件/目录

    • 作用:移动文件/目录到另一个位置,或者在同一位置重命名文件/目录。
    • 常用选项:
      • -i: 交互式操作,在覆盖前会询问。
      • -v: 显示移动过程。
    • 示例:
      mv old_name.txt new_name.txt  # 重命名
      mv file.txt target_directory/   # 移动文件
      mv source_dir/ target_dir/      # 移动目录
      
      [图片占位:展示将file1.txt重命名为file_renamed.txt,以及将doc.txt移动到archive/目录的命令和ls确认结果]
  6. rm (Remove Files/Directories): 删除文件或目录

    • 作用:删除文件或目录。
    • 常用选项:
      • -r-R: 递归删除,用于删除目录及其内容。
      • -f: 强制删除,不进行任何提示,忽略不存在的文件,不报错。
      • -i: 交互式删除,在删除前会询问。
    • ⚠️警告:rm -rf 是一个非常危险的命令!它会强制递归删除指定目录下所有内容且无法恢复,使用前务必再三确认路径是否正确!
    • 示例:
      rm file_to_delete.txt
      rm -i another_file.txt  # 删除前会询问
      rm -r directory_to_delete/
      # rm -rf / # 千万不要尝试这个!这是删除整个根目录!
      
      [图片占位:展示删除文件和使用删除目录的命令。可以特别用红色框或文字强调的危险性。]
C. 查看文件内容 (Viewing Files)

快速查看文件内容,无需打开编辑器。

  1. cat (Concatenate and Display): 查看文件全部内容

    • 作用:一次性显示文件的所有内容。适合查看小文件。
    • 示例:
      cat config.txt
      
      [图片占位:终端中一个简短文本文件(比如3-5行)的输出截图]
  2. less (Less is More): 分页查看文件内容

    • 作用:分页显示文件内容,允许你上下滚动、搜索。比more更强大。
    • 常用操作:
      • 空格键/PageDown: 向下翻一页。
      • b键/PageUp: 向上翻一页。
      • /keyword: 向下搜索关键字。
      • ?keyword: 向上搜索关键字。
      • n: 跳转到下一个搜索结果。
      • N: 跳转到上一个搜索结果。
      • q: 退出。
    • 示例:
      less hs.txt
      
      []
      在这里插入图片描述
  3. more (More): 分页查看文件内容

    • 作用:与less类似,但功能较少,通常只能向下翻页。
    • 示例:
      more /etc/services
      
  4. head (Head): 查看文件开头几行

    • 作用:显示文件的开头部分,默认显示前10行。
    • 常用选项:
      • -n <行数>: 指定显示的行数。
    • 示例:
      head access.log
      head -n 5 error.log  # 显示前5行
      

    在这里插入图片描述

  5. tail (Tail): 查看文件末尾几行

    • 作用:显示文件的末尾部分,默认显示后10行。
    • 常用选项:
      • -n <行数>: 指定显示的行数。
      • -f: 动态追踪文件末尾的新增内容,常用于实时查看日志。按 Ctrl+C 停止。
    • 示例:
      tail messages.log
      tail -n 20 system.log # 显示后20行
      tail -f application.log # 实时查看日志
      
      在这里插入图片描述
D. 文本搜索与处理

在文件中查找信息。

  1. grep (Global Regular Expression Print): 文本搜索

    • 作用:在文件内容中搜索包含指定模式(字符串或正则表达式)的行。
    • 常用选项:
      • -i: 忽略大小写。
      • -n: 显示匹配行的行号。
      • -r-R: 递归搜索目录下的所有文件。
      • -v: 反向匹配,显示不包含模式的行。
      • -C <数字>: 显示匹配行及其上下文(前后几行)。
    • 示例:
      grep "error" application.log
      grep -i "warning" system.log
      grep -n "user_login" auth.log
      grep -r "API_KEY" /etc/
      

    在这里插入图片描述

  2. find (Find Files): 按条件查找文件

    • 作用:在指定目录及其子目录中根据各种条件查找文件或目录。
    • 常用选项:
      • -name "文件名模式": 按文件名查找 (可使用通配符,如 *.txt)。
      • -type f: 查找普通文件。
      • -type d: 查找目录。
      • -user <用户名>: 按文件所有者查找。
      • -mtime -<天数>: 查找N天内修改过的文件。
      • -size +<大小>: 查找大于指定大小的文件 (如 +10M 表示大于10MB)。
      • -exec <命令> {} \;: 对找到的每个文件执行指定命令。
    • 示例:
      find /home/user -name "*.log"
      find . -type f -name "config.*"
      find /var/log -type f -mtime -7 -name "*.gz" # 查找/var/log下7天内修改过的.gz文件
      find . -type f -size +100M -exec ls -lh {} \; # 查找当前目录下大于100M的文件并显示详情
      

    在这里插入图片描述

E. 系统信息与帮助 (System Info & Help)

了解系统状态和获取命令帮助。

  1. whoami (Who Am I): 显示当前登录用户名

    • 示例:
      whoami
      
  2. date (Date): 显示或设置系统日期和时间

    • 示例:
      date
      
  3. df (Disk Free): 显示磁盘空间使用情况

    • 常用选项:
      • -h: 以人类可读格式显示 (GB, MB, KB)。
    • 示例:
      df -h
      

    在这里插入图片描述

  4. du (Disk Usage): 显示文件或目录磁盘占用大小

    • 常用选项:
      • -h: 以人类可读格式显示。
      • -s: 仅显示总大小 (summary)。
      • -a: 显示目录中所有文件和子目录的大小。
    • 示例:
      du -sh my_project/  # 查看my_project目录总大小
      du -ah /var/log     # 查看/var/log下所有文件和目录的大小
      
      在这里插入图片描述
  5. free (Free): 显示内存使用情况

    • 常用选项:
      • -h: 以人类可读格式显示。
      • -m: 以MB为单位显示。
      • -g: 以GB为单位显示。
    • 示例:
      free -h
      

    在这里插入图片描述

  6. man (Manual): 查看命令帮助手册

    • 作用:显示指定命令的详细使用手册。按 q 退出。
    • 示例:
      man ls
      man grep
      

    在这里插入图片描述

  7. --help (Help Option): 命令自带的简易帮助

    • 作用:大部分命令都支持 --help 选项,用于显示简要的用法和选项说明。
    • 示例:
      ls --help
      cp --help
      

    在这里插入图片描述

F. (可选) 权限管理 (简单提及)

Linux是一个多用户系统,权限管理非常重要。

  1. chmod (Change Mode): 修改文件/目录权限
    • 简单介绍:用于改变文件或目录的读®、写(w)、执行(x)权限。权限分为所有者、所属组、其他用户三组。
    • 常用数字表示法:
      • r=4, w=2, x=1
      • 755: 所有者rwx,所属组r-x,其他人r-x (常用于目录和可执行文件)
      • 644: 所有者rw-,所属组r–,其他人r-- (常用于普通文件)
    • 示例:
      chmod 755 script.sh
      chmod 644 config.file
      
    在这里插入图片描述
G. (可选) 压缩与解压

打包和压缩文件是常见需求。

  1. tar (Tape Archive): 打包和解包
    • 常用选项:
      • -c: 创建归档文件。
      • -x: 提取归档文件。
      • -v: 显示详细过程。
      • -f: 指定归档文件名 (此选项后必须紧跟文件名)。
      • -z: 通过gzip进行压缩/解压缩 (.tar.gz 或 .tgz)。
      • -j: 通过bzip2进行压缩/解压缩 (.tar.bz2)。
    • 示例:
      # 打包并用gzip压缩
      tar -zcvf archive_name.tar.gz directory_to_archive/
      # 解压gzip压缩的包
      tar -zxvf archive_name.tar.gz
      # 打包并用bzip2压缩
      tar -jcvf archive_name.tar.bz2 directory_to_archive/
      # 解压bzip2压缩的包
      tar -jxvf archive_name.tar.bz2
      

在这里插入图片描述


常用技巧与快捷键 (Tips & Tricks)

这些小技巧能让你在命令行中如虎添翼!

  • Tab 自动补全:输入命令、文件名或路径的前几个字符,然后按 Tab 键,Shell会自动补全。如果存在多个匹配项,按两次 Tab 会列出所有选项。这是最常用也最有用的技巧!
    [图片占位:展示使用Tab键自动补全命令或文件名的动态图或截图,比如输入mkd按Tab补全为mkdir]

  • 历史命令

    • 向上/向下箭头键:浏览之前执行过的命令。
    • history: 显示所有执行过的历史命令列表,带编号。
    • !n: 执行历史记录中编号为 n 的命令。
    • !!: 执行上一条命令。
    • Ctrl+R: 反向搜索历史命令。输入关键字,Shell会显示最近的匹配命令,继续按 Ctrl+R 会查找更早的匹配。
      [图片占位:展示使用Ctrl+R搜索历史命令的界面,输入部分字符后匹配到命令]
  • 管道符 |:将一个命令的输出作为另一个命令的输入。

    • 示例:ls -l | grep ".txt" (列出当前目录的详细信息,并从中筛选出包含 “.txt” 的行)
      [图片占位:一个简单的管道符使用示例,如 ls -lh | grep "my_project" 的输出]
  • 重定向 >>>

    • >: 将命令的输出覆盖写入到文件。如果文件不存在则创建,存在则覆盖。
      • 示例:ls -l > file_list.txt
    • >>: 将命令的输出追加到文件末尾。如果文件不存在则创建。
      • 示例:echo "New log entry" >> system.log
        [图片占位:展示ls > files.txt后,cat files.txt查看内容;再展示echo "追加内容" >> files.txt后,cat files.txt查看追加后的内容]
  • 通配符 *?

    • *: 匹配任意多个字符 (包括零个)。
      • 示例:ls *.txt (列出所有.txt文件)
    • ?: 匹配任意单个字符。
      • 示例:ls file?.log (列出file1.log, fileA.log等)
  • Ctrl+C:终止当前正在运行的命令。

  • Ctrl+D:退出当前Shell会话 (等同于 exit 命令),或者在等待输入的程序中表示输入结束 (EOF)。

  • Ctrl+L:清空终端屏幕 (等同于 clear 命令)。

  • Ctrl+A:将光标移动到命令行的开头。

  • Ctrl+E:将光标移动到命令行的末尾。

  • Ctrl+U:删除光标到行首的所有内容。

  • Ctrl+K:删除光标到行尾的所有内容。

  • Ctrl+W:删除光标前的的一个单词。


总结 (Conclusion)

恭喜你!你已经学习了Linux中最核心的一批基本指令。这些指令是你探索和使用Linux系统的基石。

  • 回顾:我们学习了文件导航 (pwd, cd, ls),文件管理 (mkdir, rmdir, touch, cp, mv, rm),内容查看 (cat, less, head, tail),文本搜索 (grep, find),系统信息 (whoami, date, df, du, free) 以及获取帮助 (man, --help) 等。
  • 实践出真知:理论学习固然重要,但只有不断练习才能真正掌握它们。尝试在你的Linux环境中实践这些命令,组合使用它们来完成一些小任务。
  • 继续探索:Linux命令行的世界远不止这些。还有用户管理、进程管理、网络配置、Shell脚本编程等等更高级的内容等待你去发掘。

希望这篇文章能为你打开Linux命令行的大门。记住,每一次敲击键盘,都是一次新的学习和进步!


互动与交流

  • 学习过程中遇到什么问题了吗?
  • 你最喜欢或者觉得最实用的Linux命令是哪个?
  • 对于Linux初学者,你还有哪些学习建议?

欢迎在评论区留言讨论,分享你的学习心得和经验!如果觉得这篇文章对你有帮助,请不要吝啬你的 👍点赞、🌟收藏、💬评论和🔁转发,这将是我持续创作的巨大动力!也欢迎关注我,获取更多Linux和技术干货!

感谢阅读!Happy Hacking!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值