当前位置:首页>Linux>《操作系统》05.关于Linux的基本操作

《操作系统》05.关于Linux的基本操作

  • 2026-10-11 08:30:44
《操作系统》05.关于Linux的基本操作

一、Shell:用户与内核的桥梁

1. 什么是 ShellShell 是一个命令解释器,它接收用户输入的命令,翻译后交给操作系统内核执行,并将结果返回给用户。从操作系统角度看,Shell 是用户态程序,通过系统调用来请求内核服务,这恰好体现了 OS 的接口设计。

2. 常见的 Shell

  • bash(默认,大多数 Linux 发行版)

  • zsh(功能更丰富,macOS 默认)

  • sh、dash(更轻量,用于脚本)

  • 可通过 echo $SHELL 查看当前使用的 Shell。

3. 命令提示符与格式

user@hostname:~/folder$ command -option argument

  • user:当前用户名

  • hostname:主机名

  • ~/folder:当前工作目录(~ 代表用户家目录)

  • $ 表示普通用户;# 表示 root 超级用户

4. 基本操作技巧

  • Tab 键:命令和路径自动补全

  • Ctrl+C:终止当前前台程序(发送 SIGINT 信号)

  • Ctrl+D:表示输入结束(EOF),可退出 Shell

  • Ctrl+Z:将当前程序挂起到后台

  • history:查看历史命令;!编号 可重复执行

  • ↑/↓ 箭头:浏览历史命令

  • man command:查看命令的手册页(非常常用)


二、文件名与目录结构

1. 一切皆文件Linux 中,普通文件、目录、设备(如硬盘 /dev/sda)、进程信息等都是以文件的形式暴露的。这种统一的虚拟文件系统(VFS) 抽象是 OS 设计的精髓。

2. 目录树结构文件系统从根 / 开始,形成一棵倒置的树,没有 Windows 的盘符概念。重要目录:

  • /:根目录,整个系统的起点

  • /home:普通用户家目录,例如 /home/alice

  • /root:root 用户的家目录

  • /etc:系统配置文件(如 passwd、fstab)

  • /bin, /sbin:基本系统命令(现在多是 /usr/bin 的链接)

  • /usr:大部分用户程序和数据

  • /var:经常变动的数据(日志、缓存等)

  • /tmp:临时文件,重启可能清空

  • /dev:设备文件

  • /proc:内存中的内核和进程信息,是了解 OS 进程模型的直接窗口

3. 文件命名规则

  • 区分大小写:File.txt 和 file.txt 是不同的文件

  • 名称中避免使用空格和特殊字符,可用下划线、点、连字符

  • 以 . 开头的文件是隐藏文件,如 .bashrc

  • 通配符用于批量匹配:

    • *:匹配任意多个字符

    • ?:匹配单个字符

    • [abc]:匹配其中任一字符

  • 路径表示:

    • 绝对路径:以 / 开头,如 /home/bob/doc.txt

    • 相对路径:不以 / 开头,相对当前工作目录

    • . 表示当前目录,.. 表示上一级目录


三、文件权限与所有权

Linux 是多用户系统,文件权限是实现保护与安全的核心机制。

1. 用户分组每个文件都有一个所有者(user)和一个所属组(group),权限分别针对三类人:

  • u(user):文件所有者

  • g(group):同组用户

  • o(others):其他人

使用 ls -l 可查看详细信息:

-rwxr-xr-- 1 alice staff 1024 Apr 26 10:30 script.sh

第一列 -rwxr-xr-- 分别表示:

  • 文件类型:- 普通文件,d 目录,l 符号链接

  • 接下来9个字符,每3位一组:rwx(所有者)、r-x(组)、r--(其他人)

  • r = 读(4),w = 写(2),x = 执行(1)

2. 修改权限 - chmod

  • 数字法(八进制):chmod 754 fileowner=rwx(7), group=r-x(5), others=r--(4)

  • 符号法:chmod u+x file(给所有者加执行权),chmod go-w file(去掉组和其他人的写权)

  • 对目录而言,x 权限意味着可以 cd 进入该目录。

3. 修改所有者与组

  • chown newowner file:改变所有者(需 root 权限)

  • chown newowner:newgroup file:同时改所有者和组

  • chgrp newgroup file:只改组

4. 特殊权限(了解)

  • SUID(4):可执行文件具有所有者的权限(如 passwd 命令)

  • SGID(2):文件执行时具有组的权限;对目录,新建文件会自动继承目录的组

  • Sticky bit(1):在目录上设置后,只有文件所有者才能删除自己文件(如 /tmp)


四、常用命令分类详解

1. 目录与文件操作

2. 文件查看与编辑

3. 文件搜索与过滤

4. 系统信息与进程管理

这是理解操作系统运行状态的直接手段。

5. 用户与权限相关

6. 网络与远程

7. 命令行进阶:管道、重定向与组合

以上这些操作不仅是日常使用 Linux 的基础,更是深入操作系统原理的实验入口:

  • 用 ps、top、kill 来感受进程调度和信号机制;

  • 在 /proc 目录下查看内核数据结构,理解进程控制块;

  • 用 chmod 实践文件保护模型;

  • 通过 Shell 的管道和重定向体会 进程通信与 I/O 重定向;

  • 观察 fork()、exec() 写的小程序如何在 Shell 中运行,直接对应进程创建。

建议自己安装一个 Linux 发行版(虚拟机或 WSL 均可),跟随命令动手敲一遍,并养成 man 查手册的习惯。敲得越多,对操作系统的抽象就会理解越深,也会更直观和容易。

最新文章

随机文章