Linux组的基本介绍
在Linux中的每一个用户必须属于一个组,不能独立于组外,在Linux中每个文件有有所有者,所在组,其它组的概念。
文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
指令
ls -ahl
chown 用户名 文件名
使用root创建一个文件apple.txt 然后将其所有者改为tom
touch apple.txt
chown tom apple.txt
组的创建
指令
groupadd 组名
创建一个组,monster ,创建一个用户fox,并放到monster组中
[root@VM-12-5-centos ~]
[root@VM-12-5-centos ~]
[root@VM-12-5-centos ~]
uid=1004(fox) gid=1004(monster) groups=1004(monster
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
指令
ls -ahl
chgrp 组名 文件名
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪一个组,然后将这个文件所在组,修改到fruit组。
[root@VM-12-5-centos ~]
[root@VM-12-5-centos ~]
[root@VM-12-5-centos ~]
total 1216
drwxr-xr-x 2 root root 4096 Jul 10 09:17 first
-rw-r--r-- 1 root root 0 Jul 11 09:46 orange.txt
[root@VM-12-5-centos ~]
[root@VM-12-5-centos ~]
total 1216
drwxr-xr-x 2 root root 4096 Jul 10 09:17 first
-rw-r--r-- 1 root fruit 0 Jul 11 09:46 orange.txt
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
改变用户所在组
usermod -g 新组名 用户名
usermod -d 目录名 用户名 改变该用户登陆的初始目录
rwx权限
ll /
total 10412
lrwxrwxrwx. 1 root root 7 Mar 7 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jul 11 10:18 boot
drwxr-xr-x 2 root root 4096 Jul 11 10:18 data
-rwxr-xr-x 1 root root 3523900 Jul 8 02:51 ddmwv2
rwx作用到文件
- 【r 】 read 可以读取,查看
- 【w】write 可以进行修改 但是不代表可以删除,删除须有对带目录具有写权限才可以删除
- 【x 】execute 可以被执行
rwx作用到目录
- 【r 】 可以读取 ,ls查看
- 【w】可以修改,对目录内创建+删除+重命名目录
- 【x 】 可执行,可以进入该目录
可用数字表示 r=4,w=2,x=1 因此 rwx=7
权限说明案例
drwxr-xr-x. 6 root root 4096 Jul 11 09:27 home
1. 6 文件:硬连接数或者 目录:子目录数
2. root 用户
3. root 组
4. 4096 文件大小(字节)
5. Jul 11 09:27最后修改时间
6. home 文件名
修改权限 -chmod
通过 chmod指令,可以修改文件或者目录的权限
第一种方式: + , - , = 变更权限
u:所有者,g:所有组,o:其他人 ,a:所有人(u,g,o)
- chmod u=rwx,g=rx,o=x 文件/目录名
- chmod o+w 文件/目录名
- chmod a-x 文件/目录名
案例演示
给 abc 文件的所有者读写执行的权限,给所在组读执行的权限,给其他组读执行的权限。
chmod u=rwx , g=rx , 0=rx abc
给 abc 文件的所有者读写执行的权限,增加组的写权限
chmod u-x, g+w abc
给abc 文件的所有用户添加读的权限
chmod a+r abc
第二种方式:通过数字变更权限 r=4,w=2,x=1
chmod u=rwx ,g=rx,o=x 文件目录名
相当于 chomod 751 文件目录名
修改文件所有者-chown
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录则使其下子文件或目录递归生效
将 /home/abc.txt 文件下的所有者修改成为 tom
chown tom /home/abc.txt
将 /home/test 目录下的所有文件和目录的所有者都修改为tom
chown -R tom /home/test
修改文件/目录所在组-chgrp
chgrp newgroup 文件/目录 [改变所在组]
将/home/abc.txt 文件的所在组修改成 shaolin
groupadd shaolin
chgrp shaolin /home/abc.txt
将/home/test 目录下的所有文件和目录的所有者都修改成为tom
chown -R tom/home/test
crond 任务调度
crontab 进行 定时任务的设置 任务调度:是指系统在某个时间执行的特定的命令或者程序 任务调度分类:系统工作,有些重要的工作必须周而复始地执行,比如:病毒扫描个别用户工作,个别用户可能希望执行某些程序,个别用户执行某些应用程序,比如mysql数据库的备份
crontab [选项]
设置任务调用文件 : /etc/crontab
设置个人任务调用调度 执行crontab -e 命令
接着输入任务到调度文件
如: */1 * * * * ls -l /etc/ > /tmp/to.txt
每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt
应用实例
案例一:每隔一分钟,就将当前的日期信息,追加到 /tmp/mydate文件中
*/1 * * * * date >> /tmp/mydate
[root@VM-12-5-centos home]
[root@VM-12-5-centos home]
-rw-r--r-- 1 root root 40 Jul 12 13:35 my.sh
chmod u+x my.sh
-rwxr--r-- 1 root root 40 Jul 12 13:35 my.sh
[root@VM-12-5-centos home]
[root@VM-12-5-centos home]
Tue Jul 12 13:40:15 CST 2022
July 2022
Su Mo Tu We Th Fr Sa
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
但是我们不能每次都手动执行,我们需要系统为我们做这些事情,所以我们用crontab执行一个定时任务
crontab -e
*/1 * * * * /home/my.sh
案例二:每天的凌晨两点将mysql数据库的testdb,备份到文件中,
mysqldump -u root -p密码 数据库 > > /home/db.bak
crontab -e
0 2 * * * mysqldump -u root -p密码 数据库 > > /home/db.bak
终止任务调度
conrtab -r :终止任务调度
crontab -l :列出当前有哪些任务调度
service crond restart [重启任务调度]
[root@VM-12-5-centos home]
* * * * * /dev/cpu/xqbr5s
上下键可以将以前的指令调出来
at 任务调度
- at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列运行
- 默认情况下,atd守护进程每60s检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
- at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
- 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
ps -ef | grep atd
at【选项】 【时间】
Ctrl + D 结束at命令的输入
at定时任务
案例一:两天后有的下午5点执行 /bin/Is/home
[root@VM-12-5-centos home]
at> /bin/ls /home<EOT>
job 1 at Thu Jul 14 17:00:00 2022
[root@VM-12-5-centos home]
1 Thu Jul 14 17:00:00 2022 a root
案例二:atq命令来查看系统中有没有执行的工作任务
[root@VM-12-5-centos home]
案例三:明天17点钟。输出时间到指定文件内,比如:/root/date100.log
at 5pm tomorrow
date > /root/date100.log
案例四:两分钟后,输出时间到指定文件内,比如 /root/date200.log
at now + 2 minutes
案例五:删除已经设置的任务,atrm编号
[root@VM-12-5-centos home]
1 Thu Jul 14 17:00:00 2022 a root
You have new mail in /var/spool/mail/root
[root@VM-12-5-centos home]
[root@VM-12-5-centos home]
at的玩法
两分钟后执行脚本
at now + 2 minutes
/root/my.sh
Linux分区
磁盘分区机制
原理介绍
- Linux 来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立并且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分
- Linux采用一种叫做“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,并且将一个分区和一个目录联系起来,这时要载入的一个分区使它的存储空间在一个目录下获得
查看所有设备的挂载情况
lsblk -f 或者 lsblk
如何增加一块硬盘
磁盘情况查询:
df -h
du -h
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
-- max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
[root@VM-12-5-centos opt]
containerd mellanox rh
[root@VM-12-5-centos opt]
4.0K /opt/rh
64K /opt/mellanox
4.1M /opt/containerd
4.2M /opt/
4.2M total
[root@VM-12-5-centos ~]
Filesystem Size Used Avail Use% Mounted on
devtmpfs 989M 322M 667M 33% /dev
tmpfs 1000M 588K 999M 1% /dev/shm
tmpfs 1000M 672K 999M 1% /run
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
/dev/vda1 40G 7.9G 30G 22% /
tmpfs 200M 0 200M 0% /run/user/0
磁盘情况-工作实用指令
统计/opt 文件夹下文件的个数
[root@VM-12-5-centos opt]
drwxr-xr-x 3 root root 4096 Jun 27 19:37 containerd
drwxr-xr-x 4 root root 4096 May 29 00:21 mellanox
drwxr-xr-x. 2 root root 4096 Oct 31 2018 rh
统计/opt文件夹下目录的个数
[root@VM-12-5-centos opt]
3
统计/opt文件夹下文件的个数,包括子文件夹里的
[root@VM-12-5-centos opt]
19
以树状显示目录结构
[root@VM-12-5-centos opt]
[root@VM-12-5-centos opt]
/home
|-- fox
| `-- ok.txt
|-- lighthouse
|-- mycal
|-- my.sh
|-- springboot
`-- www
|-- Guoblog-0.0.1-SNAPSHOT.jar
|-- home
| `-- www
| `-- pictureLibrary
|-- log
Linux网络配置
Linux网络配置原理图
[root@VM-12-5-centos opt]
ping测试主机之间网络连通性
ping 目的主机 #测试是否可以连接目的主机
[root@VM-12-5-centos opt]# ping www.baidu.com
PING www.a.shifen.com (112.80.248.76) 56(84) bytes of data.
64 bytes from 112.80.248.76 (112.80.248.76): icmp_seq=1 ttl=53 time=9.66 ms
64 bytes from 112.80.248.76 (112.80.248.76): icmp_seq=2 ttl=53 time=9.68 ms
Linux网络环境配置
直接修改配置文件来指定ip,并可以连接到外网,编辑 vim /etc/sysconfig/network-scripts/ifcfg-ens33 要求将ip地址配置的静态的,
主机名和host
查看并修改主机名
[root@VM-12-5-centos ~]
VM-12-5-centos
[root@VM-12-5-centos ~]
VM-12-5-centos
~
reboot
通过主机名找到(比如ping) 某个Linux系统
- 在window系统下找到C:\Windows\System32\drivers\etc
- 编辑hosts文件添加上 目标主机 主机名
- ping 主机名
Linux下找到window
- 编辑文件 vim /etc/hosts
- 添加 ip 主机名
主机名解析过程分析(Hosts DNS) Hosts是什么–>一个文本文件,用来记录IP和HostName(主机名)的映射关系 DNS
- 是Domain Name System 的缩写,翻译过来就是域名系统
- 是互联网上作为域名和Ip地址相互映射的一个分布式数据库
|