1. 权限

1.1 查看权限

通过ls -l命令可以看到文件的详细信息

下面以一条信息解释各个位置字符的作用

-rwxr--r--. 1 root root   32 6月  18 10:15 choose.sh

(1) 0-9位说明:

  • 第0位确定文件类型(-:普通文件,d:目录,l:软链接,c:字符设备,如键盘、鼠标,b:块文件,硬盘)
  • 第1-3位确定所有者(该文件的所有者)拥有该文件的权限    --User
  • 第4-6位确定所属组(同用户组的)拥有该文件的权限     -Group
  • 第7-9位确定其他用户拥有该文件的权限     --Other

(2) 1

如果是文件,表示硬链接的数;如果是目录,表示该目录子目录的个数

(3)  root root

文件所有者,文件所属组    User Group

(4) 32

文件大小,如果是目录则是4096

(5) 6月 18 10:15

上一次的修改时间

(6) choose.sh

文件或目录名称

1.2 rwx权限

1.2.1 rwx权限详解

1.2.2.1 rwx作用到文件

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

1.2.1.2 rwx作用到目录

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

1.2.2 修改权限 —— chmod

1.2.2.1 通过+,-,=变更权限

给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限

[root@centoszang myDir]# chmod u=rwx,g=rx,o=rx abc
[root@centoszang myDir]# ls -l
总用量 4
-rwxr-xr-x. 1 root root 8 6月 24 15:44 abc

给 abc 文件的所有者除去执行的权限,增加组写的权限

[root@centoszang myDir]# chmod u-x,g+w abc
[root@centoszang myDir]# ls -l
总用量 4
-rw-rwxr-x. 1 root root 8 6月 24 15:44 abc

给 abc 文件的所有用户添加读的权限

[root@centoszang myDir]# chmod a+r abc
[root@centoszang myDir]# ls -l
总用量 4
-rw-rwxr-x. 1 root root 8 6月 24 15:44 abc

1.2.2 通过数字变更权限

规则:r=4 w=2 x=1

给 abc 文件 的所有者读写执行(r+w+x=4+2+1=7)权限,给所在组读执行(r+w=4+1=5)权限,给其它组读执行(r+w=4+1=5)权限

[root@centoszang myDir]# chmod 755 abc
[root@centoszang myDir]# ls -l
总用量 4
-rwxr-xr-x. 1 root root 8 6月 24 15:44 abc

1.3 修改文件所有者—— chown

修改文件abc所有者为zang

[root@centoszang myDir]# chown zang abc
[root@centoszang myDir]# ls -l
总用量 4
-rwxr-xr-x. 1 zang root 8 6月 24 15:44 abc

将 /home/testShell目录下所有的文件和目录的所有者都修改成 zang

[root@centoszang home]# chown -R zang testShell/
[root@centoszang home]# cd testShell/
[root@centoszang testShell]# ls -l
总用量 16
-rwxr--r--. 1 zang root 32 6月 18 10:15 choose.sh
-rw-r--r--. 1 zang root 299 6月 18 10:20 menuChoose
drwxr-xr-x. 2 zang root 4096 6月 24 15:44 myDir
-rwxr--r--. 1 zang root 37 6月 18 15:42 myShell.sh
-rw-r--r--. 1 zang root 0 6月 19 23:15 test.sh

1.4 修改用户所在组 —— chgrp

修改文件abc所在用户组为zang

[root@centoszang myDir]# chgrp zang /home/testShell/myDir/abc
[root@centoszang myDir]# ls -l
总用量 4
-rwxr-xr-x. 1 zang zang 8 6月 24 15:44 abc

将 /home/testShell目录下所有的文件和目录的所有所在组都修改成 zang

[root@centoszang home]# chgrp -R zang testShell/
[root@centoszang home]# cd testShell/
[root@centoszang testShell]# ls -l
总用量 16
-rwxr--r--. 1 zang zang 32 6月 18 10:15 choose.sh
-rw-r--r--. 1 zang zang 299 6月 18 10:20 menuChoose
drwxr-xr-x. 2 zang zang 4096 6月 24 15:44 myDir

2. 任务调度

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

  • 系统工作:有些重要的工作周而复始的执行。如病毒扫描等
  • 个别用户工作:个别用户可能希望执行某些程序,如对mysql数据库的备份

通过crontab 来进行定时任务的设置,简单任务可以直接在crontab中添加,复杂任务则需要写脚本,通过crontab来定时调用脚本。

2.1 任务调度命令 —— crontab [选项]

2.1.1 crontab 常用选项

crontab 常用选项如下:

  • -e:编辑crontab定时任务
  • -l:查询crontab任务
  • -r:删除当前用户所有的crontab任务

2.1.2 任务调度设置步骤

1)编辑任务调度任务

[root@centoszang taskDir]# crontab -e

回车会跳出编辑vi界面,可在其中编辑简单调度任务

