Linux常用操作
- 一、帮助命令
-
- [1. man](#1. man)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 快捷键](#1.2 快捷键)
- [1.3 注意事项](#1.3 注意事项)
- [2. help](#2. help)
-
- [2.1 基本语法](#2.1 基本语法)
- [2.2 注意事项](#2.2 注意事项)
- [3. 常用快捷键](#3. 常用快捷键)
- 二、文件目录类
-
- [1. 常规操作](#1. 常规操作)
-
- [1.1 pwd](#1.1 pwd)
- [1.2 cd](#1.2 cd)
- [1.3 ls](#1.3 ls)
- [2. 文件夹操作](#2. 文件夹操作)
-
- [2.1 mkdir](#2.1 mkdir)
- [2.2 rmdir](#2.2 rmdir)
- [3. 文件操作](#3. 文件操作)
-
- [3.1 touch](#3.1 touch)
- [3.2 cp](#3.2 cp)
- [3.3 rm](#3.3 rm)
- [3.4 mv](#3.4 mv)
- [4. 文件查看](#4. 文件查看)
-
- [4.1 cat](#4.1 cat)
- [4.2 more](#4.2 more)
- [4.3 less](#4.3 less)
- [4.4 head](#4.4 head)
- [4.5 tail](#4.5 tail)
- [5. 其他命令](#5. 其他命令)
-
- [5.1 echo](#5.1 echo)
- [5.2 ln软链接](#5.2 ln软链接)
- [5.3 history](#5.3 history)
- [5.4 输出重定向和追加](#5.4 输出重定向和追加)
- 三、时间日期类
-
- [1. date](#1. date)
-
- [1.1 基本用法](#1.1 基本用法)
- [1.2 选项参数](#1.2 选项参数)
- [2. cal](#2. cal)
-
- [2.1 基本用法](#2.1 基本用法)
- [2.2 选项](#2.2 选项)
- [2.3 注意事项](#2.3 注意事项)
- 四、用户管理类
-
- [1. useradd](#1. useradd)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 选项](#1.2 选项)
- [2. passwd](#2. passwd)
- [3. id](#3. id)
- [4. 查看当前共有多少用户](#4. 查看当前共有多少用户)
- [5. su](#5. su)
-
- [5.1 基本语法](#5.1 基本语法)
- [5.2 注意事项](#5.2 注意事项)
- [6. 查看当前登录用户信息](#6. 查看当前登录用户信息)
- [7. sudo](#7. sudo)
-
- [7.1 基本语法](#7.1 基本语法)
- [7.2 注意事项](#7.2 注意事项)
- [8. userdel](#8. userdel)
-
- [8.1 基本语法](#8.1 基本语法)
- [8.2 选项](#8.2 选项)
- [9. usermod](#9. usermod)
-
- [9.1 基本语法](#9.1 基本语法)
- [9.2 选项](#9.2 选项)
- 五、用户组管理类
-
- [1. gorupadd](#1. gorupadd)
- [2. 查看所有用户组信息](#2. 查看所有用户组信息)
- [3. groupmod](#3. groupmod)
-
- [3.1 基本语法](#3.1 基本语法)
- [3.2 选项](#3.2 选项)
- [4. groupdel](#4. groupdel)
- 六、文件权限类
-
- [1. 文件属性](#1. 文件属性)
- [2. chmod](#2. chmod)
-
- [2.1 权限变更方式](#2.1 权限变更方式)
- [2.2 选项](#2.2 选项)
- [3. chown](#3. chown)
-
- [3.1 基本语法](#3.1 基本语法)
- [3.2 选项](#3.2 选项)
- [4. chgrp](#4. chgrp)
-
- [4.1 基本语法](#4.1 基本语法)
- [4.2 选项](#4.2 选项)
- 七、搜索查找类
-
- [1. find](#1. find)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 选项](#1.2 选项)
- [2. locate](#2. locate)
-
- [2.1 基本语法](#2.1 基本语法)
- [2.2 注意事项](#2.2 注意事项)
- [3. grep](#3. grep)
-
- [3.1 基本语法](#3.1 基本语法)
- [3.2 选项](#3.2 选项)
- [3.3 附加](#3.3 附加)
- 八、压缩解压类
-
- [1. gzip/gunzip](#1. gzip/gunzip)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 注意](#1.2 注意)
- [2. zip](#2. zip)
-
- [2.1 基本语法](#2.1 基本语法)
- [2.2 选项](#2.2 选项)
- [2.3 注意事项](#2.3 注意事项)
- [3. tar](#3. tar)
-
- [3.1 基本语法](#3.1 基本语法)
- [3.2 选项参数](#3.2 选项参数)
- 九、磁盘管理类
-
- [1. du](#1. du)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 选项](#1.2 选项)
- [1.3 注意事项](#1.3 注意事项)
- [2. df](#2. df)
-
- [2.1 基本用法](#2.1 基本用法)
- [2.2 选项说明](#2.2 选项说明)
- [2.3 内容解析](#2.3 内容解析)
- [2.4 附加](#2.4 附加)
- [3. lsblk](#3. lsblk)
-
- [3.1 基本语法](#3.1 基本语法)
- [3.2 选项](#3.2 选项)
- [3.3 内容展示](#3.3 内容展示)
- [3.4 注意事项](#3.4 注意事项)
- [4. mount/umount](#4. mount/umount)
-
- [4.1 基本语法](#4.1 基本语法)
- [4.2 选项](#4.2 选项)
- [4.3 设置开机自动挂载](#4.3 设置开机自动挂载)
- [5. fdisk](#5. fdisk)
-
- [5.1 基本语法](#5.1 基本语法)
- [5.2 分区操作流程](#5.2 分区操作流程)
- [5.3 附加](#5.3 附加)
- 十、进程管理类
-
- [1. ps](#1. ps)
-
- [1.1 基本用法](#1.1 基本用法)
- [1.2 选项](#1.2 选项)
- [1.3 显示信息说明](#1.3 显示信息说明)
- [1.4 附加](#1.4 附加)
- [2. kill](#2. kill)
-
- [2.1 基本语法](#2.1 基本语法)
- [2.2 选项](#2.2 选项)
- [3. pstree](#3. pstree)
-
- [3.1 基本用法](#3.1 基本用法)
- [3.2 选项](#3.2 选项)
- [4. top](#4. top)
-
- [4.1 基本用法](#4.1 基本用法)
- [4.2 选项](#4.2 选项)
- [4.3 操作说明](#4.3 操作说明)
- [4.4 显示结果](#4.4 显示结果)
- [5. netstat](#5. netstat)
-
- [5.1 基本语法](#5.1 基本语法)
- [5.2 选项](#5.2 选项)
- [5.3 结果分析](#5.3 结果分析)
- 十一、定时任务
-
- [1. crontab](#1. crontab)
-
- [1.1 基本语法](#1.1 基本语法)
- [1.2 选项](#1.2 选项)
- [1.3 定时任务管理](#1.3 定时任务管理)
- [1.4 定时任务设置](#1.4 定时任务设置)
- [1.5 注意事项](#1.5 注意事项)
Shell可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。我们可以通过终端控制台来输入命令,由shell进行解释并最终交给内核执行。
一、帮助命令
1. man
1.1 基本语法
man [命令或配置文件]
:获得帮助信息
1.2 快捷键
按键 | 功能 |
---|---|
方向键下 | 向下翻页 |
空格或PgDn或f | 向下翻页 |
PgUp或b | 向上翻页 |
q | 退出手册 |
1.3 注意事项
- 一部分基础功能的命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载,常驻系统内存中,此部分命令已经和bash控制台融为一体,此时使用
man 命令
无法查看命令说明,只能查看到bash的说明,此类命令被称为内置命令(built-in)命令。其他的命令则被称为外部命令。 - 可以通过使用指令
type 命令
来对命令的类型进行判断,内置命令直接显示内置命令,外部命令则显示其他说明。 - 对于内置命令,如果想通过
man
指令查看信息,则需要加上参数f
,即man -f 命令
。 - 如果命令有多个解释手册,可以通过使用
man 编号 命令
来查看该命令在指定版本下的解释信息
2. help
2.1 基本语法
help 内置命令
:获得shell内置命令的帮助信息
2.2 注意事项
- 该命令只能查看内置命令的相关解释,如果想查看外部命令的信息,可以使用指令
外部命令 --help
获取。
3. 常用快捷键
按键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l | 清屏,等同于clear,彻底清屏是reset |
tab | 自动补全 |
上下键 | 查找执行过的命令 |
二、文件目录类
1. 常规操作
1.1 pwd
pwd
:显示当前工作目录的绝对路径,即print working directory,打印工作目录
1.2 cd
cd 路径
:进入相对应的文件夹
按键 | 功能 |
---|---|
cd |
进入当前用户的主目录 |
cd . |
进入当前文件夹 |
cd .. |
进入当前文件夹的上一层文件夹 |
cd - |
进入上次所在的文件夹 |
注意事项:
①绝对路径:文件在文件系统中的唯一路径,以/
开头。
②相对路径:文件以当前所在文件夹为基础的路径,根据当前所在文件夹的不同有无穷多个,笼统来讲,不以/
开头的路径都是相对路径
1.3 ls
ls [选项] [目录或文件]
:列出目录内容
按键 | 功能 |
---|---|
-a | 列出全部文件,包括隐藏文件(开头为. 的文件)一起列出来 |
-l | 长数据串列出,包含文件的属性权限等数据,ls -l 等价于ll |
注意事项:ll
指令列出的内容依次为:文件类型与权限 硬链接数 文件属主 文件属组 文件大小(byte) 建立或最近修改时间 名字
2. 文件夹操作
2.1 mkdir
mkdir [选项] 要创建的目录(可以多个,用空格隔开)
:创建相应文件夹
选项 | 功能 |
---|---|
-p | 允许嵌套的创建目录,即当创建嵌套目录时,父目录会一起创建 |
2.2 rmdir
rmdir [选项] 要删除的目录(可以多个,用空格隔开)
:删除相应文件夹
选项 | 功能 |
---|---|
-p | 删除最深层目录,且如果删除后当前文件夹为空,则继续删除本目录,递归删除 |
3. 文件操作
3.1 touch
touch 文件名称
:创建空文件
3.2 cp
cp [选项] src dest
:复制文件到指定目录或文件
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹的内容 |
注意事项:
①若命令中的dest为文件,则该命令为把src文件内容复制到dest文件内部,会对原文件内容进行覆盖。
②若dest为目录,且src中的文件已经存在于dest的目录中,则依然会对dest中的同名文件进行覆盖。
③以上情况,在输入命令后提示是否继续进行覆盖操作,输入y继续,输入n停止。
④如果不想显示提示,则将cp
替换为/cp
,表示启用原生的cp
命令,不会存在提示信息。通常情况下,我们使用的cp
实际上是cp -i
,i
表示交互式。输入指令alias
可以查看存在别名的所有指令。
3.3 rm
rm [选项] 要删除的文件或文件夹
:删除指定的文件或文件夹
选项 | 功能 |
---|---|
-r | 递归删除整个目录的内容 |
-f | 强制执行删除操作,且不给提示用于确认 |
-v | 显示指令的详细执行过程 |
3.4 mv
mv oldNameFile newNameFile
:重命名
mv oldNameFile /targetFolder
:移动文件到指定文件夹
mv oldNameFile /targetFolder/newNameFile
:移动文件到指定文件夹并进行重命名
4. 文件查看
4.1 cat
cat [选项] 文件
:查看文件的内容
选项 | 功能 |
---|---|
-n | 显示所有行的行号 |
4.2 more
more 文件
:分屏查看文件内容,more
指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。该指令中内置了若干快捷键以便操作
快捷键 | 功能 |
---|---|
空格 | 向下翻一页 |
Enter | 向下翻一行 |
b | 向上翻一页 |
f | 向下翻一页 |
= | 输出当前行号 |
:f | 输出文件名和当前行号 |
q | 退出more,不再显示文件内容 |
4.3 less
less 文件
:分屏查看文件内容,功能类似于more
,但更加强大,支持各种终端显示。less
指令在显示文件内容是,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对显示大型文件具有很高的效率。
快捷键 | 功能 |
---|---|
空格 | 向下翻一页 |
b | 向上翻一页 |
f | 向下翻一页 |
pagedown | 向下翻一页 |
pageup | 向上翻一页 |
g | 到文件顶部 |
G | 到文件底部 |
/字串 | 向下搜寻字串,n查找下一个,N查找上一个 |
?字串 | 向上搜寻字串,n查找上一个,N查找下一个 |
= | 输出当前行号等更详细的信息 |
q | 退出less,不再显示文件内容 |
4.4 head
head [选项] 文件
:显示文件开头部分的内容,默认情况下head
指令显示文件的前10行内容
选项 | 功能 |
---|---|
-n 行数 | 指定显示头部内容的具体行数 |
4.5 tail
tail [选项] 文件
:显示文件尾部的内容,默认情况下tail
指令显示文件的尾10行内容
选项 | 功能 |
---|---|
-n 行数 | 指定显示头部内容的具体行数 |
-f | 显示文件最新追加的内容,监视文件变化,适用于监控只追加而不修改之前内容的文件 |
注意事项:利用vim
指令追加内容后的文件不会被tail -f
追踪到,这是由于所有文件系统底层的文件都会被分配一个编号称为索引节点号index,tail -f
正是根据index进行追踪,但vim
指令会改变文件的index,所以无法追踪到。ls -i 文件
可以查看到文件的索引号。
5. 其他命令
5.1 echo
echo [选项] [输出内容]
:将输出内容输出到控制台
echo $
:将系统全部环境变量名输出到控制台
echo $环境变量名
:将系统指定环境变量的内容输出到控制台
快捷键 | 功能 |
---|---|
-e | 支持反斜线控制字符的转换(不加则不识别,都视为字符串输出) |
注意事项:echo [选项] [输出内容]
的输出内容中不加""
时,多个空格只会识别为一个空格输出,加了""
以后,多个空格才会被识别为多个空格输出
5.2 ln软链接
- 命令详解:
ls -s 原文件或目录 软链接名
:为文件或目录创建一个软链接,软链接又称为符号链接,类似于windows里面的快捷方式,有自己的数据块,主要存放了链接其他文件的路径,-s
参数是software的意思,表示软链接,不加则创建的是硬链接。 - 注意事项:
①pwd
:软链接指向某个文件夹时,如果在软链接文件夹内使用pwd
,会显示当前软链接文件夹的路径。如果在软链接文件夹内使用pwd -P
,会显示当前真实的文件夹路径。-P
参数存在于很多命令中,作用是抛开其他任何影响,直接考察真正的物理路径,比如cd 软链接文件夹
为进入软链接的文件夹内部,而cd - P 软链接文件夹
为进入软链接所对应真实文件夹内部。
②删除软链接:使用rm -rf 软链接名
删除软链接,而不能使用rm -rf 软链接名/
,rm -rf 软链接名/
命令不会删除软链接,而会把软链接对应的真实目录下的内容删除,而不会删除该软链接。通过ll
指令查看文件信息时,文件属性第一位为l
即为软链接,该文件尾部会存在指向,指向文件原本的位置。删除软链接不会影响到原始文件,而删除原始文件会影响到软链接。 - 软链接与硬链接
①软链接(文件和目录都可以有软链接):软链接文件名---->软链接inode---->软链接数据区域---->真实文件的文件名(其实就是硬链接名)---->真实数据的inode信息---->真实数据区域
②硬链接(只有文件才会有硬链接):文件名(其实就是硬链接名)---->真实数据的inode信息---->真实数据区域
5.3 history
history 数目
:查看最近执行过的指定数目的历史命令,不输入数目则查看所有历史命令
!历史命令编号
:快速查看执行指定历史编号的历史命令
histroy -c
:清除全部历史命令
5.4 输出重定向和追加
>
:覆写,比如ls -l > 文件名
表示将列表内容覆盖写入文件,cat 文件1 > 文件2
表示将文件1内容覆盖写到文件2。
>>
:追加,比如ls -l > 文件名
表示将列表内容追加在文件最后,echo 内容 > 文件
表示将内容追加写到文件末尾。
三、时间日期类
1. date
1.1 基本用法
date [选项] [参数]
:不加选项参数则显示当前时间
1.2 选项参数
选项 | 功能 |
---|---|
-d | 指定显示的时间,比如-d '1 days ago'显示一天前当前时间,-d '-1 days ago'显示一天后当前时间 |
-s | 设置时间,比如-s "2017-06-09 12:11:05" ,如果想联网同步现在时间,输入命令ntpdate 同步时钟服务器名称 |
参数 | 功能 |
---|---|
+%Y | 显示当前年份 |
+%y | 显示当前年份后两位 |
+%m | 显示当前月份 |
+%d | 显示当前是哪一天 |
+%H | 显示当前小时 |
+%M | 显示当前分钟 |
+%S | 显示当前秒数 |
+%s | 显示当前时间戳(UTC标准时间从1970年1月1日到当前时间所有秒的计数) |
"+%Y-%m-%d %H:%M:%S" | 显示当前年月日时分秒,如果格式中间没有空格分隔可以不加双引号 |
2. cal
2.1 基本用法
cal [选项]
:不加选项则显示本月日历
2.2 选项
选项 | 功能 |
---|---|
-数字 | 查看指定个数字月份的日历,比如-3显示本月、上月、下月的日历信息 |
-m | m代表Monday,表示周一在最前面显示 |
-y | 查看本年度所有月份日历信息 |
2.3 注意事项
如果cal 年份
则表示查看指定年份的每月日历信息
四、用户管理类
1. useradd
1.1 基本语法
useradd [选项] 用户名
:添加新用户
1.2 选项
选项 | 功能 |
---|---|
-d | 指定新用户主文件夹的位置和名称 |
-g | 添加新用户到某个组 |
2. passwd
passwd 用户名
:为用户设置密码,密码随意输入,如果显示无效,直接继续重新输入相同密码就可以
3. id
id 用户
:查看某个用户是否存在
4. 查看当前共有多少用户
- 基本语法:
cat /etc/passwd
- 格式解析:
tony:x:1000:1000::/home/tony:/bin/bash
,tony用户:x:用户id:组id::目录位置:tony用户登录系统并与系统进行交互的方式
,交互方式如果为nologin则表示不用登陆,默认是运行系统服务的。
5. su
5.1 基本语法
su 用户
:切换用户身份,su即switch user
5.2 注意事项
用户的切换跳转其实是层层嵌套,如果在用户1中利用su 用户2
切换到用户2,如果此时想退回到用户1,只需要输入exit
即可。
6. 查看当前登录用户信息
who am i
:查看最根本的用户信息,即5小节中的用户1
whoami
:查看当前正登陆的用户信息,即5小节中的用户2
7. sudo
7.1 基本语法
sudo 命令
:使普通用户在执行命令时具有不一样的权限
7.2 注意事项
- 用户的sudo授权:root用户修改/etc/sudoers来为指定用户新增sudo权限
- sudoers格式:
①为用户赋予使用sudo时具有root级别的权限:用户 ALL=(ALL) ALL
②为用户组赋予使用sudo时具有root级别的权限:%用户组 ALL=(ALL) ALL
③赋予使用sudo时具有root级别的权限且运行命令时不需要输入密码:xx ALL=(ALL) NOPASSWORD: ALL
8. userdel
8.1 基本语法
userdel [选项] 用户
:删除用户,但不会删除用户的目录
8.2 选项
选项 | 功能 |
---|---|
-r | 删除用户的同时删除该用户对应的目录 |
9. usermod
9.1 基本语法
usermod [选项] 用户
:修改用户相关信息
9.2 选项
选项 | 功能 |
---|---|
-g | 修改用户的主组 |
-G | 修改用户的附加组 |
五、用户组管理类
1. gorupadd
groupadd 组名
:新增用户组,通常创建新用户时,会默认为该用户创建一个同名的用户组,并让该新用户属于该组。注意,一个用户可以属于多个不同的组。
2. 查看所有用户组信息
- 基本语法:
cat /etc/group
- 格式解析:
tony:x:1001
,tony用户:x:组id
3. groupmod
3.1 基本语法
groupmod [选项] 用户
:修改用户组相关信息
3.2 选项
选项 | 功能 |
---|---|
-n | 修改用户组名称,比如groupmod -n 新组名 原组名 |
4. groupdel
groupdel 用户组
:删除指定的用户组
六、文件权限类
1. 文件属性
- 文件的属主和属组没有必然的联系,不必须是属于的关系
2. chmod
2.1 权限变更方式
-
chmod [选项] [{ugoa}{+-=}{rwx}] 文件或目录
:u、g、o、a分别表示对属主、属组、其他和所有用户的权限更改,可同时选多个;+、=、-分别表示权限增加、指定、减少;r、w、x表示针对读权限、写权限、执行权限,可同时选多个。
-
chmod [选项] [mode] 文件或目录
:mode为三位在0到7之间的数字,从前到后分别表示属主、属组、其他用户的具有的权限。该数字根据该类用户是否具有相应的权限,由r、w、x分别对应二进制数4、2、1相加而成。若数字为7则表示r+w+x,具有全部权限,若数字为3则表示w+x,具有写和执行权限。
2.2 选项
选项 | 功能 |
---|---|
-R | 一般为-R 文件夹 ,表示将文件夹及其内部所有子文件夹和文件都指定为特定权限 |
3. chown
3.1 基本语法
chown [选项] 最终用户 文件或目录
:改变文件或目录所有者
3.2 选项
选项 | 功能 |
---|---|
-R | 一般为-R 文件夹 ,表示将文件夹及其内部所有子文件夹和文件的所有者都指定为特定用户 |
4. chgrp
4.1 基本语法
chgrp [选项] 最终用户组 文件或目录
:改变文件或目录所属组
4.2 选项
选项 | 功能 |
---|---|
-R | 一般为-R 文件夹 ,表示将文件夹及其内部所有子文件夹和文件的所有者都指定为特定用户 |
七、搜索查找类
1. find
1.1 基本语法
find [搜索范围] [选项]
:从指定的目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端,不指定则默认在当前目录下找找
1.2 选项
选项 | 功能 |
---|---|
-name 查询方式 | 按照指定的文件名查找模式查找文件 |
-user 用户名 | 查找属于指定用户的所有文件 |
-size 文件大小 | 一按照自订的文件大小查找文件,单位包括块(512字节,b)、字节(c)、w(2字节,字)、k(千字节)、M(兆字节)、G(吉字节;+表示大于等于,例如find /root -size +10M 表示筛选root目录下大于等于10M的文件 |
2. locate
2.1 基本语法
locate 搜索文件名字内容
:快速定位文件名字包含指定内容的-文件的文件路径
2.2 注意事项
locate
指令利用事先建立的系统中所有文件名称以及路径的locate数据库实现快速定位给定的文件,该指令无需遍历整个文件系统,查询速度快。为了确保查询结果的准确性,管理员必须定期更新locate时刻- 由于
locate
指令基于数据库进行查询,所以第一次运行前,需要使用updatedb
指令创建locate数据库,该数据库默认每天更新一次 which 命令
或whereis 命令
:可以查看指定命令的文件路径
3. grep
3.1 基本语法
grep [选项] 查找内容 源文件
:在源文件中查找指定的内容
3.2 选项
选项 | 功能 |
---|---|
-n | 显示匹配行行号 |
3.3 附加
管道符|
:将前一个命令的处理结果输出传递给后面的命令处理,通常和grep
命令一起使用
八、压缩解压类
1. gzip/gunzip
1.1 基本语法
gzip 文件
:压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz
:解压压缩包
1.2 注意
- 只能压缩文件,不能压缩命令
- 不保留原来文件
- 同时压缩多个文件会产生多个压缩包
2. zip
2.1 基本语法
zip [选项] xxx.zip 要压缩的文件内容
:压缩文件和目录
unzip [选项] xxx.zip
:解压压缩包
2.2 选项
zip选项 | 功能 |
---|---|
-r | 递归压缩文件夹 |
unzip选项 | 功能 |
---|---|
-d 目录 | 指定压缩后的文件的存放目录 |
2.3 注意事项
该命令可以压缩目录并保留源文件
3. tar
3.1 基本语法
tar [选项] xxx.tar 将要进行打包的内容
:打包命令,将指定文件夹进行打包。可以根据选项决定是否进行压缩,如果仅进行打包,打包后文件以.tar
结尾,如果同时进行压缩,打包后文件以.tar.gz
结尾
tar [选项] xxx.tar
:解包命令,将指定包进行解包。可以搭配参数对.tar.gz
的文件进行解压
3.2 选项参数
选项 | 功能 |
---|---|
-c | 产生tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
-C | 解压到指定文件夹 |
九、磁盘管理类
1. du
1.1 基本语法
du [选项] 目录/文件
:查看目录下每个文件和子目录的磁盘使用情况,du即disk usage,磁盘使用情况
1.2 选项
选项 | 功能 |
---|---|
-h | 以人们容易阅读的GBytes、MBytes、KBytes显示 |
-a | 不仅查看子目录大小,还要包含子目录内的文件 |
-c | 显示所有文件和子目录大小后,显示总和 |
-s | 只显示总和 |
--max-depth 层级 | 指定统计子目录的深度为指定层级,层级为0相当于只显示总和 |
1.3 注意事项
ls -lh
统计大小时,不嵌套把子目录的内容一同计算,只是计算当前目录本身的大小,所以统计的目录大小并不准确
2. df
2.1 基本用法
df [选项]
:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况,df即disk free,空余磁盘
2.2 选项说明
选项 | 功能 |
---|---|
-h | 以人们容易阅读的GBytes、MBytes、KBytes显示 |
2.3 内容解析
- /dev/sda1:挂载在/boot目录下,为引导分区
- /dev/sda3:挂载在/目录下,正常文件存放分区
- tmpfs相关:基于内存的文件系统,包括真正内存和swap分区(虚拟内存),fs即file system
2.4 附加
查看当前内存使用情况的指令:free -h
,-h
选项和df
中的该选项作用相同
3. lsblk
3.1 基本语法
lsblk
:查看设备挂载情况
3.2 选项
选项 | 功能 |
---|---|
-f | 查看详细的设备挂载情况,显示文件系统信息 |
3.3 内容展示
3.4 注意事项
- hda、sda、vda的区别:硬盘类型主要分为IDE、SCSI和SATA三种,如果硬盘为IDE则对应hda,如果硬盘为SCSI和SATA则对应sda,如果为虚拟设备虚拟出的硬盘则为vda。
- sda、sdb、sdc的区别:系统中的第一块SCSI或SATA硬盘为sda,第二块该类型的硬盘为sdb,依次类推。hda、hdb同理
- sda1、sda2、sda3的区别:后面的阿拉伯数字123表示该部分为此硬盘下的第几块分区
4. mount/umount
4.1 基本语法
mount [选项] 设备 目录
:挂载设备,(接入Linux系统的设备都在dev目录下,去dev目录下找相应的设备作为参数)
umount 设备文件名或挂载点
:卸载设备
4.2 选项
选项 | 功能 |
---|---|
-t | 指定文件类型,通常不用指定,mount会自动选择正确的类 |
-o | 指定设备或档案的挂载方式 |
4.3 设置开机自动挂载
进入文件/etc/fstab
,该目录中存放当前系统的所有挂载信息,将当前挂载信息写入该文件即可,UUID部分填写设备名,写好挂载点信息,保存即可
5. fdisk
5.1 基本语法
fdisk -l
:查看磁盘分区详情
fdisk 硬盘设备名称
:对硬盘进行分区操作
5.2 分区操作流程
m
:获取分区操作帮助信息n
:添加一个新的分区p
:打印当前分区表信息q
:不保存任何更改退出w
:保存更改后退出
5.3 附加
- Linux一块磁盘最多划分4个主分区,如果想划分更多分区,可以把其中一块主分区替为扩展分区,该扩展分区可以扩展出最多12个逻辑分区。主分区编号为1到4,扩展分区编号为5到16
mkfs -t 文件系统类型 设备
:格式化设备并创建文件系统
十、进程管理类
1. ps
1.1 基本用法
ps aux | grep xxx
:查看系统中所有进程,ps即process status
ps -ef | grep xxx
:查看系统中所有进程,可以查看父子进程间的关系
1.2 选项
选项 | 功能 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 指面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 指显示完整格式的进程列表 |
1.3 显示信息说明
ps -aux
:
①USER:该进程是哪个用户产生的
②PID:进程ID
③%CPU:占用CPU的时间
④VSZ:占用的虚拟内存
⑤RSS:占用真实内存
⑥TTY:当前终端,?
表示没有终端,tty1
是图形化终端,tty2到tty6
是字符界面终端,pts/0-255
代表虚拟终端 即远程登陆和在当前计算机中打开的终端
⑦STAT:进程状态,R
表示运行状态,S
表示睡眠状态,T
表示暂停状态,Z
表示僵尸状态(进程马上要结束但父进程需要其部分信息未完全删干净的状态,等到父进程结束退出会彻底清掉该进程),s
表示包含子进程,l
表示多线程,+
表示前台显示 ,<
表示高优先级,N
表示低优先级
⑧START:进程的启动时间
⑨TIME:该进程占用的CPU运算时间
⑩COMMAND:产生此进程的命令名ps -ef
:
① C:CPU用于执行优先级的因子,数值越大,表明进程是CPU密集运算型,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
② PPID:父进程ID,启动当前进程的进程ID
1.4 附加
- 1号进程:PID为1,执行
systemd
命令,是Centos7执行的第一个初始用户进程,Centos6及以前的1号进程执行命令是init
命令,大部分用户进程的父进程都是1号进程。 - 2号进程:PID为2,为kthreadd所执行,负责所有内核线程的调度和管理,始终运行在内核空间,大部分系统级别的进程父进程哦都为2号进程。
- 0号进程:IDLL进程,系统级别的进程,运行在系统的内核态。
2. kill
2.1 基本语法
kill [选项] 进程号
:通过进程号杀死进程,不加选项- 9
不能杀死正在运行的进程
killall 进程名称
:通过进程名称杀死进程,也支持通配符
2.2 选项
选项 | 功能 |
---|---|
9 | 表示强迫进程立即停止 |
3. pstree
3.1 基本用法
pstree [选项]
:查看当前进程数
3.2 选项
选项 | 功能 |
---|---|
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
4. top
4.1 基本用法
top [选项]
4.2 选项
选项 | 功能 |
---|---|
-d 秒数 | 指定top命令每几秒更新,默认是3秒 |
-i | 不显示任何闲置或僵尸进程 |
-p | 通过指定监控进程ID来监控某个进程的状态 |
4.3 操作说明
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认为此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
u | 选择需要监控的用户,空格则表示所有 |
k | 输入相应进程的pid再输入9,即可清除该进程 |
q | 退出top |
4.4 显示结果
5. netstat
5.1 基本语法
netstat -anp | grep 进程号
:查看进程网络信息
netstat -nlp | grep 端口号
:查看网络端口号占用情况
5.2 选项
选项 | 功能 |
---|---|
-a | 显示所有正在监听和未监听的套接字 |
-n | 拒绝显示别名,能显示数字的全部抓化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 显示哪个进程在调用 |
5.3 结果分析
- proto:网络协议
- Recv-Q:接收到但未拷贝出来的字节数
- Send-Q:已发送但远程主机未确认收到的字节数
- Local Address:本地地址,套接字形式(0.0.0.0表示本地所有地址,127.0.0.1表示本地回环地址,代表本地主机)
- Foreign Address:远程地址
- State:当前的网络状态,LISTEN表示正在监听,ESTABLISHED表示已连接
- PID/Program name:进程的ID和名字
十一、定时任务
1. crontab
1.1 基本语法
crontab [选项]
1.2 选项
选项 | 功能 |
---|---|
-e | 编辑定时任务 |
-l | 查询定时任务 |
-r | 删除当前用户所有的定时任务 |
1.3 定时任务管理
systemctl restart crond
:重启定时任务,此外还可以用systemctl
进行该服务的状态查看和开启关闭
1.4 定时任务设置
- 格式:
* * * * * 命令
- 含义:五个
*
从前往后意义与取值依次为① 分钟(0-59)② 小时(0-23)③ 日(1-31)④ 月份(1-12)⑤ 星期(0-7,0和7都代表周日) - 特殊符号:
①*
表示任何时刻,第一个为*
则表示一小时中的每一分钟都执行一次
②,
代表不连续的时间,比如0 8,12,16 * * * 命令
表示每天的8点0分,12点0分,16点0分都执行一次命令
③-
代表连续的时间范围,比如0 5 * * 1-6 命令
表示在周一到周六的凌晨5点0分执行命令
④*/数字
代表每隔多久执行一次,比如*/10 * * * * 命令
表示每隔10分钟就执行一次命令
1.5 注意事项
一般每周星期几不和每月第几天同时用,容易混乱