Linux实操篇2-Linux指令的解读

一.日期时间类

1.1.date 指令-显示当前日期

  1. 基本语法
1) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
  1. 案例
    显示当前时间信息
    在这里插入图片描述显示当前时间年月日
    在这里插入图片描述
    显示当前时间年月日时分秒
    在这里插入图片描述

1.2.date 指令-设置日期

  1. 基本语法
date -s 字符串时间
  1. 案例
    设置系统当前时间 , 比如设置成 2018-10-10 11:22:22
    在这里插入图片描述

1.3.cal 指令

查看日历指令

  1. 基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
  1. 案例
    显示当前日历
    在这里插入图片描述显示2020 年日历
    在这里插入图片描述

1.4.搜索查找类

1.4.1.find 指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

  1. 基本语法
find [搜索范围] [选项]
  1. 选项说明
选项功能
-name<查询方式>按照指定文件名的查找模式来查找文件
-user<用户名>查找属于指定用户名的文件
-size<文件大小>按照指定的文件大小查找文件
  1. 案例
    案例1: 按文件名:根据名称查找/home 目录下的hello.txt 文件
    在这里插入图片描述
    案例2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
    在这里插入图片描述案例3:查找整个linux 系统下大于20m 的文件(+n 大于 -n 小于 n 等于)
    在这里插入图片描述案例4:查询 / 目录下,所有 .txt 的文件
    在这里插入图片描述

1.4.2.locate 指令

locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate 时刻。

  1. 基本语法
locate 搜索文件
  1. 特别说明
    由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb 指令创建locate 数据库。

  2. 应用实例
    案例1: 请使用locate 指令快速定位 hello.txt 文件所在目录。
    在这里插入图片描述

1.4.3.grep 指令和 管道符号 |

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

  1. 基本语法
grep [选项] 查找内容 源文件
  1. 常用选项
选项功能
-n显示匹配行及其行号
-i忽略字母大小写
  1. 应用实例
    案例1: 请在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号。
    在这里插入图片描述

1.5.压缩和解压类

1.5.1.gzip/gunzip 指令

gzip 用于压缩文件, gunzip 用于解压的

  1. 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
  1. 应用实例
    案例1: gzip 压缩, 将 /home 下的 hello.txt 文件进行压缩
    在这里插入图片描述案例2: gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩。
    在这里插入图片描述注意:当我们使用gzip 对文件进行压缩后,不会保留原来的文件。

1.5.2.zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

  1. 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

unzip [选项] XXX.zip (功能描述:解压缩文件)
  1. zip 常用选项
    -r:递归压缩,即压缩目录
  2. unzip 的常用选项
    -d<目录> :指定解压后文件的存放目录
  3. 应用实例
    案例1: 将 /home 下的 所有文件进行压缩成 mypackage.zip
    在这里插入图片描述在这里插入图片描述案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下
    在这里插入图片描述
    在这里插入图片描述

1.5.3.tar 指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。

  1. 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
  1. 选项说明
选项功能
-c产生.tar的打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
  1. 应用实例
    案例1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
    在这里插入图片描述案例2: 将/home 的文件夹 压缩成 myhome.tar.g
    在这里插入图片描述在这里插入图片描述案例3: 将 a.tar.gz 解压到当前目录
    在这里插入图片描述案例4: 将myhome.tar.gz 解压到 /opt/ 目录下
    在这里插入图片描述注:指定解压到的那个目录,事先要存在才能成功,否则会报错。

二.组管理和权限管理

2.1.Linux 组基本介绍

在linux 中的每个用户必须属于一个组,不能独立于组外。在linux 中每个文件
有所有者、所在组、其它组的概念。
a.所有者
b.所在组
c.其它组
d.改变用户所在的组
在这里插入图片描述

2.2.文件/目录 所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

2.2.1.查看文件的所有者

指令:ls -ahl
应用实例:创建一个组police,再创建一个用户tom,将tom 放在police 组 ,然后使用 tom 来创建一个文件 ok.txt,

在这里插入图片描述

2.2.2.修改文件所有者

指令:chown 用户名 文件名
应用案例:使用root 创建一个文件apple.txt ,然后将其所有者修改成 tom。

