当前位置: 首页 > news >正文

Linux基本指令【下】

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析3

在这里插入图片描述


目录

  • 👉🏻cat
  • 👉🏻echo(输出重定向)
    • echo与>、>>
  • 👉🏻more
  • 👉🏻less(比more常用)
  • 👉🏻head
  • 👉🏻tail
  • 👉🏻管道
  • 👉🏻wc
  • 👉🏻uniq
  • 👉🏻sort
  • 👉🏻date
  • 👉🏻cal
  • 👉🏻find、which、whereis等查找指令
    • find
    • whereis
    • 🥢 find、which、whereis区别
  • 👉🏻grep
  • 👉🏻history
  • 👉🏻zip/unzip
    • 打包和压缩概念
    • zip
    • unzip
  • 👉🏻tar
  • 👉🏻bc
  • 👉🏻uname
  • 👉🏻shutdown
  • 👉🏻热键使用

👉🏻cat

cat(concatenate)是一个在Linux和Unix系统中常用的命令,用于查看文件内容、创建文件、合并文件等操作。

cat命令的基本语法如下:

cat [选项] [文件]

其中,选项是可选的,用于指定一些特定的操作,例如:

  • -n:显示行号
  • -b:显示非空行的行号
  • -s:合并多个空行为一个空行

文件是要操作的文件名,可以指定一个或多个文件。

以下是cat命令的一些常见用法

  1. 查看文件内容:可以使用cat命令来查看文件的内容。例如,要查看一个名为file.txt的文件的内容,可以运行以下命令:
   cat file.txt
  1. 创建文件:可以使用cat命令来创建一个新文件并写入内容。例如,要创建一个名为newfile.txt的文件,并将一些文本写入其中,可以运行以下命令:
   cat > newfile.txt

>这里是输出重定向,原本应该是向显示器输出内容,现在是将内容输出到文件中。
> 运算符用于将cat指令的输出覆盖到目标文件中。如果目标文件不存在,则会创建一个新文件;如果目标文件已存在,则会覆盖原有内容。
>>运算符用于将cat指令的输出追加到目标文件的末尾。如果目标文件不存在,则会创建一个新文件;如果目标文件已存在,则会将内容追加到文件末尾。

  1. 合并文件:可以使用cat命令将多个文件的内容合并到一个文件中。例如,要将file1.txt和file2.txt的内容合并到merged.txt文件中,可以运行以下命令:
   cat file1.txt file2.txt > merged.txt
  1. 显示行号:可以使用cat命令的-n选项来显示文件内容的行号。例如,要显示file.txt文件的内容,并显示行号,可以运行以下命令:
   cat -n file.txt

5.输入重定向
以下是使用cat指令和输入重定向符号的示例:

cat < filename

在上述示例中,filename是要读取内容的文件名。<符号将文件的内容重定向为cat命令的输入,然后cat命令将显示文件的内容在终端上。

例如,如果要显示名为example.txt的文件的内容,可以运行以下命令:

cat < example.txt

这将在终端上显示example.txt文件的内容。


🕋cat默认情况下是从键盘读数据,然后输出到显示器
在这里插入图片描述

👉🏻echo(输出重定向)

在Linux中,echo是一个用于在终端输出文本或变量内容的命令。它可以将指定的文本或变量的值打印到标准输出(通常是终端窗口)。

echo命令的基本语法如下:

echo [选项] [字符串]

其中,选项是可选的,用于对输出进行一些控制。常用的选项包括:

  • -n:不输出末尾的换行符。
  • -e:启用转义字符的解析,可以使用转义字符来表示特殊字符。

字符串是要输出的文本或变量的值。可以直接指定字符串,也可以使用变量来输出其值。

以下是一些示例:

echo "Hello, World!"  # 输出字符串 "Hello, World!"
echo -n "Hello, "     # 输出字符串 "Hello, ",不换行
echo -e "Line 1\nLine 2"  # 输出两行文本,使用转义字符表示换行

echo命令还可以与其他命令结合使用,将输出的文本重定向到文件或管道中,实现更复杂的操作。

echo与>、>>

🥘>
echo还可以将输出内容到文件中去,比如这里我想输出“hello world”到text.txt中

echo “hello world” > text.txt

注意:如果text.txt原本不存在,则新建一个新的文件名为text.txt
所以用echo新建一个空文件可以为

echo >  文件名 
//该写法可以创建一个空文件,也可以清空一个已存在的文件

这里我们需要知道一个概念:Linux下一切皆文件!
我们正常用echo 字符串 ,不过也是向显示器上输出内容,那么其实显示器虽然是个硬件,但它也具备读写的功能,所以,这里显示器对于我们也是个“文件”。
所以,这里的>,做的事情就是输出重定向,把原本应该输出到显示器上的内容,输出到其它文件上。
注意:每次echo重新进行写入时,原内容会被清空


🥘>>(追加重定向)
如果你想将输出内容追加到文件末尾而不是覆盖原有内容,可以使用>>运算符,示例如下:

echo "This is a new line" >> output.txt

输出重定向和输入重定向概念

输出重定向和输入重定向是在命令行中用于改变命令的输入来源和输出目标的技术。

