最近在学校利用空闲时间复习及整理Linux基础 加油!
十、组管理和权限管理
10.1 Linux组基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。
在linux中每个文件有所有者、所在组、其它组的概念。
1)所有者
2)所在组
3)其它组
4)改变用户所在的组
10.2 文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
10.2.1 查看文件的所有者
指令:ls –ahl
应用实例
创建一个组police,在创建一个用户tom将tom放在police,然后使用tom来创建一个文件ok.txt,看看情况
10.2.2 修改文件所有者
指令:chown 用户名 文件名
应用案例
要求:使用root 创建一个文件apple.txt ,然后将其所有者修改成 tom
10.3 组的创建
10.3.1 基本指令
groupadd 组名
10.3.2 应用实例:
创建一个组 ,monster
创建一个用户 fox ,并放入到 monster组中
10.4 文件/目录 所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
10.4.1 查看文件/目录所在组
基本指令
ls –ahl
应用实例
10.4.2 修改文件所在的组
基本指令
chgrp 组名 文件名
应用实例
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police组。
10.5 其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
10.6 改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某 个用户所在的组。
改变用户所在组
usermod –g 组名 用户名
usermod –d 目录名 用户名 改变该用户登陆的初始目录。
10.7 权限的基本介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位说明
1)第0位确定文件类型(d, - , l , c , b)
2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User
3)第4-6位确定所属组(同用户组的)拥有该文件的权限,---Group
4)第7-9位确定其他用户拥有该文件的权限 ---Other
10.8 rwx权限详解
rwx作用到文件
[r]代表可读(read): 可以读取,查看
[w]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[x]代表可执行(execute):可以被执行
rwx作用到目录
[r]代表可读(read): 可以读取,ls查看目录内容
[w]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[x]代表可执行(execute):可以进入该目录
10.9 文件及目录权限实际案例
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7
1 文件:硬连接数或 目录:子目录数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示 4096字节
Feb 2 09:39 最后修改日期
abc 文件名
10.10 修改权限-chmod
10.10.1 基本说明:
通过 chmod 指令,可以修改文件或者目录的权限
10.10.2 第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
1)chmod u=rwx,g=rx,o=x 文件目录名
2)chmod o+w 文件目录名
3)chmod a-x 文件目录名
10.10.3 第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7 chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
rwx=4+2+1=7 r-x=4+1=5 r-x=4+x=5
指令:chmod 755 /home/abc.txt
10.11 修改文件所有者-chown
10.11.1 基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效
十一、CROND 任务调度
11.1 原理示意图
crontab 进行 定时任务的设置,。
11.2 概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
11.3基本语法
crontab [选项]
11.3.1 常用选项
11.4 快速入门
11.4.1 任务的要求
设置任务调度文件:/etc/crontab
设置个人任务调度。执行 crontab –e 命令。接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令
11.4.2 步骤如下
1)cron -e
2)*/ 1 * * * * ls -l /etc >> /tmp/to.txt
3)当保存退出后就程序。
4)在每一分钟都会自动的调用 ls -l /etc >> /tmp/to.txt
11.4.3 参数细节说明
11.5 任务调度的几个应用实例
案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
先编写一个文件 /home/mytask1.sh
date >> /tmp/mydate
给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask1.sh
crontab -e
*/1 * * * * /home/mytask1.sh
成功
案例2:每隔1分钟, 将当前日期和日历都追加到 /home/mycal 文件中
先编写一个文件 /home/mytask2.sh
date >> /tmp/mycal cal >> /tmp/mycal
给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask2.sh
crontab -e
*/1 * * * * /home/mytask2.sh
成功
案例3: 每天凌晨2:00 将mysql数据库 testdb ,备份到文件中。
1)先编写一个文件 /home/mytask3.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
给 mytask3.sh 一个可以执行权限
2)chmod 744 /home/mytask3.sh
3)crontab -e
4)0 2 * * * /home/mytask3.sh
5)成功
11.6 crond 相关指令:
conrtab –r:终止任务调度。
crontab –l:列出当前有那些任务调度
service crond restart [重启任务调度]
十二、LINUX 磁盘分区、挂载
12.1 分区基础知识
12.1.1 分区的方式:
1)mbr 分 区 :
1.最多支持四个主分区
2.系统只能安装在主分区
3.扩展分区要占一个主分区
4.MBR 最大只支持 2TB,但拥有最好的兼容性
2) gtp 分区:
1.支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
2.最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )
3.windows7 64 位以后支持 gtp
12.2 windows 下的磁盘分区
12.2 Linux 分区
12.2.1 原理介绍
1)Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
2)Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
12.2.2 硬盘说明
1)Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
2)对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指
IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就 是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
3)对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余 则和IDE硬盘的表示方法一样。
12.2.3 查看所有设备挂载情况
命令 :lsblk 或者 lsblk -f
12.3 挂载的经典案例
增加一块硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念。
如何增加一块硬盘
1)虚拟机添加硬盘
2)分区 fdisk/dev/sdb
3)格式化 mkfs -t ext4 /dev/sdb1
4)挂载 先创建一个 /home/newdisk , 挂在到 mount /dev/sdb1 /home/newdisk
5)设置可以自动挂载 。(永久挂载,当你重启系统,仍然可以挂载到 /home/newdisk)
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0
12.4 挂载的经典案例
12.4.1 虚拟机增加硬盘步骤1
在【虚拟机】菜单中,选择【设 置】,然后设备列表里添加硬盘, 然后一路【下一步】,中间只有 选择磁盘大小的地方需要修改, 至到完成。然后重启系统(才能识别)!
12.4.2 虚拟机增加硬盘步骤2
分区命令 fdisk /dev/sdb
开始对/sdb分区
m 显示命令列表
p 显示磁盘分区 同 fdisk –l
n 新增分区
d 删除分区
w 写入并退出
说明: 开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
12.4.3 虚拟机增加硬盘步骤 3
格式化磁盘
分区命令:mkfs -t ext4 /dev/sdb1
其中 ext4 是分区类型
12.4.4 虚拟机增加硬盘步骤 4
挂载: 将一个分区与一个目录联系起来,
mount 设备名称 挂载目录
例如: mount /dev/sdb1 /newdisk
umount 设备名称 或者 挂载目录
例如: umount /dev/sdb1 或者 umount /newdisk
12.4.5 虚拟机增加硬盘步骤 5
永久挂载: 通过修改/etc/fstab 实现挂载添加完成后 执行 mount –a 即刻生效
12.5 磁盘情况查询
12.5.1 查询系统整体磁盘使用情况
基本语法
df -h
应用实例
查询系统整体磁盘使用情况
12.5.2 查询指定目录的磁盘占用情况
基本语法
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值