Linux常用命令详细示例演示
一、Linux 常用命令一览表
Linux 下命令格式:
command [-options] [parameter]
命令 [选项] [参数]
- command 是命令 例如:ls cd copy
- [-options] 带方括号的都是可选的 一些选项 例如:ls -l 中的 -l
- [parameter] 可选参数,可以是 0 或多个 例如:rm -f file1 file2 file3 删除文件 file1、file2、file3
- 注意: 命令 与 选项 参数之间都是需要空格间隔的,如果不使用空格间隔,将会无法执行该行命令
常用命令一览表
| 命令 | 解释说明 |
|---|---|
| man / --help | 查看命令手册 |
| ls | 列出该目录下的所有子目录与文件 |
| cd | 进入/退出目录 |
| Tab 键 | 文件名/目录名自动补全 |
| Ctrl + Shift + " + " | 界面字体调大 |
| Ctrl + " - " | 界面字体调小 |
| ↑ 或 ↓ | 切换 上一条 或 下一条 命令 |
| clear | 清屏命令 |
| pwd | 显示出当前自己所在的完整目录路径 |
| mkdir | 创建目录 |
| rmdir | 删除目录 |
| rm | 删除文件/目录 |
| touch | 修改文件的时间戳 也可用于创建文件 |
| vi | vim 编辑器 |
| > 、 >> | 清空重定向、追加重定向 |
| echo | 将数据写入到标准输出 |
| cat | 连接文件并在标准输出上输出 |
| more | 过滤器、用于分页(一页一次)显示文本 |
| less | 随意查看文件内容,可搜索和翻页 |
| head / tail | 显示文件开头或结尾某个数量块大小的内容 |
| | | 管道符 |
| find | 在 xx 目录下搜索符合条件的文件 |
| grep | 全局搜索正则表达式并打印出行 |
| cp | 复制文件/目录 |
| mv | 移动文件/目录 |
| stat | 查看文件信息 |
| date | 查看日期 |
| cal | 查看日历 |
| df | 查看磁盘信息 |
| ps | 查看进程信息 |
| ifconfig | 查看/配置计算机当前的网卡配置信息 |
| ping | 检测到目标 ip地址 的连接是否正常 |
| su | 切换用户 |
| reboot | 重启 |
| shutdown | 关机 |
| gcc/g++ | 编译器 |
| gdb | 调试器 |
| yum | 安装/删除 软件 |
| zip/unzip、gzip/gunzip、tar | 压缩/解压缩、打包/解包 |
注:本人使用的是 CentOS 7版本
界面如图:

二、man 查看命令手册
2.1 man
man 是 manual 的缩写

man 命令就像是 查字典一样,不了解某个命令的含义、作用、用法,可以使用 man 进行查询。大部分的命令和函数是支持查询的。
示例:
我们查询 ls 这个命令的作用
输入命令:
man ls
结果:

都会有详细的解释说明:

可以看到有时候的命令说明会非常的长,阅读起来不是很方便,在命令说明的当前界面(也就是上图界面),执行以下操作可以帮助大家更好的阅读
| 操作 | 功能 |
|---|---|
| 点击空格键 | 切换到下一屏内容 |
| 点击 ↑ 或 ↓(或 回车 Enter 键) | 查看上一行或下一行 |
| b(back) 或 f(front) | 往回切一屏 或 切换到下一屏 |
| / word | 查询文档中的某个单词 |
| q(quit) | 退出手册查询 |
同时也可以使用 命令 + --help 来查阅命令用法
示例:
ls --help

三、使用命令小技巧
在一大批命令介绍说明之前,这里介绍几个常用的小技巧,可以让你使用Linux 输入执行命令的时候更加丝滑。
3.1 cd 进入某个目录
大家刚进入 linux 终端的时候界面应该是这个样子:

那么我们需要进入到自己的目录时(例如:Study)
输入:
cd Study
回车

那么我们如何返回上一个目录呢?
3.1.1 返回上一级目录
输入:
cd ..
例如:

