1.Linux命令说明:
1.1.命令的提示符:
[]
:这是提示符的分隔符号,没有特殊含义。root
:显示的是当前的登录用户。@
:分隔符号,没有特殊含义。- hadoop103`:当前系统的简写主机名(完整主机名是hadoop.localdomain)。
~
:代表用户当前所在的目录,此例中用户当前所在的目录是家目录
#
:命令提示符。超级用户是#,普通用户是$
1.2.命令基本格式:
- 1.无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command
: 命令本身-options
:命令的一些选项,是[可选,非必填],可以通过选项
控制命令的行为细节parameter
:[可选,非必填]命令的参数
,多数用于命令的指向目标等
- 2.
语法中的[],表示可选的意思
2.帮助类指令:
2.1.命令:man
- 1.功能描述:获得帮助信息
- 2.基本语法:- man [选项] 命令
- 3.选项:
- 数字:查看指定级别的帮助
-f
:查看命令拥有哪个级别的帮助-k
:查看和命令相关的所有帮助
- 数字:查看指定级别的帮助
- 4.操作快捷键:
- 5.实例:例如查看ls 命令的帮助信息:
man ls
2.2.命令:help
- 1.功能:
- 只能获取Shell内置命令的帮助
- 功能描述:显示Shell内置命令的帮助。可以使用type命令来区分内置命令与外部命令
- 2.语法:help 命令
- 3.说明:
--help选项
:绝大多数命令都可以使用“–help”选项来查看帮助,这也是一种获取帮助的方法- 输出的帮助信息基本上是man命令的信息简要版
2.3.命令:info
3.目录类指令:
3.1.命令:pwd:
- 1.功能:展示当前工作目录
- 2.语法:
ls [选项] [目录或是文件]
- 3.演示:
3.2.命令:ls:
- 1.功能:列出文件夹和文件信息
- 2.语法:
ls [-l -h -a] [参数]
- 3.选项:
-l
,以列表形式查看-h
,配合-l
,以更加人性化的方式显示文件大小单位-a
,显示隐藏文件
- 4.参数:
- 被查看的文件夹,不提供参数,表示查看当前工作目录
- 5.演示:
- 通过
ls /
列出了根目录的内容:
- 通过
- 6.其他说明:
- 查看隐藏文件、文件夹,默认不显示出来,需要
-a
选项才可查看到 - 在Linux中以
.
开头的,均是隐藏的 - 语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。
- ls -l -a
- ls -la
- ls -al
ls -la
查询结果中各列的含义:- 第一列:权限。具体权限的含义后面会介绍
- 第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而
目录的引用计数代表该目录有多少个一级子目录
,.
代表当前目录,..
代表上级目录
- 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
- 第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组
- 第五列:大小。默认单位是字节。
- 第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列:文件名
- 查看隐藏文件、文件夹,默认不显示出来,需要
3.3.命令:cd:
- 1.功能:切换工作目录
- 2.语法:cd [参数] (功能描述:切换到指定目录)
- 3.参数:
- 1.参数含义是表示的目标目录,要切换去的地方,不提供的话就默认切换到
当前登录用户HOME目录
- 2.参数是特殊符号代表的含义:
- 1.参数含义是表示的目标目录,要切换去的地方,不提供的话就默认切换到
- 4.演示:
- 5.其他说明:
- 相对路径和绝对路径:
- 相对路径,非
/
开头的称之为相对路径 - 相对路径表示以
当前目录
作为起点,去描述路径,如test/a.txt
,表示当前工作目录内的test文件夹内的a.txt文件 - 绝对路径,以
/
开头的称之为绝对路径 - 绝对路径从
根
开始描述路径
2.特殊路径符:
.
表示当前目录,比如cd ./Desktop
表示切换到当前目录下的Desktop目录内
,和cd Desktop效果一致
..
表示上一级目录,比如:cd … 即可切换到上一级目录,cd …/… 切换到上二级的目录~
表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录
3.4.命令:mkdir
- 1.功能:指令用于创建目录
- 2.语法:
mkdir [选项] 要创建的目录
- 3.选项:
-p
:可选,表示自动创建不存在的父目录,适用于创建连续多层
级的目录
- 4.参数:
- 被创建文件夹的路径,必填
- 5.演示:
- 6.其他说明:
- 创建文件夹
需要修改权
限,请确保操作均在HOME目录内,不要在HOME外操作,涉及到权限问题,HOME外无法成功
- 创建文件夹
3.5.命令:rmdir
- 命令功能: 删除空目录(仅仅能删除目录)
- 语法:rmdir [选项] 要删除的空目录
- 选项:
- r :递归删除整个文件夹
- f : 强制删除不提示
- 参数:被删除文件夹的路径,必填路径
- 演示:
rmdir -rf dir
- 其他说明
- rmdir 删除的是空目录,如果目录下有内容时无法删除。
- 如果需要删除非空目录,需要使用 rm -rf 要删除的目录(这个操作 请超级谨慎)
- rm删除后就是彻底删除,为了防止误删除,能够进行数据的恢复,可以先行安装extundelete工具:
4.文件类指令:
4.1.命令:touch:
- 1.命令功能:创建文件或者修改文件时间
- 2.语法:
touch 参数
- 3.参数:被创建的文件路径
- 4.演示:
- 5.其他:
- touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
4.2.命令:stat:
- 1.功能:是查看文件或文本系统的详细信息的命令
- 2.语法:
stat 文件路径
- 3.演示:
4.3.命令:cat:
- 1.功能:查看文件内容,可翻页查看
- 2.语法:cat [选项] 要查看的文件
- 3.选项:
- 4.参数:被查看的文件路径
- 5.演示:
- 查看某文件内容:
-A
隐藏特殊符号显示:
- 命令:
cat -n/etc/profile | more
, cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 |more
- 查看某文件内容:
- 5.其他说明:
- 当文件内容很多的时候,使用cat命令查看就不方便了,所以出现了more命令
4.4.命令:more
-
1.功能:
- 查看文件,可以支持翻页查看
- more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令),如下:
-
2.语法:
more 要查看的文件
-
3.其他说明:
- 与cat不同:
- cat是直接将内容全部显示出来
- more支持翻页,如果文件内容过多,可以一页页的展示
- 空格键:向下翻页
- b:向上翻页。
- 回车键:向下滚动一行。
/字符串
:搜索指定的字符串。- q:退出。
- 与cat不同:
3.5.命令:less
- 1.功能:
- 分行显示文件内容
- less指令用来分屏查看文件内容,它的内容与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
- less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
- 2.语法:
less 要查看的文件
- 3.演示:
- 4.其他:
4.6.命令:echo指令
- 1.功能:echo输出内容到控制台
- 2.基本语法: echo [选项] [输出内容]
- 3.实例:
- 使用 echo 指令输出环境变量,比如输出
P
A
T
H
、主机名
PATH 、主机名
PATH、主机名HOSTNAME
- 使用 echo 指令输出环境变量,比如输出
P
A
T
H
、主机名
PATH 、主机名
PATH、主机名HOSTNAME
4.7.命令:head
- 功能:head用于显示文件的开头部分,默认情况下 head 指令显示文件的前10行内容。
- 2.语法:
head 文件
(功能描述:查看文件头10行内容)head -n 5 文件
(功能描述:查看文件头5行内容,5可以是任意行数)
- 3.演示:
- 查看 /etc/profile 的前5行代码: head -n 5 /etc/profile
4.8.命令:tail
- 1.功能:tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的前10行内容
- 2.语法:
tail 文件
(功能描述:查看文件尾10行内容)tail -n 5 文件
(功能描述:查看文件尾5行内容,5可以是任意行数)tail -f 文件
(功能描述:实时追踪该文档的所有更新)
- 3.选项:
- 4.实例:
- 时监控 mydate.txt,看看文件是否有变化**(Ctrl+C来停止监控)**:
tail -f /home/mydate.txt
- 时监控 mydate.txt,看看文件是否有变化**(Ctrl+C来停止监控)**:
- 5.其他说明:
ctrl + c
:终止退出
4.9命令:>和>>
- 1.功能:
>
是输出重定向 和>>
是追加 - 2.基本语法:
ls -l > 文件
(功能描述:列表的内容写入文件中(覆盖写))ls -al>>文件
(功能描述:列表的内容追加到文件末尾)cat 文件1 > 文件2
(功能描述:将文件1的内容覆盖到文件2)- echo “内容”>>文件 (功能描述:将内容追加到文件)
- 3.实例:
- 将
/home
目录下的文件列表,写入到/home/info.txt
中,覆盖写入:ls -l/home > /home/info.txt
:如果info.txt没有,则会自动创建
- 将
4.10.命令:ln
- 1.功能:在
文件之间建立链接
- 2.语法:
ln [选项] 源文件 目标文件
- 3.选项:
-s
:建立软链接文件
。如果不加“-s”选项,则建立硬链接文件-f
:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
- 4.参数:
- 源文件和目标文件的路径
- 5.演示:
- 6.其他:
- 创建软链接时源文件
必须为绝对路径
- 硬链接特征(不建议)
- 软链接特征(推荐):
类似windows下的快捷方式
,使用绝对路径
- 创建软链接时源文件
5.目录和文件都能操作类指令
5.1.命令:rm
- 1.功能:删除文件、文件夹
- 2.语法:
rm [选项] 要删除的文件或目录
- 3.选项:
- 选项:-r,删除文件夹使用
- 选项:-f,强制删除,不会给出确认提示,一般root用户会用到
- 4.参数:
- 参数:支持多个,每一个表示被删除的,空格进行分隔
- 5.演示:
- 将 /home/hello.txt 删除:
rm /home/hello.txt
- 将 /home/hello.txt 删除:
- 6.其他:
- rm命令很危险,一定要注意,特别是切换到root用户的时候。
5.2.命令:cp
- 1.功能:复制文件、文件夹
- 2.语法:
cp [-r] 参数1 参数2
- 3.选项:
- 选项:-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
- 选项:-i: 询问,如果目标文件已经存在,则会询问是否覆盖
- 选项:-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
- 选项:-r: 递归复制,用于复制目录
- 选项:-a:相当于-dpr选项的集合
- 4.参数:
- 参数1,被复制的
- 参数2,要复制去的地方
- 5.演示:
cp a.txt b.txt
,复制当前目录下a.txt为b.txtcp a.txt test/
,复制当前目录a.txt到test文件夹内cp -r test test2
,复制文件夹test到当前文件夹内为test2存在
强制覆盖不提示: \cp [选项] source dest
5.3.命令:mv :
- 1.功能:
- mv:
移动文件与目录或重命名
- mv:
- 2.语法:
mv oldNameFile newNameFile
(功能描述:重命名):两个文件在同一个目录,oldNameFile 代表旧的文件名,newNameFile 代表新的文件名mv /temp/movefile /targetFolder
(功能描述:移动文件):两个文件不在同一个目录,将/temp/movefile 文件移动到 /targetFolder 目录
- 3.演示:
- 案例 1: 将 /home/cat.txt 文件 重新命名为 pig.txt:
- 案例 2:将 /home/pig.txt 文件 移动到 /root 目录下:
- 案例 1: 将 /home/cat.txt 文件 重新命名为 pig.txt:
6.日期类指令:
6.1.命令:date
- 1.功能:设置当前日期,date指令显示当前日期
- 2.基本语法:
- date (功能描述:显示当前时间)
- date+%Y (功能描述:显示当前年份)
- date+%m (功能描述:显示当前月份)
- date+%d (功能描述:显示当前是哪一天)
- date+“+%Y-%m-%d%H:%M:%S” (功能描述:显示年月日时分秒)
- date -s 字符串时间,设置系统当前时间
- 3.实操:
- 显示当前时间信息
- 显示当前时间年月日:
- 显示当前时间信息
- 3.设置系统当前时间,比如设置成 2020-11-23 10:09:09:
date -s "2020-11-23 10:09:09"
6.2.命令:cal:
- 1.功能:cal指令用于查看日历
- 2.基本语法:
cal[选项]
(功能描述:不加选项,显示本月日历) - 3.实例:
- 显示当前日历:cal
cal
- 显示2020年日历
cal 2020
7.搜索命令:
7.1.命令:find
- 1.功能:find 指令将从指定目录向下递归地遍历其各个子目录,将满足调节的文件或者目录显示在终端
- 2.语法:按文件名搜索:find [搜索范围] [选项] 搜索的内容
- 3.选项:
- 4.演示:
1.按照文件名搜索:
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-name: 按照文件名搜索
-iname: 按照文件名搜索,不区分文件名大小写
-inum: 按照 inode 号搜索
2.按照文件大小搜索:
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-size [+|-]大小: 按照指定大小搜索文件
这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
3.查看find 命令的文件大小单位:
[root@localhost ~]# man find
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
'b' for 512-byte blocks (this is the default if no suffix is used)
#这是默认单位,如果单位为 b 或不写单位,则按照 512 Byte 搜索
'c' for bytes
#搜索单位是 c,按照字节搜索
'w' for two-byte words
#搜索单位是 w,按照双字节(中文)搜索
'k' for Kilobytes (units of 1024 bytes)
#按照 KB 单位搜索,必须是小写的 k
'M' for Megabytes (units of 1048576 bytes)
#按照 MB 单位搜索,必须是大写的 M
'G' for Gigabytes (units of 1073741824 bytes)
#按照 GB 单位搜索,必须是大写的 G
4.按照文件修改时间搜索:
- 1.Linux 中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个 时间,我们也可以按照时间来搜索文件。
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改时间搜索
这三个时间的区别我们在 stat 命令中已经解释过了,
这里用 mtime 数据修改时间来举例,重点说说“[+-]”时间的含义。
-5:代表 5 天内修改的文件。
5:代表前 5~6 天那一天修改的文件。
+5:代表 6 天前修改的文件。
5.按照权限搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件
6.按照所有者和所属组搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
-gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
-user 用户名: 按照用户名查找所有者是指定用户的文件
-group 组名: 按照组名查找所属组是指定用户组的文件
-nouser: 查找没有所有者的文件
按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件。
只有一种情况例外,那就是外来文件。比如光盘和 U 盘中的文件如果是由 Windows 复制的,在
Linux 中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者
7.按照文件类型搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-type d: 查找目录
-type f: 查找普通文件
-type l: 查找软链接文件
8.逻辑运算符
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-a: and 逻辑与
-o: or 逻辑或
-not: not 逻辑非
1)-a:and 逻辑与
find 命令也支持逻辑运算符选项,其中-a 代表逻辑与运算,也就是-a 的两个条件都成立,find 搜
索的结果才成立。举个例子:
[root@localhost ~]# find . -size +2k -a -type f
#在当前目录下搜索大于 2KB,并且文件类型是普通文件的文件
2)-o:or 逻辑或
-o 选项代表逻辑或运算,也就是-o 的两个条件只要其中一个成立,find 命令就可以找到结果。例
如:
[root@localhost ~]# find . -name cangls -o -name bols
./cangls
./bols
#在当前目录下搜索文件名要么是 cangls 的文件,要么是 bols 的文件
3)-not:not 逻辑非
-not 是逻辑非,也就是取反的意思。举个例子:
[root@localhost ~]# find . -not -name cangls
#在当前目录下搜索文件名不是 cangls 的文件
- 5.其他说明:参数,搜索的关键字,支持通配符*, 比如:
*
test表示搜索任意以test结尾的文件
7.2.命令:locate
- 1.功能:locate指令可以快速定位文件路径。locate指令利用事先建立的系统中
所有文件名称及路径的 locate
数据库实现快速定位给定的文件。 locate 指令无需遍历整个文件系统,查询速度较快
,为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。 - 2.语法:
locate 搜索文件
- 3.演示:
配置文件
[root@localhost ~]# vi /etc/updatedb.conf
PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制,也就是让这个配置文件生效
PRUNEFS = "……"
#在 locate 执行搜索时,禁止搜索这些文件系统类型
PRUNENAMES = "……"
#在 locate 执行搜索时,禁止搜索带有这些扩展名的文件
PRUNEPATHS = "……"
#在 locate 执行搜索时,禁止搜索这些系统目录
- 5.其他:
- 1.数据库位置/var/lib/mlocate/mlocate.db,可以使用updatedb命令强制更新数据库。
- 2.优点:按照数据库搜索,搜索速度快,消耗资源小。
- 3.缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。
- 4.特别说明:由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库
7.3.命令:whereis
- 1.功能:
- 是搜索系统命令的命令(像绕口令一样),也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令
- 查找二进制命令、源文件和帮助文档的命令
7.4.命令:which
- 1.功能:查看命令的程序本体文件路径
- 2.语法:
which 参数
- 3.参数:被查看的命令
- 4.演示:
7.5.命令:grep 和 管道符号 |
- 1.功能:
- grep 过滤查找;管道符 “|” :表示将前一个命令的处理结果输出传递给后面的命令处理,两者通常结合使用
- 2.基本语法:
grep[选项] 查找内容 源文件
- 3.选项-n,可选,表示在结果中显示匹配的行的行号。
- 4.选项说明:
- 5.演示:
- 在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号
cat /home/hello.txt | grep "yes" grep -n "yes" /home/hello.txt
- 6.其他说明:
|
可以支持嵌套:cat a.txt | grep itheima | grep itcast
7.6.命令:wc
- 1.功能:统计
- 2.语法:
wc [-c -m -l -w] 文件路径
- 2.选项:
-c
,统计bytes数量-m
,统 计字符数量-l
,统计行数-w
,统计单词数量文件路径
,被统计的文件,可作为内容输入端口
参数文件路径,可作为管道符的输入
7.7.命令:`反引号
- 1.功能:
被两个反引号包围的内容,会作为命令执行
- 2.语法:
- echo `pwd`,会输出当前工作目录
8.压缩和解压缩命令:
在Linux中可以识别到的压缩格式有十几种,如.zip、.gz、.bz2、.tar、.tar.gz、.tar.bz等
8.1.命令:gzip / gunzip
- 1.功能描述:
gzip 用于压缩文件,gunzip 用于解压
- 2.语法:
- gzip 文件 (功能描述:压缩文件,只能将文件压缩为 *.gz文件)
- gunzip 文件.gz (功能描述:解压缩文件命令)
- 3.演示:
- 将 /home 下的 hello.txt 文件进行压缩:
gzip /home/hello.txt
- 将 /home 下的 hello.txt.gz 文件进行解压缩:
gunzip /home/hello.txt.gz
- 将 /home 下的 hello.txt 文件进行压缩:
8.2.命令:.zip
- 1功能:
- 压缩文件或目录
- 2.语法:
- [root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
- [root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
- 3.选项:
- .
-r
: 压缩目录
- .
- 4.实操:
zip ana.zip anaconda-ks.cfg
zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹都压缩]
8.3.命令:unzip
- 1.功能:
- unzip用于解压,这个在项目打包发布中很有用
- 2.语法:
- [root@localhost ~]# unzip [选项] 压缩包名
- 3.选项:
-d
:d<目录> 指定解压后文件的存放目录
- 4.演示:
unzip -d /tmp/ ana.zip #把压缩包解压到指定位置
mkdir /opt/tmp
unzip -d/opt/tmp /home/myhome.zip
8.3.命令:bzip2和gunzip
“.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,“.bz2”格式的算法更先进、压缩比更好;而“.gz”格式相对来讲压缩的时间更快
bz2 不能压缩目录
-
1.功能:描述:.bz2 格式的压缩命令
-
2.命令的格式:
bzip2 [选项] 源文件
-
3.选项:
-k
: 压缩时,保留源文件-v
: 显示压缩的详细信息-d
: 解压缩
-
4.演示:
- 压缩文件:
bzip2 anaconda-ks.cfg #压缩成.bz2 格式 bzip2 -k install.log.syslog #保留源文件压缩
- 两个命令都可以解压缩“.gz”格式
[root@localhost ~]# gunzip install.log.gz [root@localhost ~]# gzip -d anaconda-ks.cfg.gz
8.5.命令:.tar
- 1…功能:打包命令,最后打包后的文件是 .tar.gz 的文件
- 2.语法:tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式 .tar.gz)
- 3.选项:
- 4.演示:
- 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz :
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
- 将 /home 的文件夹压缩成 myhome.tar.gz:
tar -zcvf myhome.tar.gz /home/
- 将 pc.tar.gz 解压到当前目录:
tar -zxvf pc.tar.gz
- 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz :
8.6.命令:.tar
- 1.功能:解包功能
- 2.语法:
tar [选项] 压缩包
- 3.选项:
-x
: 解打包
-f
: 指定压缩包的文件名
-v
: 显示解打包文件过程
-t
: 测试,就是不解打包,只是查看包中有哪些文件
-C(大) 目录
:指定解打包位置 - 4.演示:
- 解打包到当前目录下:
tar -xvf anaconda-ks.cfg.tar
- 解打包到当前目录下:
- 5.其他说明:
.tar.gz 和 .tar.bz2对比
:
使用 tar 命令直接打包压缩。
命令格式如下:
[root@localhost ~]# tar [选项] 压缩包 源文件或目录
选项:
-z: 压缩和解压缩“.tar.gz”格式
-j: 压缩和解压缩“.tar.bz2”格式
例如:.tar.gz 格式
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
#把/tmp/目录直接打包压缩为“.tar.gz”格式
[root@localhost ~]# tar -zxvf tmp.tar.gz
#解压缩与解打包“.tar.gz”格式
例如:.tar.bz2 格式
[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
#打包压缩为“.tar.bz2”格式,注意压缩包文件名
[root@localhost ~]# tar -jxvf tmp.tar.bz2
#解压缩与解打包“.tar.bz2”格式
再举几个例子:
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/abc
[root@localhost ~]# touch test/bcd
[root@localhost ~]# touch test/cde
#建立测试目录和测试文件
[root@localhost ~]# tar -zcvf test.tar.gz test/
#压缩
[root@localhost ~]# tar -ztvf test.tar.gz
#只查看,不解压
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp
#解压缩到指定位置
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp test/cde
#只解压压缩包中的特定文件,到指定位置
9.组管理
9.1 Linux 组基本介绍
- 1.在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件/目录都有所有者、所在组、其它组的概念
- 所有者
- 所在组
- 其它组
- 改变用户所在的组
9.2.文件/目录的 所有者:
一般文件/目录的创建者就是谁创建了该文件,就自然成为了该文件的所有者
a.查看文件/目录的所有者:
- 1.
查看文件/目录的所有者
指令:ls –ahl
- 2.实例:
b.修改文件/目录的所有者:
- 1.指令:
chown 用户名 文件名
,修改文件/目录所有者, - 2.案例:把root 创建的文件 apple.txt ,将其所有者修改成 tom为所有者:
chown tom apple.txt
1.创建文件/目录并查看文件所有者:
2.修改文件所有者:
9.3.文件/目录 所在组:
a.组创建:
- 1.语法:
groupadd 组名
- 2.实例:创建一个组,:monster,再创建一个用户 fox,再放到monster 组中:
useradd -g monster fox
9.4.文件/目录所在组操作:
当某个用户创建了一个文件/目录后,这个文件的所在组就是该用户所在的组(默认)
a.查看文件/目录 所在组:
- 1.基本指令:
ls –ahl
,查看文件/目录所在组 - 2.实例, 使用 fox 来创建一个文件,看看该文件属于哪个组?
b.修改文件/目录所在组:
- 1.基本指令:
chgrp 组名 文件名
- 2.实例:创建用户组fruit,使用 root 用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit组
9.5.其他组:
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
9.6.改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组
a.改变用户所在组
- 1.
usermod –g 新组名 用户名
- 2.
usermod –d 目录名 用户名 改变该用户登陆的初始目录
。 - 3.特别说明:用户需要有进入到新目录的权限。
b.应用实例
- 1.将 zwj 这个用户从原来所在组,修改到 wudang 组;
usermod -g wudang zwj
10.权限管理
11.定时任务
12.磁盘分区挂载
13.网络配置:
10.常用的网路命令:
10.1.配置IP地址:
- 1.配置 IP 地址有两种方法:
- setup 工具
- vi /etc/sysconfig/network-scripts/ifcfg-eth0 手工修改配置文件
- 2.配置完成后使用 service network restart 重启网络服务,对于复制镜像有可能需要重置 UUID(唯一识别符)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
#删除 MAC 地址行 也就是HWADDR行
[root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
#删除 MaC 地址和 UUID 绑定文件
[root@localhost ~]# reboot
#重启 Linux
10.2.命令:ifconfig
a.功能:
- 1.功能描述:配置网络接口,最主要的作用就是查看 IP 地址的信息,直接输入 ifconfig 命令即可
f.演示:
10.3.命令:ping
a.功能:
- 1.功能描述:向网络主机发送ICMP请求
c.选项:
-b
:后面加入广播地址,用于对整个网段进行探测
-c
次数:用于指定ping的次数
-s
字节:指定探测包的大小
f.演示:
- 1.例如可以使用“-b”选项,后面加入广播地址,探测整个网段有多少主机是可以和我们通信
[root@localhost ~]# ping -b -c 3 192.168.103.255 #探测192.168.103.0/24网段有多少主机是可以和我们通信
10.4.netstat:
a.功能:
- 1.netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
b.语法:
netstat [选项]
c.选项:
-a:列出所有网络状态,包括Socket程序
-c 秒数:指定每隔几秒刷新一次网络状态
-n:使用IP地址和端口号显示,不使用域名与服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的连接状况
-u:显示使用UDP协议端口的连接状况
-l:仅显示监听状态的连接
-r:显示路由表
e.其他:
- 1.在CentOS 7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。
- 2.使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多从“Active UNIX domain sockets”开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态。
f.演示:
- 1.查看本机开启的端口:
- 2.查看本机有哪些程序开启的端口,使用“-p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID
10.5.write
a.功能描述:向其他用户发送信息
14.系统痕迹命令:
系统中有一些重要的痕迹日志文件,如/var/log/wtmp、/var/run/utmp、/var/log/btmp、/var/log/lastlog等日志文件,如果你用vim打开这些文件,你会发现这些文件是二进制乱码。由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。这些信息要是可以通过vim打开,就能编辑,这样痕迹信息就不准确,所以这些重要的痕迹日志,
只能通过对应的命令来进行查看
11.1.命令:w
a.功能:
- 1.功能描述:显示当前登录用户,和他正在做什么
f.演示:
- 1.第一行的信息含义:
- 2.第二行信息:
11.2 .命令:who:
a.功能:
- 1.who命令和w命令类似,用于
查看正在登陆的用户
,但是显示的内容更加简单,也是查看/var/run/utmp日志
f.演示:
11.3.命令:last
a.功能:
- 1.查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命令查看的是
/var/log/wtmp
痕迹日志文件
f.演示:
11.4.lastlog
a.功能:
- 1.查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是
/var/log/lastlog
文件
f.演示:
11.5.lastb
a.功能:
- 1.查看错误登陆的信息的,查看的是/var/log/btmp痕迹日志