一、初识 Linux 与基本命令

简介: 玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。

思维导图

image.png
image.png
image.png
image.png
image.png

一、Linux 简介

  • 1.1 什么是 Linux?
    Linux 是一种自由、开源的类Unix操作系统内核,由林纳斯·托瓦兹 (Linus Torvalds) 在1991年首次发布。我们通常所说的 "Linux 系统",指的是基于 Linux 内核并集成了各种软件和工具操作系统发行版 (Distribution)

  • 1.2 常见的 Linux 发行版
    常见的发行版包括 Debian 系 (如 Debian, Ubuntu, Mint),Red Hat 系 (如 RHEL, CentOS, Fedora),以及 Arch Linux, SUSE Linux 等。

  • 1.3 Linux 的特点
    开源免费安全稳定多用户多任务强大的命令行,以及“一切皆文件”的设计哲学。

二、Linux 文件系统结构

Linux 文件系统采用树形结构,所有文件和目录都始于根目录 /

重要的目录及其作用
/ - 根目录,所有路径的起点。
/bin - 存放所有用户可用的基本命令 (如 ls, cp)。
/sbin - 存放仅限系统管理员使用的管理命令 (如 ifconfig)。
/etc - 存放系统和应用配置文件
/home - 普通用户家目录
/root - 超级用户 (root) 的家目录。
/usr - 用户安装的应用程序和文件
/var - 存放经常变化的文件,如日志 (/var/log)
/tmp - 临时文件目录。
/dev - 设备文件目录。
/boot - 系统启动相关文件 (如内核)。
/proc - 内核和进程信息的虚拟文件系统

三、基本的 Shell 命令

Shell 是一个 命令行解释器,它 接收用户输入交给操作系统内核执行。 Bash最常用的Shell。

3.1 目录操作命令

- ls: 列出目录内容。
- 语法结构: ls [选项] [目录路径]
- 常用选项:
-l: 长格式显示,包含权限、所有者、大小、修改时间等详细信息。
-a: 显示 所有文件,包括以 . 开头的 隐藏文件
-h: 人性化显示文件大小 (如 KB, MB, GB)。通常与 -l 配合使用。
-t: 按 修改时间排序,最新的在前面。
-R: 递归列出子目录内容。
代码示例:
bash ls ls -l /home ls -alh ls -lt /var/log



pwd: 显示当前工作 目录的绝对路径
语法结构: pwd
代码示例:
bash [root@redhat ~]# pwd /root

cd: 切换目录。
语法结构: cd [目录路径]
常用用法:
cd /dir: 切换到 绝对或相对路径
cd ..: 切换到 上一级目录。
cd ~cd: 切换到 当前用户的家目录
cd -: 切换到 上一次所在的目录。
代码示例:
bash cd /etc/sysconfig/ cd .. cd cd -


mkdir: 创建新目录。
语法结构: mkdir [选项] 目录名
常用选项:
-p: 递归创建。如果要创建的目录的父目录不存在,会自动创建。
代码示例:
bash mkdir project_a mkdir -p workspace/code/java

rm: 删除文件或目录。
语法结构: rm [选项] 文件或目录
常用选项:
-f: 强制删除,不进行任何提示。
-r: 递归删除目录及其所有内容。
-i: 删除前 进行交互式确认
代码示例:
bash rm temp.log rm -f temp.log rm -r old_backup rm -rf /path/to/very/dangerous/dir

3.2 文件操作命令

touch: 创建空文件或 更新时间戳。
语法结构: touch 文件名
代码示例:
bash touch my_note.txt

cp: 复制文件或目录。
语法结构: cp [选项] 源 目标
常用选项:
-r: 递归复制目录。
-p: 保留源文件的 属性 (如修改时间、权限)。
代码示例:
bash cp file1.txt file1.bak cp file2.txt /home/user/documents/ cp -r my_app /opt/backup/

mv: 移动重命名文件或目录。
语法结构: mv 源 目标
代码示例:
bash mv old_file.txt new_file.txt mv large_file.zip /tmp/

cat: 查看文件 全部内容
语法结构: cat [选项] 文件名
常用选项:
-n: 显示 行号
代码示例:
bash cat /etc/hostname cat -n /etc/profile

head: 查看文件开头部分。
语法结构: head [选项] 文件名
常用选项:
-n <行数>: 指定 显示的行数,例如 -n 20 显示前20行。
代码示例:
bash head /var/log/dmesg head -n 20 /var/log/dmesg


tail: 查看文件结尾部分。
语法结构: tail [选项] 文件名
常用选项:
-n <行数>: 指定 显示的行数
-f: 实时跟踪文件的新增内容 (Follow)。
代码示例:
bash tail /var/log/messages tail -n 100 /var/log/messages tail -f /var/log/secure


