4571 字
23 分钟
Linux基础问题 1

常用的Linux系统有哪些?#

Linux的发行版本是基于GNU/Linux的内核和外围程序组成的系统包。外围程序包括GNU工具、命令行shell、图形界面X Window系统和桌面环境等应用软件。Linux发行版可分为商业公司维护和社区组织维护两类,前者如RedHat,后者如Debian。

Debian

Debian由Ian Murdock于1993年创建,遵循GNU规范,分为三个分支:

  • Stable:主要用于生产环境,更新少且稳定。
  • Testing:开发中的版本,准备进入稳定版。
  • Unstable:开发中的最前沿版本,适合开发人员。

Ubuntu

Ubuntu基于Debian的unstable版本,针对桌面用户进行了优化。其版本包括:

  • Ubuntu:基于GNOME,易用性强。
  • Kubuntu:基于KDE,提供更多定制选项。
  • Xubuntu:基于Xfce,轻量级,适合低配置设备。

Red Hat

Red Hat由Marc Ewing于1994年创立,致力于企业级解决方案。其后转向开发Red Hat Enterprise Linux(RHEL),需要购买支持服务并保证系统稳定性和安全性。

Fedora

Fedora是Red Hat赞助的开源社区项目,旨在推动自由和开源软件。自Red Hat 9.0后,Fedora取代了Red Hat的桌面版本,成为最新技术的先锋。

CentOS

CentOS是基于RHEL源代码的免费版本,不含封闭源代码软件。适用于对系统稳定性要求高的企业环境,是RHEL的免费替代品。

Arch Linux

Arch Linux注重简洁和灵活,遵循KISS原则,采用滚动更新模型。适合具有一定Linux经验的用户,提供高度自定义性和开放性。

哪些Linux系统属于国产化#

国产化操作系统主要包括以下几种:

  1. 深度Linux(Deepin):基于Linux内核,已具备相对完善的产品体系,并广泛应用于关键领域。
  2. 统信UOS(统一操作系统):支持多种国产CPU平台,提供专业版、家庭版、社区版和服务器操作系统,系统设计符合国人审美和习惯,安全可靠。
  3. 优麒麟(UbuntuKylin):全球开源项目,由麒麟软件有限公司主导开发,设计出“简单轻松、友好易用”的桌面环境。
  4. 红旗Linux:深耕自主化国产操作系统领域二十余年,支持多种CPU指令集架构和国产自主CPU品牌。
  5. 中标麒麟(NeoKylin):采用强化的Linux内核,分成通用版、桌面版、高级版和安全版等,广泛使用于央企、能源、政府、交通等行业领域。
  6. 华为欧拉(openEuler):面向服务器的Linux发行版,由华为创建openEuler开源社区并贡献相关能力。
  7. 中科方德:提供国产服务器操作系统,支持国产CPU平台,重点服务于电子政务、国防军工、金融、教育、医疗等领域。

哪些系统使用yum,哪些使用apt#

apt主要用于基于Debian的Linux发行版,包括但不限于Debian、Ubuntu、Linux Mint、 elementary OS等

yum主要用于基于RPM包的Linux发行版,如Red Hat Enterprise Linux(RHEL)、CentOS、Fedora、openSUSE等

yum与apt有什么区别#

