【Linux】Linux 使用笔记

本文最后更新于 2025年6月9日 晚上

【Linux】Linux 使用笔记

系统目录结构

  • /etc:系统管理所用的一些配置文件和子目录。
  • /dev:计算机外部设备,Linux 中外设交互与文件交互一致。
  • /proc:存储当前内核运行状态,类似设备映射成文件,此处映射的是内存信息。
  • /usr:Unix 系统资源的缩写,用户的程序和文件大多放在该目录,类似 Windows 的 ProgramFiles 文件夹。
    • /lib:各种程序共享的动态链接库。
    • /bin:存放各种常见二进制命令程序。
    • /sbin:超级管理员使用的命令程序或守护进程程序。

  • /root:默认为空,为系统管理员分配的默认用户目录。
  • /home:默认为空。存储为每个用户分配的默认用户目录。
  • /opt:默认为空。但为计算机额外安装软件时,通常存储在该目录。
  • /srv:默认为空。存储一些守护进程启动后需要提取的数据。
  • /media:默认为空。部分设备(如 U 盘、光驱)会挂载在该目录。
  • /mnt:默认为空。用于让用户临时挂载其他文件系统,以此访问存储外设的内容。
  • /lost+found:默认为空,非法关机后会存储一些相关文件。

  • /boot:Linux 启动所需的一些核心文件。
  • /sys:从 Linux2.6 开始的一个新文件系统,用于映射内核设备树。
  • /run:一个临时文件系统,存储本次启动后的系统信息,重启时会被置空。
  • /tmp:存储一些短期临时文件,重启时可能被删除。
  • /var:该目录存储一些长期的,会不断扩充的文件,例如日志文件。
    • /tmp:存储长期临时文件。

文件权限属性

文件权限属性共 10 位,如 drwxrwxrwx。

文件类型

第一位表示文件类型:

  • d:目录。
  • l:目录映射。
  • -:文件。

权限控制

其他位分别是面向不同用户的读写权限:

  • 区间一:文件所属者。
  • 区间二:与所属者同组的用户。
  • 区间三:其他用户。

读写权限分三种类型,对目录和文件作用各不同:

  • 对于文件:
    • r:可读。
    • w:可写。
    • x:可执行(对二进制程序外没意义)。
  • 对于目录:
    • r:可查看目录下文件。
    • w:可创建删除目录下文件。
    • x:可 cd 进目录,查看目录下文件的详细属性和文件内容。

特殊目录文件

  • ~:当前用户目录。
  • /:根目录。
  • .:当前目录。
  • ..:当前父目录。

  • ~/.bashrc:终端在每次启动前都会加载的文件,可用于配置终端环境,特定于用户。
  • etc/.bashrc:与上一个文件相同,但影响所有全局。
  • etc/profile:与上一个文件相同,但影响所有全局。

环境变量

  • PATH:执行命令时查询的目录。

常用命令

文件系统管理

  • ls(list files):列出目录内容。
    • -l:显示详细信息。
    • -a:显示隐藏文件。
  • cd(change directory):切换工作目录。
  • pwd(print work directory):显示工作目录路径。
  • mkdir(make directory):创建一个新目录。
  • rmdir(remove directory):移除一个空目录。
  • cp(copy file):复制文件或目录。
  • mv(move file):移动文件或目录(可用于改名)。
  • rm(remove):删除文件或目录。
  • chmod [ugoa][+-][rwx](change mode):修改文件权限。
    • u:文件拥有者。
    • g:与拥有者同组用户。
    • o:其他用户。
    • a:所有用户。
  • find <path> [option]...:搜索文件并进行可选操作。
    • -not -name:排除目标名称的文件。
    • -delete:删除搜索到的文件。

文件内容查看

  • cat:显示文件内容。
  • tac:倒序显示文件内容。
  • nl:显示文件内容并附带行号。
  • more:以翻页的方式显示文件内容。
    • ctrl-b:上一页。
    • space:下一页。
    • enter:下一行。
    • /{string}:搜索。
    • q:离开。
  • less:在more基础上增加一些功能(但不显示阅读进度)。
    • [pagedown]:下一行。
    • [pageup]:上一行。
    • /{string}:向下搜索。
    • ?{string}:向上搜索。
    • n:重复前一个搜索操作。
    • N:反向重复前一个搜索操作。
  • head [-n <number>]:显示文件前几行。
  • tail [-n <number>]:显示文件后几行。

