(一)Linux实操之——权限、任务调度、磁盘分区
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实操之——权限、任务调度、磁盘分区的更多相关文章
- linux实操_定时任务调度
crond任务调度 语法:crontab [选项] -e 编辑crontab定时任务 -i 查询crontab任务 -r 删除当前用户所有的crontab任务 service crond restar ...
- linux实操_权限管理
rwx权限详解 作用到文件: [r]代表可读(read):可以读取,查看 [w]代表可写(write):可以修改,但是不代表可以删除文件,删除一个文件的前提条件时对该文件所在的目录有写权限,才能删除该 ...
- (二)Linux实操之——网络配置、进程管理、服务管理、组管理、YUM
接上段 (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以 ...
- ASP.NET Core托管和部署Linux实操演练手册
一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...
- Linux学习笔记(5)磁盘分区(parted)
Linux学习笔记(5)磁盘分区(parted) .演示: ()parted /dev/sdb :进入parted 分区命令(可以使用help来查看命令详细描述)(2)p :列出当前磁盘分区信息,可以 ...
- Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令
Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...
- Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)
当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...
- 《鸟哥的Linux私房菜》笔记——03. 磁盘分区
Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...
- 【学习笔记】Linux基础(一):磁盘分区与Linux的安装(以CentOS为例)
一.磁盘分区与Linux的安装(以CentOS为例) 0.说在安装之前 在Linux中,"一切设备皆文件",设备在/dev这个目录下 /dev/sd[a-p] 表示SCSI/SAT ...
随机推荐
- Tomcat6内存不足问题及解决方法
1.Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行.常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常 ...
- 谷歌死忠速查:可访问谷歌google搜索的IP们
[见谅! 此文已废了,下面的办法已经无效了!]但是访问我博客并回复的哥们“问天何必”提供了一个方法,详见http://www.gaomn.com/,他提供了一个网站来访问google的,速度还算可以, ...
- [MAC OS ] UserDefaults
reference to : http://www.jianshu.com/p/d59b004b5ea7 1.用UserDefaults存储配置信息 注:本次使用UserDefaults存储信息是在不 ...
- Asp.Net Core App 部署故障示例 2
相关阅读:Windows + IIS 环境部署Asp.Net Core App 1. HTTP Error 502.5 – Process Failure 环境 Windows Server 201 ...
- [Usaco2006 Nov]Roadblocks第二短路
贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样,选择最短路. 贝茜所在的 ...
- Android组件之Service浅谈
Service是Android中的四大组件之一,和windows中的服务是类似,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序Service,手机中有的程序的 ...
- 页面的缓存设置与meta的作用详细解释
网上转的,来自JSP的,但是原理大同小异哦,有时间 写个asp.net版的 HTML的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:squid等),Web服务 ...
- 使用WPF来创建 Metro UI
当我第一次运行Zune时,我为这些美丽的UI所折服.当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速..而且我从维基百科上也了解到Zune的第一个版本是2006年发布的 ...
- 同一页面的两个Iframe获取数据
首先页面: <td style="width: 50%" valign="top"> <iframe name="xxx" ...
- 国内各视频网站android pad客户端支持分辨率情况初步统计
视频网站名称 800*600 1024*600 1280*800 其他 国际化 备注 优酷 支持 支持 支持 支持 不支持 土豆网 没有pad版的 没有pad版的 没有pad版的 支持 不 ...