在Linux世界中,apt和yum是两个非常重要的包管理工具,它们分别应用于不同的Linux发行版中,并有着各自的特点和使用方式。下面是apt和yum在不同Linux发行版中应用的区别:

  1. apt(Advanced Package Tool)
    • 适用发行版:apt主要用于基于Debian的Linux发行版,包括但不限于Debian、Ubuntu、Linux Mint、 elementary OS等。
    • 包格式:apt处理的软件包格式为.deb,这种格式的包包含了预编译的二进制文件以及相关的元数据,如依赖关系等。
    • 命令行工具:apt-get是早期的主要命令行工具,负责安装、更新、卸载软件包;apt-cache用于查询软件包数据库;现在,apt工具集成了更多的功能,使得管理更加便捷。
    • 依赖处理:apt具有优秀的依赖关系解决能力,能够自动下载并安装所需的依赖包,从而简化软件安装过程。
    • 命令示例:
      • 更新包列表:sudo apt-get update
      • 安装新软件包:sudo apt-get install package_name
      • 升级所有已安装软件包:sudo apt-get upgrade
      • 自动解决依赖并安装:sudo apt install package_name
  2. yum(Yellowdog Updater, Modified)
    • 适用发行版:yum主要用于基于RPM包的Linux发行版,如Red Hat Enterprise Linux(RHEL)、CentOS、Fedora、openSUSE等。
    • 包格式:yum处理的软件包格式为.rpm,同样包含了预编译的二进制文件以及元数据,但其依赖处理机制与.deb格式有所不同。
    • 命令行工具:yum是主要的命令行包管理器,它可以完成安装、更新、卸载软件包以及解决依赖问题等操作。
    • 依赖处理:yum同样具备完善的依赖解决方案,它可以从预先配置好的软件仓库中下载并安装依赖包。
    • 命令示例:
      • 更新包列表:sudo yum makecache fast
      • 安装新软件包:sudo yum install package_name
      • 升级所有已安装软件包:sudo yum update
      • 查询软件包信息:sudo yum info package_name

随着时间推移,yum已经被dnf(Dandified Yum)在Fedora和RHEL/CentOS 8之后的版本中取代,dnf也是基于RPM包的,继承了yum的优点并改进了性能和依赖解析算法。而在Debian系的发行版中,apt逐渐发展出apt-get、apt-cache和更简洁的apt命令,旨在提供更现代化和高效的包管理体验。

安装Linux系统,推荐Ubuntu22.04#

已安装

安装Ubuntu系统之后,如何使用账号密码登录,截图你登录成功的界面#

PixPin_2025-08-10_19-54-48

进入系统重,如何重置root用户账号,并使用root进行登录#

重置root用户密码

Terminal window
sudo passwd root

设置密码后,可以通过su root切换到root用户

Linux下的目录结构是什么与Windows有什么区别#

Linux 和 Windows 的目录结构有很大的不同,主要体现在以下几个方面:

1. 根目录结构:#

  • Linux:所有文件和目录都是从根目录(/)开始的。即使是挂载的硬盘分区,也都会被挂载到根目录下的某个子目录中,例如 /home/mnt
    • 示例:/home, /etc, /usr, /var, /bin
  • Windows:每个驱动器都有独立的根目录,例如 C:\, D:\ 等,文件系统分布在不同的驱动器中。
    • 示例:C:\Program Files, C:\Users, D:\Documents

2. 文件路径分隔符:#

  • Linux:使用正斜杠 / 作为目录分隔符。
    • 示例:/home/user/Documents
  • Windows:使用反斜杠 \ 作为目录分隔符。
    • 示例:C:\Users\Documents
    • 在编写python脚本时,需要注意输入的Windows目录中的\,可能会被识别为转义字符
      • 普通字符串中,\U, \N, \f 会被Python解析为转义序列
      • 例如path = "C:\Users\Name\file.txt"中的\U会被识别为Unicode转义,可以通过在字符串前加r来表示读入原始字符串:path = r"C:\Users\Name\file.txt",或者将反斜杠改为正斜杠

3. 文件系统结构:#

  • Linux
    • /bin:基础命令程序,系统启动和修复需要的命令。
    • /etc:系统配置文件。
    • /home:用户目录,每个用户的数据和配置文件存放在此。
    • /lib:共享库文件。
    • /usr:用户级程序和库,类似 Windows 的 Program Files
    • /var:可变数据文件(如日志文件、邮件等)。
  • Windows
    • C:\Program Files:安装的应用程序。
    • C:\Users:包含每个用户的个人文件夹。
    • C:\Windows:操作系统核心文件。
    • C:\Documents and Settings:存放用户配置和个人文件(较旧的版本)。