在这里插入图片描述在这里插入图片描述

2.3.组的创建

2.3.1.基本指令

groupadd 组名

2.3.1.应用实例

创建一个组monster
创建一个用户 fox ,并放入到 monster 组中

在这里插入图片描述

2.4.文件/目录 所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。

2.4.1.查看文件/目录所在组

基本指令:ls –ahl

2.4.2.修改文件所在的组

基本指令:chgrp 组名 文件名
应用实例:使用root 用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police 组。
在这里插入图片描述

2.5.其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

2.6.改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root 的管理权限可以改变某个用户所在的组。

2.6.1.改变用户所在组

  1. usermod -g 组名 用户名
  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

2.6.2.应用实例

创建一个土匪组(bandit)将 tom 这个用户从原来所在的police 组,修改到 bandit(土匪) 组
在这里插入图片描述

2.7.权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
1)第0 位确定文件类型(d, - , l , c , b)
2)第1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
3)第4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
4)第7-9 位确定其他用户拥有该文件的权限 —Other

在这里插入图片描述

2.8.rwx 权限详解

2.8.1.rwx 作用到文件

  1. [ r ]代表可读(read): 可以读取,查看。
  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  3. [ x ]代表可执行(execute):可以被执行。

2.8.2.rwx 作用到目录

  1. [ r ]代表可读(read): 可以读取,ls 查看目录内容。
  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录。
  3. [ x ]代表可执行(execute):可以进入该目录。

在这里插入图片描述
dr-xr-xr-x. 5 root root 4096 11月 9 19:52 boot
10 个字符确定不同用户能对文件干什么
第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
其余字符每3 个一组(rwx) 读® 写(w) 执行(x)
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行。
可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7

2.9.修改权限-chmod

2.9.1.基本说明

通过chmod 指令,可以修改文件或者目录的权限。

2.9.2.第一种方式:+ 、-、= 变更权限

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名
    案例演示:
    a.给abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
    在这里插入图片描述b.给abc 文件的所有者除去执行的权限,增加组写的权限
    在这里插入图片描述3.给abc 文件的所有用户添加读的权限
    在这里插入图片描述

2.9.3.第二种方式:通过数字变更权限

规则:r=4 w=2 x=1 ,rwx=4+2+1=7;
chmod u=rwx,g=rx,o=x 文件目录名相当于 chmod 751 文件目录名。
a.将 /test/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
在这里插入图片描述

2.10.修改文件所有者-chown

  1. 基本介绍
    chown newowner file 改变文件的所有者。
    chown newowner:newgroup file 改变用户的所有者和所有组。
    -R 如果是目录 则使其下所有子文件或目录递归生效
  2. 案例演示
    1)请将 /test/abc .txt 文件的所有者修改成 tom

在这里插入图片描述2).请将 /home/kkk 目录下所有的文件和目录的所有者都修改成tom。

在这里插入图片描述

2.11.修改文件所在组-chgrp

  1. 基本介绍
    chgrp newgroup file 改变文件的所有组
  2. 案例演示
    1).请将 /test/abc .txt 文件的所在组修改成 bandit (土匪)

在这里插入图片描述2).请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 bandit(土匪)
在这里插入图片描述

三.实操篇 crond 任务调度

3.1.原理示意图

在这里插入图片描述
crontab 进行 定时任务的设置,

3.2.概述

任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql 数据库的备份。

3.3.基本语法

crontab [选项]

选项解释
-e编辑crontab定时任务
-l查询crontab定时任务
-r删除所有的crontab定时任务

3.4.快速入门

3.4.1.任务的要求

设置任务调度文件:/test/crontab
设置个人任务调度。执行crontab –e 命令。
接着输入任务到调度文件:

*/1 * * * * ls –l /etc/ > /tmp/to.txt

意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt 命令
在这里插入图片描述

3.4.2.参数细节说明

项目含义范围
第一个*一小时中的第几分钟0-59
第二个*一天当中的第几小时0-23
第三个*一个月当中的第几天1-31
第四个*一年当中的第几个月1-12
第五个*一星期当中的星期几0-7(0和7都代表星期日)

