ubuntu学习
参考:https://blog.csdn.net/m0_70395069/article/details/145762762
磁盘目录说明:
常见子目录及其功能
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`目录包含了用户的邮件。
- **特点**:这些文件的大小和内容会随着系统的运行而不断变化。
文件和目录操作指令:
目录操作指令:
cd 切换目录,例如cd /dify/docker就是进入了dify/docker目录下
mkdir +目录名 创建新目录
rmdir +目录名 删除空目录
文件操作指令:
touch:创建新文件或更新文件时间戳
cp:复制文件或目录 例如:cp file.txt user/files 就是将file文件复制在user/files目录下
mv:移动文件或目录 mv file.txt user/another 也可以用于重命名:mv file.txt file2.txt
rm:删除文件 rm -r也可以用于删除目录
软件安装与管理指令:
更新:sudo apt update
安装:sudo apt install
卸载:sudo apt remove(卸载软件包,但会保留配置文件)
sudo apt purge(彻底卸载软件包,包括配置文件)
查看已安装的软件:
dpkg -1:列出已安装的软件包/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、查找替换等操作。
一、Ubuntu远程连接
sudo update
sudo apt install openssh-server
systemctl start ssh启动ssh服务
二、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.
浙公网安备 33010602011771号