3.2 文件名/目录名 自动补全 : tab 键
当我们的目录名或者文件名很长不想逐个去敲字母输入的话,可以选择使用 Tab 键进行自动补全:
例如:
进入 Study 目录:
输入:
cd S

是的 没错,cd 加上一个 目录的首字母(注意大小写)
按下 Tab 键:

目录自动补全;
但是遇到多个文件的名称相似,例如以下情况:

这里我们输入:
cat t
按下 Tab 键:

只能补充到最长的一个公共字串,后面的需要我们自己输入
3.3 终端界面字体调节
刚开始的时候系统默认的字体大小时固定的,可以手动控制进行字体大小调节
字体调大 : Ctrl + Shift + " + "

字体调小:Ctrl + " - "

3.4 ↑ 或 ↓ 切换 上一条 或 下一条 命令
有时候我们敲下一长串的命令,或者需要重复的执行一些命令,我们可以通过 " ↑ " 或 " ↓ " 来将当前需要输入的命令调整为 以前输入过的某一条命令,可以加快速度
例如:

按 " ↑ "

按 " ↓ " 又回到刚才的命令

3.5 clear 清屏命令
有时候我们可能满屏幕的内容、指令等,需要清屏可以使用 clear 指令
示例:

使用 clear 指令后
clear

实际上是切换到了下一屏

四、目录相关指令
4.1 ls 指令
ls 是 list 的简写,意为:列表; 名单; 清单; 目录; 一览表;
4.1.1 功能
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
4.1.2 用法
ls [ 选项 ] [ 文件或目录]
4.1.3 常用选项
| 选项 | 作用 |
|---|---|
| -R | 递归列出遇到的子目录(包括文件) |
| -a | 列出所有文件,包括以 “.” 开头的隐含文件。 |
| -c | 使用“状态改变时间”代替“文件修改时间”为依据来排序 (使用“ -t ”选项时)或列出(使用“ -l ”选项时) |
| -i | 列出文件的 inode 节点号 |
| -l | 列出(以单列格式)文件模式( file mode ),文件的链接数,所有者名,组名,文件大小(以字节为单位),时间信 息,及文件名 |
| -t | 按时间顺序排序 |
| -u | 使用最近访问时间代替最近修改时间为依据来排序 |
4.1.4 .1 示例 ls -R :列出当前目录下所有子目录/子文件
ls -R 列出当前目录下所有的子目录和子文件

4.1.4.2 示例 ls -a :显示所有文件
ls -a 显示所有的文件,包括隐藏文件

那么这个隐藏文件究竟是什么呢?
像上图那样 前缀为: " ." 或 " … " 被称为隐藏文件,一般这些文件不建议修改或删除,像我们windows 系统文件,误删或误改会造成难以预估的后果。
当然我们也可以自己创建隐藏文件
例如:
touch .test

4.1.4.3 示例 ls -i :显示文件节点号
ls -i 显示文件的 inode 节点号
每一个文件都有唯一的一个 inode 节点号,通过该节点号经过映射,最终可以找到该文件在物理存储区中的位置,从而实现文件的读写等其他操作

4.1.4.4 示例 ls -l :列出文件详细信息
ls -l 列出文件节点号、链接数,所有者名,组名,文件大小,时间信息,文件名,这个是我们比较常用的一种查看文件信息方式
实践发现并没有列出文件的节点号,但是我们可以组合选项进行列出

注:链接数 指 硬链接 和 软链接 具体的知识点可以看下面这篇博客
Linux之软硬链接
4.1.4.5 示例 ls -u :按修改时间排序显示文件
ls -u 按照修改时间顺序排序显示文件

4.2 pwd 指令
显示出当前自己所在的完整目录路径
示例 4.2.1 pwd :显示当前所在完整路径
pwd

4.3 cd 进入/退出目录命令
cd 命令大家应该比较熟悉 cd 是 change directory 更改目录的简写
cd 目录名 即可进入该目录下
当要进入当前目录下的下一级目录(相对路径)时,只需要 cd 目录名 即可
如果进入的不是当前目录下的目录时,需要给出目录的完整路径(绝对路径) 否则无法进入
示例:

cd … 即可返回上一级目录
除了这两个常用的还有以下常用的 cd 命令
| 命令 | 作用 |
|---|---|
| cd. | 保持在当前目录 |
| cd ~ | 切换到主目录 |
| cd - | 在最近两次工作目录之间来回切换 |
4.3.1 示例 cd ~ :切换到主目录
cd ~ 切换到主目录

4.3.2 示例 cd - :近两次目录切换
cd - 在最近两次工作目录之间来回切换

4.4 mkdir 创建目录
mkdir 目录名 即可创建目录
注意:新创建的目录名不能于当前目录下的目录或文件名相同否则会创建失败。

4.4.1 示例 mkdir dirname :创建目录

可选参数:
| 命令 | 作用 |
|---|---|
| mkdir -p dir1/dir2/dir3 | 递归地创建目录 dir1、dir2、dir3 |
4.4.2 示例 mkdir -p dir1/dir2/dir3:一次性创建多级目录

与 mkdir 配套使用的还有 rmdir 删除目录
rmdir 目录名
示例:

常用可选参数:
rmdir -p 目录 递归删除空目录,若目录不为空则无法删除
4.5 rm 删除文件/目录
常用可选参数:
| 选项 | 作用 |
|---|---|
| -r | 递归的删除目录 |
| -d | 删除空目录 |
| -i | 删除文件前进行确认提示,向用户确认是否删除 |
| -f | 忽略不存在的文件,且从来不向用户提示是否确认删除 |
| -v | 在删除每个文件前打印文件名称 |
4.5.1 示例 rm -r / -d:删除目录
rm -r dir 递归地删除dir 目录下的所有目录以及文件
rm -d 删除空目录(非空的目录无法删除)

4.5.2 示例 rm -i / -v /-f :删除文件
rm -i filename 删除文件时进行提示:是否确认删除

rm -v filename 删除后显示出 filename

rm -f filename 忽略不存在的文件,并且从不向用户提示信息

同时 rm 支持一次性删除多个文件
rm file1 file2 file 3…

五、文件相关指令
5.1 创建文件命令
| 指令 | 作用 |
|---|---|
| touch | 修改文件的时间戳 也可用于创建文件 |
| vi | 使用vim 编辑器创建并编辑文件 |
| > 或 >> | 使用 重定向符创建文件 |
| echo 或 printf | 向文件中输入内容,同时若文件不存在则创建文件 |
5.1.1 示例 touch :修改文件时间戳,文件不存在则创建文件

touch filename 创建文件
touch -c filename 不创建文件

5.1.2 vim 编辑器
详细的vim 编辑器可以看看这篇博客:
Linux编辑器vim编译器gcc/g++调试器 gdb基本知识总结
5.1.3 > 或 >> 重定向符
" > " 清空重定向;将源文件中所有内容清空,覆盖写
" >> " 追加重定向;追加写入内容
当不输入内容时就会创建一个新文件
> filename 创建一个空文件
>> filename 也可以创建一个文件
示例:

对重定向符号比较感兴趣的同学可以看一下这篇博客
Linux模拟实现重定向
5.1.4 echo 或 printf
echo 功能是将将数据写入到标准输出,一般配合 > 或 >> 进行使用,将内容重定向到目标文件中,若目标文件不存在则会创建文件,printf 的用法也和 echo 类似
示例:

创建文件的常用方式就总结到这里,还有其他的一些创建方式大家可以自己延申学习。
5.2 查看文件命令
| 命令 | 作用 |
|---|---|
| cat | 连接文件并在标准输出上输出 |
| more | more 是一个过滤器、用于分页(一页一次)显示文本 |
5.2.1 cat 指令
cat 是英文 concatenate 的缩写

使用方法:
cat [选项列表] [文件列表]
我们为了方便记忆增加趣味性 有时候 我们说
cat filename :让我的猫去看一下文件的内容 是不是挺有意思的
常用选项:
| 选项 | 作用 |
|---|---|
| -b | 给非空输出行编号 |
| -n | 给所有输出行编号 |
常用选项示例:
5.2.1.1 示例 cat -b :打印文件内容并给非空输出行编号
cat -b filename
我们先使用 vim 编辑器在 test.c 中 写下这么一段内容
#include<stdio.h>
int main()
{printf("hello");printf("world"):return 0;
}

