目录
一、Linux基本认识
Linux 是一种开源的类 Unix 操作系统,在服务器、嵌入式系统、移动设备等领域都有广泛应用。
特点:
- 开源免费:Linux 的源代码是公开的,任何人都可以自由使用、修改和分发,降低了使用成本。
- 高度的稳定性和可靠性:许多服务器采用 Linux 系统,能够长时间稳定运行,很少出现死机等情况。
系统组成:
- 内核(Kernel):是 Linux 系统的核心,负责管理系统的硬件资源,如 CPU、内存、磁盘等,为上层应用程序提供接口。
- shell:是用户与内核进行交互的桥梁,用户可以通过 shell 输入命令来操作计算机。常见的 shell 有 Bash、Zsh 等。
- 文件系统:负责管理计算机的文件和目录,Linux 采用树形结构的文件系统,常见的文件系统有 ext4、XFS 等。
- 应用程序:包括各种系统工具和用户安装的软件,如文本编辑器(Vim、Emacs)、数据库管理系统(MySQL、PostgreSQL)等。
常见发行版:
- Ubuntu:以桌面应用为主,易于安装和使用,拥有庞大的用户社区和丰富的软件资源,适合初学者。
- CentOS:基于 Red Hat Enterprise Linux(RHEL)的源代码进行再发行,稳定性高,广泛应用于企业级服务器领域。
- Debian:注重稳定性和自由软件原则,拥有大量的软件包,是许多其他发行版的基础。
二、安装Ubuntu
1、下载镜像
网址:Enterprise Open Source and Linux | Ubuntu
这里以ubuntu-22.04.2-desktop-amd64.iso说明
2.开始安装
三、更改apt下载源
默认乌班图从国外服务器下载,需要更改为国内镜像(有些版本默认就是国内的)
国内有许多优质的镜像源可供选择,例如阿里云、清华大学、中科大等。以下是这些镜像源对应的 Ubuntu 软件源配置信息(以 Ubuntu 22.04 为例):
Ubuntu22.04更换软件源_ubuntu22.04换源-CSDN博客
仅供参考
四、设置中文显示与输入
1.进入虚拟机找到设置
2、进入设置找到区域和语言并切换为Chinese,再点击select
3、再点击管理已安装语言,弹框再点击添加或删除语言…(记得点击应用到整个系统)
4、在里面找到中文语言后点击右下角应用
5点注销 重新登录(log in )一下
6、重启后有一个弹框,勾选并点击keep old names
完成!!!
五、磁盘目录说明
在使用Ubuntu操作系统时,了解其磁盘目录结构是非常重要的。Ubuntu采用了一种层次化的文件系统结构,每个目录都有其特定的用途。下面将详细介绍Ubuntu主要磁盘目录的功能和用途。
根目录(`/`)
根目录是整个文件系统的起点,所有其他目录都是从根目录派生出来的。它包含了系统运行所需的所有文件和目录。
常见子目录及其功能
1. `/bin`
用途**:存放系统用户级别的基本命令,这些命令是系统启动和运行所必需的,例如`ls`(列出目录内容)、`cp`(复制文件)、`mv`(移动或重命名文件)等。
特点**:这些命令在系统启动的早期阶段就可以使用,即使文件系统的其他部分尚未挂载。
2. `/sbin`
用途**:存放系统管理员使用的基本命令,通常只有具有root权限的用户才能执行。例如`shutdown`(关闭系统)、`reboot`(重启系统)、`fdisk`(磁盘分区工具)等。
特点**:这些命令主要用于系统管理和维护。
3. `/boot`
用途**:包含系统启动所需的文件,如内核文件(`vmlinuz`)、初始RAM磁盘(`initrd.img`)和GRUB引导加载程序的配置文件等。
特点**:这些文件对于系统的启动至关重要,修改或删除这些文件可能会导致系统无法启动。
4. `/dev`
用途**:设备文件目录,包含了所有的设备文件。在Linux中,设备被视为文件,可以通过对这些文件的读写操作来控制设备。例如,`/dev/sda`表示第一个SCSI或SATA硬盘,`/dev/tty`表示终端设备。
特点**:这些文件实际上并不占用磁盘空间,它们只是系统与硬件设备之间的接口。
5. `/etc`
用途**:存放系统和应用程序的配置文件。例如,`/etc/passwd`包含用户账户信息,`/etc/group`包含用户组信息,`/etc/fstab`包含文件系统挂载信息等。
特点**:修改这些配置文件可以改变系统和应用程序的行为,但需要谨慎操作,以免导致系统不稳定。
6. `/home`
- **用途**:用户主目录的根目录,每个用户都有自己的主目录,位于`/home`下,以用户名命名。例如,用户`john`的主目录是`/home/john`。
特点**:用户可以在自己的主目录中自由创建、修改和删除文件和目录,通常用于存放用户的个人数据和配置文件。
7. `/lib`
- **用途**:存放系统和应用程序运行所需的共享库文件。共享库是一些可以被多个程序同时使用的代码库,这样可以减少内存的占用。例如,`libc.so`是C标准库,许多程序都依赖于它。
- **特点**:这些库文件对于系统和应用程序的正常运行至关重要。
8. `/media`
- **用途**:用于挂载可移动媒体设备,如USB闪存驱动器、光盘等。当插入可移动设备时,系统会自动将其挂载到`/media`下的一个子目录中。
- **特点**:方便用户访问可移动设备中的数据。
9. `/mnt`
- **用途**:临时挂载点,通常用于手动挂载文件系统。例如,当需要挂载一个额外的硬盘分区或网络共享时,可以将其挂载到`/mnt`下的一个目录中。
- **特点**:用户可以根据需要创建和使用`/mnt`下的子目录。
10. `/opt`
- **用途**:用于安装可选的软件包。一些第三方软件可能会将其文件安装到`/opt`目录下,以避免与系统自带的软件冲突。
- **特点**:通常由用户或管理员手动安装和管理。
11. `/proc`
- **用途**:虚拟文件系统,包含了系统和进程的运行时信息。这些信息并不是实际存储在磁盘上的文件,而是由内核动态生成的。例如,`/proc/cpuinfo`包含CPU的信息,`/proc/meminfo`包含内存的信息。
- **特点**:可以通过读取这些文件来获取系统的实时状态信息。
12. `/root`
- **用途**:root用户的主目录。root用户是系统的超级管理员,具有最高的权限。
- **特点**:与普通用户的主目录`/home`不同,root用户的主目录位于`/root`。
13. `/run`
- **用途**:在系统运行期间存放临时文件和信息,如进程ID文件、锁文件等。这些文件在系统启动时创建,在系统关闭时删除。
- **特点**:用于存储系统运行时的临时数据。
14. `/srv`
- **用途**:存放系统提供的服务数据,如网站的网页文件、FTP服务器的文件等。
- **特点**:这些数据通常与系统提供的服务相关。
15. `/sys`
- **用途**:虚拟文件系统,提供了对内核对象和设备驱动的访问接口。通过读取和修改`/sys`下的文件,可以控制和配置内核和设备。
- **特点**:主要用于内核开发和系统调试。
16. `/tmp`
- **用途**:临时文件目录,用于存放系统和应用程序在运行过程中产生的临时文件。这些文件通常在系统重启时会被自动删除。
- **特点**:所有用户都可以在`/tmp`目录中创建和删除文件。
17. `/usr`
- **用途**:存放用户级别的应用程序和文件,是Ubuntu系统中最大的目录之一。它包含了许多子目录,如`/usr/bin`(用户级别的命令)、`/usr/sbin`(用户级别的系统管理命令)、`/usr/lib`(用户级别的共享库)、`/usr/share`(共享数据)等。
- **特点**:这些文件通常是只读的,由系统安装和管理。
18. `/var`
- **用途**:存放经常变化的数据,如日志文件、邮件队列、缓存文件等。例如,`/var/log`目录包含了系统和应用程序的日志文件,`/var/mail`目录包含了用户的邮件。
- **特点**:这些文件的大小和内容会随着系统的运行而不断变化。
了解Ubuntu的磁盘目录结构对于系统管理和使用非常重要。通过熟悉各个目录的功能和用途,用户可以更好地组织和管理自己的数据,同时也能够更方便地进行系统维护和故障排除。在操作文件和目录时,一定要谨慎,特别是对于系统关键目录和配置文件,以免造成系统损坏。
六、常用指令案例
文件和目录操作指令
- 目录操作
cd [目录名]
:切换目录。例如,cd /home/user
可进入/home/user
目录。mkdir [目录名]
:创建新目录。如mkdir mydir
创建名为mydir
的目录。rmdir [目录名]
:删除空目录。
- 文件操作
touch [文件名]
:创建新文件或更新文件的时间戳。如touch test.txt
创建test.txt
文件。cp [源文件] [目标文件或目录]
:复制文件或目录。cp file1.txt /home/user/documents
将file1.txt
复制到/home/user/documents
目录。mv [源文件] [目标文件或目录]
:移动文件或目录,也可用于重命名。mv file1.txt file2.txt
将file1.txt
重命名为file2.txt
。rm [文件名]
:删除文件。rm -r
可用于删除目录及其内容。
- 文件内容查看
cat [文件名]
:查看文件内容,将文件内容一次性输出。more [文件名]
:分页查看文件内容,可通过按空格键翻页。less [文件名]
:也是分页查看文件,功能更强大,可向前、向后翻页,支持搜索等操作。head [文件名]
:查看文件的前几行,默认是前 10 行。tail [文件名]
:查看文件的后几行,默认是后 10 行,tail -f
可用于实时查看文件的新增内容,常用于查看日志文件。
软件安装与管理指令
- 更新软件源列表
sudo apt update
:更新软件源列表,获取最新的软件包信息。
- 安装软件
sudo apt install [软件包名]
:安装软件包。例如,sudo apt install firefox
安装 Firefox 浏览器。
- 卸载软件
sudo apt remove [软件包名]
:卸载软件包,但会保留配置文件。sudo apt purge [软件包名]
:彻底卸载软件包,包括配置文件。
- 查看已安装软件
dpkg -l
:列出所有已安装的软件包。apt list --installed
:也可列出已安装的软件包,显示更详细的版本等信息。
用户和权限管理指令
- 用户管理
adduser [用户名]
:添加新用户,会提示设置密码等信息。deluser [用户名]
:删除用户。su - [用户名]
:切换用户,-
表示切换到目标用户的环境。
- 权限管理
chmod [权限模式] [文件或目录名]
:修改文件或目录的权限。例如,chmod 755 myfile
将myfile
的权限设置为所有者可读、写、执行,组用户和其他用户可读、执行。chown [所有者:组] [文件或目录名]
:修改文件或目录的所有者和所属组。chown user:group mydir
将mydir
的所有者设置为user
,所属组设置为group
。
网络操作指令
- 查看网络配置
ifconfig
:查看网络接口的配置信息,如 IP 地址、子网掩码、MAC 地址等。ip addr show
:功能与ifconfig
类似,用于显示网络接口的详细信息。route -n
:查看路由表信息。
- 网络连接测试
ping [目标IP或域名]
:测试与目标主机的连通性。例如,ping www.baidu.com
可测试是否能连接到百度网站。traceroute [目标IP或域名]
:跟踪数据包到达目标主机所经过的路由路径。
进程管理指令
- 查看进程
ps -aux
:查看系统中所有进程的详细信息,包括进程所有者、CPU 和内存占用等。top
:动态显示系统中各个进程的资源占用情况,可实时查看 CPU、内存等使用情况。
- 终止进程
kill [进程ID]
:通过进程 ID 终止进程。例如,kill 1234
终止进程 ID 为 1234 的进程。killall [进程名]
:通过进程名终止进程。如killall firefox
终止所有 Firefox 进程。
打开文件
vim [文件名]
:使用 Vim 打开指定的文件。如果文件不存在,Vim 会创建一个新文件。例如,vim test.txt
会打开名为test.txt
的文件,如果该文件不存在,则创建一个新的空文件。
基本操作模式
- 命令模式:在 Vim 中打开文件后,默认进入命令模式。在该模式下,可以使用各种命令来移动光标、复制、粘贴、删除等操作。
- 插入模式:通过按下
i
(在光标前插入)、a
(在光标后追加)、o
(在光标所在行的下一行插入新行)等按键可以进入插入模式,在该模式下可以像普通文本编辑器一样输入文本内容。 - 末行模式:按下
:
键可以进入末行模式,用于执行一些命令,如保存文件、退出 Vim、查找替换等操作。
文本查看相关操作
- 光标移动
- 使用
h
(左移)、j
(下移)、k
(上移)、l
(右移)键可以在文本中移动光标。也可以使用Ctrl + f
向前翻页,Ctrl + b
向后翻页。 - 按下
G
可将光标快速移动到文件末尾,按下gg
则回到文件开头。 - 输入
nG
(n
为数字)可以将光标定位到第n
行。
- 使用
- 文本搜索
- 在命令模式下,输入
/[关键词]
可以从当前位置向下搜索关键词,例如/hello
会搜索文本中的hello
字符串。搜索到目标后,可以使用n
键查找下一个匹配项,使用N
键查找上一个匹配项。 - 输入
?[关键词]
则是从当前位置向上搜索。
- 在命令模式下,输入
- 查看文件信息
- 在末行模式下,输入
:set nu
可以显示行号,方便查看和定位文本内容。输入:set nonu
则关闭行号显示。 - 输入
:f
可以查看当前打开文件的名称、文件格式等信息。
- 在末行模式下,输入
退出 Vim
- 在命令模式下:
- 输入
:q
尝试退出 Vim,如果文件有修改未保存,会提示保存。 - 输入
:q!
强制退出,不保存对文件的修改。 - 输入
:wq
保存文件并退出 Vim。
- 输入
其他实用操作
- 复制粘贴
- 在命令模式下,将光标移动到要复制的文本起始位置,按下
v
进入可视模式,然后移动光标选择要复制的文本内容,选好后按下y
键进行复制。将光标移动到要粘贴的位置,按下p
键进行粘贴。
- 在命令模式下,将光标移动到要复制的文本起始位置,按下
- 撤销与恢复
- 按下
u
键可以撤销上一步操作,多次按下u
可以逐步撤销更多操作。如果想要恢复撤销的操作,可以使用Ctrl + r
。
- 按下
七、常用工具
一、Ubuntu 远程连接
(一)服务端配置
在 Ubuntu 系统中,我们通常使用 openssh-server 来实现远程连接功能。
- 更新系统:首先,打开终端,输入以下命令来更新系统软件包列表:
sudo update
这个步骤很重要,它可以确保我们安装的软件是最新版本,避免潜在的安全问题和兼容性问题。
- 安装 openssh-server:更新完成后,通过以下命令安装 openssh-server:
sudo apt install openssh-server
安装过程中,系统会提示你确认安装,按照提示操作即可。
- 启动 ssh 服务:安装完成后,使用以下命令启动 ssh 服务:
systemctl start ssh
此时,你的 Ubuntu 服务器已经准备好接受远程连接。
(二)客户端连接
- 基于 ssh 协议的连接方式
-
- Windows 10 系统:Windows 10 系统自带了 ssh 客户端(ssh.exe)。打开命令提示符,输入以下命令来连接 Ubuntu 服务器:
ssh 用户名@服务器IP
首次连接时,系统会提示你确认服务器的指纹信息,并询问是否继续连接。输入 “yes” 并回车,然后输入服务器用户的密码,即可成功连接。
- 使用 Xshell:Xshell 是一款功能强大的终端模拟器,其个人版可供个人免费使用。打开 Xshell 后,点击 “新建” 按钮,在弹出的对话框中输入服务器的 IP 地址、用户名等信息,然后点击 “连接”。同样,首次连接时需要确认服务器指纹信息并输入密码。
二、Ubuntu 远程拷贝
远程拷贝在实际工作中也非常常用,我们可以使用基于 ssh 协议的 scp 工具来实现。
(一)本地拷贝到远程
- 拷贝文件:如果你想将本地文件拷贝到远程服务器,可以使用以下命令:
scp 本地文件 用户名@ip:路径
例如,将本地的 test.txt 文件拷贝到远程服务器的 /home/user 目录下,命令如下:
scp test.txt user@192.168.1.100:/home/user
- 拷贝文件夹:如果要拷贝整个文件夹,则需要加上 “-r” 参数,命令如下:
scp -r 本地文件夹 用户名@ip:路径
例如,将本地的 myfolder 文件夹拷贝到远程服务器的 /home/user 目录下:
scp -r myfolder user@192.168.1.100:/home/user
(二)远程拷贝到本地
- 拷贝文件:从远程服务器拷贝文件到本地的命令如下:
scp 用户名@ip:路径 本地文件
例如,将远程服务器上 /home/user/test.txt 文件拷贝到本地当前目录:
scp user@192.168.1.100:/home/user/test.txt.
- 拷贝文件夹:同样,拷贝远程文件夹到本地也需要加上 “-r” 参数:
scp -r 用户名@ip:路径 本地文件
例如,将远程服务器上 /home/user/myfolder 文件夹拷贝到本地当前目录:
scp -r user@192.168.1.100:/home/user/myfolder.
通过以上介绍,相信你已经掌握了 Ubuntu 的远程连接和远程拷贝操作。无论是进行系统管理还是文件传输,这些技能都能让你的工作更加高效便捷。在实际使用过程中,根据具体需求灵活运用这些命令,你会发现它们的强大之处。