输出重定向允许将命令的输出结果发送到指定的位置,而不是默认的标准输出(通常是终端窗口)。通过使用输出重定向符号>或>>,可以将命令的输出写入到文件中或者通过管道传递给其他命令。

>符号用于将命令的输出覆盖写入到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会清空原有内容并写入新的输出。
>>符号用于将命令的输出追加写入到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会将输出追加到文件的末尾。

例如,ls > file.txt命令将ls命令的输出结果写入到file.txt文件中,如果file.txt文件已存在,则会被覆盖;而ls >> file.txt命令将输出追加到file.txt文件的末尾。


输入重定向允许将文件的内容作为命令的输入,而不是从标准输入(通常是键盘)读取。通过使用输入重定向符号<,可以将文件的内容作为命令的输入。

例如,cat < file.txt命令将file.txt文件的内容作为输入传递给cat命令,然后cat命令将显示文件的内容在终端上。

输出重定向和输入重定向是非常有用的技术,可以帮助我们将命令的输出保存到文件中、将文件的内容作为命令的输入,以及通过管道将多个命令连接起来进行复杂的操作

👉🏻more

more 是一个用于在 Linux 终端中逐页显示文本文件内容的命令。它允许用户逐页浏览大型文件,以便更好地查看和阅读文件内容。

以下是 more 命令的一些常用选项和用法:

  • more 文件名:打开指定的文件并逐页显示内容。
  • 空格键:向下滚动一页。
  • Enter 键:向下滚动一行。
  • q 键:退出 more 命令。
  • /关键词:在文件中搜索指定的关键词。
  • n:显示行号。
  • :f:显示当前文件名和行号信息。
  • :p:显示上一页的内容。
  • :d:显示下一页的内容。
  • :f 文件名:打开另一个文件。

more 命令非常有用,特别是当你需要查看大型文件时。它可以帮助你逐页浏览文件内容,方便阅读和查找信息。

👉🏻less(比more常用)

less是一个用于查看文本文件内容的命令行工具。它可以逐页显示文件内容,并提供了一些方便的浏览和搜索功能。

以下是less指令的一些常用选项和用法

  • less 文件名:打开指定的文件并显示内容。
  • -N显示每一行的行号(注意得是大写)
  • 空格键:向下滚动一页。
  • b:向上滚动一页。
  • G:跳转到文件末尾。
  • g:跳转到文件开头。
  • /关键词:在文件中搜索指定的关键词。
  • n:在搜索结果中查找下一个匹配项(与/关键词搭配用)。
  • N:在搜索结果中查找上一个匹配项
  • q:退出less查看器。
  • -i 忽略搜索时的大小写

除了上述基本用法外,less还提供了其他一些功能,例如:

  • 支持对文件进行标记和书签。
  • 可以在查看文件时进行行号显示。
  • 可以在查看文件时进行语法高亮显示。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用
来查看一个文件的内容!

以下我们写一个大文件:

cnt=0; while [ $cnt -le 240 ]; do echo "hello $cnt"; let cnt++; done > big.txt

🍬小知识点补充
tac 可以从下往上打印内容(和cat打印反过来,即反转打印)
在这里插入图片描述
🍲这里我们可以做个小总结
1.cat或tac用来打印小文件
2.more或者less用来浏览大文件

👉🏻head

head 是一个在 Linux 系统中常用的命令行工具,用于显示文件的开头部分内容。它默认显示文件的前 10 行,但也可以通过参数来指定显示的行数

以下是一些 head 命令的示例用法

  1. 显示文件的前 10 行:
   head 文件名
  1. 显示文件的前 N 行(N 为自定义的行数):
   head -n N 文件名//n其实可以不写
  1. 显示多个文件的前 10 行:
   head 文件1 文件2 文件3
  1. 显示文件的前 10 个字节:
   head -c 10 文件名
  1. 显示文件的前 N 个字节:
   head -c N 文件名

👉🏻tail

tail 是一个常用的 Linux 命令,用于显示文件的末尾内容。它可以用来查看文件的最后几行或持续监视文件的新增内容。

以下是一些 tail 命令的示例用法:

  1. 显示文件的最后几行:
    例如,tail file.txt 将显示文件 file.txt 的最后几行内容。
   tail 文件名
  1. 持续监视文件的新增内容:
    例如,tail -f log.txt 将持续显示文件 log.txt 的新增内容,并实时更新显示。
   tail -f 文件名
  1. 显示文件的最后几行,并同时显示行号:
    例如,tail -n 10 file.txt 将显示文件 file.txt 的最后 10 行内容,并显示行号。
   tail -n 数字 文件名

👉🏻管道

在这里插入图片描述
咳咳,此管道非彼管道😂。
概念
Linux的管道是一种用于将一个命令的输出作为另一个命令的输入的机制。通过使用管道,可以将多个命令连接在一起,实现数据的流动和处理。

管道使用竖线符号|来表示,将前一个命令的输出传递给后一个命令

比如一个240行的大文件,我们想要获取它的100行到110行并且可以浏览,可以这么做
在这里插入图片描述
在这里插入图片描述

👉🏻wc