文件处理

  • tar -[zvcx]f <file>:创建或提取归档文件。
    • z:使用gzip压缩或解压。
    • v:输出详细信息。
    • c:创建归档文件。
    • x:提取归档文件。
    • -C <dir>:修改输出目录。
  • vi:文本文件编辑器。

系统软件管理

  • apt:管理deb软件。
    • list --installed | grep <pattern>:查找本地已安装的且名词符合要求的软件包。
    • autoremove:自动移除未被依赖且非用户主动安装的软件包。
  • snap:管理snap软件。

进程管理

  • ps(process status):查看当前进程信息。
    • -e:显示所有进程。
    • -x:显示当前用户所有进程。
    • -xu:详细显示当前用户所有进程。
    • -u:显示与终端关联的进程。
    • -a:显示与当前终端关联的进程;作为附加参数时表示是否包含其他用户进程。
    • -xua:详细显示所有进程。
  • top:实时显示当前进程信息。
    • -u <user>:仅显示指定用户的进程。
  • jobs:显示与当前终端关联的后台进程。
    • -l:显示进程的详细信息。
  • kill {%<jobnumber>|<pid>}:杀死指定进程。
    • -STOP:改为暂停进程。
    • -CONT:改为继续进程。
  • fg(foreground):将最近挂起的后台进程放到前台运行。
    • %<jobnumber>:改为指定序号的后台进程。
  • bg(background):将最近挂起的后台进程放到后台运行。
    • %<jobnumber>:改为指定序号的后台进程。
  • disown %<jobnumber>:将指定后台进程移出后台任务列表使其不会收到终端停止时发送的 SIGHUP 信号。(注意!该命令不会自动调整标准输出,可能导致程序运行异常)
  • nohup <command> &(no hang up):类似disown,会阻止进程接收 SIGHUP 信号,同时启动时会自动调整进程的标准输入输出设置(输出默认写入到当前目录的 nohup.out 文件)。

查看系统信息

  • lsblk:显示磁盘信息。
  • df -h:显示文件系统占用磁盘空间的情况。
  • du -h:显示目标文件占用磁盘的大小。
  • whereis <command>:显示命令所在的文件地址。
  • uname -a:显示操作系统信息。

磁盘分区管理

  • fdisk:管理磁盘分区。
    • -l:显示详细磁盘信息。

网络内容处理

  • wget <url> -O <path>:下载网络资源到目标位置。
  • curl <url>:发送 Get 请求来获取网址内容。

终端交互

  • sudo:以管理员身份运行命令或切换到管理员账号。
  • clear:清理终端内容。
  • exit:退出终端。
  • source:在当前终端环境下读取并执行目标文件。

  • "<string>":表示一个字符串,字符串支持无缝拼接。
  • export <var>="<string>":设置环境变量。
  • $<var>:提取变量内容,可在字符串中使用。

  • echo "<string>"...:在终端中输出字符串到标准输出。
  • read <var>:读取一行标准输入数据并保存为指定变量。
  • tee [file]...:读取标准输入数据,并将其内容输出成文件。
    • ctrl-d:完成输入。
  • grep <pattern> [file]...:读取文件或标准输入,输出其中匹配正则表达式的那一行文本。
  • wc(word count):读取文件或标准输入,输出其中内容的行数或字数等。
    • -l:输出行数。
    • -w:输出单词数。
    • -c:输出字节数。

  • ;:依次执行多条命令。
  • &: 同时运行两个命令,若第二个命令为空,则表示后台运行第一个命令。
  • &&:当前一条命令成功时执行后一条命令。
  • ||:当前一条命令失败时执行后一条命令。
  • |:将前一条命令的标准输出作为下一条命令的标准输入。
  • >:将前一条命令的标准输出重定向到一个文件中。
  • >>:将前一条命令的标准输出重定向到一个文件的末尾。

  • ctrl-c:停止命令。
  • ctrl-z:将当前进程暂停并放到后台。
  • tab:命令提示或智能补全。

【Linux】Linux 使用笔记
https://bdffzi-blog.pages.dev/posts/2845903494.html
作者
BDFFZI
发布于
2024年5月31日
许可协议