使用命令:
cat -b test.c

5.2.1.2 示例 cat -n :打印文件内容并给所有行编号

5.2.2 more 指令
5.2.2.1 示例 more : 查看文件
more filename

关于使用 more 指令时如何翻页和 使用 man 手册时的翻页是有点类似的
| 操作 | 功能 |
|---|---|
| 点击空格键 | 切换到下一屏内容 |
| 点击 ↑ 或 ↓(或 回车 Enter 键) | 查看上一行或下一行 |
| b(back) 或 f(front) | 往回切一屏 或 切换到下一屏 |
| / word | 查询文档中的某个单词 |
| q(quit) | 退出手册查询 |
| +number | 跳转到文件指定的某一行 |
这里之简单示例一下 +number 的操作
原文中文件 test.cpp 内容

more +5 test.cpp

5.2.3 less 指令
more 指令只支持向下翻页,less 指令支持向上翻页,less 指令在查看文件的时候并不需要读取整个文件
用法:
less [选项] filename
常用选项:
| 选项 | 作用 |
|---|---|
| -i | 忽略搜索时的大小写 |
| -N | 显示每行的行号 |
| / word | 向下搜索 word |
| ? word | 向上搜索 word |
| n | 重复前一个搜索(与 / 或 ? 有关) |
| N | 反向重复前一个搜索(与 / 或 ? 有关) |
| q | 退出显示 |
| k / j | 按行上/下滚动 |
| b/ f | 上/下翻页滚动 |
示例:
less test1.cpp

5.2.4 head / tail 指令
作用 用来显示开头或结尾某个数量的文字区块
5.2.4.1 head 指令
显示文件开头的多少行内容,默认显示10行内容
示例:
head -8 test1.cpp

5.2.4.2 tail 指令
显示文件末尾的多少行内容,默认显示末尾 10行,和head 用法差不多
示例:
tail test1.cpp

5.2.5 管道符 |
学习了上面的 head 和 tail 指令,这里提出一个问题,如果我只想看第 10 行的内容怎么办呢? 这里引入一个 管道符 " | " 的概念
功能: 连接两个命令 ,将前边命令的输出结果交给后面命令进行处理
那么我们只想要看 第 10 行的内容 即可:
先查出前十行内容 再取这十行内容的最后一行即可
head -10 test1.cpp | tail -1

5.3 查找文件/文件内容命令
| 命令 | 作用 |
|---|---|
| find | 在 xx 目录下搜索符合条件的文件 |
| grep | 在文件中查找符合条件的内容并打印 |
5.3.1 find
find 命令在Linux 中是比较强大的命令
用于查找与指定参数条件匹配的文件及目录列表。
find查找命令可以在各种条件下使用,我们可以通过权限,用户,组,文件类型,修改日期,大小等多种条件来查找文件

find 命令用法比较简单 用法为:
find [搜索路径] [表达式]
简单示例一下:

这里表达式可以算作 find 命令的灵魂&核心部分;通过表达式来完成各种各样的查询目标
表达式 一般可以看作由:选项参数 + 子表达式 组合
子表达式可以包括 文件名、通配符+字符串、数字、文件大小等等
5.3.1.1 选项参数
| 选项参数 | 作用 |
|---|---|
| -name | 按文件名来搜索文件 |
| -type | 按文件类型查找 |
| -user | 按文件拥有者查找 |
| -group | 按文件拥有组查找 |
| -perm | 按文件权限查找 |
| -exec | 对查到的文件执行xx 动作 |
| -cmin | 按文件修改时间查找 |
| -size | 按文件大小查找 |
| -o / -a / -not | 查找条件或/且/非 |
| -maxdepth / -mindepth | 指定查找范围最大/最小为第几级目录 |
5.3.1.1.1 find [路径] -name 文件名
如果不指定路径 则会在当前目录下 进行查找
示例:
find -name "text.txt" 在当前目录下查找名为 text.txt 的文件