特殊符号的说明:

事件含义
*代表任何时间,比如第一个*就代表一个小时的每一秒都执行。
代表不连续的时间。比如“0 8,12,16 * * * * *就代表每天的8点0分,12点0分,16点0分都执行一次。
-代表连续的时间段,比如"0 5 * * 1-6"。代表在周一到周五的5点0分执行
*/n表示没隔多久执行一次,比如"*/10 * * * *"代表每隔10分钟执行一次

特定时间执行案例:

时间含义
45 22 * * *在22点45分执行命令
0 17 * * 1每周1的17点0分执行命令
0 5 1,15 * *每月的1号到15号的5点执行
40 4 * * 1-5在每个月的周一到周五的4点40分执行命令
*/40 4 * * *每天的4点每隔10分钟执行命令
0 0 1,15 * 1每月的1号和15号,每周一的0点0分都会执行:注意:星期几和几号最好不要同时出现,因为他们都代表的是天,容易让管理员混乱。

3.5.任务调度的几个应用实例

  1. 案例 1:每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件
  1. 先编写一个文件 /home/mytask1.sh
    date >> /tmp/mydate

  2. 给mytask1.sh 一个可以执行权限
    chmod 744 /home/mytask1.sh

  3. crontab -e

  4. */1 * * * * /home/mytask1.sh

  5. 成功
    在这里插入图片描述
    在这里插入图片描述2. 案例 2:每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件

  6. 先编写一个文件 /home/mytask2.sh
    date >> /tmp/mycal
    cal >> /tmp/mycal

  7. 给mytask1.sh 一个可以执行权限
    chmod 744 /home/mytask2.sh

  8. crontab -e

  9. */1 * * * * /home/mytask2.sh

  10. 成功
    在这里插入图片描述

四.Linux 磁盘分区、挂载

4.1.分区基础知识

4.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

4.1.2.windows 下的磁盘分区

在这里插入图片描述

4.2.Linux 分区

4.2.1.原理介绍

1)Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且。
唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
2)Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

4.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 硬盘的表示方法一样。

4.2.3.使用 lsblk 指令查看当前系统的分区情况

在这里插入图片描述

4.3.挂载的经典案例

需求是给我们的Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk2上
1.虚拟机添加硬盘
在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!

在这里插入图片描述
注意:一定要重启才能看到!!!!!!!
2. 虚拟机增加硬盘步骤
分区命令 fdisk /dev/sdc
开始对/sdc 分区
•m 显示命令列表
•p 显示磁盘分区 同 fdisk –l
•n 新增分区
•d 删除分区
•w 写入并退出
说明: 开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w 写入分区并退出,若不保存退出输入q。
在这里插入图片描述在这里插入图片描述3. 格式化磁盘
在这里插入图片描述4. 挂载
挂载: 将一个分区与一个目录联系起来,
•mount 设备名称 挂载目录

在这里插入图片描述
5. 永久挂载: 通过修改/etc/fstab 实现挂载
4.添加完成后 执行mount –a 即刻生效
在这里插入图片描述

4.4.磁盘情况查询

4.4.1.查询系统整体磁盘使用情况

  1. 基本语法
    df -h
  2. 应用实例
    查询系统整体磁盘使用情况
    在这里插入图片描述

4.4.2.查询指定目录的磁盘占用情况

  1. 基本语法
    du -h /目录
    查询指定目录的磁盘占用情况,默认为当前目录
    -s 指定目录占用大小汇总
    -h 带计量单位
    -a 含文件
    –max-depth=1 子目录深度
    -c 列出明细的同时,增加汇总值
  2. 应用实例
    查询 /opt 目录的磁盘占用情况,深度为1
    在这里插入图片描述

4.5.磁盘情况-工作实用指令

  1. 统计/home 文件夹下目录的个数
    在这里插入图片描述
    2)统计/home 文件夹下文件的个数
    在这里插入图片描述
  2. 统计/home 文件夹下文件的个数,包括子文件夹里的
    在这里插入图片描述4) 统计文件夹下目录的个数,包括子文件夹里的

在这里插入图片描述5) 以树状显示目录结构
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值