上一篇:Linux学习笔记 #1
Linux学习笔记 #2
下一篇:Linux学习笔记 #3
4 组管理和权限管理
4.1 组基本介绍
在Linux中每个用户必须属于一个组。
概念:所有者、所在组、其他组。
- 所有者:一般为文件的创建者。
- 所在组:用户所在的组。
- 其他组:除去用户所在组外的其他组。
4.2 权限基本介绍
命令ls -l
中,显示的内容如下:
位置编号:0123456789
每行显示:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0~9位说明:
- 第0位确定文件类型(d,-,l,c,b)。
l是链接,相当于windows里的快捷方式
d是目录
c是字符设备文件,鼠标,键盘
b是块设备,如硬盘
-是普通文件- 第1~3位确定所有者(该文件的所有者)拥有该文件的权限。
- 第4~6位确定所属组(同用户组)拥有该文件的权限。
- 第7~9位确定其他用户拥有该文件的权限。
r、w、x分别代表三种权限:
- 对文件来说:
【r】可读(read)——可以读取、查看。
【w】可写(write)——可以修改,但是不代表可以删除该文件。删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
【x】可执行(execute)——可以被执行。- 对目录来说:
【r】可读(read)——可以读取,ls查看目录内容。(无此权限,则无法使用ls
命令、显示目录内容)
【w】可写(write)——可以修改,对目录内创建+删除+重命名目录。(无此权限,则无法在该目录内创建和删除文件)
【x】可执行(execute)——可以进入该目录。(无此权限,则无法使用cd
命令)
其他说明
1 ——对文件:硬链接数;对目录:子目录数 root ——用户 root ——组 1213 ——对目录,显示文件大小(字节);对文件夹,显示4096字节 Feb 2 09:30 ——最后修改日期 abc ——文件名
特别注意,如果要对目录内的文件进行操作,首先需要有对该目录的相应权限。
4.3 组和权限的相关命令
4.3.1 修改文件/目录所有者
- 【指令】修改文件的所有者:
chown 新所有者 文件/目录名
- 【指令】修改文件的所有者和所在组:
chown 新所有者:新所在组 文件/目录名
-R
:如果是目录,则使其下所有文件和目录递归生效 - 【指令】查看文件/目录所在组:
ls -ahl
以上每行第一个root代表所有者,第二个root代表所有者所在组
4.3.2 组的创建
- 【指令】创建组:
groupadd 组名
- 【指令】创建一个用户,并放入到monster组中:
useradd -g 组名 用户名
- 【指令】查看用户所在组:
id 用户名
- 当创建一个文件时,该文件的默认所在组为该用户所在的组。
4.3.3 修改文件/目录所在组
- 【指令】修改文件所在的组:
chgrp 新组名 文件/目录名
4.3.4 修改用户所在组
- 【指令】改变用户所在组:
usermod -g 新组名 用户组
- 【指令】改变用户登录的初始目录:
usermod -d 目录名 用户名
用户需要有进入新目录的权限
4.3.5 修改权限
- 【指令】修改文件或者目录的权限:
chmod u=rwx,g=rx,o=x 文件/目录名
或chmod 751 文件/目录名
chmod o+w 文件/目录名
chmod a-x 文件/目录名
u:所有者;g:所有组;o:其他人;a:所有人(u,g,o的总和)
或令r=4,w=2,x=1,则可通过0~7来赋予8种不同的权限
5 定时任务调度
- 任务调度:指系统在某个时间执行特定的命令或程序。
- 任务调度分类:
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
- 个别用户工作:个别用户可能希望执行某些程序。如对mysql数据库的备份。
5.1 crond任务调度
-
语法:
crontab [opt]
-
[opt]
:-e
:编辑crontab定时任务。-l
:查询crontab任务。-r
:删除当前用户所有的crontab任务。
-
示例1:设置个人任务调度,执行
crontab -e
命令。接着输入任务到调度文件。
目标:每隔一分钟,在/tmp/to.txt中更新/etc/的ls
列表。
方法:输入crontab -e
,然后在打开的vim里输入:*/1 * * * * ls -l /etc/ > /tmp/to.txt
每小时的每分钟执行
ls -l /etc/ > /tmp/to.txt
命令参数细节说明(5个占位符):
-
示例2:
目标:每隔一分钟,将日历和时间都追加到/home/mycal中。
方法:- 首先创建脚本:
在/home/下创建脚本my.sh
内容为:vim /home/my.sh
date >> /home/mycal cal >> /home/mycal
- 然后授予执行脚本用户相关执行权限
chmod u+x user
- 最后使用
crontab -e
进行crond定时任务调度*/1 * * * * /home/my.sh
- 首先创建脚本:
5.2 at定时任务
- at命令是一次性定时计划任务,执行完一个任务后就不再执行此任务了。
- at的守护进程atd会以后台模式运行,检查作业队列来运行。默认情况下,atd守护进程每60s检查作业队列,若有作业则检查其运行时间,若与当前时间匹配则运行次作业。
- 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看。
ps -ef
指令:检查当前进程
加上过滤–>ps -ef | grep atd
:检查是否有atd进程 - at命令格式
at [选项] [时间]
,命令输入完毕后按Ctrl+D结束[选项]
的指定
[时间]
的指定
- 示例
任务:2天后的下午5点执行/bin/ls /home
。
步骤:- 输入命令:
at 5pm + 2 days
。 - 在下一行提示符
at>
后,输入命令:/bin/ls /home
。 - 输入两次Ctrl+D作为结束。
- 使用命令
atq
查看系统中没有执行的任务。 - 使用命令
atrm [编号]
来删除已经设置的任务。
- 输入命令:
6 Linux磁盘分区与挂载
6.1 基本介绍
- 磁盘有分区;文件系统有目录。Linux只有一个根目录、一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分。
- 【命令】
lsblk
或lsblk
:查看分区和挂载情况。 - 挂载(mount):将一个分区和一个目录联系起来。
- 硬盘说明
6.2 增加磁盘/挂载相关指令
6.3 磁盘情况相关指令
- 【指令】查询系统整体磁盘使用情况:
df -h
- 【指令】查询指定目录的磁盘占用情况:
du [选项] [目录]
- 选项:
-s
:指定目录占用大小汇总。-h
:带计量单位。-a
:含文件。--max-depth=1
:子目录深度。-c
:列出明晰的同时,增加汇总值。
- 选项:
6.4 常用磁盘查询指令示例
-
统计/opt下文件的个数:
ls -l /opt | grep "^-" | wc -l
-
统计/opt下目录的个数:
ls -l /opt | grep "^d" | wc -l
-
统计/opt下文件的个数,包括子文件夹里的:
ls -lR /opt | grep "^-" | wc -l
ls
的选项-R
可实现递归。 -
以树状显示目录结构:
tree \home
如果没有tree,则使用yum install tree安装。
7 网络配置
7.1 基本介绍
- 查看ip:
- Linux上查看ip:
ifconfig
- Windows上查看ip:
ipconfig
- Linux上查看ip:
- 主机Windows中:
同网段,可互ping通。
- Linux虚拟机:ens160:192.168.219.129
- Windows网络适配器:vmnet8:192.168.219.1
- Linux虚拟机:ens160:192.168.219.129
7.2 NAT网络配置
- Linux虚拟机上网过程:Linux虚拟机 --> vmnet8 --> 主机无线网卡 --> 主机所在局域网网关 --> 互联网
7.2.1 自动获取IP
7.2.2 手动设置IP(指定IP)
- 直接修改配置文件来指定IP,并且可以连接到外网。
- 要求:将IP地址配置成静态的。如:192.168.200.130。
- 方法:编辑
vim /etc/systemconfig/network-scripts/ifcfg-ensXXX
- 具体:
- 修改
BOOTPROTO="dhcp"
为BOOTPROTO="static"
; - 新增
IPADDR=192.168.200.131
; - 新增
GATEWAY=192.168.200.2
; - 新增
DNS1=192.168.200.2
; - 打开虚拟机机菜单中“编辑-虚拟网络编辑器”,选择VMnet8,将最下方的子网IP换成192.168.200.0。
- 重启虚拟机(
reboot
)使更改生效。
- 修改
7.3 设置主机名和hosts映射
- hosts文件:是一个文本文件,用来记录IP和hostname(主机名)的映射关系。
- 【指令】查看主机名:
hostname
。 - 修改主机名:输入
vim /etc/hostname
,打开hostname文件进行修改,重启后生效。 - 设置hosts映射:通过主机名能够找到某个Linux系统。
- 在Windows中,在
C:\Windows\System32\drivers\etc\hosts
文件中指定。
- 在Linux中,在
/etc/hosts
文件中指定。 - 效果:
- 在Windows中,在
上一篇:Linux学习笔记 #1
下一篇:Linux学习笔记 #3