*/1 * * * * ls -l /etc >> /home/taskDir/lslog.txt

2)保存退出即自动执行调度

[root@centoszang taskDir]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@centoszang taskDir]# date
2018年 06月 24日 星期日 18:32:50 CST
[root@centoszang taskDir]# ls
lslog.txt
[root@centoszang taskDir]# cat lslog.txt
total 2480
drwxr-xr-x. 3 root root 4096 May 14 2017 abrt
drwxr-xr-x. 4 root root 4096 May 14 2017 acpi
···

另外两个选项的使用

[root@centoszang taskDir]# crontab -l
*/1 * * * * ls -l /etc >> /home/taskDir/lslog.txt
[root@centoszang taskDir]# crontab -r
[root@centoszang taskDir]# crontab -l
no crontab for root

2.2 任务定义的参数

*/1 * * * * ls -l /etc >> /home/taskDir/lslog.txt

五个占位符的说明

占位符参数的说明

特定时间执行任务案例

2.3 任务调度调用脚本

2.3.1 每隔 1 分钟, 将当前日期和日历都追加到 /home/taskDir/datelog.txt 文件中

[root@centoszang taskDir]# ls
[root@centoszang taskDir]# pwd
/home/taskDir
[root@centoszang taskDir]# vim dateTask.sh
[root@centoszang taskDir]# cat dateTask.sh
date >> /home/taskDir/datelog.txt
cal >> /home/taskDir/datelog.txt
[root@centoszang taskDir]# chmod 744 dateTask.sh
[root@centoszang taskDir]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@centoszang taskDir]# crontab -l
*/1 * * * * /home/taskDir/dateTask.sh
[root@centoszang taskDir]# date
2018年 06月 24日 星期日 19:04:37 CST
[root@centoszang taskDir]# ls -l
总用量 8
-rw-r--r--. 1 root root 177 6月 24 19:04 datelog.txt
-rwxr--r--. 1 root root 67 6月 24 19:03 dateTask.sh
[root@centoszang taskDir]# cat datelog.txt
Sun Jun 24 19:04:01 CST 2018
June 2018
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

2.3.2 每天凌晨2:00将mysql数据库testdb,备份到文件mydb.bak

[root@centoszang taskDir]# vim backup_mysql.sh
[root@centoszang taskDir]# cat backup_mysql.sh
/usr/local/mysql/bin/mysqldump -uroot -p123 testdb > /tmp/mydb.bak
[root@centoszang taskDir]# chmod 744 backup_mysql.sh
[root@centoszang taskDir]# crontab -e
crontab: installing new crontab
[root@centoszang taskDir]# crontab -l
*/1 * * * * /home/taskDir/dateTask.sh
0 2 * * * /home/taskDir/backup_mysql.sh

3. 磁盘分区

3.1 分区类型

MBR(Master Boot Record)和GPT(GUID Partition Table)是在磁盘上存储分区信息的两种不同方式。这些分区信息包含了分区从哪里开始的信息,这样操作系统才知道哪个扇区是属于哪个分区的,以及哪个分区是可以启动的。在磁盘上创建分区时,你必须在MBR和GPT之间做出选择。

两种分区方式区别

MBR分区:

  • 最多支持四个主分区
  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR 最大只支持 2TB,但拥有最好的兼容性

GPT分区:

  • 支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
  • 最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )
  • windows7 64 位以后支持 GTP

GPT分区方式凭借更强的健壮性与更大的兼容性,正逐步取代MBR分区方式。

3.2 硬盘说明

Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。

  • 对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
  • 对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样。

3.3 Linux分区原理

Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。

Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

3.4 常用分区命令   ——lsblk

查看系统分区情况  —— lsblk

3.5 挂载     ——mount

实际工作中,当硬盘容量不够时,可通过挂载来实现增加硬盘,从而增加系统容量。下面以本机增加一块2GB的磁盘空间来演示。

操作步骤:

(1)在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。

添加之后需要重启才能识别到。

此时该磁盘未分区,也未格式化。

(2)分区

fdisk /dev/sdb

(3)格式化

mkfs -t ext4 /dev/sdb1

格式化后产生表示分区的UUID

(4)挂载

mount /dev/sdb /opt

注意:挂载后/opt目录下的文件会被临时删除,所以尽量选择创建一个新文件夹来挂载

(5)上面的方式只是临时挂载,下次开机时不会自动挂载,要想永久挂载可对 /etc/fstab 文件进行编辑

vim /etc/fstab

增加如下一行

/dev/sdb1   /opt/newdisk    ext4    defaults        0 0

即时生效

mount -a    #将 /etc/fstab 中定义的所有档案系统挂上

重启之后可看到磁盘一直挂载

3.6 卸载      ——umount

卸载分区挂载

umount /opt/newdisk    #卸载分区,卸载之后,其实还可以挂载,而且数据还会在的

