1. Linux文件与目录结构
Linux 系统中一切皆文件
2. VIM编辑器
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。
VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色
辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。
一般模式
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,或是使用以下命令来处理你的文件数据.功能:移动光标,『删除字符』或『删除整行』『复制、贴上』
语法 | 功能 |
---|---|
yy | 复制光标当前一行 |
y 数字 y | 复制一段(从光标当前行到后 n 行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d 数组 d | 删除光标(含)后多少行 |
x | 剪切一个字母(当前光标),相当于 del |
X | 剪切一个字母(当前光标的前一个),相当于 Backspace |
yw | 复制一个词 |
dw | 删除一个词 |
shift+^ | 移动到行头 |
shift+$ | 移动到行尾 |
1+shift+g | 移动到页头,数字 |
shift+g | 移动到页尾 |
数字+shift+g | 移动到目标行 |
编辑模式
按下『i, I, o, O, a,A』等任何一个字母之后才会进入编辑模式,在画面的左下方会出现『INSERT或REPLACE』的字样,而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
按键 | 功能 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。功能:提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
:wq | 保存后退出 |
:q! | 放弃修改 |
:wq! | 强制保存后退出 |
/要查找的词 | n 查找下一个,N 往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容 /g global 替换匹配到的所有内容 |
3. 常用基本命令
3.1 帮助命令
man
- man [命令或配置文件] / help 命令
[root@hadoop101 ~]# man ls
[root@hadoop101 ~]# help ls
常用快捷键
重用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl + l | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
tab | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
ctrl + u | 清除当前敲的命令 |
3.2 文件目录类
pwd
- pwd (功能描述: 显示当前工作目录的绝对路径 )
[root@hadoop101 ~]# pwd
/root
ls
- ls [选项] [目录或是文件] ( 功能:列出目录内容)
- ll (ls -l的简写:表示长输出)
[atguigu@hadoop101 ~]$ ls -al
总用量 44
drwx------. 5 atguigu atguigu 4096 5 月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5 月 27 14:03 ..
drwxrwxrwx. 2 root root 4096 5 月 27 14:14 hello
-rwxrw-r--. 1 atguigu atguigu 34 5 月 27 14:20 test.txt
选项 | 功能 |
---|---|
-a | 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l | 长数据串列出,包含文件的属性与权限等等数据;(常用) |
显示说明:
每行列出的信息依次是:文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
cd
- cd [参数] (功能:切换路径)
[root@hadoop101 ~]# cd /root/
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~或者 cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd … | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
mkdir
- mkdir [选项] 要创建的目录 ( 创建一个新的目录)
创建一个目录:
[root@hadoop101 ~]# mkdir xiyou
[root@hadoop101 ~]# mkdir xiyou/mingjie
创建一个多级目录:
[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang
rmdir
- rmdir 要删除的空目录 (删除一个空的目录)
[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
touch
- touch 文件名称 (创建空文件:最好按规范加上后缀)
[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt
补充:vim编辑器亦可创建空文件(进入编辑后保存后退出:wq)
cp
- cp [选项] source dest (功能描述:复制source文件到dest)
复制文件:
[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
递归复制整个文件夹:
[root@hadoop101 ~]# cp -r xiyou/dssz/ ./
补充:强制覆盖不提示的方法:\cp
mv
- mv /temp/movefile /targetFolder (功能描述:移动文件/目录)
- mv oldNameFile newNameFile (功能描述:重命名)
移动文件:
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
重命名:
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
rm
- rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
删除目录中的内容:
[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt
递归删除目录中所有内容:
[root@hadoop101 ~]# rm -rf dssz/
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
cat
- cat [选项] 要查看的文件 (查看文件内容,从第一行开始显示。)
查看文件内容并显示行号:
[root@hadoop101 ~]$ cat -n houge.txt
补充:一般查看比较小的文件,一屏幕能显示全的。
more
- more 要查看的文件 (文件内容分屏查看器)
[root@hadoop101 ~]# more smartd.conf
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明。
操作 | 功能说明 |
---|---|
空白键(space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less
- less 要查看的文件 ( 分屏显示文件内容)
[root@hadoop101 ~]# less smartd.conf
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开 less 这个程序; |
补充:用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
head
- head 文件 (功能描述:查看文件头10行内容)
- head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
[root@hadoop101 ~]# head -n 2 smartd.conf
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。
tail
- tail 文件 (功能描述:查看文件尾部10行内容)
- tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
- tail -f 文件 (功能描述(重要指令):实时追踪该文档的所有更新)
查看文件尾 1 行内容:
[root@hadoop101 ~]# tail -n 1 smartd.conf
实时追踪该档的所有更新:(ctrl+c退出追踪)
[root@hadoop101 ~]# tail -f houge.txt
说明:tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。只能追踪vim以外的追加写 该命令可以追踪日志的更新,flum上传和采集核心命令
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部 n 行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
echo
- echo [选项] [输出内容] ( 输出内容到控制台)
[root@hadoop101 ~]$ echo "hello\tworld"
hello\tworld
[root@hadoop101 ~]$ echo -e "hello\tworld"
hello world
[root@hadoop101 ~]$ echo $PATH//环境变量:用户所在的位置
选项: -e (支持反斜线控制的字符转换)
控制字符 | 作用 |
---|---|
\ \ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是 Tab 键 |
>和>>
+[>] 和 输出重定向和[ >> ]追加
(功能描述:将列表的内容/输出的内容 写入文件中( 覆盖写/追加写))
-
ls -l > 文件 (功能描述:列表的内容写入文件中( 覆盖写))
-
ls -al >> 文件 (功能描述:列表的内容 追加到文件的末尾)
-
cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
-
echo “内容” >> 文件
[root@hadoop101 ~]# echo hello>>houge.txt
ln
- ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
创建软连接:
[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
rm -rf houzi/ 这样删是删不掉的 不能再软连接后面加/
进入软连接实际物理路径:
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
补充:
删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/
查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。
history
- history (功能描述:查看已经执行过历史命令(找内鬼,看谁输入过删库跑路指令))
[root@hadoop101 test1]# history
3.3 时间日期类
-
语法
date [选项] [参数]
-
选项说明
选项 | 功能 |
---|---|
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
-
参数说明
<+日期时间格式> 指定显示时使用的日期时间格式
date 显示当前时间
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
案例:
(1)显示当前时间信息:
[root@hadoop101 ~]# date
2017 年 06 月 19 日 星期一 20:53:30 CST
(2)显示当前时间年月日:
[root@hadoop101 ~]# date +%Y%m%d
20170619
(3)显示当前时间年月日时分秒:
[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
2017-06-19 20:54:58
date 显示非当前时间
(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功能描述:显示明天时间)
案例:
(1)显示前一天:
[root@hadoop101 ~]# date -d '1 days ago'
2017 年 06 月 18 日 星期日 21:07:22 CST
(2)显示明天时间:
[root@hadoop101 ~]#date -d '-1 days ago'
2017 年 06 月 20 日 星期日 21:07:22 CST
date 设置系统时间
date -s 字符串时间
设置系统当前时间:
[root@hadoop101 ~]# date -s "2017-06-19 20:52:18"
cal 查看日历
cal [选项] (功能描述:不加选项,显示本月日历)
(1)查看当前月的日历
[root@hadoop101 ~]# cal
(2)查看 2017 年的日历
[root@hadoop101 ~]# cal 2017
3.4 用户管理命令
前置工作
了解三个目录:
- /etc/group 存放组信息,创建用户没有指定组,以自己名字命名组
- /etc/passwd 存放用户信息,用户名:密码:用户id:组id:注释:家目录:解析(看见的用户默认bash,看不见nologin)
- /etc/shadow 存放用户的密码
useradd
- useradd 用户名 (功能描述:添加新用户)
- useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
[root@hadoop101 ~]# useradd tangseng
[root@hadoop101 ~]#ll /home/
password
passwd 用户名 (功能描述:设置用户密码)
[root@hadoop101 ~]# passwd tangseng
id
id 用户名 (查看用户是否存在)
[root@hadoop101 ~]#id tangseng
su
- su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
- su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
[root@hadoop101 ~]#su tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop101 ~]#exit
[root@hadoop101 ~]#su - tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/loca
l/sbin:/usr/sbin:/sbin:/home/tangseng/bin
userdel
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,与用户相关的所有文件都删除)
(1)删除用户但保存用户主目录
[root@hadoop101 ~]#userdel tangseng
[root@hadoop101 ~]#ll /home/
(2)删除用户和用户主目录,都删除
[root@hadoop101 ~]#useradd zhubajie
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]#userdel -r zhubajie
[root@hadoop101 ~]#ll /home/
who
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
(1)显示自身用户名称
[root@hadoop101 opt]# whoami
(2)显示登录用户的用户名
[root@hadoop101 opt]# who am i
sudo
功能:设置普通用户具有 root 权限
实现步骤:
-
添加普通用户,并对其设置密码
[root@hadoop101 ~]#useradd huge [root@hadoop101 ~]#passwd huge
-
修改配置文件
vim /etc/sudoers
找到下面一行(91 行),在 root 下面添加一行,如下所示:
## Allow root to run any commands anywhere root ALL=(ALL) ALL huge ALL=(ALL) ALL
或者配置成采用 sudo 命令时,不需要输入密码
## Allow root to run any commands anywhere root ALL=(ALL) ALL huge ALL=(ALL) NOPASSWD:ALL
-
修改完毕,现在可以用 huge 帐号登录,然后用命令 sudo ,即可获得 root 权限进行操作。
-
案例:用普通用户在/opt 目录下创建一个文件夹,并更改其所属主人和组
[huge opt]$ sudo mkdir module [root@hadoop101 opt]# chown huge:huge module/
注意:
安装系统时创建的非root用户(一般以自己名字命名的),因其特殊性,其权限接近root,可以不用修改配置文件就能执行sudo命令.
验证:使用id命令(id 用户名)查看所属,该用户同时属于两个组,其中wheel组在配置文件中已经允许其特殊权限
usermod
usermod -l 新用户名 老用户名 (改变用户名)
usermod -d /home/新用户名 -m新用户名 (修改家目录)
[root@hadoop101 opt]#usermod -l pengyuyan huge
[root@hadoop101 opt]#usermod -d /home/huge -m huge
3.5 用户组管理命令
groupadd
groupadd 组名 (新增组)
[root@hadoop101 opt]#groupadd xitianqujing
groupdel
groupdel 组名 (删除组)
[root@hadoop101 opt]# groupdel xitianqujing
groupmod
groupmod -n 新组名 老组名
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]#groupmod -n xitian xitianqujing
usermod
usermod -g 组名 用户名 (修改用户组)
[root@hadoop101 ~]#useradd zhubajie
[root@hadoop101 ~]#usermod -g xitian zhubajie //组名得写id
3.6 文件权限类
文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
文件基本属性介绍:
- 文件类型与权限:
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0 首位表示类型,在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:- 代表文件 , d 代表目录 , l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
(4)第7-9位确定其他用户拥有该文件的权限 —Other
rxw 作用文件和目录的不同解释:
- 链接数
(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法
ln [原文件] [目标文件]
[root@hadoop101 ~]# ln xiyou/dssz/houge.txt ./hg.txt
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
[root@hadoop101 ~]# ls -al xiyou/
总用量 16
drwxr-xr-x. 4 root root 4096 1 月 12 14:00 .
dr-xr-x---. 29 root root 4096 1 月 12 14:32 ..
drwxr-xr-x. 2 root root 4096 1 月 12 14:30 dssz
drwxr-xr-x. 2 root root 4096 1 月 12 14:04 mingjie
chmod 改变权限
第一种方式变更权限:
chmod [{ugoa}{±=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
说明:
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
r=4 w=2 x=1 rwx=4+2+1=7
案例:
(1)修改文件使其所属主用户具有执行权限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
chown 改变所有者(常用)
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有
者)
(1)修改文件所有者:
[root@hadoop101 ~]# chown atguigu houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 atguigu root 551 5 月 23 13:02 houge.txt
(2)递归改变文件所有者和所有组
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9 月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R atguigu:atguigu xiyou/
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 atguigu atguigu 4096 9 月 3 21:20 xiyou
chgrp 改变所属组(不常用)
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
[root@hadoop101 ~]# chgrp root houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 atguigu root 551 5 月 23 13:02 houge.txt
3.7 搜索查找类
find
find [搜索范围] [选项] (从指定目录向下递归地查找文件或者目录)
选项 | 功能 |
---|---|
-name | 按照指定的文件名查找模式查找文件 |
-user | 查找属于指定用户名所有文件 |
-size | 按照指定的文件大小查找文件 b —— 块(512 字节) c —— 字节 w —— 字(2 字节) k —— 千字节 M —— 兆字节 G —— 吉字节 |
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find / -name *.txt
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find /opt -user huge
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]#find /home -size +204800c
locate
locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻,注意 locate 这个命令不能搜索/tmp 目录下的文件。
locate 搜索文件 (第一次运行前,必须使用 updatedb 指令创建
locate 数据库)
[root@hadoop101 ~]# updatedb
[root@hadoop101 ~]#locate tmp
grep
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件 (过滤查找)
查找某文件在第几行:(-n)
[root@hadoop101 ~]# ls | grep -n test
3.8 压缩和解压类
gzip/gunzip
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
说明:
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
案例:
(1)gzip压缩:
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# ls
houge.txt.gz
(2)gunzip解压缩文件
[root@hadoop101 ~]# gunzip houge.txt.gz
[root@hadoop101 ~]# ls
houge.txt
zip/unzip
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
说明:
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
案例:
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip mypackage.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 mypackage.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/
tar
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后
的文件格式.tar.gz)
选项 | 功能 |
---|---|
-c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar 文件 |
案例:
(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/
3.9 磁盘分区类
df
df 选项(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
[root@hadoop101 ~]# df -h//按内存格式显示
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 3.5G 11G 26% /
tmpfs 939M 224K 939M 1%
/dev/shm/dev/sda1 190M 39M 142M 22% /boot
du
du 目录/文件(功能描述:显示每个文件和目录的磁盘使用空间)
-a 显示当前目录下所有的文件目录及子目录大小(4的倍数导致单位换算的损失)
[root@hadoop101 ~]# du jinyong
2988 jinyong/
[root@hadoop101 ~]# du -a jinyong
4 jinyong/linghuchong.txt
2972 jinyong/xiaoaojianghu.txt
8 jinyong/catalina.properties
2988 jinyong/
fdisk
fdisk -l (功能描述:查看磁盘分区详情)
该命令必须在 root 用户下才能使用
lsblk
lsblk (功能描述:查看设备挂载情况)
-f 查看详细的设备挂载情况,显示文件系统信息
下图挂载点中可以看到/dev中4个设备分别挂载到4个挂载点上:
mount/umount
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备,默认只读(安全起见避免修改)方式挂载)
umount 设备文件名或挂载点 (功能描述:卸载设备)
这里将镜像文件sr0挂载到/mnt/cdrom为例:
- 查看sr0位置(软链接)
- 挂载
- 卸载
3.10 进程线程类
ps
ps -aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
选项 | 功能 |
---|---|
-a | 选择所有进程 |
-u | 显示所有用户的所有进程 |
-x | 显示没有终端的进程 |
说明:
(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:启动进程所用的命令和参数
kill
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在
系统因负载过大而变得很慢时很有用)
(1)杀死浏览器进程
[root@hadoop101 桌面]# kill -9 5102
(2)通过进程名称杀死进程
[root@hadoop101 桌面]# killall firefox
pstree
pstree [选项] ( 查看进程树)
选项 | 功能 |
---|---|
-p | 显示进程的 PID |
-u | 显示进程的所属用户 |
top
top [选项] (查看系统健康状态)
选项 | 功能 |
---|---|
-d 秒数 | 指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中 可以执行的命令: |
-i | 使 top 不显示任何闲置或者僵死进程。 |
-p | 通过指定监控进程 ID 来仅仅监控某个进程的状态。 |
操作 | 功能 |
---|---|
P | 以 CPU 使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以 PID 排序 |
q | 退出 top |
netstat
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
选项 | 功能 |
---|---|
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出有在 listen(监听)的服务状态 |
-p | 表示显示哪个进程在调用 |
3.11 系统定时任务
定时服务管理
重新启动 crond 服务:
[root@hadoop101 ~]# systemctl restart crond
定时任务设置
crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑 crontab 定时任务 |
-l | 查询 crontab 任务 |
-r | 删除当前用户所有的 crontab 任务 |
参数说明
(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 分钟就执行一遍命令 |
案例:
(1)每隔 1 分钟,向/root/bailongma.txt 文件中添加一个 11 的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt
4. 软件包管理
4.1 RPM
RPM包的名称格式
例:Apache-1.3.23-11.i386.rpm
- “apache” 软件名称
- “1.3.23-11”软件的版本号,主版本和此版本
- “i386”是软件所运行的硬件平台,Intel 32位微处理器的统称
- “rpm”文件扩展名,代表RPM包
rpm -qa (功能描述:查询所安装的所有 rpm 软件包)
rpm -qa | grep rpm软件包 (功能描述:查询是否安装过该 rpm 软件包)
rpm -e RPM软件包 (卸载软件包)
rpm -e --nodeps 软件包 (不检测依赖卸载软件包)
rpm -ivh RPM 包全名 (安装命令)
选项 | 功能 |
---|---|
-i | -i=install,安装 |
-v | -v=verbose,显示详细信息 |
-h | -h=hash,进度条 |
–nodeps | –nodeps,不检测依赖进度 |
实例:
卸载后从电脑的镜像里查看软件包然后安装:
[root@hadoop101 Packages]# pwd
/run/media/root/CentOS 7 x86_64/Packages
[root@hadoop101 Packages]# rpm -ivh
firefox-52.7.0-1.el7.centos.x86_64.rpm
警告:firefox-52.7.0-1.el7.centos.x86_64.rpm: 头 V3 RSA/SHA256
Signature, 密钥 ID f4a80eb5: NOKEY
准 备 中 ...################################# [100%]
正在升级/安装...
1:firefox-52.7.0-1.el7.centos
################################# [100%]
4.2 YUM 仓库配置
YUM常用命令
yum [ -y ] [参数]
参数 | 功能 |
---|---|
install | 安装 rpm 软件包 |
update | 更新 rpm 软件包 |
check-update | 检查是否有可用的更新 rpm 软件包 |
remove | 删除指定的 rpm 软件包 |
list | 显示软件包信息 |
clean all | 清理 yum 过期的缓存 |
makecache | 将当前 yum 源里的 rpm 包列表缓存到本地 |
deplist | 显示 yum 软件包的所有依赖关系 |
采用 yum 方式安装 firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
修改络 网络 YUM 源
-
安装 wget, wget 用来从指定的 URL 下载文件
[root@hadoop101 ~] yum install wget
-
在/etc/yum.repos.d/目录下,备份默认的 repos 文件,
[root@hadoop101 yum.repos.d] pwd
/etc/yum.repos.d
[root@hadoop101 yum.repos.d] mv CentOS-Base
.repo CentOS-Base.repo.backup
- 下载网易 163 或者是 aliyun 的 repos 文件,任选其一,如图 8-2
[root@hadoop101 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop101 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
-
使用下载好的 repos 文件替换默认的 repos 文件
例如:用 Centos-7.repo 替换 CentOS-Base.repo[root@hadoop101 yum.repos.d]# mv Centos-7.repoCentOS-Base.repo
-
清理旧缓存数据,缓存新数据
[root@hadoop101 yum.repos.d]#yum clean all [root@hadoop101 yum.repos.d]#yum makecache yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
-
测试
[root@hadoop101 yum.repos.d]# yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
5. 网络配置
前置工作
-
局域网:内部连接–>网段相同,主机号不同(ip不同)
互联:通过交换机
连接同一台交换机的电脑组成局域网
-
互联网:局域网之间通过路由器连接,这些局域网组成互联网
-
桥接模式:当同一网段的主机号分配完,造成ip冲突
且:同一局域网内物理机或虚拟机之间可随意访问(物理机在开启虚拟机时未开辟局域网)
-
nat模式:物理机在开启虚拟机时单独开辟局域网(此时物理机2访问虚拟机需通过物理机1)
安装
对安装好的 VMware 进行网络配置,方便虚拟机连接网络,本次设置建议选择 NAT 模 式,需要宿主机的 Windows 和虚拟机的 Linux 能够进行网络连接,同时虚拟机的 Linux 可 以通过宿主机的 Windows 进入互联网。
编辑VMware的网络配置
虚拟网络编辑器(充当交换机)–>更改其NAT模式下的设置–>子网的网段改为10/202–>子网IP(192.168.10.0)–>NAT设置中网关GATEWAY的IP的网段改为10–>网关IP(192.168.10.2)
windows 的网络配置
更改适配器选项–>修改VMnet8的ipv4–>ip:192.168.10.1–>网关和DNS:192.168.10.2
虚拟机网络 IP 修改地址配置
- 找到修改网络配置的文件:
[root@hadoop100 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改
-
编辑:dhcp–>static静态
-
加入:
IPADDR=’192.168.10.100’//静态ip地址
GATEWAY=192.168.10.2//网关–>打开以连接交换机
DNS1=192.168.10.2//将网关暴露给路由器,国际通用:8.8.8.8/114.114.114.114
-
:wq保存退出
-
重启网络:指令systemctl restart network
-
使用 ifconfig 命令查看当前 ip
修改主机名和hosts文件
- 修改主机名称
[root@hadoop100 ~]# vim /etc/hostname–>hadoop100
- 配置 Linux 克隆机主机名称映射 hosts 文件,打开**/etc/hosts**
添加如下内容:
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
- 重启
reboot
shutdown 1–>1分钟后关机
shutdown -c–>取消定时关机
- 修改 windows **的主机映射文件(**hosts 文件)
进入 C:\Windows\System32\drivers\etc 路径 -->打开 hosts 文件并添加如上内容,然后保存
关闭防火墙
cd /usr/lib/systemd/system–>systemctl status firewalld(查看状态)–>systemctl stop firewalld(单次关闭防火墙)–>关闭开机自启