find / -name "*.txt" 查找根目录下所有的 .txt 类型文件

5.3.1.1.2 find [路径] -type 文件类型
Linux 中通常把文件划分为 以下 7 种类型
并非是我们常见的 Windows 下的那些 .c .cpp .bat .txt .project … 等
而使用 find -type 查询对应类型文件时也只能输入一个字母作为文件类型
| 字母 | 文件类型 |
|---|---|
| - | 常规文件,即file, 文本文件,二进制文件、图片等常见文件 |
| d | 目录文件 |
| b | block device 即块设备文件,如硬盘;支持以block为单位进行随机访问,通常为外设 |
| c | character device 即字符设备文件,如键盘支持以character为单位进行线性访问,通常为外设 |
| l | symbolic link 即符号链接文件,又称软链接文件 |
| p | pipe 即命名管道文件 |
| s | socket 即套接字文件,用于实现两个进程进行通信 |
例如:查看当前目录下的目录文件
find -type d

5.3.1.1.3 find [路径] -user/-group 文件拥有者/拥有组
示例:
find -user username
find -group groupname

5.3.1.1.4 find [路径] -perm xxx 按文件权限查找文件
示例:
find -perm 664

这里大家想问 664 是怎么得来的?
如图所示:

关于Linux 权限的相关知识点可以看一下 下面我整理的这篇博客
Linux用户权限、文件权限、目录权限详解
5.3.2 grep 搜索文件中指定匹配模式的内容
grep 全称为:
Global search Regular Expression and Print out the line
译为:全局搜索正则表达式并打印出行
命令使用语法:
grep [匹配模式/匹配字符] 文件名 [参数]
简单示例:
grep "cout" test.cpp 搜索 test.cpp 中的 "cout" 字符

选项参数:
| 选项参数 | 作用 |
|---|---|
| -A number | 打印出匹配的行之前的下文 number 行 |
| -B number | 打印出匹配的行之前的上文 number 行 |
| -C number | 打印出匹配的行之前的上下文 各number 行 |
| -v | 反向匹配,将匹配的内容排除掉并输出 |
| -n | 显示匹配行的行号 |
| -i | 不区分大小写 |
| -c | 只统计匹配的行数,不打印匹配的内容 |
| –clolor=auto | 为匹配结果设置颜色 |
| -w | 只匹配过滤的单词 |
| -o | 只输出匹配的内容 |
5.3.2.1 grep [匹配模式/匹配字符串] 文件名 -A/B/C number
示例 :
grep "cout" test.cpp -A 2 将有cout 字符的后 2 行内容也打印出来
在文件中搜索指定内容并把该内容的后number 行也打印出来

5.3.2.2 grep [匹配模式/匹配字符串] 文件名 -v 反向匹配
示例:匹配文件 test.cpp 中不包含 “cout” 字符的内容
grep "cout" test.cpp -v

5.3.2.3 grep [匹配模式/匹配字符串] 文件名 -n :显示匹配结果的行号
示例:
grep "cout" test.cpp -n

5.4 文件拷贝 cp(copy)
将一个或多个源文件或者目录复制到指定的目的文件或目录
命令格式:
cp [可选参数] 源文件/目录 目标文件/目录
示例:将 test.cpp 拷贝到 Test.cpp 目录下

cp test.cpp Test

5.4.1 cp 常用可选参数:
| 选项 | 作用 |
|---|---|
| -a | 此参数的效果和同时指定"-dpR"参数相同 |
| -d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
| -f | 强行复制文件或目录,不论目标文件或目录是否已存在 |
| -i | 覆盖既有文件之前先询问用户 |
| -l | 对源文件建立硬连接,而非复制文件 |
| -p | 保留源文件或目录的属性 |
| -R/r | 递归处理,将指定目录下的所有文件与子目录一并处理 |
| -s | 对源文件建立符号连接,而非复制文件 |
| -u | 使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件 |
| -S | 在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀 |
| -b | 覆盖已存在的文件目标前将目标文件备份 |
| -v | 详细显示命令执行的操作 |
5.4.1.1 示例 cp -r 源文件/目录 目标文件/目录 : 递归拷贝文件/目录
cp -r Test Test2

