Linux 的目录结构
整个系统目录结构是一个树形结构
树根:/
一切皆文件的设计思想
文件夹是用来组织文件
linux中的文件夹 —-》目录文件
绝对路径、相对路径
绝对路径:
以/开头的路径
特点:当前无论你在哪个文件夹下面,用绝对路径肯定能找到目标文件
/a/b/c/d/1.txt
相对路径:
不是以/开头的路径
特点:基于当前文件夹往后进行查找
cd /a/b/c/
d/1.txt
特殊符号:
.:代表当前目录,例如:./b/c/1.txt
..: 代表上一级目录
../../../a.txt
~: 代表的是当前登录用户的家目录
root----》/root
普通----》/home/用户名
[!NOTE] 补充:
windows的文件夹不区分大小写
linux的文件夹区分大小写
文件的种类
对比windows系统,区分文件,用后缀名区分
a.txt # 文本文件
a.mp4 # 视频文件
a.jpg # 图片文件
1
2
3
4
5
6
7
8
9
10
11
12
13
|
ls -l
-: 代表的是普通文件,包含文本文件、图片、视频
d:代表的是目录文件,本质就是文件夹
b: 代表的是block块设备文件,例如:ls -l /dev/sda
站在硬盘的角度最小读写单位是一个扇区
站在操作系统的角度最小的读写单位一个block块(默认是由8个扇区)
l:代表的是软连接,就相当于windows系统中快捷方式
c 设备文件(字符设备)打印机,例如:终端/dev/tty1
s 套接字文件,例如:/run/chrony/chronyd.sock
p 管道文件,例如:/run/systemd/initctl/fifo
|
Linux 各个目录的作用(⭐)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
[root@aliyun ~]# ls -l / # /是所有linux操作系统的顶点目录,不像windows,每个分区都有一个顶点目录
total 64
#1、命令相关目录
lrwxrwxrwx. 1 root root 7 Jul 11 2019 bin -> usr/bin # 普通用户使用的命令如ls、date
lrwxrwxrwx. 1 root root 8 Jul 11 2019 sbin -> usr/sbin # 管理员使用的命令
#2、启动目录
dr-xr-xr-x. 5 root root 4096 Feb 11 19:06 boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)
#3、系统文件目录
drwxr-xr-x. 13 root root 4096 Jul 11 2019 usr # 系统文件,相当于C:\Windows
lrwxrwxrwx. 1 root root 7 Jul 11 2019 lib -> usr/lib # 库文件Glibc
lrwxrwxrwx. 1 root root 9 Jul 11 2019 lib64 -> usr/lib64 # 库文件Glibc
#4、用户家目录
drwxr-xr-x. 5 root root 4096 Feb 24 16:42 home # 普通用户家目录
dr-xr-x---. 11 root root 4096 Jul 8 17:03 root # root用户的HOME
#5、配置文件目录
drwxr-xr-x. 79 root root 4096 Jul 8 17:04 etc # 配置文件,很重要,系统级服务配置文件都在这里
"""
/etc/sysconfig/network-script/,网络配置文件目录,具体的网卡配置文件rockylinux有变动
/etc/hostname,系统主机名配置文件
/etc/resolv.conf,dns客户端配置文件
/etc/hosts,本地域名解析配置文件
/etc/fstab 系统挂载目录 开机自启动挂载列表
/etc/passwd 系统用户文件
"""
#6、设备目录文件
drwxr-xr-x 19 root root 2960 Feb 15 17:22 dev # 设备文件,/dev/sda /dev/sr0
"""
/dev/cdrom 和/dev/sr0,系统光盘镜像设备
/dev/null,黑洞设备,只进不出。类似于垃圾回收站
/dev/random,生成随机数的设备
/dev/zero,能源源不断地产生数据,类似于取款机,随时随地取钱
/dev/pts/0,虚拟的Bash Shell终端,提供给远程用户使用 0代表第一个终端 1代表第2个终端
以此类推
/dev/stderr,错误输出
/dev/stdin,标准输入
/dev/stdout,标准输出
"""
#7、虚拟文件系统:类似于小汽车的仪表板,能够看到汽车是否有故障,或者是否缺油了。
dr-xr-xr-x 89 root root 0 Feb 15 17:22 proc # 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
"""
反映系统当前进程的实时状态
/proc/meminfo:内存信息
/proc/cpuinfo:cpu信息
"""
#8、可变的目录与临时目录
drwxr-xr-x. 19 root root 4096 Jul 11 2019 var #存放的是一些变化文件,比如数据库,日志,邮件....
"""
/tmp,系统临时目录(类似于公共厕所),系统会定时删除该目录下长时间没有访问的文件。
/var,存放一些变化文件,如下
mysql: /var/lib/mysql
vsftpd: /var/ftp
mail: /var/spool/mail
cron: /var/spool/cron
log: /var/log 系统日志文件存放目录
/var/log/messages系统日志
/var/log/secure系统登录日志
/var/tmp 临时文件(主要是程序产生的临时文件)
"""
#9、设备(主要指存储设备)挂载目录
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media # 移动设备默认的挂载点
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt # 手工挂载设备的挂载点
drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt # 早期第三方厂商的软件存放的目录.
drwxrwxrwt. 10 root root 4096 Jul 9 15:16 tmp # 临时存放文件,类似于回收站,超过十天自动删除
#10、了解(centos7中)
drwx------. 2 root root 16384 Jul 11 2019 lost+found # 孤儿文件,rocklinux中没有
这个目录是使用标准的ext2/ext3档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。这个目录通常会在分割槽的最顶层存在, 例如你加装一颗硬盘于/disk中,那在这个系统下就会自动产生一个这样的目录『/disk/lost+found
lost+found这个目录一般情况下是空的,当系统非法关机后,如果你丢失了一些文件,在这里能找回来用来存放fsck过程中部分修复的文件的
lost+found:几乎每个被格式化过的Linux分区都会有,意外后找回的文件一般在这里面。
这个目录是储存发生意外后丢失的文件的。只有root用户才能打开
drwxrwxr-x 6 root root 4096 Feb 23 19:24 application
drwxr-xr-x 25 root root 660 Jul 8 17:00 run # 存放程序运行后所产生的pid文件
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv # 物理设备产生的一些文件
dr-xr-xr-x 13 root root 0 Feb 16 01:22 sys # 硬件设备的驱动程序信息
|
远程连接工具
服务器上安装服务端程序:openssh-server
systemctl status sshd # 配置文件/etc/ssh/sshd_config
syst emctl restart sshd # 重启会重新加载配置文件
在个人电脑要按照一个ssh的客户端程序
ssh的客户端种类:
- windows:
1、xshell
2、secureCRT
3、putty
- macOS:
本身就自带ssh客户端
xterm
文件管理相关命令
基础命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
(1)查看当前所在的文件夹
pwd
(2)切换目录
cd /etc/sysconfig
cd /etc
cd sysconfig
cd .
cd ..
cd # 等同于 cd ~
cd - # 切换到上一次所在的文件夹
(3)查看目录层级结构
yum install tree -y
tree
tree -F # 针对目录会在结尾加/来表示
tree -a # 隐藏文件也会展示
tree -d # 只展示目录
tree -F -a -L 1 /tmp/ # 指定查看的层级
(4)ls 浏览命令
ls -l # 查看的是文件的元数据
ls -lh # 文件大小带着单位
ls -a # 可以查看到点开头的文件这种隐藏文件
ls -dl /tmp # 查看某个目录本身的元数据
ll # 等同于 ls -l --color=auto
ls -l 查看出的各部分元数据的含义
|
1
2
|
[root@www ~]# ll /tmp/a.txt
-rwxr-xr--. 1 root group 1 31457280 4 月 16 14:21 /tmp/a.txt
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
-:文件的类型
rw-r--r--:权限
.: 代表该文件是在开启selinux的情况下创建
setenforce 0 # 临时关闭selinux
vi /etc/sysconfig/selinux # 永久关闭
修改:
SELINUX=disabled
getenforce
1: 硬链接数
root: 属主
group1:属组
31457280: 文件的大小
4 月 16 14:21:文件的内容修改时间 modify time--》mtime
/tmp/a.txt: 文件名
|
文件的三种时间(mtime、atime、ctime)
修改时间(mtime, Modification Time)
访问时间(atime, Access Time)
变更时间(ctime, Change Time)
1
2
3
4
5
|
stat /tmp/111. txt
atime: 查看一次文件内容,atime就会变一次
mtime:文件内容改动,该时间才会变
ctime:文件元数据(权限、属主、属组变化)的变量、文件内容的变化,该时间都会变
|
文件管理命令
1 、普通文件、目录文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
- 创建
(1)创建普通文件
注意:touch 创建的都是普通文件(包含、图片、视频、文本文件)
touch /tmp/222. txt
touch /tmp/1. jpg
touch /tmp/1. mp 4
touch /tmp/{1..10}.txt
touch /tmp/{a..c}.txt
touch /tmp/Ego{n,N}.txt
(2)创建目录
mkdir -p /tmp/a/b/c/d/e
mkdir /tmp/mmm{1..3}
- 复制
(1)复制普通文件
cp /etc/hosts /tmp/ 目标/tmp/hosts
cp /etc/hosts /tmp/1.txt 目标/tmp/1.txt
(2)复制目录
cp -r /etc /tmp
cp -r /etc /tmp/xxx
- 移动(剪切)
(1) 移动普通文件
mv /a/b/c.txt /tmp/
mv /a/b/c.txt /tmp/b.txt
(2)移动目录
同上(不需要加-r)
(3)改名字
在同一个文件夹下面
mv a.txt b.txt
- 删除
rm -rf /tmp/* 删除/tmp下所有的内容
|
2、文件内容如何操作(文本文件)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
cat /etc/hosts # 查看所有内容
less # 上下键翻页,输入 q 退出
more # 百分比 回车翻页
head -3 /etc/passwd # 查看头几行
tail -3 /etc/passwd # 查看末尾几行
ps aux | head -3
ps aux | tail -3
tail -f /var/log/messages # -f 可以动态查看文件新增的内容
echo 111 > /tmp/a.txt # 覆盖写
echo 111 >> /tmp/a.txt # 追加写
|