常用的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系统属于国产化
国产化操作系统主要包括以下几种:
- 深度Linux(Deepin):基于Linux内核,已具备相对完善的产品体系,并广泛应用于关键领域。
- 统信UOS(统一操作系统):支持多种国产CPU平台,提供专业版、家庭版、社区版和服务器操作系统,系统设计符合国人审美和习惯,安全可靠。
- 优麒麟(UbuntuKylin):全球开源项目,由麒麟软件有限公司主导开发,设计出“简单轻松、友好易用”的桌面环境。
- 红旗Linux:深耕自主化国产操作系统领域二十余年,支持多种CPU指令集架构和国产自主CPU品牌。
- 中标麒麟(NeoKylin):采用强化的Linux内核,分成通用版、桌面版、高级版和安全版等,广泛使用于央企、能源、政府、交通等行业领域。
- 华为欧拉(openEuler):面向服务器的Linux发行版,由华为创建openEuler开源社区并贡献相关能力。
- 中科方德:提供国产服务器操作系统,支持国产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发行版中应用的区别:
- 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
- 更新包列表:
- 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系统之后,如何使用账号密码登录,截图你登录成功的界面
进入系统重,如何重置root用户账号,并使用root进行登录
重置root用户密码
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.txt
和File.txt
被认为是两个不同的文件。 - Windows:文件名不区分大小写。
file.txt
和File.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. 删除目录 (rmdir
或 rm -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
等文件通常是隐藏文件。隐藏文件的主要目的是避免在日常使用中干扰用户操作,通常用于存储配置文件或系统设置。隐藏文件不会在普通的文件浏览器或文件列出命令中显示出来。
隐藏文件与普通文件的区别
- 文件名前缀:
- 隐藏文件:以 点(
.
) 开头,例如.bashrc
、.vimrc
。 - 普通文件:没有点(
.
)开头,例如file.txt
、image.png
。
- 隐藏文件:以 点(
- 显示方式:
- 隐藏文件:默认情况下不会显示在目录列表中,需要使用特定命令来显示。
- 普通文件:直接显示在目录列表中。
- 用途:
- 隐藏文件:通常用于存储系统或应用程序的配置文件和设置,不需要用户频繁访问。
- 普通文件:通常是用户直接操作的文件,如文档、图片、视频等。
如何列出隐藏文件
在 Linux 中,可以使用 ls
命令列出隐藏文件:
- 列出当前目录的所有文件,包括隐藏文件:
ls -a
- 只列出隐藏文件:
ls -d .*
通过这些命令,你可以查看当前目录下的隐藏文件以及文件夹。
Linux下如何编辑文件
1. 使用 nano
编辑文件
nano
是一个简单易用的命令行文本编辑器,适合新手。
-
打开文件进行编辑:
Terminal window nano filename- 在
nano
中,使用箭头键进行导航,直接编辑文件内容。 - 保存文件:按
Ctrl + O
,然后按回车键确认保存。 - 退出
nano
:按Ctrl + X
,如果文件有修改,会提示保存。
- 在
2. 使用 vi
或 vim
编辑文件
vi
是一个功能强大的文本编辑器,适合有一定经验的用户。vim
是 vi
的增强版。
-
打开文件进行编辑:
Terminal window vi filename- 进入
vi
后,默认处于命令模式。 - 按
i
进入插入模式,可以开始编辑文件。 - 编辑完成后,按
Esc
键返回命令模式。 - 保存文件:输入
:w
并按回车。 - 退出编辑器:输入
:q
并按回车。 - 如果你同时想保存并退出,可以输入
:wq
并按回车。
- 进入
3. 使用 gedit
编辑文件
gedit
是一个图形化文本编辑器,适用于有图形界面的 Linux 系统(如 Ubuntu)。
-
打开文件进行编辑:
Terminal window gedit filename该命令会在图形界面中打开文件,你可以直接进行编辑、保存并退出。
4. 使用 echo
或 cat
来快速编辑文件
-
使用
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 最高,可以使用 top
或 ps
命令:
- 使用
top
命令:top
进入top
后,按%CPU
列排序,可以查看当前 CPU 占用最高的进程。 - 使用
ps
命令:ps aux --sort=-%cpu | head -n 10
这会显示占用 CPU 排名前 10 的进程。
如何查看哪个进程占用内存最高
要查看哪个进程占用内存最高,可以使用 top
或 ps
命令:
- 使用
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+C
和 Ctrl+D
分别有以下作用:
Ctrl+C
:用来终止当前正在运行的进程。它发送一个SIGINT
(中断信号)给进程,通常用于停止一个长时间运行的命令或进程。Ctrl+D
:用于发送 EOF(End of File)信号,表示输入结束。在终端中,它常用于结束一个交互式会话,或者退出某些程序(如cat
或bash
)。在某些情况下,它也会用于关闭管道输入。