作者:IvanCodes
日期:2025年7月28日
专栏:Linux教程

思维导图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、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: 递归列出子目录内容。
    代码示例:
ls
ls -l /home
ls -alh
ls -lt /var/log

在这里插入图片描述
在这里插入图片描述

pwd: 显示当前工作目录的绝对路径
语法结构: pwd
代码示例:

[root@redhat ~]# pwd
/root

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

cd /etc/sysconfig/
cd ..
cd
cd -

在这里插入图片描述

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

mkdir project_a
mkdir -p workspace/code/java

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

rm temp.log
rm -f temp.log
rm -r old_backup
rm -rf /path/to/very/dangerous/dir

3.2 文件操作命令

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

touch my_note.txt

cp: 复制文件或目录。
语法结构: cp [选项] 源 目标
常用选项:
-r: 递归复制目录。
-p: 保留源文件的属性 (如修改时间、权限)。
代码示例:

cp file1.txt file1.bak
cp file2.txt /home/user/documents/
cp -r my_app /opt/backup/

mv: 移动重命名文件或目录。
语法结构: mv 源 目标
代码示例:

mv old_file.txt new_file.txt
mv large_file.zip /tmp/

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

cat /etc/hostname
cat -n /etc/profile

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

head /var/log/dmesg
head -n 20 /var/log/dmesg

在这里插入图片描述

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

tail /var/log/messages
tail -n 100 /var/log/messages
tail -f /var/log/secure

在这里插入图片描述

3.3 帮助命令

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

man ls

在这里插入图片描述

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

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 是创建目录的命令。~/ 代表当前用户的主目录。

  1. 进入 linux_practice 目录:
cd ~/linux_practice

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

  1. 递归创建多级子目录:
mkdir -p level1/level2

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

  1. 创建空文件:
touch notes.txt

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

  1. 复制文件:
cp notes.txt notes_backup.txt

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

  1. 重命名文件:
mv notes.txt study_notes.txt

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

  1. 查看文件详细信息:
ls -l study_notes.txt

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

  1. 移动文件:
mv study_notes.txt level1/level2/

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

  1. 不切换目录列出子目录内容:
ls -l level1/level2/

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

  1. 递归删除目录:
rm -rf ~/linux_practice

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

rm -r ~/linux_practice # 会逐个文件提示确认

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916699.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916699.shtml
英文地址,请注明出处:http://en.pswp.cn/news/916699.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决angular与jetty websocket 每30s自动断连的问题

背景:前端:angular 12,websocket接口由lib.dom.d.ts提供后端:java,websocket接口由jetty 12提供问题现象:前端连上server后,每隔30s就会断开,由于长时间空闲,会导致webso…

【机器学习深度学习】模型私有化部署与微调训练:赋能特定问题处理能力

目录 前言 一、私有化部署的背景:通用能力 ≠ 企业实用 暴露问题 二、微调训练的核心目的 2.1 动作一:私有化部署(Private Deployment) 2.2 动作二:领域微调(Domain Fine-Tuning) 2.3 微…

Seq2Seq学习笔记

Seq2Seq模型概述Seq2Seq(Sequence-to-Sequence)是一种基于深度学习的序列生成模型,主要用于处理输入和输出均为序列的任务,如机器翻译、文本摘要、对话生成等。其核心思想是将可变长度的输入序列映射为另一个可变长度的输出序列。…

react useId

useId useId 是 React 18 引入的一个内置 Hook,用于生成唯一且稳定的 ID , 主要用于,解决在客户端和服务器端渲染(SSR)时,动态生成 ID 可能导致的冲突问题; 特别适合用于,需要关联 H…

排水管网实时监测筑牢城市安全防线

排水管网的实时监测工作,强调其对于保障城市安全的重要作用。“排水管网”明确了具体的关注对象,它是城市基础设施的重要组成部分,承担着雨水、污水排放等关键功能。“实时监测”突出了监测的及时性和持续性,意味着能够随时获取排…

SZU大学物理实验报告|电位差计

写在前面:博文里放图片,主要省去了对文档的排版时间,实验还是要自己做的,反正都要去实验室上课,顺带锻炼下动手能力。有些结果是实验手写的,所以看不到,有结果的可以对下结果差的不太多就行&…

RoPE简单解析

文章目录简介拆解一些tricks简介 因为RoPE的优异性能,其已成为各种大模型中位置编码的首选,包括多模态模型;在一些多模态模型或视频理解模型中,甚至会用到多维度RoPE。虽然RoPE已广泛应用,之前也看了不少针对其原理解…