4. 文件权限:#

  • Linux:文件权限控制较严格,支持细粒度的文件权限管理。每个文件和目录都有属主、属组和其他用户的权限设置(读取、写入、执行)。
  • Windows:文件权限通过用户账户控制,支持基于角色的权限设置。权限管理较为直观,但灵活性不如 Linux。

5. 文件名区分大小写:#

  • Linux:文件名是区分大小写的。比如 file.txtFile.txt 被认为是两个不同的文件。
  • Windows:文件名不区分大小写。file.txtFile.txt 被认为是相同的文件。

6. 挂载文件系统:#

  • Linux:所有的文件和设备都是挂载在根目录下的某个子目录中。例如,Windows 分区会被挂载到 /mnt/media 下。
  • Windows:每个驱动器(例如 C:\, D:\)都具有自己的独立文件系统。没有类似 Linux 的挂载概念。

总结:#

  • Linux 使用统一的目录结构,以根目录 / 为基础,所有文件和设备都挂载在此,并且路径使用正斜杠 / 分隔。
  • Windows 则使用多个驱动器(如 C:\, D:\),路径使用反斜杠 \ 分隔,且文件权限和文件系统管理方式不同。

Linux下如何 进入目录,创建目录,删除目录,更改目录名,移动目录#

在 Linux 中,操作目录的常用命令如下:

1. 进入目录 (cd)#

使用 cd 命令进入指定的目录。

  • 进入某个目录:

    Terminal window
    cd /path/to/directory
  • 返回上一级目录:

    Terminal window
    cd ..
  • 返回用户的 home 目录:

    Terminal window
    cd ~
  • 返回当前目录的根目录:

    Terminal window
    cd /
  • 返回上一目录(⚠️这个上一目录指的是上次的目录,例如从/root切换到/home/xh路径,那么cd -是回到/root路径而不是切换到/home路径):

    Terminal window
    cd -

2. 创建目录 (mkdir)#

使用 mkdir 命令创建新目录。

  • 创建单个目录:

    Terminal window
    mkdir new_directory
  • 创建多级目录(包括父目录):

    Terminal window
    mkdir -p parent_directory/child_directory

3. 删除目录 (rmdirrm -r)#

  • 删除空目录:

    Terminal window
    rmdir directory_name
  • 删除包含内容的目录(使用 -r 递归删除):

    Terminal window
    rm -r directory_name
  • 强制删除包含内容的目录(不提示确认):

    Terminal window
    rm -rf directory_name

4. 更改目录名 (mv)#

使用 mv 命令更改目录名。

  • 更改目录名:

    Terminal window
    mv old_directory_name new_directory_name

5. 移动目录 (mv)#

使用 mv 命令移动目录到另一个位置。

  • 移动目录:

    Terminal window
    mv directory_name /path/to/new_location/

Linux下如何 查看文件,删除文件,更改文件名,移动文件#

1. 查看文件 (cat, less, more, head, tail)#

  • cat:查看文件内容(一次性显示整个文件): cat filename
  • less:分页显示文件内容,可以上下滚动: less filename
  • more:分页显示文件内容,按空格键向下翻页: more filename
  • head:查看文件的前几行(默认为前 10 行): head filename
  • tail:查看文件的最后几行(默认为最后 10 行): tail filename
  • tail -f:查看文件内容实时更新(常用于日志文件): tail -f filename

2. 删除文件 (rm)#

  • 删除单个文件: rm filename
  • 删除多个文件: rm file1 file2 file3
  • 强制删除文件(不提示确认): rm -f filename
  • 删除目录及其内容: rm -r directory_name

3. 更改文件名 (mv)#

使用 mv 命令更改文件名或移动文件。

  • 更改文件名: mv old_filename new_filename