在这里插入图片描述

wc 是一个 Linux 命令,用于统计文件中的字节数、字数和行数。它的语法如下:

wc [选项] [文件]

以下是 wc 命令的一些常用选项:

  • -c:统计字节数
  • -w:统计字数
  • -l:统计行数
    例如,假设有一个名为 example.txt 的文件,内容如下:
Hello, world!
This is an example file.

要统计该文件的字节数、字数和行数,可以运行以下命令:

wc example.txt

输出结果如下:

       2       7      43 example.txt

其中,第一列是行数,第二列是字数,第三列是字节数,最后一列是文件名。

👉🏻uniq

niq 是一个 Linux 命令,用于从输入中删除重复的行,并将结果输出到标准输出。它会将连续重复的行合并为一行

以下是 uniq 命令的一些示例用法:

  1. 基本用法:从文件中删除重复的行,并将结果输出到标准输出。
   uniq file.txt
  1. 统计重复行的数量:使用 -c 选项可以统计每个重复行的数量。
   uniq -c file.txt
  1. 仅显示重复的行:使用 -d 选项可以只显示重复的行。
   uniq -d file.txt
  1. 忽略前 N 个字段:使用 -f 选项可以忽略前 N 个字段,只比较后面的字段。
   uniq -f N file.txt
  1. 忽略前 N 个字符:使用 -s 选项可以忽略前 N 个字符,只比较后面的字符。
   uniq -s N file.txt
  1. 指定比较范围:使用 -w 选项可以指定比较的字符数。
   uniq -w N file.txt

👉🏻sort

sort 是一个 Linux 命令,用于对文本文件进行排序操作。它可以按照不同的排序规则对文件的行进行排序,并将结果输出到标准输出或指定的文件中。

以下是一些 sort 命令的示例用法:

  1. 对文件进行默认排序(相同的排在一起):
   sort file.txt
  1. 对文件进行逆序排序:
   sort -r file.txt
  1. 忽略大小写进行排序:
   sort -f file.txt
  1. 按照数字进行排序:
   sort -n file.txt
  1. 按照指定字段进行排序:
   sort -k 2 file.txt

上述中的uniq是进行去重。
但是像下面这种情况就不能去重

aa
bbb
aa
bbb
//因为重复项没有相邻

那么我们就可以用sort先将其排序在一起,在uniq去重,如下👇🏻
在这里插入图片描述

👉🏻date

在这里插入图片描述

概念
date 是一个 Linux 命令,用于显示或设置系统的日期和时间。它可以显示当前日期和时间,也可以根据指定的格式显示日期和时间。
📃
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号+后接数个标记,其中常用的标记列表如:

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相当于 %Y-%m-%d
    在这里插入图片描述

📃
2.在设定时间方面

  • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间

🌈以下是一些常用的 date 示例

  • date:显示当前日期和时间。
  • date +%Y-%m-%d:以 YYYY-MM-DD 的格式显示当前日期。
  • date +%H:%M:%S:以 HH:MM:SS 的格式显示当前时间。
  • date “+%Y-%m-%d %H:%M:%S”:以 YYYY-MM-DD HH:MM:SS 的格式显示当前日期和时间。
  • date -s “2022-01-01”:将系统日期设置为指定的日期(例如:2022年1月1日)。
  • date -s “12:00:00”:将系统时间设置为指定的时间(例如:12点)。

📃
3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@从1970年1月1日至今的秒数
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
在这里插入图片描述
打印年月日 时分秒

date +%Y-%m-%d:%H:%M:%S -d @...//

在这里插入图片描述
🤓历史小知识

千年虫(Y2K问题)是指在公元2000年之前编写的计算机程序中可能出现的问题。这个问题的根源在于早期的计算机系统使用了只有两位数表示年份的日期格式,例如使用"99"表示1999年。当时,人们普遍认为计算机系统在新千年到来时会出现严重的故障,因为计算机无法正确地解释以"00"开头的年份。
这个问题的主要原因是在设计早期计算机系统时,为了节省存储空间,使用了只有两位数表示年份的日期格式。然而,当年份从"99"跳到"00"时,计算机可能会将其解释为1900年而不是2000年,导致计算机系统的错误计算、数据损坏和系统崩溃等问题。
为了解决这个问题,全球范围内进行了大规模的千年虫修复工作。软件开发人员对受影响的系统进行了修改和更新,以确保它们能够正确地处理新千年的日期。这项工作涉及到对大量的软件代码进行修改和测试,以确保系统在2000年之后能够正常运行。
最终,千年虫问题并没有像人们担心的那样导致灾难性的后果。这主要归功于全球范围内的努力和投入,以及软件开发人员的及时修复和更新工作。千年虫问题的解决经验也促使了更好的软件开发和测试实践,以确保类似的问题不会再次发生。

👉🏻cal

在这里插入图片描述

概念
cal 是一个 Linux 命令,用于显示日历。它以日历的形式显示当前月份的日期,并且可以显示指定月份和年份的日历。
在这里插入图片描述

常用选项

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y 显示当前年份的日历

👉🏻find、which、whereis等查找指令

find

