Linux学习笔记 #2

上一篇:Linux学习笔记 #1

下一篇:Linux学习笔记 #3


4 组管理和权限管理

4.1 组基本介绍

在Linux中每个用户必须属于一个组。
概念:所有者、所在组、其他组。

  • 所有者:一般为文件的创建者。
  • 所在组:用户所在的组。
  • 其他组:除去用户所在组外的其他组。

4.2 权限基本介绍

命令ls -l中,显示的内容如下:

位置编号:0123456789
每行显示:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

0~9位说明:

  1. 第0位确定文件类型(d,-,l,c,b)。
    l是链接,相当于windows里的快捷方式
    d是目录
    c是字符设备文件,鼠标,键盘
    b是块设备,如硬盘
    -是普通文件
  2. 第1~3位确定所有者(该文件的所有者)拥有该文件的权限。
  3. 第4~6位确定所属组(同用户组)拥有该文件的权限。
  4. 第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 定时任务调度

  • 任务调度:指系统在某个时间执行特定的命令或程序。
  • 任务调度分类:
    1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
    2. 个别用户工作:个别用户可能希望执行某些程序。如对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
    步骤:
    1. 输入命令:at 5pm + 2 days
    2. 在下一行提示符at>后,输入命令:/bin/ls /home
    3. 输入两次Ctrl+D作为结束。
    4. 使用命令atq查看系统中没有执行的任务。
    5. 使用命令atrm [编号]来删除已经设置的任务。

6 Linux磁盘分区与挂载

6.1 基本介绍

  • 磁盘有分区;文件系统有目录。Linux只有一个根目录、一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分。
  • 【命令】lsblklsblk:查看分区和挂载情况。
  • 挂载(mount):将一个分区和一个目录联系起来。
    在这里插入图片描述
    在这里插入图片描述
  • 硬盘说明
    在这里插入图片描述

6.2 增加磁盘/挂载相关指令

详见韩顺平老师的Linux教程之增加磁盘应用实例

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
  • 主机Windows中:

    同网段,可互ping通。

    • Linux虚拟机:ens160:192.168.219.129
      在这里插入图片描述
    • Windows网络适配器:vmnet8:192.168.219.1
      在这里插入图片描述

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
  • 具体:
    1. 修改BOOTPROTO="dhcp"BOOTPROTO="static"
    2. 新增IPADDR=192.168.200.131
    3. 新增GATEWAY=192.168.200.2
    4. 新增DNS1=192.168.200.2
    5. 打开虚拟机机菜单中“编辑-虚拟网络编辑器”,选择VMnet8,将最下方的子网IP换成192.168.200.0。
    6. 重启虚拟机(reboot)使更改生效。

7.3 设置主机名和hosts映射

  • hosts文件:是一个文本文件,用来记录IP和hostname(主机名)的映射关系。
  • 【指令】查看主机名:hostname
  • 修改主机名:输入vim /etc/hostname,打开hostname文件进行修改,重启后生效。
  • 设置hosts映射:通过主机名能够找到某个Linux系统。
    • 在Windows中,在C:\Windows\System32\drivers\etc\hosts文件中指定。
      在这里插入图片描述
    • 在Linux中,在/etc/hosts文件中指定。
    • 效果:
      在这里插入图片描述

上一篇:Linux学习笔记 #1
下一篇:Linux学习笔记 #3

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值