跳到主要内容

第4章 目录与文件管理

全部都需要掌握,谢谢

Linux远程连接

1.为什么需要远程连接Linux系统

在实际工作中,我们很少有机会实际物理接触服务器,因为服务器一般都是托管在IDC机房的,而我们运维人员则是坐在办公室办公。所以这就需要使用工具来远程连接我们的Linux系统。

2.什么是IP地址

互联网上的计算机都会有一个唯一的32位地址,即IP地址,这个IP地址就相当于服务器所在的位置。
我们找人时,要知道这个人的具体地址,同理,如果要访问连接服务器,那就必须通过服务器的IP地址来实现,服务器的IP地址就相当于是服务器的具体地址。
局域网(只在我们目前的环境里生效)里也有预留的IP地址,通常以192.168.0.0、172.16.开头,每个局域网内的IP地址也是唯一的。

说明:

外网IP地址: 就是在全世界哪里都可以访问的IP地址。
内网IP地址: 就是只能在一个范围内访问的IP地址,例如,一个企业、一个教室,但也不是绝对的,这里可以就这样先简单地理解一下, 后文会深入讲解网络知识。

3.什么是端口

前面介绍了什么是IP地址,但是只有IP地址还不够,我们还需要一个连接端口。
举个例子:
如果IP地址是一栋大楼,那么端口号就是具体的哪个办公室。如果我们想寄快递到教室,那么还必须知道办公室的号码。
室外桃园创意园 A栋311
IP 端口

常见互联网服务的端口:

SSH   22
HTTP 80
HTTPS 443
MySQL 3306

4.什么是协议

一台服务器上可以启动多个协议和多个端口,每个协议都有自己固定的端口。
依然拿上面寄快递的举例。不同的协议有不同的端口,就好比不同的办公室是不同的公司租的。

举例:
室外桃园创意园 A栋311 老男孩教育
IP 端口 协议

服务器地址 端口 协议
10.0.0.100 22 SSH

5.什么是SSH服务

SSH服务就是专门用来提供Linux远程连接的服务,当然也有其他的协议支持远程连接,但是SSH的传输过程中是加密的,所以更安全,这要是为什么大家都使用SSH连接Linux的原因。

我们已经知道了Linux服务器的IP地址,端口号和协议,这样我们就可以远程连接了吗?
这样还是不够的,为什么?因为我们还需要知道服务器的账号密码才行。

所以,远程连接服务器的所有条件如下:
服务器地址 端口 协议 账号 密码
10.0.0.100 22 SSH root 123

远程连接命令如下:
ssh root@10.0.0.100

为什么没有写端口号呢?因为如果不加端口号,默认SSH就是使用22连接的,所以也可以不填写。
那么密码在哪里呢?密码是交互式的输入,因为直接写在命令行里并不安全。

6.远程连接Linux的工具推荐

Windows: xhshell crt
mac: crt

Linux命令行入门

1.Linux命令行的作用与意义

Linux是一个主要通过命令行来进行管理的操作系统,与Windows的可视化管理区别非常大。
Windows的可视化虽然简单容易上手,但是不能快速批量自动化的管理系统。
运维平时工作主要都是在命令行完成的,大多数互联网公司安装系统时都不会安装图形管理软件包,而是直接文本模式安装,登陆后直接就是命令行界面。
简单来说,就是Linux+命令酷炫吊炸天,可以干很多魔术般的事情。

2.命令行字符的含义

[  root        @       oldboy     ~  ]                 #
当前用户名 分隔符 主机名 当前用户登陆后的位置 提示符,root用户是# 普通用户是$

Linux系统目录结构

1.Linux与Windows的目录结构对比

Linux下所有的文件都是从/开始的,/是所有目录共有的爸爸,其他目录都是挂载在/下的子子孙孙。

1726918479024-26cc4b2e-32b0-453e-8fb2-eef400024539.png

1726918479135-c16af2ab-dc13-4791-8f86-9b695ef45f19.png

2.Linux相对路径与绝对路径

绝对路径就是以/为起点,完整的目录路径。
相对路径就是以当前所在目录为起点,表示相对于其他目录的路径。

3.Linux目录结构的特点小结

1."/"根是所有目录的顶点,对于Linux目录来说,一切从根开始。
2.新设备可以挂载到任何目录上使用。
3.所有的目录都是按照一定的类别有规律的进行组织和命名的。
4.磁盘必须被挂载才能使用,没有挂载的磁盘相当于没有门窗的监狱,是不能被使用的。
5.目录路径分为相对路径和绝对路径。

Linux文件目录命令

1.pwd 显示当前所在位置的信息

举例

pwd

2.cd 切换目录

语法格式

cd [option] [dir]
cd [选项] [目录]

重要选项

-    #切换到用户上一次所在的目录路径,游戏来说就是解锁一个传送点,然后传送到上一个存档位置。
~ #切换到当前用户的家目录,默认不接参数,直接执行cd也会达到相同的效果。游戏来说就是直接用回城卷回城了。
.. #切换到当前目录的上一级目录,游戏来说就是返回上一个地图。

技巧