find 是一个在 Linux 系统中常用的命令行工具,用于在指定目录下查找文件和目录。它可以根据不同的条件来搜索文件,并返回符合条件的文件列表。

find 命令的基本语法如下:

find <路径> <选项> <操作>

其中,路径 指定要搜索的目录路径,可以是绝对路径相对路径。如果不指定路径,则默认为当前目录。

选项 用于指定搜索的条件,常用的选项包括:

  • ✨-name:按文件名进行匹配搜索。
  • -type:按文件类型进行匹配搜索。
  • -size:按文件大小进行匹配搜索。
  • -mtime:按文件修改时间进行匹配搜索。

操作 用于指定对搜索结果的处理方式,常用的操作包括:

  • -print:将搜索结果打印到标准输出。
  • -exec:对搜索结果执行指定的命令。

💫以下是一些示例用法

  1. 在当前目录下查找所有以 .txt 结尾的文件:
find . -name "*.txt"
  1. 在 /home 目录下查找所有类型为f文件的文件:
find /home -type f
  1. 在 /var/log 目录下查找大小大于 1MB 的文件:
find /var/log -size +1M
  1. 在 /tmp 目录下查找最近 7 天内修改过的文件,并将结果输出到 result.txt 文件中:
find /tmp -mtime -7 -exec cp {} result.txt \;

whereis

hereis 是一个在 Linux 系统中用于定位可执行文件源代码文件帮助文档的命令。它可以帮助用户快速找到特定命令或文件的位置。

使用 whereis 命令的语法如下:

whereis [选项] 文件名

其中,文件名 是要查找的文件或命令的名称。

whereis 命令会在系统的特定目录中搜索文件,这些目录通常包括可执行文件的路径、源代码文件的路径和帮助文档的路径。它会返回文件所在的路径信息。

whereis 命令的一些常用选项包括:

  • -b:只搜索可执行文件的路径。
  • -s:只搜索源代码文件的路径。
  • -m:只搜索帮助文档的路径。

例如,要查找 ls 命令的位置,可以运行以下命令:

whereis ls

🥢 find、which、whereis区别

find、whereis 和 which 是在 Linux 系统中用于查找文件和命令的命令,它们之间有一些区别。

  1. find:find 命令用于在指定目录及其子目录中递归地搜索文件。它可以根据文件名、文件类型、文件大小等条件进行搜索。find 命令非常强大,可以执行复杂的文件搜索操作。

  2. whereis:whereis 命令用于定位可执行文件、源代码文件和帮助文档的位置。它会在系统的特定目录中搜索文件,并返回文件所在的路径信息。whereis 命令主要用于查找特定命令或文件的位置。

  3. which:which 命令用于查找可执行文件的位置。它会在系统的环境变量 $PATH 指定的路径中搜索可执行文件,并返回第一个匹配的文件路径。which 命令主要用于确定在当前环境下执行的是哪个可执行文件。

总结

  • find 用于递归地搜索文件,可以执行复杂的文件搜索操作。
  • whereis 用于定位可执行文件、源代码文件和帮助文档的位置。
  • which 用于查找可执行文件的位置,确定在当前环境下执行的是哪个可执行文件。

👉🏻grep

grep 是一个在 Linux 系统中常用的命令行工具,用于在文本文件中搜索指定的模式。它的基本语法是:

grep [选项] 模式 文件

其中,选项 可以是以下常用的选项之一:

  • -i:忽略大小写进行匹配。
  • -r:递归地搜索目录中的文件。
  • -n:显示匹配行的行号。
  • -v:显示不匹配模式的行。
  • -w:只匹配整个单词,而不是部分匹配。

模式 是要搜索的文本模式,可以是普通文本(字符串:在文件中搜索字符串,将找到的行打印出来),
或正则表达式。

文件 是要搜索的文件名或文件路径。

以下是一些示例用法

  • 在文件中搜索包含特定字符串的行:
  grep "pattern" file.txt
  • 在多个文件中搜索:
  grep "pattern" file1.txt file2.txt
  • 递归地搜索目录中的文件:
  grep -r "pattern" directory/
  • 忽略大小写进行搜索:
  grep -i "pattern" file.txt
  • 显示匹配行的行号:
  grep -n "pattern" file.txt
  • 显示不匹配模式的行:
  grep -v "pattern" file.txt
  • 只匹配整个单词:
  grep -w "pattern" file.txt

在这里插入图片描述

👉🏻history

history 是 Linux 系统中的一个命令,用于显示用户在当前会话中执行过的命令历史记录。当你在终端中执行命令时,系统会将这些命令记录在一个历史记录文件中,通常是 ~/.bash_history。history 命令可以显示这个历史记录文件中的命令列表。

以下是一些常用的 history 命令选项:

  • history:显示完整的命令历史记录列表。
  • history n:显示最近执行的 n 条命令。
  • !n:执行历史记录中的第 n 条命令。
  • !!:执行上一条命令。
  • !string:执行最近以指定字符串开头的命令。

通过使用 history 命令,你可以方便地查看和重复执行之前执行过的命令,提高工作效率。

👉🏻zip/unzip

在这里插入图片描述

打包和压缩概念

