diff --git "a/\344\270\201\346\265\267\351\234\262/20240516Linux\345\237\272\347\241\200.md" "b/\344\270\201\346\265\267\351\234\262/20240516Linux\345\237\272\347\241\200.md" new file mode 100644 index 0000000000000000000000000000000000000000..27541052d88fb4cfa5eea00c2b5ba29f99a7739c --- /dev/null +++ "b/\344\270\201\346\265\267\351\234\262/20240516Linux\345\237\272\347\241\200.md" @@ -0,0 +1,57 @@ +### Linux基础 + +1.Linux是操作系统的内核,以其为基础会有很多发行版本 + +- RedHat收费商业版本,Centos是RedHat的社区版本很流行 +- Debian命令行为主,Uebian+桌面皮肤的版本 +- 类似显卡的核心,N卡A卡相当于内核,不同商家处的具体型号的显卡,相当于发行版本 + +2.学习Debian的两种方式 + +- 安装虚拟机,再安装Debian,快照 +- 利用阿里云、华为云、腾讯云,也利用快照功能,对服务器进行存档 + +3.准备好虚拟机VM 17版本+Debian 12.5 64位的ISO文件 + +``` + 1. 先安装Vm,再创建一个新的虚拟机 + 1. 下载Debian的安装镜像 https://www.debian.org/ +``` + +4.先安装VM,再创建一个新的虚拟机 + +5.如何下载一个Debian安装镜像 + +``` +apt-get install ssh -y // 需要root权限,安装SSH服务端 +ip addr show // 查看IP地址 +ifconfig // 需要root权限,可以借权sudo +// 以上两步,就可以让我们用普通用户远程登录了,但是默认下root是不可以直接登录的。需对ssh做配置 + +// 为了方便我们编辑文件。安装一个vim编辑器,默认是vi +``` + +6.修改ssh的服务端配置文件 + +``` +vim /etc/ssh/sshd_config +Port 22// 开启端口22 +PermitRootLogin yes // 允许root登录 +PasswordAuthentication yes // 采用密码验证模式 +PermitEmptyPasswords no // 禁用空密码 +``` + +7.借用root权限 + +``` +1. 安装sudo +apt-get install sudo -y +2. 将普通用户名加入 +vim /etc/sudoers +## +## Allow root to run any commands anywhere +root ALL=(ALL) ALL +用户名 ALL=(ALL) ALL +``` + +8.重新登录普通用户就可以sudo功能 \ No newline at end of file diff --git "a/\344\270\201\346\265\267\351\234\262/20240519 Debian Linux \347\233\256\345\275\225\347\273\223\346\236\204.md" "b/\344\270\201\346\265\267\351\234\262/20240519 Debian Linux \347\233\256\345\275\225\347\273\223\346\236\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..f05c86f463b0c98c758dc4b8789a3b4755ce1009 --- /dev/null +++ "b/\344\270\201\346\265\267\351\234\262/20240519 Debian Linux \347\233\256\345\275\225\347\273\223\346\236\204.md" @@ -0,0 +1,216 @@ +## Debian Linux 目录结构简介 + +Debian Linux采用了典型的Linux文件系统结构,以下是其主要目录结构: + +```csharp +/ # 这是文件系统的起点。所有的目录和文件都从这里开始。 +├── bin # 常规执行程序的存放位置,普通用户 +├── boot # 包含引导加载程序和内核文件 +├── dev # 包含设备文件 +├── etc # 存放系统配置文件 +├── home # 普通用户的家目录所在地 +├── lib # 存放系统库文件 +├── media # 用于挂载可移动介质的挂载点 +├── mnt # 用于手动挂载临时文件系统的挂载点 mount +├── opt # 可选的第三方软件包的安装目录 +├── proc # 虚拟文件系统,提供有关系统和运行进程的信息 +├── root # root用户的家目录 +├── run # 运行时临时文件目录 +├── sbin # 存放系统管理员需要的系统管理命令 +├── srv # 存放服务的数据目录 +├── sys # 包含虚拟文件系统,如文件系统相关的信息和统计数据 +├── tmp # 临时文件目录 a +├── usr # 包含大部分用户安装的程序和文件 +├── var # 包含经常变化的文件,如日志文件、缓存文件等 +└── lost+found# 文件系统检查程序将损坏的文件片段放置在此处 +``` + +现在我们来逐一解释每个目录的作用,并给出相应的示例。 + +# Linux文件系统目录结构 + +## / + +`/` 目录是Linux文件系统的根目录,包含了整个文件系统的基础结构。 + +### /bin + +`/bin` 目录是“binary”的缩写,存放着系统启动时需要的最基本的命令。这些命令通常是所有用户都需要的,因此放在这个目录下。它包含一些最常用的命令,如 `ls`、`cp`、`mv` 等,用于列出目录内容、复制文件、移动文件等常见操作。程序的成品目录。===》源码--》编译得到二进制的成品 + +#### 示例 +```bash +/bin/ls # 列出当前目录内容 +/bin/cp # 复制文件 +/bin/mv # 移动文件 +``` +------ + +### /boot + +`/boot` 目录包含了引导加载程序以及内核文件。在系统启动时,计算机首先加载引导加载程序,然后引导加载程序再加载内核文件,从而启动操作系统。 + +#### 示例 +```bash +/boot/grub/ # 存放 GRUB 引导加载程序相关文件 +/boot/vmlinuz-5.10.0-10-amd64 # Linux 内核文件 +``` +### /dev + +`/dev` 目录包含了设备文件,这些文件用于与系统中的硬件设备进行通信。在Linux中,一切皆文件,因此硬件设备也被抽象为文件的形式存在于 `/dev` 目录中。 + +#### 示例 +```bash +/dev/sda # 硬盘设备文件 +/dev/ttyUSB0 # USB 串行设备文件 +``` +### /etc + +`/etc` 目录存放系统的配置文件。这些配置文件包括各种应用程序、服务以及系统本身的配置信息,如网络配置、软件包管理器配置等。 + +#### 示例 +```bash +/etc/network/interfaces # 网络接口配置文件 +/etc/apt/sources.list # APT 软件源配置文件 +/etc/nginx/nginx.conf # nginx软件配置文件 +/etc/ssh/sshd_config # sshd服务端配置文件 +``` +### /home + +`/home` 用户的家目录,每个用户都有一个以其用户名命名的目录。每个用户都有一个独立的家目录,用于存放其个人文件和设置。 + +#### 示例 +```bash +/home/user1/ # 用户1的家目录 +/home/user2/ # 用户2的家目录 +``` +### /lib + +`/lib` 目录存放着系统所需的共享库文件,这些库文件为系统运行时所必需的。在系统启动过程中,引导加载程序会加载这些共享库,以便其他程序能够正常运行。 + +#### 示例 +```bash +/lib/x86_64-linux-gnu/libc.so.6 # C标准库 +/lib/x86_64-linux-gnu/libm.so.6 # 数学库 +``` +### /media + +`/media` 目录是用于挂载可移动介质的挂载点。当插入可移动介质(如USB闪存驱动器、光盘等)时,系统会将其挂载到此目录下,用户可以通过该目录访问其内容。 + +#### 示例 +```bash +/media/usb/ # 挂载 USB 闪存驱动器 +/media/cdrom/ # 挂载光盘 +``` +### /mnt + +`/mnt` 目录是用于手动挂载临时文件系统的挂载点。通常情况下,可移动介质等临时挂载的文件系统会被挂载到 `/media` 目录下,而 `/mnt` 目录则用于手动挂载其他临时文件系统,如远程文件系统等。 + +#### 示例 +```bash +/mnt/remote_fs/ # 手动挂载远程文件系统 +``` +### /opt + +`/opt` 目录是可选的第三方软件包的安装目录。一些软件包可能选择将其安装到 `/opt` 目录下,而不是 `/usr` 目录下,以便更好地管理。 + +#### 示例 +```bash +/opt/google/chrome/ # Google Chrome 浏览器安装目录 +``` +### /proc + +`/proc` 目录是一个虚拟文件系统,它提供了有关系统和运行进程的信息。在 `/proc` 目录下,每个运行的进程都有一个对应的子目录,其中包含了有关该进程的详细信息。 + +#### 示例 +```bash +/proc/cpuinfo # CPU 信息 +/proc/meminfo # 内存信息 +``` +### /root + +`/root` 目录是root用户的家目录。与普通用户的家目录类似,root用户也有一个独立的家目录,用于存放其个人文件和设置。 + +#### 示例 +```bash +/root/ # root 用户的家目录 +``` +### /run + +`/run` 目录是一个运行时临时文件目录,用于存放系统启动过程中产生的临时文件以及运行时需要的其他临时文件。 + +#### 示例 +```bash +/run/user/1000/ # 用户1000的运行时临时文件目录 +``` +### /sbin + +`/sbin` 目录存放着系统管理员需要的系统管理命令。与 `/bin` 目录类似,但 `/sbin` 目录中的命令通常只能由系统管理员或具有管理员权限的用户执行。 + +#### 示例 +```bash +/sbin/reboot # 重启系统命令 +/sbin/ifconfig # 配置网络接口命令 +``` +### /srv + +`/srv` 目录存放着服务的数据目录。一些服务可能会将其数据文件存放在 `/srv` 目录下,以便更好地管理和组织。 + +#### 示例 +```bash +/srv/www/ # Web 服务器数据目录 +``` +### /sys + +`/sys` 目录包含了一个虚拟文件系统,用于提供关于系统硬件设备的信息以及与这些设备的交互接口。与 `/proc` 目录类似,但 `/sys` 目录提供的信息更加详细和底层。 + +#### 示例 +```bash +/sys/class/net/eth0/ # 网络接口 eth0 的相关信息 +``` +### /tmp + +`/tmp` 目录是一个临时文件目录,用于存放临时文件。该目录中的文件通常在系统重启后会被删除,因此适合存放一些临时性的数据。 + +#### 示例 +```bash +/tmp/tmpfile.txt # 临时文件 +``` +### /usr + +`/usr` 目录包含了大部分用户安装的程序和文件。该目录下包含了各种应用程序、库文件、帮助文档等,是系统中最常用的目录之一。 + +#### 示例 + +```bash +/usr/bin/ # 用户可执行文件目录 +/usr/lib/ # 库文件目录 +/usr/share/doc/ # 文档目录 +``` + +### /var + +`/var` 目录包含了经常变化的文件,如日志文件、缓存文件、临时文件等。这些文件通常是由系统或运行中的服务产生的,因此需要定期清理和管理。 + +#### 示例 +```bash +/var/log/syslog # 系统日志文件 +/var/cache/apt/archives/ # APT 软件包缓存目录 +``` + +------ + +### /lost+found + +- 当文件系统被fsck(文件系统一致性检查工具)修复时,找到的孤立的文件片段会被存放在这里。 + +总的来说,Debian Linux的目录结构与通用的Linux文件系统目录结构基本相同,但可能会有一些特定于Debian的细微差异。 + +**例如:** + +```bash +/etc/apt/ # Debian软件包管理工具APT的配置文件目录。 +/var/log/ # Debian系统的日志文件目录。 +/var/cache/apt/ # APT软件包缓存目录。 +/usr/share/doc/ # Debian安装的软件包的文档目录。 +``` +