3.3 帮助命令

man: 查看命令详细手册
语法结构: man 命令名
代码示例:
bash man ls


--help: 显示命令简要帮助
语法结构: 命令名 --help
代码示例:
bash cp --help


## 四、常用的快捷键

4.1 自动补全与屏幕控制

Tab: 自动补全命令、文件名或路径,按一次尝试补全,按两次列出所有可能选项。
Ctrl + L: 清屏,效果等同于 clear 命令。

4.2 光标移动与编辑

Ctrl + A: 将光标移动到行首
Ctrl + E: 将光标移动到行尾
Ctrl + U: 剪切从光标处到行首的全部内容。
Ctrl + K: 剪切从光标处到行尾的全部内容。
Ctrl + W: 剪切光标前的一个单词
Ctrl + Y: 粘贴 (Ctrl + U, K, W剪切) 的内容。
Alt + B: 光标向左移动一个单词。
Alt + F: 光标向右移动一个单词。

4.3 进程控制

Ctrl + C: 强制中断当前正在运行的程序。
Ctrl + Z: 暂停 (挂起) 当前前台运行的程序,并将其放入后台
Ctrl + D: 输入文件结束符 (EOF),通常用于退出当前Shell会话或结束某些程序的输入。

4.4 历史命令

上/下箭头: 浏览上一个或下一个历史命令
Ctrl + R: 反向搜索历史命令,输入关键字即可查找。
!!: 执行上一条命令。
!n: 执行历史记录中第n条命令。
!string: 执行最近一次以 "string" 开头的命令。

五、总结

本章初步介绍了Linux的基本概念、文件系统结构以及最核心命令行操作。熟练掌握这些基础命令及其常用选项和快捷键高效使用Linux系统的第一步


练习题

请在您的Linux环境中完成以下操作,并写出所使用的命令。

题目:

  1. 在当前用户的主目录 (~) 下,创建一个名为 linux_practice 的新目录。
  2. 进入你刚刚创建的 linux_practice 目录。
  3. linux_practice 目录中,创建一个名为 level1 的子目录,并在 level1 目录中再创建一个名为 level2 的子目录 (要求使用一条命令完成)。
  4. linux_practice 目录中,创建一个名为 notes.txt 的空文件。
  5. notes.txt 文件复制一份,命名为 notes_backup.txt
  6. notes.txt 文件重命名为 study_notes.txt
  7. 查看 study_notes.txt 文件的详细信息(包括权限、所有者、大小、修改时间等)。
  8. study_notes.txt 文件移动到 level1/level2/ 目录下。
  9. 不切换目录,直接列出 level1/level2/ 目录下的所有文件。
  10. 删除 linux_practice 目录及其下的所有内容 (包括子目录和文件)。
答案与解析:
  1. 创建 linux_practice 目录:

    mkdir ~/linux_practice
    

    解析: mkdir 是创建目录的命令。~/ 代表当前用户的主目录。

  2. 进入 linux_practice 目录:

    cd ~/linux_practice
    

    解析: cd 是切换目录的命令。

  3. 递归创建多级子目录:

    mkdir -p level1/level2
    

    解析: mkdir 命令配合 -p (--parents) 选项可以创建不存在的父目录,实现一次性创建多级目录。

  4. 创建空文件:

    touch notes.txt
    

    解析: touch 命令用于创建空文件或更新文件时间戳。

  5. 复制文件:

    cp notes.txt notes_backup.txt
    

    解析: cp 命令用于复制文件,格式为 cp source destination

  6. 重命名文件:

    mv notes.txt study_notes.txt
    

    解析: mv 命令在同一目录下使用时,效果就是重命名。

  7. 查看文件详细信息:

    ls -l study_notes.txt
    

    解析: ls 是列出命令,-l (--long) 选项使其以长格式(详细信息)显示。

  8. 移动文件:

    mv study_notes.txt level1/level2/
    

    解析: mv 命令将文件移动到指定的目标目录。

  9. 不切换目录列出子目录内容:

    ls -l level1/level2/
    

    解析: ls 命令可以接受一个路径作为参数,来列出该路径下的内容,而不需要先 cd 过去。

  10. 递归删除目录:

    rm -rf ~/linux_practice
    

    解析: rm 是删除命令。-r (--recursive) 选项用于删除目录及其内容。-f (--force) 选项用于强制删除,不进行任何提示。此命令非常危险,使用前务必确认路径是否正确!

rm -r ~/linux_practice # 会逐个文件提示确认
目录
相关文章
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
468 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
322 137
|
6月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
571 143
linux命令—tree
|
2月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
517 2
|
3月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
335 0
Linux内存问题排查命令详解
|
3月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
315 16
|
5月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
892 13
|
6月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1101 21
|
6月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
474 13
|
4月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
554 0