打包和压缩是两个不同的概念。

打包(Bundle)是将多个文件或资源组合在一起,形成一个单独的文件或目录的过程。在前端开发中,打包通常用于将多个 JavaScript、CSS、图片等文件打包成一个或多个较大的文件,以便在浏览器中加载和使用。打包工具(如Webpack、Parcel等)可以将多个模块或文件打包成一个或多个捆绑文件,以提高应用程序的性能和加载速度。

压缩(Compress)是通过使用特定的算法,减小文件或数据的大小,以节省存储空间或网络传输带宽。在前端开发中,压缩通常用于减小 JavaScript、CSS、图片等文件的大小,以提高网页的加载速度。常见的压缩算法包括Gzip和Brotli。压缩工具可以将文件进行压缩,以减小文件的体积。

因此,打包和压缩是两个不同的操作,打包是将多个文件组合在一起,而压缩是减小文件的大小。在前端开发中,通常会先进行打包,然后再对打包后的文件进行压缩,以提高应用程序的性能和加载速度。

zip

zip 命令用于将一个或多个文件或目录压缩成一个 ZIP 文件。它的基本语法如下:

zip [选项] 压缩文件名 源文件/目录

其中,选项 可以是以下常用选项之一:

  • -r:递归地压缩目录及其子目录中的文件。
  • -q:静默模式,不显示压缩过程中的输出信息。
  • -9:使用最高压缩级别进行压缩,得到更小的压缩文件。

例如,要将目录 mydir 压缩成一个名为 mydir.zip 的文件,可以使用以下命令:

zip -r mydir.zip mydir

unzip

unzip 命令用于解压缩 ZIP 文件。它的基本语法如下:

unzip [选项] 压缩文件名

其中,选项 可以是以下常用选项之一:

  • -d 目标目录:指定解压缩后的文件存放的目录。
  • -q:静默模式,不显示解压缩过程中的输出信息。

例如,要将名为 mydir.zip 的文件解压缩到当前目录下,可以使用以下命令:

unzip mydir.zip

在这里插入图片描述

👉🏻tar

tar 是一个在 Linux 系统中常用的命令行工具,用于创建和提取归档文件。它可以将多个文件或目录打包成一个单独的文件,也可以从归档文件中提取文件或目录。

以下是一些常用的 tar 命令选项

  • c:创建一个新的归档文件。
  • x:从归档文件中提取文件。
  • v:显示详细的操作信息。
  • f:指定归档文件的名称。
  • z:使用 gzip 压缩算法对归档文件进行压缩或解压缩。
  • j:使用 bzip2 压缩算法对归档文件进行压缩或解压缩。
  • t:列出归档文件中的内容。
  • -C : 解压到指定目录

一般都是-czf-xzf进行配合使用

以下是一些示例用法:

  1. 创建一个归档文件:
   tar cf archive.tar file1 file2 directory
  1. 提取归档文件中的文件:
   tar xf archive.tar
  1. 压缩归档文件:
   tar czf archive.tar.gz file1 file2 directory
  1. 解压缩归档文件:
   tar xzf archive.tar.gz

请注意,tar 命令还有许多其他选项和用法,可以通过 man tar 命令查看完整的文档。

🍉归档文件和zip文件的区别是什么?
归档文件和 ZIP 文件是两种不同的文件格式,它们有一些区别:

  1. 压缩算法:归档文件通常使用的是无损压缩算法,如 gzip 或 bzip2,而 ZIP 文件使用的是有损压缩算法。这意味着 ZIP 文件可以更高效地压缩文件,但可能会导致一些数据损失。

  2. 文件结构:归档文件通常只是将多个文件和目录打包成一个单独的文件,而 ZIP 文件可以包含多个文件和目录,并且可以在其中创建文件夹结构。

  3. 平台兼容性:ZIP 文件在不同的操作系统上都可以被广泛支持和使用,包括 Windows、Mac 和 Linux。而归档文件的支持可能会因操作系统而异,例如 gzip 在 Windows 上可能需要额外的软件支持。

  4. 文件扩展名:归档文件通常使用不同的文件扩展名,如 .tar、.tar.gz 或 .tar.bz2,而 ZIP 文件使用 .zip 扩展名。

总的来说,归档文件主要用于将多个文件和目录打包成一个文件,而 ZIP 文件则更常用于压缩和存档文件,以便在不同的平台上进行传输和共享。

👉🏻bc

bc 是一个用于执行数学运算的命令行工具。它可以在 Linux 系统中使用,并提供了高精度的数学计算功能。

以下是 bc 命令的一些常见用法:

  1. 基本数学运算:bc 可以执行加法、减法、乘法和除法等基本数学运算。例如,要计算 2 加 3,可以输入以下命令:
   echo "2 + 3" | bc
  1. 高级数学函数:bc 还支持各种高级数学函数,如三角函数、指数函数和对数函数等。例如,要计算正弦函数的值,可以输入以下命令:
   echo "s(0.5)" | bc -l
  1. 变量和赋值:bc 允许定义变量并进行赋值。例如,要定义一个变量 x 并将其赋值为 5,可以输入以下命令:
   x = 5
  1. 控制流语句:bc 支持条件语句和循环语句,可以用于编写更复杂的数学计算程序。例如,以下是一个使用 if 语句计算绝对值的示例:
   if (x < 0) x = -x
  1. 输入和输出:bc 可以从标准输入读取输入,并将结果输出到标准输出。例如,要从用户输入中读取一个数并计算其平方,可以输入以下命令:
   read(x); x * x