1.当使用cd命令切换目录时,多用tab补全键可以补全路径,可以提高输入速度和准确度。
2.相对路径和绝对路径区别:
相对路径是以当前所在的目录为起点,而不是以"/"为起点
绝对路径是以"/"为起点,例如 /etc/ /data/

练习题

1.进入一个目录
2.切换上一次的目录
3.切换到上一级目录
4.切换到家目录

3.tree 以树状目录结构显示目录下的内容

语法格式

tree [option] [directory]
tree [选项] [目录]

重要选项

-d    #只显示目录
-L N #遍历目录的最大层数,N为大于0的正整数

练习题

1.只列出根目录下第一层的目录结构
2.使用tree命令区分目录和文件的方法
3.只显示目录

4.mkdir 创建目录

语法格式

mkdir [option] [directory]
mkdir [选项] [目录]

重要选项

-p  #1.递归创建目录,递归的意思就是指目录下面还有目录
#2.默认不加参数时如果要创建的目录已经存在,就会报错提示。使用-p参数后即使需要创建的目录已经存在了,也不会提示报错。

练习题

1.创建一个目录
2.递归创建目录

5.touch 创建文件或更改文件时间戳

语法格式

touch [option] [file]
touch [选项] [文件]

重要选项

-a  #更改指定文件的最后访问时间
-m #更改指定文件的最后修改时间

拓展

Linux文件中包含了3种类型的时间戳

练习题

1.批量创建多个空文件
2.更改时间戳
touch oldboy.txt
stat oldboy.txt
touch -a oldboy.txt
stat oldboy.txt
touch -m oldboy.txt
stat oldboy.txt
3.指定时间属性创建/修改文件
ls -lh oldboy.txt
touch -d 20201131 oldboy.txt
ls -lh oldboy.txt

6.ls 显示目录下的内容及属性信息

语法格式

ls [option] [file]
ls [选项] [文件或目录]

重要选项

-l 	#详细的列出文件及目录的信息
-a #显示目录下所有的文件,包含以"."开头的隐藏文件
-h #以人类可读的信息显示文件或目录大小
-d #显示目录本身的信息,而不是目录里面的文件的信息
-r #反向排序
-t #根据最后修改时间进行排序
-i #显示inode节点信息

练习题

1.切换目录,批量创建文件,显示文件内容
2.显示目录文件的详细内容
3.显示目录下的所有文件,包括隐藏文件
4.只显示目录的信息,而不是目录下的文件的信息
5.查找最近更新过的文件
6.以人类可读信息输出

拓展

ls命令输出信息解读:

1726918479276-2a0fd9f6-7a3f-40f1-bf07-41418f727db7.webp

7.cp 复制文件或目录

语法格式

cp [option] [source] [dest]
cp [选项] [源文件] [目标文件]

重要选项

-p	#复制文件时保持源文件。
-d #如果复制的源文件是符号链接,则仅复制符号链接本身,而且保留符号链接所指向的目标文件或目录。
-r #递归复制目录,即复制目录下的所有层级的子目录及文件
-a #等同于上面的p,d,r这3个选项的功能总和。
-i #如果复制的文件已经存在,覆盖前提示用户确认。
-t #默认情况下命令格式是"cp 源文件 目标文件",使用-t参数可以颠倒顺序,格式变成"cp -t 目标文件 源文件"。

练习题

1.将 file1.txt 复制为 file2.txt
2.强制复制 file1.txt 为 file2.txt
3.复制/etc目录及其目录里的所有文件到/opt目录下
4.一条命令备份file1.txt为file1.txt.bak

8.mv 移动或重命名文件

语法格式

mv [option] [source]  [dest]
mv [选项] [源文件] [目标文件]

重要选项

-i  #若目标已经存在,则会询问是否覆盖
-t #与cp命令的-t参数一样,作用是颠倒源目录和目标目录的参数顺序 mv -t 目标目录 源目录

练习题

1.将 file6.txt 重命名为 file7.txt
2.移动的文件如果已经存在不提示报错
3.将file7.txt 移动到 /opt目录下
4.将源文件与目标文件参数顺序调换
5.将目录 dir1 重命名为 dir2

9.⚠️rm⚠️ 删除文件或目录

⚠️警告⚠️

这是Linux最危险的命令之一,跪求谨慎使用。

语法格式

rm [option] [file]
rm [选项] [文件或目录]

重要选项

-f  #强制删除,忽略不存在的文件,不提示确认
-r #递归删除目录及其内容
-i #删除前需要确认

练习题

0.创建测试文件:
mkdir -p /data/\{dir1,dir2,dir3\}
touch /data/\{file1.txt,file2.txt,file3.txt\}
tree /data
cd /data

1.删除file1文件
2.删除dir1目录

拓展

1726918479067-a448c173-80d8-464c-a644-d911436ed149.png

10.help/man 查看命令帮助

语法格式

命令 --help
man 命令

练习题

1.查看shutdown命令的帮助说明

11.Linux下常见关机/重启/注销命令

1.关机命令

shutdown -h now
shutdown -h +1
halt
init0
poweroff

2.重启命令

reboot
shutdown -r now
shutdown -r +1
init 6

3.注销命令

logot
exit

更新: 2024-09-21 19:36:18