4. 移动文件 (mv)#

使用 mv 命令将文件从一个位置移动到另一个位置。

  • 移动文件: mv filename /path/to/destination/
  • 移动并更改文件名: mv filename /path/to/destination/new_filename

什么是隐藏文件,跟普通文件有什么区别,如何列出隐藏文件#

在 Linux 中,隐藏文件是以 点(. 开头的文件或目录。例如,.bashrc.gitignore 等文件通常是隐藏文件。隐藏文件的主要目的是避免在日常使用中干扰用户操作,通常用于存储配置文件或系统设置。隐藏文件不会在普通的文件浏览器或文件列出命令中显示出来。

隐藏文件与普通文件的区别#

  1. 文件名前缀
    • 隐藏文件:以 点(. 开头,例如 .bashrc.vimrc
    • 普通文件:没有点(.)开头,例如 file.txtimage.png
  2. 显示方式
    • 隐藏文件:默认情况下不会显示在目录列表中,需要使用特定命令来显示。
    • 普通文件:直接显示在目录列表中。
  3. 用途
    • 隐藏文件:通常用于存储系统或应用程序的配置文件和设置,不需要用户频繁访问。
    • 普通文件:通常是用户直接操作的文件,如文档、图片、视频等。

如何列出隐藏文件#

在 Linux 中,可以使用 ls 命令列出隐藏文件:

  • 列出当前目录的所有文件,包括隐藏文件ls -a
  • 只列出隐藏文件ls -d .*

通过这些命令,你可以查看当前目录下的隐藏文件以及文件夹。

Linux下如何编辑文件#

1. 使用 nano 编辑文件#

nano 是一个简单易用的命令行文本编辑器,适合新手。

  • 打开文件进行编辑:

    Terminal window
    nano filename
    • nano 中,使用箭头键进行导航,直接编辑文件内容。
    • 保存文件:按 Ctrl + O,然后按回车键确认保存。
    • 退出 nano:按 Ctrl + X,如果文件有修改,会提示保存。

2. 使用 vivim 编辑文件#

vi 是一个功能强大的文本编辑器,适合有一定经验的用户。vimvi 的增强版。

  • 打开文件进行编辑:

    Terminal window
    vi filename
    • 进入 vi 后,默认处于命令模式。
    • i 进入插入模式,可以开始编辑文件。
    • 编辑完成后,按 Esc 键返回命令模式。
    • 保存文件:输入 :w 并按回车。
    • 退出编辑器:输入 :q 并按回车。
    • 如果你同时想保存并退出,可以输入 :wq 并按回车。

3. 使用 gedit 编辑文件#

gedit 是一个图形化文本编辑器,适用于有图形界面的 Linux 系统(如 Ubuntu)。

  • 打开文件进行编辑:

    Terminal window
    gedit filename

    该命令会在图形界面中打开文件,你可以直接进行编辑、保存并退出。

4. 使用 echocat 来快速编辑文件#

  • 使用 echo 向文件写入内容:

    Terminal window
    echo "Hello, World!" > filename

    该命令会将 "Hello, World!" 写入 filename 文件,若文件已存在会覆盖内容。

  • 使用 cat 向文件追加内容:

    Terminal window
    cat >> filename

    输入内容后,按 Ctrl + D 结束输入。

Linux的Tab键有什么用,按1次和按2次有什么区别,对应什么场景#

1. 按一次 Tab 键:#

  • 自动补全命令或文件名:当你输入部分命令或文件名后,按下 Tab 键,系统会尝试自动补全剩余部分。
    • 命令补全sudo apt install hugo
    • 文件名补全cd /home/user/Docu<Tab>

2. 按两次 Tab 键:#

  • 列出所有匹配项:如果输入的部分命令或文件名不唯一,按两次 Tab 键,系统会显示所有可能的补全选项供你选择。
    • 命令补全ap<Tab><Tab>
    • 文件名补全cd /home/user/<Tab><Tab>

3. 使用场景:#

  • 快速输入长命令或文件名:Tab 键可以避免手动输入长文件路径或复杂命令,提高效率。
  • 查看文件或命令的可用选项:当你不确定命令的完整名称或文件名时,按两次 Tab 键可以帮助你查看所有匹配的选项。

如何查看一个目录的大小#

要查看一个目录的大小,可以使用 du 命令。

  • 查看当前目录的大小:du -sh . 其中,-s 表示只显示总计,-h 表示以人类可读的格式(如 KB、MB)显示。
  • 查看指定目录的大小:du -sh /path/to/directory
  • 如果你希望查看该目录及其子目录的大小,可以使用:du -h /path/to/directory

如何查看一个文件的大小#

  • 使用 ls 命令查看文件大小:ls -lh filename 其中,-l 显示详细信息,-h 以人类可读的格式显示大小(如 KB、MB)。
  • 使用 stat 命令查看文件大小:stat filename 其中,stat 会显示文件的详细信息,包括文件的字节大小。

如何查看系统磁盘的大小#

  • 查看磁盘的总大小、已用空间和可用空间:df -h 其中,-h 选项表示以人类可读的格式显示磁盘空间(如 GB、MB)。
  • 查看特定挂载点的磁盘使用情况:df -h /path/to/mountpoint

Linux中进程是什么#

在 Linux 中,进程是指正在运行的程序的实例。每个进程都有自己的内存空间、系统资源、状态等。进程是操作系统中资源分配和调度的基本单位。

  • 每个进程在 Linux 中都会有一个唯一的进程 ID(PID)。
  • 进程是由操作系统启动的程序,可以是用户启动的应用程序,也可以是系统内部的服务。
  • 进程可以是前台进程(直接与用户交互)或后台进程(不与用户直接交互,通常用于后台服务)。

你可以使用 ps 命令查看当前系统的进程列表:ps aux

如何查看哪个进程占用CPU最高#

要查看哪个进程占用 CPU 最高,可以使用 topps 命令:

  • 使用 top 命令:top 进入 top 后,按 %CPU 列排序,可以查看当前 CPU 占用最高的进程。
  • 使用 ps 命令:ps aux --sort=-%cpu | head -n 10 这会显示占用 CPU 排名前 10 的进程。

如何查看哪个进程占用内存最高#

要查看哪个进程占用内存最高,可以使用 topps 命令:

  • 使用 top 命令:top 进入 top 后,按 %MEM 列排序,可以查看当前内存占用最高的进程。
  • 使用 ps 命令:ps aux --sort=-%mem | head -n 10 这会显示占用内存排前 10 的进程。

系统重启和关机命令有哪些#

在 Linux 系统中,重启和关机的命令如下:

  • 重启系统:reboot
  • 关机系统:shutdown -h now

另外,关机命令还可以指定时间,例如:

  • 在 10 分钟后关机:shutdown -h +10
  • 立即关机并强制关闭进程:poweroff

ctrl+c、ctrl+d在Linux中是什么意思#

在 Linux 中,Ctrl+CCtrl+D 分别有以下作用:

  • Ctrl+C:用来终止当前正在运行的进程。它发送一个 SIGINT(中断信号)给进程,通常用于停止一个长时间运行的命令或进程。
  • Ctrl+D:用于发送 EOF(End of File)信号,表示输入结束。在终端中,它常用于结束一个交互式会话,或者退出某些程序(如 catbash)。在某些情况下,它也会用于关闭管道输入。

参考#

  1. 在Linux中,对比apt和yum两种包管理器在不同Linux发行版中应用有何区别? - 黄嘉波 - 博客园
Linux基础问题 1
https://fuwari.cbba.top/posts/佚名运维免费训练营-第1天/
作者
Chen_Feng
发布于
2025-08-10
许可协议
CC BY-NC-SA 4.0