这只是 bc 命令的一些基本用法示例。bc 还有更多功能和选项,你可以通过查阅 bc 的文档来了解更多详细信息。

👉🏻uname

uname 是一个 Linux 命令,用于获取操作系统的信息。它可以显示有关内核版本、操作系统名称、主机名、处理器类型和其他系统信息。

以下是 uname 命令的一些常用选项:

  • -a:显示所有可用的系统信息。
  • -s:显示内核名称。
  • -n:显示主机名。
  • -r:显示内核版本。
  • -m:显示处理器类型。

例如,要显示所有系统信息,可以运行以下命令:

uname -a

这将输出包括内核名称、版本、主机名和处理器类型在内的所有信息。

👉🏻shutdown

shutdown 是一个 Linux 系统命令,用于安全地关闭或重新启动计算机。它可以让用户以及系统管理员控制系统的关机行为。

以下是 shutdown 命令的一些常用选项:

  • -h:关闭系统并停止电源。
  • -r:重新启动系统。
  • -c:取消先前计划的关机或重启操作。
  • -t <时间>:设置关机或重启前的倒计时时间。
  • -k:发送警告消息给所有登录用户,但不会真正执行关机或重启操作。

例如,要立即关闭系统,可以使用以下命令:

shutdown -h now

要在 10 分钟后重新启动系统,可以使用以下命令:

shutdown -r +10

请注意,执行 shutdown 命令通常需要管理员权限。

👉🏻热键使用

🍑ctrl+r
在Linux终端中,Ctrl+R 是一个快捷键,用于在命令历史记录中进行反向搜索。当你按下 Ctrl+R 后,会出现一个提示符,你可以在提示符后输入关键字来搜索之前执行过的命令。

以下是使用 Ctrl+R 进行反向搜索的步骤:

  1. 在终端中按下 Ctrl+R。
  2. 输入你要搜索的关键字。输入时,终端会自动显示最近匹配的命令。
  3. 如果找到了想要执行的命令,可以按下 Enter 键来执行它。
  4. 如果想继续搜索下一个匹配项,可以按下 Ctrl+R 继续搜索。

如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长
在这里插入图片描述
在这里插入图片描述

相关文章:

Linux基本指令【下】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析3 目录 &#x1f449;&#x1f3fb;cat&#x1f449;&#x1f3fb;echo&#xff08;输出…...

向量检索:基于ResNet预训练模型构建以图搜图系统

1 项目背景介绍 以图搜图是一种向量检索技术&#xff0c;通过上传一张图像来搜索并找到与之相关的其他图像或相关信息。以图搜图技术提供了一种更直观、更高效的信息检索方式。这种技术应用场景和价值非常广泛&#xff0c;经常会用在商品检索及购物、动植物识别、食品识别、知…...

SpringBoot 响应头添加版本号、打包项目后缀添加版本号和时间

文章目录 响应头添加版本号获取版本号添加响应处理器请求结果 打包项目后缀添加版本号和时间实现打包结果 响应头添加版本号 获取版本号 在 pom.xml 中&#xff0c;在 project.version 下定义版本号 在 application.yml 获取 pom.xml 中 project.version 中的信息 添加响应处…...

优化指南:带宽限制的可行策略

大家好&#xff01;作为一名专业的爬虫程序员&#xff0c;我们经常面临的一个挑战就是带宽限制。尤其是在需要快速采集大量数据时&#xff0c;带宽限制成为了我们提升爬虫速度的一大阻碍。今天&#xff0c;我将和大家分享一些解决带宽限制的可行策略&#xff0c;希望能帮助大家…...

计算机提示mfc120u.dll缺失(找不到)怎么解决

在计算机领域&#xff0c;mfc120u.dll是一个重要的动态链接库文件。它包含了Microsoft Foundation Class (MFC) 库的特定版本&#xff0c;用于支持Windows操作系统中的应用程序开发。修复mfc120u.dll可能涉及到解决与该库相关的问题或错误。这可能包括程序崩溃、运行时错误或其…...

Java基于SpringBoot+Vue实现酒店客房管理系统(2.0 版本)

文章目录 一、前言介绍二、系统结构三、系统详细实现3.1用户信息管理3.2会员信息管理3.3客房信息管理3.4收藏客房管理3.5用户入住管理3.6客房清扫管理 四、部分核心代码 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云…...

微服务架构2.0--云原生时代

云原生 云原生&#xff08;Cloud Native&#xff09;是一种关注于在云环境中构建、部署和管理应用程序的方法和理念。云原生应用能够最大程度地利用云计算基础设施的优势&#xff0c;如弹性、自动化、可伸缩性和高可用性。这个概念涵盖了许多方面&#xff0c;包括架构、开发、…...

C++day2作业(2023.8.22)