删除分区  fdisk /dev/sdb  ,按提示操作

fdisk /dev/sdb
m
d

3.7 磁盘情况查询     ——df   &  du

3.7.1 系统整体磁盘使用情况     df -h

3.7.2 查询指定目录的磁盘的占用情况   du -h

语法:

du [选项][文件]

仅列出较常用的选项:

  • -a:显示目录中个别文件的大小。
  • -c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -h:以K,M,G为单位,提高信息的可读性。
  • -s:仅显示总计。
  • --max-depth=<目录层数>: 超过指定层数的目录后,予以忽略。

如:查询 /opt 目录的磁盘占用情况,深度为1

3.7.3 工作中查询磁盘情况的常用指令

(1)统计/home 文件夹下文件的个数

ls -l /home | grep "^-" | wc -l

(2)统计/home 文件夹下目录的个数

ls -l /home | grep "^d" | wc -l

(3)统计/home文件夹下文件的个数,包括子文件夹里的

ls -lR /home | grep "^-" | wc -l

(4)统计文件夹下目录的个数,包括子文件夹里的

ls -lR /home | grep "^d" | wc -l

(5)以树状显示目录结构

yum install tree   #如果提示tree未安装,执行该命令安装
tree #以树状显示目录结构

注:博客中注重实操,篇幅原因,未对命令进行深挖,如果对命令的理解有疑惑,可到 Linux命令大全 查询。

(一)Linux实操之——权限、任务调度、磁盘分区的更多相关文章

  1. linux实操_定时任务调度

    crond任务调度 语法:crontab [选项] -e 编辑crontab定时任务 -i 查询crontab任务 -r 删除当前用户所有的crontab任务 service crond restar ...

  2. linux实操_权限管理

    rwx权限详解 作用到文件: [r]代表可读(read):可以读取,查看 [w]代表可写(write):可以修改,但是不代表可以删除文件,删除一个文件的前提条件时对该文件所在的目录有写权限,才能删除该 ...

  3. (二)Linux实操之——网络配置、进程管理、服务管理、组管理、YUM

    接上段   (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以 ...

  4. ASP.NET Core托管和部署Linux实操演练手册

    一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...

  5. Linux学习笔记(5)磁盘分区(parted)

    Linux学习笔记(5)磁盘分区(parted) .演示: ()parted /dev/sdb :进入parted 分区命令(可以使用help来查看命令详细描述)(2)p :列出当前磁盘分区信息,可以 ...

  6. Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令

    Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...

  7. Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)

    当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...

  8. 《鸟哥的Linux私房菜》笔记——03. 磁盘分区

    Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...

  9. 【学习笔记】Linux基础(一):磁盘分区与Linux的安装(以CentOS为例)

    一.磁盘分区与Linux的安装(以CentOS为例) 0.说在安装之前 在Linux中,"一切设备皆文件",设备在/dev这个目录下 /dev/sd[a-p] 表示SCSI/SAT ...

随机推荐

  1. Tomcat6内存不足问题及解决方法

    1.Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行.常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常 ...

  2. 谷歌死忠速查:可访问谷歌google搜索的IP们

    [见谅! 此文已废了,下面的办法已经无效了!]但是访问我博客并回复的哥们“问天何必”提供了一个方法,详见http://www.gaomn.com/,他提供了一个网站来访问google的,速度还算可以, ...

  3. [MAC OS ] UserDefaults

    reference to : http://www.jianshu.com/p/d59b004b5ea7 1.用UserDefaults存储配置信息 注:本次使用UserDefaults存储信息是在不 ...

  4. Asp.Net Core App 部署故障示例 2

    相关阅读:Windows + IIS 环境部署Asp.Net Core App 1.  HTTP Error 502.5 – Process Failure 环境 Windows Server 201 ...

  5. [Usaco2006 Nov]Roadblocks第二短路

    贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样,选择最短路. 贝茜所在的 ...

  6. Android组件之Service浅谈

    Service是Android中的四大组件之一,和windows中的服务是类似,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序Service,手机中有的程序的 ...

  7. 页面的缓存设置与meta的作用详细解释

    网上转的,来自JSP的,但是原理大同小异哦,有时间 写个asp.net版的 HTML的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:squid等),Web服务 ...

  8. 使用WPF来创建 Metro UI

    当我第一次运行Zune时,我为这些美丽的UI所折服.当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速..而且我从维基百科上也了解到Zune的第一个版本是2006年发布的 ...

  9. 同一页面的两个Iframe获取数据

    首先页面: <td style="width: 50%" valign="top"> <iframe name="xxx" ...

  10. 国内各视频网站android pad客户端支持分辨率情况初步统计

    视频网站名称 800*600 1024*600 1280*800 其他 国际化   备注 优酷 支持 支持 支持 支持 不支持     土豆网 没有pad版的 没有pad版的 没有pad版的 支持 不 ...