windows 获取 APK 文件的包名和启动 Activity 名称

使用 aapt 命令确保环境变量配置正确:首先需要确保你的系统环境变量中包含了 Android SDK 的 build-tools 目录路径。这是因为 aapt 工具位于该目录下。运行命令: 打开命令提示符(CMD),然后输入以下命令来查看 APK 的详…

【Mac版】Linux 入门命令行快捷键+联想记忆

Linux Mac 用户终端命令行快捷键 符号速查全解作为一个刚接触 Linux 和终端的 macOS 用户,常常被命令行的各种快捷键和符号弄得头晕脑胀,本文将带你系统地掌握命令行中最常用的快捷键和符号,并通过逻辑联想帮助你轻松记住每一个组合。一、基…

AUTOSAR Mcal Dio - 模块介绍 + EB配置工具介绍

文章目录1. 模块简介2. 主要功能3. 缩略语4. API接口5. 功能介绍5.1. ChannelGroup5.2. Dio_MaskedWritePort6. 序列图6.1.读GPIO电平6.2. 设置GPIO电平7. EB 工具配置7.1.General7.2.DioPort8. 参考资料1. 模块简介 Dio,全称“Digital Input Output”。Dio模块&am…

ICT模拟零件测试方法--晶体管测试

ICT模拟零件测试方法–晶体管测试 文章目录ICT模拟零件测试方法--晶体管测试晶体管测试晶体管测试配置晶体管测试配置晶体管测量选项晶体管测试 i3070 在线测试软件为每个晶体管提供两种测试: 使用二极管测试对晶体管的两个 PN 结进行测试。这是检查设备存在的快速…

AI算法实现解析-C++实例

基于C++实现的AI 以下是基于C++实现的AI/机器学习相关示例,涵盖基础算法、计算机视觉、自然语言处理等领域,适合不同阶段的学习者参考: 基础机器学习算法 线性回归 使用梯度下降法预测连续值,核心公式: 损失函数: 逻辑回归 二分类问题实现,Sigmoid函数: K-Means…

亚马逊云科技实战架构:构建可扩展、高效率、无服务器应用

对于今天的开发者、架构师和技术爱好者而言,云计算早已超越了简单的“虚拟机租赁”或“服务器托管”阶段。它已经演化为一套丰富、强大且精密的工具集,能够以前所未有的方式设计、部署和扩展应用程序。真正的云原生思维,是掌握并运用多种架构…

论文阅读:《无约束多目标优化的遗传算法,群体和进化计算》

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

嵌入式单片机中位带操作控制与实现

STM32 单片机的SRAM有两个区支持位带(bit-band)操作。 那么,什么是位带,位带操作的原理是怎样的呢? 今天来梳理一下这个知识点。 在介绍位带操作之前,先看一看 ARM Crotext-M3 的存储器映射。 CM3 的地址空间是 4GB, 程序可以在代码区,内部 SRAM 区以及外部 RAM 区中执…

考研初试专业分146!上岸新疆大学!信号与系统考研经验,通信考研小马哥。

信号与系统专业课分数146,希望以下的经验能够帮助到正在努力学习的学弟学妹们更好的学习专业课。本人是从四月份开始学习专业课,当时我觉得专业课应该要尽早开始越拖到后期学习压力越大,所以在周边同学还在只学习公共课的时候我就开始了专业课…

负载均衡算法中的加权随机算法

import org.apache.commons.lang3.tuple.Pair;import java.util.Arrays; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Collectors;/*** 加权随机,nacos*/ public class RouterWeightRandom {/**** param list [{"a&q…

AI时代SEO关键词优化策略

内容概要 在人工智能(AI)技术深度融入数字营销的背景下,搜索引擎优化(SEO)的关键词优化策略正经历一场智能变革,这不仅重塑了传统研究方式,还为企业带来了全新的竞争机遇。本文将从AI时代SEO的变…

复矩阵与共轭转置矩阵乘积及其平方根矩阵

设 是一个 的复数矩阵,其共轭转置矩阵(Hermitian 共轭)记为 (即 ),则矩阵 ( )和 ( )的性质如下文所述。1. Hermitian 性(自共轭性&#x…

Vue 框架 学习笔记

作为初学者对于Vue框架的学习笔记 总结了Vue框架的核心知识点,包括:1. 基础概念:渐进式框架、两种使用方式、Vue实例创建流程、模板语法和响应式特性。2. 常用指令:详细介绍了v-html、v-show/v-if、v-for、v-on、v-bind、v-model等…