1.定义一个学生的结构体&#xff0c;包含学生的姓名&#xff0c;年龄&#xff0c;成绩&#xff0c;性别&#xff0c;学生的成绩&#xff0c;姓名&#xff0c;定义为私有权限&#xff1b;定义一个学生类型的结构体变量&#xff0c;设置公有函数用于给学生的成绩和名字进行赋值&a…...

在 Spring Boot 中使用 OpenAI ChatGPT API

1、开始咯 我们来看看如何在 Spring Boot 中调用 OpenAI ChatGPT API。 我们将创建一个 Spring Boot 应用程序&#xff0c;该应用程序将通过调用 OpenAI ChatGPT API 生成对提示的响应。 2、OpenAI ChatGPT API 在开始具体讲解之前&#xff0c;让我们先探讨一下我们将在本教…...

【leetcode】225.用队列实现栈

分析&#xff1a; 队列遵循先入先出的原则&#xff0c;栈遵循后入先出的原则 也就是说&#xff0c;使用队列实现栈时&#xff0c;入队操作正常&#xff0c;但是出队要模拟出栈的操作&#xff0c;我们需要访问的是队尾的元素&#xff1b;题目允许使用两个队列&#xff0c;我们可…...

机器学习中XGBoost算法调参技巧

本文将详细解释XGBoost中十个最常用超参数的介绍&#xff0c;功能和值范围&#xff0c;及如何使用Optuna进行超参数调优。 对于XGBoost来说&#xff0c;默认的超参数是可以正常运行的&#xff0c;但是如果你想获得最佳的效果&#xff0c;那么就需要自行调整一些超参数来匹配你…...

第1章:计算机网络体系结构

文章目录 1.1 计算机网络 概述1.概念2.组成3.功能4.分类5.性能指标1.2 计算机网络 体系结构&参考模型1.分层结构2.协议、接口、服务3.ISO/OSI模型4.TCP/IP模型1.1 计算机网络 概述 1.概念 2.组成 1.组成部分&...

【Java 动态数据统计图】动态数据统计思路Demo(动态,排序,containsKey)三(115)

上代码&#xff1a; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map;public class day10 {public static void main(String[] args) {List<Map<String,O…...

【游戏评测】河洛群侠传一周目玩后感

总游戏时长接近100小时&#xff0c;刚好一个月。 这两天费了点劲做了些成就&#xff0c;刷了等级&#xff0c;把最终决战做了。 总体感觉还是不错的。游戏是开放世界3D游戏&#xff0c;Unity引擎&#xff0c;瑕疵很多&#xff0c;但胜在剧情扎实&#xff0c;天赋系统、秘籍功法…...

java新特性之Lambda表达式

函数式编程 关注做什么&#xff0c;不关心是怎么实现的。为了实现该思想&#xff0c;java有了一种新的语法格式&#xff0c;Lambda表达式。Lambda本质是匿名内部类对象&#xff0c;是一个函数式接口。函数式接口表示接口内部只有一个抽象方法。使用该语法可以大大简化代码。 …...

【考研数学】线形代数第三章——向量 | 2)向量组相关性与线性表示的性质,向量组的等价、极大线性无关组与秩

文章目录 引言二、向量组的相关性与线性表示2.3 向量组相关性与线性表示的性质 三、向量组等价、向量组的极大线性无关组与秩3.1 基本概念 写在最后 引言 承接前文&#xff0c;我们来学习学习向量组相关性与线性表示的相关性质 二、向量组的相关性与线性表示 2.3 向量组相关性…...

Java中调用Linux脚本

在Java中&#xff0c;可以使用ProcessBuilder类来调用Linux脚本。以下是一个简单的示例&#xff0c;展示了如何在Java中调用Linux脚本&#xff1a; 创建一个Linux脚本文件&#xff08;例如&#xff1a;myscript.sh&#xff09;&#xff0c;并在其中编写需要执行的命令。确保脚…...

Nexus 如何配置 Python 的私有仓库

Nexus 可作为一个代理来使用。 针对一些网络环境不好的公司&#xff0c;可以通过配置 Nexus 来作为远程的代理。 Group 概念 Nexus 有一个 Group 的概念&#xff0c;我们可以认为一个 Nexus 仓库的 Group 就是很多不同的仓库的集合。 从下面的配置中我们可以看到&#xff0…...

Maven 配置文件修改及导入第三方jar包

设置java和maven的环境变量 修改maven配置文件 &#xff08;D:\app\apache-maven-3.5.0\conf\settings.xml&#xff0c;1中环境变量对应的maven包下的conf&#xff09; 修改131行左右的mirror&#xff0c;设置阿里云的仓库地址 <mirror> <id>alimaven</id&g…...

jmeter CSV 数据文件设置

创建一个CSV数据文件&#xff1a;使用任何文本编辑器创建一个CSV文件&#xff0c;将测试数据按照逗号分隔的格式写入文件中。例如&#xff1a; room_id,arrival_date,depature_date,bussiness_date,order_status,order_child_room_id,guest_name,room_price 20032,2023-8-9 14:…...

【SA8295P 源码分析】20 - GVM Android Kernel NFS Support 配置

