一. 命令的基本格式
1. 命令的提示符
-
-
- [ ]:这是提示符的分隔符号,没有特殊含义。
- root:显示的是当前的登录用户
- @:分隔符号,没有特殊含义。
- localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)
- ~:代表用户当前所在的目录,此例中用户当前所在的目录是家(home)目录
- #:命令提示符。超级用户是#,普通用户是$
-
2. 命令的基本格式
二. 目录操作命令
1. ls :主要作用是显示目录下的内容( 英文原意:list )。
所在路径:/bin/ls
执行权限:所有用户
选项:
-
-
- -a:显示所有文件
- --color=when: 支持颜色输出,when 的值默认是 always(总显示颜色),也可以是
never(从不显示颜色)和 auto(自动)
- -d:显示目录信息,而不是目录下的文件
- -h:人性化显示,按照我们习惯的单位显示文件大小
- -i: 显示文件的 i 节点号
- -l: 长格式显示
-
-
-
- 第一列:权限。(下面笔记会记录)
- 第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录
有多少个一级子目录。 - 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
- 第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列:大小。默认单位是字节。
- 第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个
时间不是文件的创建时间。 - 第七列:文件名
-
2. cd :切换所在目录(英文原意:change directory)
所在路径:Shell内置命令
执行权限:所有用户
cd ~ : 代表用户的家目录
cd - : 代表上级所在目录
cd . : 代表当前目录
cd .. : 代表上级目录
3. pwd :查询所在的工作目录(英文原意:print name of current/working directory)
所在路径:/bin/pwd
执行权限:所有用户
4. mkdir : 创建空目录(英文原意:make directories)
所在路径:/bin/mkdir
执行权限:所有用户
mkdir abc/def 若abc目录不存在,则产生错误
mkdir -p abc/def 若abc目录不存在,则自动新建(mkdir -p:递归建立所需目录)
5. rmdir :删除空目录(英文原意:remove empty directories)
所在路径:/bin/rmdir
执行权限:所有用户
rmdir -p 递归删除目录( 与↑类似 )
rmdir 命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。
后续不论删除的是文件还是目录,都会使用 rm命令
三. 文件操作命令
1. touch :创建空文件或修改文件时间戳(英文原意:change files timestamps)
所在路径:/bin/touch
用户权限:所有用户
2. stat :显示文件或文件系统的详细信息(英文原意:display file or file system status)
所在路径:/usr/bin/stat
用户权限: 所有用户
3. cat : 查看文件内容(英文原意:concatenate files and print on the standard output)
所在路径:/bin/cat
执行权限:所有用户
选项:
-
-
- -A: 相当于-vET 选项的整合,用于列出所有隐藏符号
- -E: 列出每行结尾的回车符$
- -n: 显示行号
- -T: 把 Tab 键用^I 显示出来
- -v: 列出特殊字符
-
4. more : 分屏显示文件内容(英文原意:file perusal filter for crt viewin)
所在路径:/bin/more
执行权限:所有用户
more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。
常用的交互命令如下:
-
-
- 空格键:向下翻页。
- b:向上翻页。
- 回车键:向下滚动一行。
- /字符串:搜索指定的字符串。
- q:退出。
-
5. less:分行显示文件内容(英文原意:opposite of more)
所在路径:/usr/bin/less
执行权限:所有用户
6. head:显示文件开头的内容(英文原意:output the first part of files)
所在路径:/usr/bin/head
执行权限:所有用户
选项:
-
-
-
- -n 行数:从文件头开始,显示指定行数
- -v :显示文件名
-
-
7. tail : 显示文件结尾的内容(英文原意:output the last part of files)
所在路径:/usr/bin/tail
执行权限:所有用户
选项:
-
-
-
- -n 行数: 从文件结尾开始,显示指定行数、
- -f : 监听文件新增的内容
-
-
8. ln : 在文件之间建立链接(英文原意:make links between files)
所在路径:/bin/ln
执行权限:所有用户
选项:
-
-
-
-
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-
-f : 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
-
-
-
创建硬链接:
#建立硬链接文件,目标文件没有写文件名,会和原文件名一致
#也就是 /root/cangls 和 /tmp/cangls 是硬链接文件
创建软链接:
#建立软链接文件
硬链接与软链接的区别:
硬链接:
-
-
-
- 源文件和硬链接文件拥有相同的 Inode 和 Block
- 修改任意一个文件,另一个都改变
- 删除任意一个文件,另一个都能使用
- 硬链接标记不清,很难确认硬链接文件位置,不建议使用
- 硬链接不能链接目录
- 硬链接不能跨分区
-
-
软链接:
-
-
-
- 软链接和源文件拥有不同的 Inode 和 Block
- 删除软链接,源文件不受影响;删除源文件,软链接不能使用
- 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
- 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
- 软链接可以链接目录
- 软链接可以跨分区
- 软链接特征明显,建议使用软连接
-
-
软链接一定要用绝对路径!
四. 目录和文件都能操作的命令
1. rm : 删除文件或目录(英文原意:remove files or directories)
所在路径:/bin/rm
执行权限:所有用户
选项:
-
-
-
- -f: 强制删除(force)
- -i: 交互删除,在删除之前会询问用户
- -r: 递归删除,可以删除目录(recursive)
-
-
2. cp : 复制文件和目录(英文原意:copy files or directories)
所在路径:/bin/cp
执行权限:所有用户
选项:
-
-
-
- -a: 相当于-dpr 选项的集合 ↓
- -d: 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
- -i: 询问,如果目标文件已经存在,则会询问是否覆盖
- -p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
- -r: 递归复制,用于复制目录
-
-
3. mv :移动文件或改名
所在路径:/bin/mv
执行权限:所有用户
选项:
-
-
-
- -f: 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
- -i: 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
- v: 显示详细信息
-
-
五. 基本权限管理
1. 权限的介绍
权限位的含义
前面ls -l 命令 长格式显示的第一列就是文件的权限,例如:
第一列的权限位如果不计算最后的“.”(这个点的含义下面会学到),则共有 10 位,这 10位权限位的含义如
下图所示:
-
-
- 第1 位代表文件类型。Linux 不像 Windows 使用扩展名表示文件类型,而是使用权限位的第 1
-
位表示文件类型。虽然 Linux 文件的种类不像 Windows 中那么多,但是分类也不少,详细情况
可以使用“info ls”命令查看。一些常见的文件类型:
“-”:普通文件。
“b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1
就是这种文件。
“c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘
等。
“d”:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
“l”:软链接文件。
“s”:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样
的文件
-
-
-
第 2~4 位代表文件所有者的权限。
r:代表 read,是读取权限。
w:代表 write,是写权限。
x:代表 execute,是执行权限。
如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。 - 第 5~7 位代表文件所属组的权限,同样拥有“rwx”权限。
- 第 8~10 位代表其他人的权限,同样拥有“rwx”权限。
-
-
2. 基本权限的作用
2.1 权限含义的解释
首先,读、写、执行权限对文件和目录的作用是不同的。
-
-
- 权限对文件的作用
- 读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对
- 权限对文件的作用
-
文件有读(r)权限,就可以了对文件执行cat、more、less、head、tail等文件查看命令。
- 写(w):对文件有(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文
件有写(w)权限,就可以对文件执行vim、echo等修改文件数据的命令。注意:对文件有写
权限,是不能删除文件本身的,只能修改文件中的数据。如果想要删除文件,则需要对文件的
上级目录拥有写权限。
- 执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在Linux中,只要文件有执行
权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行(x)权限,
还要看文件中的代码是不是正确的语言代码。对文件来说,执行(x)权限是最高权限。
-
-
- 权限对目录的作用
-
- 读(r):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目
录。如果把权限对应到命令上,那么一旦对目录拥有了读(w)权限,就可以在目录下执行ls命令,
查看目录下的内容了。
- 写(w):对目录有写(w)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪
切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录
下执行touch、rm、cp、mv命令,对目录来说,写(w)权限是最高权限。
- 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。如果把权限对应到命令,
那么一旦对目录拥有了执行权限,就可以了对目录执行cd命令,进入目录。
2.2 目录的可用权限
-
-
- 0:任何权限都不赋予。
- 5:基本的目录浏览和进入权限。
- 7:完全权限。
-
3. 基本权限命令
3.1 chmod : 修改文件的权限模式(英文原意:change file mode bits)
所在路径:/bin/chmod
执行权限:所有用户
选项:
-
-
-
-
- -R: 递归设置权限,也就是给子目录中的所有文件设定权限
-
-
-
权限模式:
[用户身份][[赋予方式][权限]]
-
-
-
-
- 用户身份
-
-
-
u:代表所有者(user)
g:代表所属组(group)
o:代表其他人(other)
a:代表全部身份(all)
-
-
-
-
- 赋予方式
-
-
-
+:加入权限
-:减去权限
=:设置权限
-
-
-
-
- 权限
-
-
-
r:读取权限(read)
w:写权限(write)
x:执行权限(execute)
举例:chmod u+x bcd 赋予bcd文件所有者执行权限
chmod g-x , o+w bcd (这种命令书写比较麻烦,一般不用)
数字权限:
-
-
-
-
- 4:代表“ r ”权限
- 2:代表“ w ”权限
- 1:代表“ x ”权限
-
-
-
数字权限的赋予方式更加简单,需要对这几个数字更加熟悉。其实常用权限也并不多,
有如下几个:(数字顺序代表:所有者 所属者 其他人)
-
-
-
-
- 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
-
755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组
和其他人拥有读和执行权限 -
777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这
会造成一定的安全隐患。
-
-
-
注:普通用户可以修改所有者是自己的文件的权限 (chmod 755 test)
4. 所有者和所有组命令
4.1 chown :修改文件和目录的所有者和所属组(英文原意:change file owner and group)
所在路径:/bin/chown
执行权限:所有用户
选项:
-
-
-
-
- -R: 递归设置权限,也就是给子目录中的所有文件设置权限
-
-
-
chown user1 bcd 修改bcd文件的所有者为:user1
chgrp user1 bcd 修改bcd文件的所属组为:user1 这两条命令可用下面一条命令表示:
chown user1: user1 bcd
注:普通用户不能修改文件的所有者(哪怕文件是属于这个普通用户的),只有超级用户才能修改所有者
4.2 chgrp:修改文件和目录的所属组(英文原意:change group ownership)
所在路径:/bin/chgrp
执行权限:所有用户
六. 帮助命令
1. man :显示联机帮助手册(英文原意:format and display the on-line manual pages)
所在路径:/usr/bin/man
执行权限:所有用户
1.1 命令格式
选项:
-
-
-
- -f :查看命令拥有哪个级别的帮助
- -k:查看和命令相关的所有帮助
-
-
1.2 man命令的快捷键
1.3 man命令的帮助级别
2. info:info 命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一
个小章节。
3. help:显示Shell内置命令的帮助
所在路径:Shell内置命令
执行权限:所有用户
可以使用 type 命令来区分内置命令与外部命令
4. --help:绝大多数命令都可以使用“--help”选项来查看帮助,这也是一种获取帮助的方法
这种方法非常简单,输出的帮助信息基本上是 man 命令的信息简要版。
七. 搜索命令
1. whereis:查找二进制命令、源文件和帮助文档的命令
英文原意:locate the binary, source, and manual page files for a command
所在路径:/usr/bin/whereis
执行权限:所有用户
2. which:列出命令的所在路径
英文原意:show the full path of(shell) commands
所在路径:/usr/bin/which
执行权限:所有用户
which 也是搜索系统命令的命令。和 whereis 命令的区别在于:
-
-
-
- whereis 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;
- which 命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
-
-
3. locate:按照文件名搜索文件
3.1 基本用法
英文原意:find files by name
所在路径:/usr/bin/locate
执行权限:所有用户
-
-
- 优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db;
若当时新建文件后查找,可强制更新数据库(命令:updatedb) 或 重新连接服务进行查找。
- 缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改
时间等搜索文件。
- 优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db;
-
3.2 配置文件
4. find:在目录中搜索文件
英文原意:search for files in a directory hierarchy
所在路径:/bin/find
执行权限:所有用户
4.1 按照文件名搜索
选项:
-
-
- -name: 按照文件名搜索
- -iname: 按照文件名搜索,不区分文件名大小写
- -inum: 按照 inode 号搜索 (ls -i abc查看abc的inode)
-
举例: find . -name abc 搜索当前目录下的abc文件
4.2 按照文件大小搜索
选项:
-
-
- -size [+|-]大小: 按照指定大小搜索文件
-
“+” 的意思是搜索比指定大小还要大的文件,“-” 的意思是搜索比指定大小还要小的文件。
find命令的单位:
4.3 按照修改时间搜索
选项:
-
-
- -atime [+|-]时间: 按照文件访问时间搜索
- -mtime [+|-]时间: 按照文件数据修改时间搜索
- -ctime [+|-]时间: 按照文件状态修改时间搜索
-
“[+|-]”:
-5:代表 5 天内修改的文件
5:代表前 5~6 天那一天修改的文件。
+5:代表 6 天前修改的文件。
4.4 按照权限搜索
选项:
-
-
- -perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
- -perm -权限模式: 查找文件权限全部包含“权限模式”的文件
- +perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
-
举例 +444 可以搜到600 的权限文件
-444 搜不到600 ,可以搜到 644
4.5 按照所有者和所属组搜索
选项:
-
-
- -uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
- gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
- -user 用户名: 按照用户名查找所有者是指定用户的文件
- -group 组名: 按照组名查找所属组是指定用户组的文件
- -nouser: 查找没有所有者的文件
-
按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件(外来文件)。
4.6 按照文件类型搜索
选项:
-
-
- -type d: 查找目录
- -type f: 查找普通文件
- -type l: 查找软链接文件
-
4.7 使用逻辑运算符搜索
选项:
-
-
- -a:and逻辑与
- -o:or逻辑或
- -not:not逻辑非
-
1) -a:and逻辑与
find命令也支持逻辑与运算符选项,其中-a代表逻辑与运算,也就是-a的两个条件都成立,find搜索的结果才成立。
例:find . -size +2k -a -type f 在当前目录下搜索大于 2KB ,并且文件类型是普通文件的文件
2)-o:or逻辑或
-o选线代表逻辑或运算,也就是-o的两个条件只要有一个成立,find命令就可以了找到结果。
例:find . -name laker -o -name heat 在当前目录下搜索文件名要么是 laker 的文件,要么是 heat 的文件
3)-not:not逻辑非
-not是逻辑非,也就是取反的意思。
例:find . -not -name lakers 在当前目录下搜索文件名不是 lakers的文件
4.8 其他选项
1)-exec选项:
作用:把 find 命令的结果交给由“-exec”调用的命令 2 来处理。“{}”就代表 find 命令的查找结果。
2)-ok选项
“-ok”选项和“-exec”选项的作用基本一致,区别在于:“-exec”的命令 2 会直接处理,而不询
问;“-ok”的命令 2 在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行。
5. grep:在文件中提取和匹配符合条件的字符串行
英文原意:global search regular expression(RE) and print out the line
所在路径:/bin/grep
执行权限:所有用户
选项:
-
-
- -i:忽略大小写
- -n:输出行号
- -v:反向查找
- --color==auto:搜索出的关键字用颜色显示
-
1)find命令与grep命令的区别:
find:find 命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符
是完全匹配。
grep:grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配,
正则表达式是包含匹配。
2)通配符与正则表达式的区别:
通配符:用于匹配文件名,完全匹配
举例:find . -name abc ./abc
find . -name "abc*" ./abcd ./abc
find . -name "a?c" ./acc ./abc
正则表达式:用于匹配字符串,包含匹配
举例:grep "aa*" abc aaaaaaa abc1232 123abc
grep "^aa*" abc aaaaaaa abc1232
6. 管道符: |
命令格式: 命令1 | 命令2
命令 1 的正确输出作为命令 2 的操作对象
例1: 经常需要使用 “ll” 命令查看文件的长格式,不过在有些目录中文件众多,比如/etc/
目录,使用“ll”命令显示的内容就会非常多,只能看到最后的内容,而不能看到前面输出的内容。
more 命令可以分屏显示文件内容,可是怎么让 more 命令分屏显示命令的输出呢?
一种笨方法是 ll -a /etc/ > /root/testfile (用输出重定向,把 ll 命令的输出保存到 /root/testfile 文件中)
more /root/testfile
管道符的操作相比起来就比较简单了: ll -a /etc/ | more
例2: 在命令 ll /etc/的结果中搜索 yum 的文件名,应该使用 find 命令?还是 grep 命令?
ll -a /etc/ | grep yum
例3: netstat 命令
选项:
-
-
-
- -a: 列出所有网络状态,包括 Socket 程序
- -c 秒数: 指定每隔几秒刷新一次网络状态
- -n: 使用 IP 地址和端口号显示,不使用域名与服务名
- -p: 显示 PID 和程序名
- -t: 显示使用 TCP 协议端口的连接状况
- -u: 显示使用 UDP 协议端口的连接状况
- -l: 仅显示监听状态的连接
- -r: 显示路由表
-
-
netstat -tuln | grep 80
udp 0 0 0.0.0.0:800 0.0.0.0:*
udp 0 0 :::800
如果想知道具体的网络连接数量,就可以再使用 wc 命令统计行数
netstat -an | grep "ESTABLISHED" | wc -l
7. 命令的别名
alias:查询命令的别名
alias 别名='原命令':设定命令别名
用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc
8. 常用快捷键命令
八. 压缩和解压缩命令
1. “.zip”格式
1.1 “.zip”格式的压缩命令
zip:压缩文件或目录
英文原意:package and compress(archive)files
所在路径:/usr/bin/zip
执行权限:所有用户
选项:
-
-
-
- -r:压缩目录
-
-
zip ana.zip anaconda-ks.cfg
1.2 “.zip”格式的解压缩命令
unzip:列表、测试和提取压缩文件中的文件
英文原意:list,test and extract compressed files in a ZIP archive
所在路径:/usr/bin/unzip
执行权限:所有用户
选项:
-
-
-
- -d: 指定解压缩位置
-
-
unzip -d /tmp/ ana.zip
2. “.gz” 格式 (不会打包)
2.1 “.gz” 格式的压缩命令
gzip:压缩文件或目录
英文原意:compress or expand files
所在路径:/bin/gzip
执行权限:所有用户
选项:
-
-
-
- -c: 将压缩数据输出到标准输出中,可以用于保留源文件
- -d: 解压缩
- -r: 压缩目录
- -c: 将压缩数据输出到标准输出中,可以用于保留源文件
-
-
2.2 “.gz” 格式的解压缩命令
gunzip:解压缩文件或目录
英文原意:compress or expand files
所在路径:/bin/gunzip
执行权限:所有用户
以下两个命令都可以解压缩“.gz”格式
gunzip anaconda-ks.cfg.gz
gzip -d anaconda-ks.cfg.gz
3. “.bz2” 格式 (不能压缩目录)
“.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,“.bz2”格式的算法更先进、压缩比更
好;而“.gz”格式相对来讲压缩的时间更快。
3.1 “.bz2”格式的压缩命令
bzip2 :.bz2 格式的压缩命令
英文原意:a block-sorting file compressor
所在路径:/usr/bin/bzip2
执行权限:所有用户
选项:
-
-
-
- -d: 解压缩
- -k: 压缩时,保留源文件
- -v:显示压缩的详细信息
-
-
bzip2 anaconda-ks.cfg 压缩成.bz2格式
bzip2 -k anaconda-ks.cfg 保留源文件压缩
3.2 “.bz2”格式的解压缩命令
bunzip2:.bz2格式的解压缩命令
英文原意:a block-sorting file compressor
所在路径:/usr/bin/bunzip2
执行权限:所有用户
以下两个命令都可以解压缩“.bz2”格式
bunzip2 anaconda-ks.cfg.bz2
bzip2 -d anaconda-ks.cfg.bz2
4. “.tar”格式(打包不会压缩)
“.tar”格式的打包和解打包都使用 tar 命令,区别只是选项不同。
tar:打包与解打包命令
所在路径:/bin/tar
执行权限:所有用户
选项:
-
-
- -c: 打包
- -x: 解打包
-
-f: 指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定
要正确指定扩展名 - -v: 显示打包/解打包文件过程
- -t: 测试,就是不解打包,只是查看包中有哪些文件
- -C(大) 目录: 指定解打包位置
-
tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg 打包
tar -xvf anaconda-ks.cfg.tar 解打包
5. “.tar.gz ”和“.tar.bz2 ”格式
使用 tar 命令直接打包压缩
选项:
-
-
- -z: 压缩和解压缩“.tar.gz”格式
- -j: 压缩和解压缩“.tar.bz2”格式
- -z: 压缩和解压缩“.tar.gz”格式
-
tar -zcvf tmp.tar.gz /tmp/ 把/tmp/目录直接打包压缩为“.tar.gz”格式
tar -zxvf tmp.tar.gz 解压缩与解打包“ .tar.gz ”格式
tar -jcvf tmp.tar.bz2 /tmp/ 把/tmp/目录直接打包压缩为“.tar.bz2”格式
tar -jxvf tmp.tar.bz2 解压缩与解打包“ .tar.bz2 ”格式
tar -ztvf test.tar.gz 只查看不解压
tar -zxvf test.tar.gz -C /tmp 解压缩到指定位置
tar -zxvf test.tar.gz -C /tmp test/cde 只解压压缩包中的特定文件,到指定位置
九. 关机和重启命令
1. sync:刷新文件系统缓冲区
英文原意: flush the system buffers
所在路径:/bin/sync
执行权限:所有用户
2. shutdown:关机和重启
英文原意:bring the system down
所在路径:/sbin/shutdown
执行权限:超级用户
选项:
-
-
- -c:取消已执行的shutdown命令
- -h:关机
- -r:重启
-
3. reboot:重启
4. halt和poweroff
这两个都是关机命令,直接执行即可。这两个命令不会完整关闭和保存系统的服务,不建议使用。
5. init
init 是修改 Linux 运行级别的命令,也可以用于关机和重启。这个命令并不安全,不建议使用。
十. 常用网络命令
1. 配置IP地址
1.1 配置IP地址
配置IP地址有两种方法:
1)setup工具
2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 手动修改配置文件
1.2 重启网络命令
service network restart
2. ifconfig:配置网络接口
英文原意:configure a network interface
所在路径:/sbin/ifconfig
执行权限:超级用户
ifconfig 命令最主要的作用就是查看 IP 地址的信息,直接输入 ifconfig 命令即可。
3. ping:向网络主机发送ICMP请求
英文原意:send ICMP ECHO_REQUEST to network hosts
所在路径:/bin/ping
执行权限:所有用户
选项:
-
-
- -b:后面加入广播地址,用于对整个网络进行探测
- -c 次数:用于指定ping次数
- -s 字节:指定探测包的大小
-
4.netstat:输出网络连接、路由表、接口统计、伪装连接和组播成员
英文原意:Print network connections, routing tables, interface statistics,
masquerade connnetcions, and multicast memberships
所在路径:/bin/netstat
执行权限:所有用户
netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
选项:
-
-
- -a:列出所有网络状态,包括Socket程序
- -c 秒数:指定每隔几秒刷新一次网络状态
- -n:使用IP地址和端口号显示,不使用域名和服务名
- -p:显示PID和程序名
- -t:显示使用TCP协议端口的连接状况
- -u:显示使用UDP协议端口的连接状况
- -l:仅显示监听状态的连接
- -r:显示路由表
-
5. write:向其他用户发送消息
英文原意:send a message to another user
所在路径:/usr/bin/write
执行权限:所有用户
向在pts/1(远程终端1)登录的user1用户发送消息,使用“Ctrl+D”保存发送的数据
6. wall: write 命令用于给指定用户发送信息
wall命令用于给所有登录用户发送消息,包括自己
7. mail:发送和接收电子邮件
英文原意:send and receive Internet mail
所在路径:/bin/mail
执行权限:所有用户
7.1 给其他用户发送邮件
接受到的邮件都保存在 “/var/spool/mail/用户名”中
7.2 把某个文件的内容发送给指定用户
7.3 查看已经接收的邮件:
在命令行中执行 mail 命令,进入 mail 的交互命令中,可以在这里查看已经接收到
的邮件
N 表示未读邮件
常用交互命令:
-
-
-
- headers:列出邮件标题列表,直接输入“h”命令即可
- delete:删除指定邮件。比如想要删除第二封邮件,可以输入“d 2”
- save:保存邮件。可以把指定邮件保存成文件,如“s 2 /tmp/test.mail”
- quit:退出,并把已经操作过的邮件进行保存。比如移除已删除邮件、保存已阅读邮件等
- exit: 退出,但是不保存任何操作
-
-
十一. 系统痕迹命令
系统中有一些重要的痕迹日志文件,如/var/log/wtmp、/var/run/utmp、/var/log/btmp、/var/log/lastlog
等日志文件,用 vim 打开的这些文件是二进制乱码。这是由于这些日志中保存的是系统的重要登录痕迹,包
括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。所以这些重要的痕迹日志,只
能通过对应的命令来进行查看。
1. w:显示登录用户
英文原意:Show who is logged on and what are they doing
所在路径:/usr/bin/w
执行权限:所有用户
w 命令是显示系统中正在登陆的用户信息的命令,这个命令查看的痕迹日志是/var/run/utmp
内容信息:
第一行:
14:00:48 ------ 系统当前时间
up 319 days,3:45 ------ 系统的运行时间
1 user ------ 当前登录了一个用户
load average:0.00,0.00,0.00 ------ 系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值
超过 1 就是高负载;如果 CPU 是四核的,则这个数值超过 4 就是高负载
第二行:
USER ------ 当前登录的用户
TTY ------ 登录的终端
FROM ------ 登录的IP地址,如果是本地终端,则是空
LOGIN@ ------ 登陆时间
IDLE ------ 用户闲置时间
JCPU ------ 所有的进程占用的CPU时间
PCPU ------ 当前进程占用的CPU时间
WHAT ------ 用户正在进行的操作
2. who
who 命令和 w 命令类似,用于查看正在登陆的用户,但是显示的内容比较简单,也是查看
/var/run/utmp 日志
3. last
查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命
令查看的是/var/log/wtmp 痕迹日志文件.
4. lastlog
查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/var/log/lastlog文件
5. lastb
查看错误登陆的信息日志,查看的是/var/log/btmp 痕迹日志
学习来源:尚硅谷-云计算-Linux系统管理(沈超老师)