5.5 移动文件指令 mv(move)
将源文件/目录移动到目标文件/目录中
用法:
mv [可选参数] 源文件/目录 目标文件/目录
简单示例:
mv test.cpp test1.cpp


5.5.1 常用选项参数:
| 选项 | 作用 |
|---|---|
| -b | 类似–backup 但不接受参数 |
| -f | 覆盖前不询问 |
| -i | 覆盖前询问 |
| -n | 不覆盖已存在文件 如果您指定了-i、-f、-n 中的多个,仅最后一个生效 |
| -S | 替换常用的备份文件后缀 |
| -t | 移动所有的 SOURCE 的参数到 DIRECTORY |
| -T | 把 DEST 看成普通文件 |
| -u | 只有当 SOURCE 比 DEST 更新 |
5.6 查看文件状态 stat
用法:
stat filename
示例:
stat test1.cpp

六、 系统相关指令
6.1 日期相关指令
| 指令 | 作用 |
|---|---|
| date | 查看日期 |
| cal | 查看日历 |
示例:

6.2 查看磁盘信息 df 命令
示例:
df

常用可选参数:
| 选项参数 | 作用 |
|---|---|
| -h | 以常见的格式显示出大小 |
| -i | 以inode 节点 索引信息显示磁盘使用情况 |
| -T | 输出每个文件系统的类型 |
简单示例:
df -T 输出每个文件系统的类型

df -h 以常见的格式显示出大小

6.3 查看进程信息
ps aux 查看进程的详细状况

ps 常用选项说明
| 选项 | 含义 |
|---|---|
| a | 显示终端上的所有进程,包括其他用户的进程 |
| u | 显示进程的详细状态 |
| x | 显示没有控制终端的进程 |
top 动态从高到低排序显示当前 内存磁盘占用情况

kill -9 [PID 进程ID] 强制结束进程
6.4 查看配置网卡信息
6.4.1 ifconfig 查看/配置计算机当前的网卡配置信息
示例:
ifconfig

6.4.2 ping 检测到目标 ip地址 的连接是否正常
示例:
ping www.baidu.com

6.5 其他特殊指令
su root 切换到root 用户 //这里会显示需要密码 注意这里的密码输入是看不到的输入完后回车即可
reboot 重启 // 一般不要尝试
-shutdown -h now 立即关机
七、gcc/g++/gdb 编译器/调试器
gcc 、g++ 、gdb 相关详细介绍可以看一下这篇博客:
gcc/g++/gdb 基本知识总结
八、压缩及打包命令
linux 里可没有鼠标右键压缩文件/解压缩文件 那么linux里是如何进行文件的压缩和解压缩呢?
当然压缩和解压缩都有格式
在windows 下一班有 zip rar 等格式,同样在linux 也有相关的指令
一般刚安装号的Linux 没有压缩和解压缩软件 因此需要先下载压缩/解压缩软件
8.1 yum 指令 软件包安装/删除
功能:yum是一个基于rpm的交互式包管理器。它可以自动执行系统更新,包括依赖关系分析和基于“存储库”的过时处理元数据。它还可以执行新软件包的安装、旧软件包的删除,以及在许多其他需求/服务
使用方法:
yum [options] [command] [package …]
示例:
安装解压缩工具 zip

这里由于已经安装过了,那么我们先卸载再安装
使用命令
yum remove zip

我们再重新安装
yum install zip

安装完成。
8.2 zip /unzip 指令 压缩解压缩
功能:
zip :将文件/目录压 为filename.zip
unzip: 将 .zip 类型的压缩文件解压
使用方法:
zip filename.zip filename 压缩
uzip filename.zip
常用选项:
| 选项 | 作用 |
|---|---|
| -r | 递 归处理,将指定目录下的所有文件和子目录一并处理 |
示例:

其他选项参数大家可以查看手册查阅:

8.3 gzip /gunzip 指令
也是压缩文件和zip
不同的是 gzip 的压缩率更高
使用方法:
gzip [选项] filename
gunzip [选项] filename.gz
注意:解压缩文件时需要注意压缩文件的格式,如 .zip 只能由unzip来解压 .gz 只能由 gunzip来解压
示例:

其他选项参数:

8.4 tar 指令 打包/解包
功能:linux 下最常见的打包工具/解包/解压缩
使用方法:
tar [选项] filename1 filename2…
常用选项:
| 选项 | 作用 |
|---|---|
| -c | 打包 |
| -x | 解包 |
| -z | 打包/解包时进行gzip 格式的压缩/解压缩 |
| -j | 打包/解包的时候进行bzip2 格式的压缩/解压缩 |
| -v | 在打包/解包的时候显示详细的打包/解包信息/内容 逐个显示有哪些文件 |
| -f | 指定压缩包名称 |
这些选项需要进行组合使用,组合表示是以何种方式打包、解包等。
示例:
例如: -czvf 打包 / -xzvf 解包
示例:
[hfy@localhost MarkdownTest]$ ls
CP Mkdir newdir test2.c test.c
[hfy@localhost MarkdownTest]$ tar -cvzf newtar.gz test.c test2.c
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP Mkdir newdir newtar.gz test2.c test.c
[hfy@localhost MarkdownTest]$ tar -xzvf newtar.gz
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP Mkdir newdir newtar.gz test2.c test.c
//先把以前的删除然后再解压
[hfy@localhost MarkdownTest]$ rm -r test2.c test.c
[hfy@localhost MarkdownTest]$ ls
CP Mkdir newdir newtar.gz
[hfy@localhost MarkdownTest]$ tar -xzvf newtar.gz
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP Mkdir newdir newtar.gz test2.c test.c
[hfy@localhost MarkdownTest]$ 相关文章:
Linux常用命令详细示例演示
一、Linux 常用命令一览表 Linux 下命令格式: command [-options] [parameter] 命令 [选项] [参数] command 是命令 例如:ls cd copy[-options] 带方括号的都是可选的 一些选项 例如:ls -l 中的 -l[parameter] 可选参数,可以是 0…...
9-数据可视化-动态柱状图
文章目录1.基础柱状图2.基础时间线柱状图3.动态柱状图1.基础柱状图 from pyecharts.charts import Bar bar Bar() # 构建柱状图对象 bar.add_xaxis(["中国","美国","英国"]) bar.add_yaxis("GDP",[30,20,10]) bar.render()反转xy轴…...
Linux系统【centos7x】安装宝塔面板教程
1. 下载宝塔面板安装包 在宝塔官网下载最新版的安装包,下载完后上传到服务器。 2. 安装宝塔面板 在终端中输入以下命令: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh…...
蓝易云:Linux系统【Centos7】top命令详细解释
top命令是一个非常常用的Linux系统性能监控工具,它可以实时动态地查看系统的各项性能指标,并且可以按照不同的排序方式进行排序,方便用户查找信息。 下面是top命令的详细解释: 1. 第一行:显示系统的运行时间、当前登…...
Muduo库源码剖析(一)——Channel
Muduo库源码剖析(一)——Channel 说明 本源码剖析是在muduo基础上,保留关键部分进行改写分析。 要点总结 事件分发器 event dispatcher中最重要的两个类型 channel 和 Poller Channel可理解为通道,poller往通道传输数据(事件发生情况)。 EventLoop…...
Java多线程:定时器Timer
前言 定时/计划功能在Java应用的各个领域都使用得非常多,比方说Web层面,可能一个项目要定时采集话单、定时更新某些缓存、定时清理一批不活跃用户等等。定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程方式进行处理&am…...
设计模式---装饰模式
目录 介绍 实现 优缺点 装饰模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有类的一个包装。这种模式创建了一个装饰类,用来包装原有…...
跨时钟域传输数据——单bit和多bit信号(总结)
文章目录前言一、慢时钟域到快时钟域1、单bit信号2、多bit信号二、快时钟域到慢时钟域1、单bit信号2、多bit信号三、多bit信号跨时钟域传输1、多个信号合并2、多周期路径 Multi-cycle Path/MCP3、使用格雷码4、使用异步FIFO5、使用DMUX电路结构6、握手信号传输四、简答题1、跨时…...
高并发下如何保证接口幂等
文章目录 1. insert前先select2. 加悲观锁3. 加乐观锁4. 加唯一索引5. 建防重表6. 根据状态机7. 加分布式锁8. 获取token接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要…...
Retrofit源码分析小结
Retrofit源码分析&小结 简介 Retrofit是对Okhttp网络请求的二次封装,通过注解动态代理的方式,简化了Okhttp的使用,使得通过简单的配置就可以像调用接口一样去请求网络接口;除此之外Retrofit还支持RxJava和kotlin的协程 基本…...
【从零开始学习 UVM】11.4、UVM Register Layer —— UVM Register Model 实战项目(RAL实战,交通灯为例)
文章目录 DesignInterfaceRegister Model ExampleRegister EnvironmentAPB Agent ExampleTestbench EnvironmentSequencesTest在之前的几篇文章中,我们已经了解了寄存器模型是什么以及如何使用它来访问给定设计中的寄存器。现在让我们看一个完整的例子,展示如何为给定设计编写…...
session和token的登录机制
做登录的时候遇到了token ,web和smtp的登录情况,这里 记录一下我所学习的两种登录方式,一种是token ,一种是session session 登录机制 当用户请求登录接口进行登录服务端 获得登录的信息,从而在数据库中查到相应的用…...
大厂研发成本大曝光,研发占大头
近日,腾讯发布《2022 年腾讯研发大数据报告》,披露了 2022 年腾讯在研发投入、研发效能、开源协同等方面的重要数据。 《报告》显示,2022 年腾讯内部研发人员占比达到 74%,这意味着,平均每四个腾讯员工中,…...
python爬虫第一节基础概念
爬虫是一种自动化抓取互联网上数据的技术。在网络信息爆炸的今天,爬虫技术已经成为数据获取和信息分析的重要手段。本文将详细介绍爬虫的基础知识和操作,帮助初学者快速入门。 一、爬虫的基本原理 爬虫的基本原理是通过网络请求获取网页源代码…...
web学习---Vue---笔记(1)
该笔记是记录尚硅谷的Vue学习视频的笔记,视频地址为:学习视频地址 初始Vue Vue组件化的特点 组件化声明式编码虚拟DOMDiff算法,尽量复用DOM节点 H5的组件,是把某一个模块封装,里面写HTML\CSS\JS等,算是一…...
【前端面试题——微信小程序】
目录1.请谈谈wxml与标准的html的异同?2.请谈谈WXSS和CSS的异同?3.请谈谈微信小程序主要目录和文件的作用?4.请谈谈小程序的双向绑定和vue的异同?5.简单描述下微信小程序的相关文件类型?6.微信小程序有哪些传值(传递数据…...
gpt模型训练-gpt3模型详解
训练一个GPT模型需要大量的数据集和计算资源。在这里,我提供一些较为通用的训练步骤以供参考: 获取数据集 首先需要收集一些数据集,数据集建议获取大型的常用文本数据集。常见的例如维基百科、各种在线文章、小说、论文等,数据集…...
vue尚品汇商城项目-day04【27.分页器静态组件(难点)】
文章目录27.分页器静态组件(难点)本人其他相关文章链接27.分页器静态组件(难点) 难点: 考虑点1:为啥需要分页呢? 答案:按需加载 考虑点2:分页器展示,需要哪…...
使用SeaFile搭建私有云盘并公网访问【cpolar内网穿透】
文章目录1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置4. 公网访问测试5. 结语1. 前言 现在我们身边的只能设备越来越多,各…...
蓝桥杯第26天(Python)考前挣扎
题型: 1.思维题/杂题:数学公式,分析题意,找规律 2.BFS/DFS:广搜(递归实现),深搜(deque实现) 3.简单数论:模,素数(只需要…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