【SA8295P 源码分析】20 - GVM Android Kernel NFS Support 配置 系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295P 源码分析】20 - GVM Android Kernel NFS Support 配置》 # make menuconfigFile systems ---> [*] Network File Sy…...

c++都补了c语言哪些坑?

目录 1.命名空间 1.1 定义 1.2 使用 2.缺省参数 2.1 概念 2.2 分类 3.函数重载 4.引用 4.1 概念 4.2 特性 4.3 常引用 4.4 引用和指针的区别 5.内联函数 1.命名空间 在 C/C 中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将…...

【C语言】C语言用数组算平均数,并输出大于平均数的数

题目 让用户输入一系列的正整数&#xff0c;最后输入“-1”表示输入结束&#xff0c;然后程序计算出这些数的平均数&#xff0c;最后输出输入数字的个数和平均数以及大于平均数的数 代码 #include<stdio.h> int main() {int x;double sum 0;int cnt 0;int number[100…...

「UG/NX」Block UI 体收集器BodyCollector

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#...

金九银十面试题之《JVM》

&#x1f42e;&#x1f42e;&#x1f42e; 辛苦牛&#xff0c;掌握主流技术栈&#xff0c;包括前端后端&#xff0c;已经7年时间&#xff0c;曾在税务机关从事开发工作&#xff0c;目前在国企任职。希望通过自己的不断分享&#xff0c;可以帮助各位想或者已经走在这条路上的朋友…...

wireshark | 过滤筛选总结

wireshark 是一款开源抓包工具。比如与服务器的请求响应、tcp三次握手/四次挥手 场景&#xff1a;在linux环境下使用tcpdump -w 然后把爬的数据写入指定的XXX.pcap 然后在wireshark中导入该文件XXX.pcap 使用下面的过滤方式进行过滤 分析数据就可以了 #直接看 不需要硬背 和s…...

list使用

list的使用于string的使用都类似&#xff0c;首先通过查阅来看list有哪些函数&#xff1a; 可以看到函数还是蛮多的&#xff0c;我们值重点一些常用的和常见的&#xff1a; 1.关于push_back,push_front,和对应迭代器的使用 //关于push_back和push_front void test_list1() {l…...

【图解】多层感知器(MLP)

图片是一个多层感知器&#xff08;MLP&#xff09;的示意图&#xff0c;它是一种常见的神经网络模型&#xff0c;用于从输入到输出进行非线性映射。图片中的网络结构如下&#xff1a;...

React(8)

千锋学习视频https://www.bilibili.com/video/BV1dP4y1c7qd?p72&spm_id_frompageDriver&vd_sourcef07a5c4baae42e64ab4bebdd9f3cd1b3 1.React 路由 1.1 什么是路由&#xff1f; 路由是根据不同的 url 地址展示不同的内容或页面。 一个针对React而设计的路由解决方案…...

ssm社区管理与服务系统源码和论文

ssm社区管理与服务的设计与实现031 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 研究背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理&#xff0c;这正是计算机被广泛应用于信息管理系统的…...

黑科技软件网站/推广公司是做什么的

一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"Im in class MyWindow"; 3. 编写项目文件: mywindow.pro 注意两点: TEMPLATE lib CONFIG staticlib …...

wordpress集成到app/seo网站优化排名

基本概念首先简单介绍一下地理坐标系、大地坐标系以及地图投影的概念&#xff1a;● 地理坐标系&#xff1a;为球面坐标。参考平面地是椭球面&#xff0c;坐标单位&#xff1a;经纬度;● 投影坐标系&#xff1a;为平面坐标。参考平面地是水平面&#xff0c;坐标单位&#x…...

如何用服务器做网站/品牌策划方案怎么写

这是基于java的电子邮件系统--工具软件下载&#xff0c;基于java开发的邮件系统&#xff0c;包括基本的邮件收发&#xff0c;附件功能-Java-based development of e-mail system&#xff0c; including the basic send and receive mail&#xff0c; attachments.软件介绍基于j…...

企业网站开发一般多少钱/网站优化排名软件哪些最好

【49】监听器基本概念JavaWeb中的监听器是Servlet规范中定义的一种特殊类&#xff0c;它用于监听web应用程序中的ServletContext&#xff0c;HttpSession和ServletRequest等域对象的创建与销毁事件&#xff0c;以及监听这些域对象中的属性发生修改的事件。Servlet监听器的分类在…...

软件开发包含网站开发/网站域名费一年多少钱

SPI全名Service Provider Interface&#xff08;服务提供者接口&#xff09;&#xff0c;SPI的主要目的是实现服务的热插拔效果&#xff0c;主要应对的场景是设计者提供一个接口&#xff0c;这个接口的具体实现由不同厂商提供&#xff0c;设计者只要引入厂商提供的实现jar包就可…...

wordpress图片属性添加/今天国际新闻最新消息10条

#include <iostream> using namespace std;string rand_str(const int len) /*参数为字符串的长度*/ {/*初始化*/string str; /*声明用来保存随机字符串的str*/char c; /*声明字符c&#xff0c;用来保存随机生成的字符*/int idx; …...