1.帮助命令
1.1 man 获得帮助信息
1.1.1 基本语法:
man [命令或配置文件] (功能描述:获得帮助信息)
1.1.2 显示说明
信息 | 功能 |
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
1.1.3 案例实操
查看ls命令的帮助信息:[root@hadoop101 ~]# man ls
2.文件目录类
2.1 pwd:显示当前工作目录的绝对路径
2.2 ls:list 列出目录内容
• 查看当前目录的所有内容信息:[root@hadoop101 ~]$ ls -al
• 显示说明:每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
2.3 cd : 切换目录
• 使用绝对路径切换到root目录:[root@hadoop101 ~]# cd /root/
• 使用相对路径切换到“公共的”目录:[root@hadoop101 ~]# cd 公共的/
• 表示回到自己的家目录,亦即是 /root 这个目录:[root@hadoop101 公共的]# cd ~
• cd- 回到上一次所在目录:[root@hadoop101 ~]# cd -
2.4 mkdir : 创建一个新的目录
• 示例:[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang
2.5 rmdir : 删除一个空的目录
• 示例:[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
2.6 touch:创建空文件
• 示例:[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt
2.7 cp:复制文件或目录
• 复制文件:[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
• 递归复制整个文件夹:[root@hadoop101 ~]# cp -r xiyou/dssz/ ./
2.8 rm:移除文件或目录
• 删除目录中的内容:[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt
• 递归删除目录中所有内容:[root@hadoop101 ~]# rm -rf dssz/
2.9 mv 移动文件与目录或重命名
• 重命名:[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
• 移动文件:[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
2.10 cat 查看文件内容
• 查看文件内容并显示行号:[root@hadoop101 ~]$ cat -n houge.txt
2.11 more 文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
2.11.1 基本语法:more 要查看的文件
2.11.2 操作说明
操作 | 功能说明 |
空白键 (space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
2.12 less 分屏显示文件内容
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
2.12.1 基本语法:
less 要查看的文件
2.12.2 操作说明
操作 | 功能说明 |
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开 less 这个程序; |
2.12.3 经验技巧
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
2.12.4 案例实操
采用less查看文件[root@hadoop101 ~]# less smartd.conf
2.13 echo :echo输出内容到控制台
2.13.1 基本语法:
echo [选项] [输出内容]
选项:
-e: 支持反斜线控制的字符转换
控制字符 | 作 用 |
\\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
2.13.2 案例实操
[root@hadoop101 ~]$ echo "hello\tworld"
hello\tworld
[root@hadoop101 ~]$ echo -e "hello\tworld"
hello world
2.14 head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
2.14.1 示例:
• head 文件 (功能描述:查看文件头10行内容)
• head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
2.15 tail 输出文件尾部内容
• tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
2.15.1 基本语法
• tail 文件 (功能描述:查看文件头10行内容)
• tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
• tail -f 文件 (功能描述:实时追踪该文档的所有更新)
2.15.2 案例实操
• 查看文件头1行内容:[root@hadoop101 ~]# tail -n 1 smartd.conf
• 实时追踪该档的所有更新:[root@hadoop101 ~]# tail -f houge.txt
2.16 > 输出重定向 和 >> 追加
2.16.1 基本语法:
• ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
• ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
• cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
• echo “内容” >> 文件
2.16.2 案例实操
• 将ls查看信息写入到文件中:[root@hadoop101 ~]# ls -l>houge.txt
• 将ls查看信息追加到文件中:[root@hadoop101 ~]# ls -l>>houge.txt
• 采用echo将hello单词追加到文件中:[root@hadoop101 ~]# echo hello>>houge.txt
2.17 ln 软链接和硬连接
2.17.1 软链接
这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,
具体用法是:ln -s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接有 软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
2.17.2 硬连接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
2.17.3 软链接和硬连接的区别:
不允许给目录创建硬链接;
只有在同一文件系统中的文件之间才能创建链接,而且只有超级用户才有建立硬链接权限;
对硬链接文件进行读写操作时候,结果和软链接相同,信息都是同步的;
如果对软连接的源文件删除,侧软连接对应的文件也被删除,如果删除软连接的镜像文件,测源文件不被删除;
如果对硬文件的源文件或镜像文件进行删除,其他的一方都不会被删除。
2.17.4 经验技巧
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
2.17.5 案例实操:
• 创建软连接
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
[root@hadoop101 ~]# ll
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
• 删除软连接
[root@hadoop101 ~]# rm -rf houzi
• 进入软连接实际物理路径
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
2.18 history:查看已经执行过历史命令
3.时间日期类
• 基本语法:date [OPTION]... [+FORMAT]
• 选项说明
选项 | 功能 |
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
• 参数说明
参数 | 功能 |
<+日期时间格式> | 指定显示时使用的日期时间格式 |
3.1 date 显示当前时间
3.1.1 基本语法:
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
3.1.2 案例实操
(1)显示当前时间信息:[root@hadoop101 ~]# date
(2)显示当前时间年月日:[root@hadoop101 ~]# date +%Y%m%d
(3)显示当前时间年月日时分秒:[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
3.2 date 显示非当前时间
3.2.1 基本语法:
(1)date -d '1 days ago' (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)
3.2.2 案例实操:
(1)显示前一天:[root@hadoop101 ~]# date -d '1 days ago'
(2)显示明天时间:[root@hadoop101 ~]#date -d '-1 days ago'
3.3 date 设置系统时间
3.3.1 基本语法:date -s 字符串时间
3.3.2 案例实操
(1)设置系统当前时间: [root@hadoop101 ~]# date -s "2017-06-19 20:52:18"
3.4 cal 查看日历
3.4.1 基本语法:
cal [选项] (功能描述:不加选项,显示本月日历)
3.4.2 选项说明
选项 | 功能 |
具体某一年 | 显示这一年的日历 |
3.4.3 案例实操:
(1)查看当前月的日历:[root@hadoop101 ~]# cal
(2)查看2017年的日历: [root@hadoop101 ~]# cal 2017
4.用户管理命令
4.1 useradd 添加新用户
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
4.2 passwd 设置用户密码
passwd 用户名 (功能描述:设置用户密码)
4.3 id 查看用户是否存在
[root@hadoop101 ~]#id tangseng
4.4 cat /etc/passwd 查看创建了哪些用户
[root@hadoop101 ~]# cat /etc/passwd
4.5 su 切换用户
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
4.6 userdel 删除用户
userdel 用户名 (功能描述:删除用户但保存用户主目录)
userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
4.7 who 查看登录用户信息
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
4.8 sudo 设置普通用户具有root权限
4.8.1 添加luomk用户,并对其设置密码。
[root@hadoop101 ~]#useradd luomk
[root@hadoop101 ~]#passwd luomk
4.8.2 修改配置文件
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
luomk ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
luomk ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用luomk帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
4.8.3 案例实操
用普通用户在/opt目录下创建一个文件夹
[luomk@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown luomk:luomk module/
4.9 usermod 修改用户
4.9.1 基本语法:
usermod -g 用户组 用户名
4.9.2 选项说明
选项 | 功能 |
-g | 修改用户的初始登录组,给定的组必须存在。默认组id是1。 |
4.9.3 案例实操:
将用户加入到用户组:[root@hadoop101 opt]#usermod -g root zhubajie
5.用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
5.1 groupadd 新增组
添加一个xitianqujing组:[root@hadoop101 opt]#groupadd xitianqujing
5.2 groupdel 删除组
删除xitianqujing组:[root@hadoop101 opt]# groupdel xitianqujing
5.3 groupmod 修改组名称
groupmod -n 新组名 老组名
6.文件权限类
6.1 文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
6.1.1 从左到右的10个字符表示:
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
6.1.2 rxw作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
6.1.3 案例实操
[root@hadoop101 ~]# ll
总用量 104
-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.txt
6.2 chmod 改变权限
chmod:更改文件9个属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
符号类型改变文件权限:还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:
(1) user
(2) group
(3) others
那么我们就可以使用 u, g, o 来代表三种身份的权限!此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
# touch test1 // 创建 test1 文件
# ls -al test1 // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
# chmod a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
6.3 chgrp:更改文件属组
6.3.1 语法:
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
6.3.2 案例实操
修改文件的所属组:[root@hadoop101 ~]# chgrp root houge.txt
6.4 chown:更改文件属主,也可以同时更改文件属组
6.4.1 基本语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
7.搜索查找类
7.1 find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
7.1.1 基本语法:
find [搜索范围] [选项]
7.1.2 选项说明
选项 | 功能 |
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件。 |
7.1.3 案例实操
(1)按文件名:根据名称查找/目录下的filename.txt文件:[root@hadoop101 ~]# find xiyou/ -name *.txt
(2)按拥有者:查找/opt目录下,用户名称为-user的文件:[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于):[root@hadoop101 ~]find /home -size +204800
7.2 locate快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
7.2.1 基本语法
locate 搜索文件
7.2.2 经验技巧
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
7.2.3 案例实操
(1)查询文件夹
[root@hadoop101 ~]# updated
[root@hadoop101 ~]#locate tmp
7.3 grep 过滤查找及“|”管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
7.3.1 基本语法
grep 选项 查找内容 源文件
7.3.2 选项说明
选项 | 功能 |
-n | 显示匹配行及行号。 |
7.3.3 案例实操
查找某文件在第几行:[root@hadoop101 ~]# ls | grep -n test
8 压缩和解压类
8.1 gzip/gunzip 压缩
8.1.1 基本语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
8.1.2 经验技巧:
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
8.2 zip/unzip 压缩
8.2.1 基本语法:
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
8.2.2 经验技巧
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
8.2.3 案例实操:
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt
adding: houge.txt (stored 0%)
adding: bailongma.txt (stored 0%)
[root@hadoop101 opt]# ls
houge.txt bailongma.txt houma.zip
(2)解压 mypackage.zip
[root@hadoop101 ~]# unzip houma.zip
Archive: houma.zip
extracting: houge.txt
extracting: bailongma.txt
[root@hadoop101 ~]# ls
houge.txt bailongma.txt houma.zip
(3)解压mypackage.zip到指定目录-d
[root@hadoop101 ~]# unzip houma.zip -d /opt
[root@hadoop101 ~]# ls /opt/
8.3 tar 打包
8.3.1 基本语法:
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
8.3.2 选项说明
选项 | 功能 |
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
8.3.3 案例实操
(1)压缩多个文件
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houge.txt
bailongma.txt
[root@hadoop101 opt]# ls
houma.tar.gz houge.txt bailongma.txt
(2)压缩目录
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt
(3)解压到当前目录
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
(4)解压到指定目录
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
9.磁盘分区类
9.1 df:查看磁盘空间使用情况
9.1.1 基本语法:
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
9.1.2 选项说明
选项 | 功能 |
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
9.1.3 案例实操
[root@iz2zeb7o9hu1q5dxvshng4z ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 4.6G 33G 13% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 488K 920M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/1001
tmpfs 184M 0 184M 0% /run/user/0
9.2 fdisk 查看分区
9.2.1 基本语法:
fdisk -l (功能描述:查看磁盘分区详情)
9.2.2 选项说明
选项 | 功能 |
-l | 显示所有硬盘的分区列表 |
9.2.3 经验技巧:
该命令必须在root用户下才能使用
9.2.4 功能说明:
(1)Linux分区
Device:分区序列
Boot:引导
Start:从X磁柱开始
End:到Y磁柱结束
Blocks:容量
Id:分区类型ID
System:分区类型
(2)Win7分区
9.2.5 案例实操
[root@hadoop101 ~]# fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0008d73a
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 83884031 41940992 83 Linux
[root@hadoop101 ~]#
9.3 mount/umount 挂载/卸载
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
9.3.1 基本语法:
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
9.3.2 参数说明
参数 | 功能 |
-t vfstype | 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs |
-o options | 主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集 |
device | 要挂接(mount)的设备 |
dir | 设备在系统上的挂接点(mount point) |
9.3.3 案例实操
(1)挂载光盘镜像文件
[root@hadoop101 ~]# mkdir /mnt/cdrom/ 建立挂载点
[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
[root@hadoop101 ~]# ll /mnt/cdrom/
(2)卸载光盘镜像文件
[root@hadoop101 ~]# umount /mnt/cdrom
10.进程线程类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
10.1 ps 查看当前系统进程状态
10.1.1 基本语法:
ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
10.1.2 选项说明
选项 | 功能 |
-a | 选择所有进程 |
-u | 显示所有用户的所有进程 |
-x | 显示没有终端的进程 |
10.1.3 功能说明
(1)ps aux显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
(2)ps -ef显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
10.1.4 经验技巧:
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
10.2 kill 终止进程
10.2.1 基本语法:
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
10.2.2 选项说明
选项 | 功能 |
-9 | 表示强迫进程立即停止 |
10.3 pstree 查看进程树
10.3.1 基本语法:
pstree [选项]
10.3.2 选项说明
选项 | 功能 |
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
10.3.3 案例实操:
(1)显示进程pid:[root@hadoop101 datas]# pstree -p
(2)显示进程所属用户: [root@hadoop101 datas]# pstree -u
10.4 top 查看系统健康状态
详见:Linux 常用基本命令-性能优化类 详细讲解
10.5 netstat 显示网络统计信息
详见:Linux 常用基本命令-性能优化类 详细讲解
11 crond 系统定时任务
11.1 crond 服务管理
1)重新启动crond服务
[root@hadoop101 ~]# service crond restart
11.2 crontab 定时任务设置
1)基本语法:crontab [选项]
2)选项说明
选项 | 功能 |
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
3)参数说明
[root@hadoop101 ~]# crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
* * * * * 执行的任务
项目 | 含义 | 范围 |
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
(2)特殊符号
特殊符号 | 含义 |
* | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
(3)特定时间执行命令
时间 | 含义 |
45 22 * * * 命令 | 在22点45分执行命令 |
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 命令 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * 命令 | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
(4)案例实操:每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt