1.1.排除打包 --exclude--exclude
[root@oldboyedu ~]# cd /data
[root@oldboyedu /data]# ls
1.txt 2.txt 3.txt 4.txt 5.txt
[root@oldboyedu /data]# tar zcvfoldboy.tar.gz ./* --exclude=4.txt --exclude=5.txt #将当前文件压缩成名为oldboy.tar.gz5txt的文件但不压缩4.txt和
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# tar tf
oldboy.tar.gz #不解压查看这个文件的内容
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# rm -f oldboy.tar.gz #强制删除 oldboy.tar.gz文件
[root@oldboyedu /data]# tar zcvf
oldboy.tar.gz ./* --exclude={4,5}.txt#将当前文件压缩成名为oldboy.tar.gz5txt的文件但不压缩4.txt和5.txt
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# tar zcvf
oldboy.tar.gz ./* --exclude={1..4}.txt#将当前文件压缩成名为oldboy.tar.gz5txt的文件但不压缩1-4.txt
./5.txt
./oldboy.tar.gz
[root@oldboyedu /data]# cat paichu.txt #查看文件paicha。txt里的内容
1.txt
2.txt
3.txt
[root@oldboyedu /data]# tar zcvfX
oldboy.tar.gz paichu.txt ./*#X后跟排除文件
./4.txt
./5.txt
./oldboy.tar.gz
./paichu.txt
1.2linux用户分三类:
1.2.1 超级用户管理员
权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。
[root@oldboyedu ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id
uid=0(root) gid=0(root) groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@oldboyedu ~]# whoami
root
不要修改ID为0变管理员。
1.2.2虚拟用户)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499
1.2.3 普通用户
实际存在的用户,又允许登录。管理员身份创建的,帮助管理员管理系统。
权限仅仅限制家目录,在一些系统及目录可以读不可以写,不可以进入/root目录
UID C7 1000起步C6 500起步
创建一个普通用户 useradd oldgirl
1.2.4 用户组
Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl)groups=1001(oldgirl)
1.2.5用户和用户组的关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
1.3 创建用户 用户组查看用户的IDU GID
[root@oldboyedu ~]# useradd test
[root@oldboyedu ~]# id test
uid=1002(test) gid=1002(test)groups=1002(test)
[root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# su - test
[test@oldboyedu ~]$ touch test.txt
[test@oldboyedu ~]$ ls -l
total 0
-rw-rw-r--. 1 test test 0 Oct 1 10:20 test.txt
1.4 文件属性
文件权限:严格的权限,Linux安全权限严格。
rwxr-xr-x
9个字符
r read 可读取4
w write 可写 2
x execute 可执行1
- 没有权限0
字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 13 2019 test
用户权限 用户组权限 其他权限
789列:文件的最后修改时间
1.4.1 文件时间有三种
1.4.1.1 修改时间;modify,文件内容被修改过的文件时间
1.4.1.2 访问时间;access,文件类型被访问过的类型
1.4.1.3 变化时间;change,文件属性发生变化时间
[root@oldboyedu ~]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16829878 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:net_conf_t:s0
Access: 2020-10-01 00:00:21.849999186 +0800访问时间
Modify: 2013-06-07 22:31:32.000000000 +0800修改时间
Change: 2019-03-04 11:15:49.426692303 +0800变化时间
Birth: -
[root@oldboyedu ~]# stat -c %A /etc/hosts
-rw-r--r--
[root@oldboyedu /data]# echooldboy>>test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:07:28.953508888 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# stat test.txt #显示文件的属性及状态
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# chmod +x test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:08:57.442505593 +0800
Birth: -
[root@oldboyedu /data]# ls--time-style=long-iso –l #显示访问时间
total 12
-rw-r--r--. 1 root root 0 2020-10-01 00:19 1.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 2.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 3.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 4.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 5.txt
-rw-r--r--. 1 root root 187 2020-10-0109:01 oldboy.tar.gz
-rw-r--r--. 1 root root 18 2020-10-01 09:01 paichu.txt
-rwxr-xr-x. 1 root root 14 2020-10-01 11:07 test.txt
1.5 显示文件indoe节点信息 ls –lhi
[root@oldboyedu /data]# ls -lhi
total 12K
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 1.txt
第一列:
表现形式是数字33631841 叫做文件的索引节点(Index
Node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3).
索引节点是硬盘上的一块存储空间。大小256字节或512字节。
索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。
磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用是存放文件内容的(大片)。
Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,
特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
一个Block最多只能存一个文件的内容,一个block 4K,放了0.1K文件,剩3.9K浪费了。
[root@oldboyedu /]# df -i 看inode数量
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 9960960 72199 9888761 1% /
devtmpfs 250820 375 250445 1% /dev
tmpfs 253514 1 253513 1% /dev/shm
tmpfs 253514 693 252821 1% /run
tmpfs 253514 16 253498 1% /sys/fs/cgroup
/dev/sda1 131072 332 130740 1% /boot
tmpfs 253514 1 253513 1% /run/user/0
[root@oldboyedu /]# df -h 看block数量
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.9G 18G 10% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 18M 973M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 253M 136M 118M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
1.5.1磁盘满了
磁盘满原因有两种:
1、inode满了。
2、block满了。
提示:
no space left on device 报错,没有空间在设备上了。
磁盘满了。
[root@oldboyedu /]# cd /app/logs/
[root@oldboyedu /app/logs]# touch{1..100}.txt
touch: cannot touch ‘6.txt’: No space lefton device
touch: cannot touch ‘7.txt’: No space lefton device
检查步骤:
步骤1:df -h
步骤2: df -i 看是不是inode满了
为什么inode会满?
小文件太多
初始化时候 block数量远大于inode数量。
一个文件大片占一个inode,10万个block。
[root@oldboyedu /app/logs]# cp /bin/cat ddd
[root@oldboyedu /app/logs]# cp /bin/cat dddd
cp: error writing ‘dddd’: No space left ondevice
cp: failed to extend ‘dddd’: No space lefton device
文件满了。