【探索Linux】—— 强大的命令行工具 P.2(Linux下基本指令)

前言

        前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也相信大家都掌握的不错,今天博主将会新开一个Linux专题,带领大家继续学习有关Linux的内容。今天第一篇文章博主首先带领大家了解一下什么是Linux,以及Linux的几个常用命令符。下面话不多说坐稳扶好咱们要开车了!!!😍

01.ls 指令

        ls指令是在Linux系统中用于列出目录和文件的命令。它的主要功能是显示指定目录中的内容,并提供了一些选项以控制显示的输出方式和内容。

ls指令的基本语法:ls [选项] [文件或目录]

下面是一些常用的ls指令的选项:

1.  -l  或  --long :以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改日期等。

2.  -a  或  --all :显示所有文件和目录,包括以`.`开头的隐藏文件。

3.  -h  或  --human-readable :以易读的格式显示文件和目录的大小,例如使用字节、KB、MB等来表示文件大小。

4.  -r  或  --reverse :反转显示的顺序,使得文件和目录按照相反的顺序排列。

5.  -t :按照修改时间的先后顺序,以最新的文件或目录显示在前面。

6.  -F  或  --classify :在显示的文件名后面加上一个字符表示其类型,如斜杠表示目录,星号表示可执行文件等。

除了上面的选项,还有许多其他选项可用于定制化显示的效果,下面是一些示例用法:

1. 显示当前目录下的所有文件和目录:ls

2. 显示指定目录中的所有文件和目录,并以长格式显示详细信息:ls -l /path/to/directory

3. 显示所有文件(包括隐藏文件)并按照文件大小以易读的格式显示:ls -ah --human-readable

4. 反转显示指定目录内容的顺序:ls -r /path/to/directory

        ls指令是一个非常常用的工具,它可以帮助用户快速查看和理解文件系统中的内容。通过不同的选项组合,可以实现更多不同的用途和展示方式。可以通过 man ls 命令查看更详细的帮助文档。


02.pwd命令

        pwd命令用于显示当前工作目录的路径("pwd"代表"print working directory",即打印当前工作目录)

pwd命令的基本用法pwdpwd命令没有任何选项,只需输入命令即可显示当前工作目录的路径

执行该命令后,终端将显示当前工作目录的完整路径,例如:/home/username/Documents

        注意当前工作目录是指用户在命令执行时所处的目录。当新打开终端窗口或切换到其他目录时,工作目录会相应地更改。通过pwd命令,用户可以随时查看当前所处的目录位置

        pwd命令在用户日常的命令行操作中非常有用,特别是在需要检查或确认当前所处位置时。它还可以与其他命令配合使用,以获取当前工作目录的路径并将其用于其他操作,如创建文件、复制文件或更改目录等,可以通过 man pwd 命令来获取更详细的帮助文档。


03.cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树每个节点都是目录或文件(如图)

Linux 系统目录结构

        cd(change directory)指令用于改变当前工作目录用户可以使用cd命令进入其他目录或返回到上级目录

cd命令的基本语法cd [目录路径]

下面是一些常见的用法和选项

1. 进入指定目录cd /path/to/directory该命令将将当前工作目录切换到指定的目录。

2. 进入用户的主目录cd ~ 该命令将当前工作目录切换到当前用户的主目录。

3. 进入上级目录cd .. 该命令将当前工作目录切换到上级目录。

4. 进入上次访问的目录cd - 该命令将当前工作目录切换到上次所在的目录。

除了上面的用法外,cd命令还支持其他一些特殊操作,例如:

  • 使用相对路径:可以使用相对于当前工作目录的路径,如`cd ..`表示进入上级目录, cd ./subdir 表示进入当前目录下的子目录。
  • 使用绝对路径:可以使用完整的绝对路径,如cd /path/to/directory表示进入指定路径下的目录。
  • 使用环境变量:可以使用环境变量作为目录路径,如 cd$HOME 表示进入当前用户的主目录。

        注意cd命令仅适用于切换工作目录,它不会在不同的终端会话之间保持持久性。换句话说,当你在一个终端窗口中使用cd命令切换目录后,如果打开新的终端窗口,工作目录仍然会是原来的目录。可以通过 man cd 命令查看更详细的帮助文档。 


04.touch指令

touch指令用于创建新的空白文件或更新已存在文件的访问和修改时间戳

touch命令的基本语法touch [选项] 文件名

以下是一些常见的选项:

1.  -a :只更新访问时间戳,不修改修改时间戳。
2.  -c :不创建新文件,只更新已存在文件的时间戳。
3.  -m :只更新修改时间戳,不修改访问时间戳。

下面是一些使用示例:

1. 创建一个新的空白文件touch filename 这将创建一个名为 "filename" 的空白文件。

2. 更新文件的访问和修改时间戳为当前时间touch -c filename 如果文件"filename"存在,则更新它的访问和修改时间戳为当前时间。如果文件不存在,则不会创建新文件。

3. 只更新文件的修改时间戳touch -m filename 如果文件"filename"存在,则只更新它的修改时间戳为当前时间。访问时间戳不会被修改。

4. 批量更新多个文件的时间戳touch file1 file2 file3这将同时更新文件"file1"、"file2"和"file3"的访问和修改时间戳为当前时间。

        touch命令是Linux中一个非常实用的工具,它可以用于创建空白文件,或者在脚本中更新文件的时间戳。通过修改和管理文件的时间戳,用户可以方便地进行文件排序、查找最新文件等操作。可以通过 man touch 命令查看更详细的帮助文档。


05.mkdir指令

mkdir(make directory)指令用于创建新的目录(文件夹)

mkdir命令的基本语法mkdir [选项] 目录名

以下是一些常见的选项:

1.  -p :创建多级目录。如果指定的目录路径中的某些目录不存在,mkdir会自动创建它们。
2.  -m :设置目录的权限模式。可以指定使用八进制形式的权限值,例如755、700等。
3.  -v :显示创建过程中的详细信息。

下面是一些使用示例:

1. 创建单级目录mkdir dirname这将在当前目录中创建一个名为"dirname"的新目录。

2. 创建多级目录mkdir -p dir1/dir2/dir3这将创建一个目录路径为dir1/dir2/dir3的多级目录。如果dir1、dir2或dir3中的任何一个目录不存在,mkdir会自动创建它们。

3.创建目录并设置权限mkdir -m 750 dirname这将创建一个名为"dirname"的目录,并将其权限设置为750(读、写和执行权限仅限于所有者,读和执行权限对于所属组和其他用户是可用的)。

4. 创建目录并显示详细信息mkdir -v dirname这将创建一个名为"dirname"的目录,并在创建过程中显示详细信息。

        mkdir命令是在Linux中创建目录的常用工具,它可以帮助用户轻松创建新目录,无论是单级目录还是多级目录。用户还可以通过指定选项来自定义目录权限和查看详细的创建过程。可以通过man mkdir命令查看更详细的帮助文档。


06.rmdir指令 && rm 指令

rmdirrm两个指令均用于删除文件或目录,但它们之间存在一些区别。

rmdir指令用于删除空目录,而不能删除非空目录。它的基本语法:rmdir 目录名

rm指令用于删除文件和非空目录。它的基本语法:rm [选项] 文件或目录

下面是rmdir指令的一些常见用法:

1. 删除空目录rmdir dirname这将删除名为"dirname"的空目录。

2. 删除多个空目录rmdir dir1 dir2 dir3这将依次删除dir1、dir2和dir3这些空目录。

注意rmdir只能删除空目录。如果目录不为空,使用rmdir将会报错。

下面是rm指令的一些常见选项:

1.  -r :递归删除目录及其内容。
2.  -f :强制删除,不弹出提示。
3.  -i :交互式删除,删除前询问用户确认。
4.  -v :显示详细信息,即删除的文件或目录名。

rm指令的一些常见用法:

1. 删除文件rm filename这将删除名为"filename"的文件。

2. 删除目录及其内容rm -r dirname这将递归删除"dirname"目录及其所有内容。使用`-r`选项是为了确保连同目录中的文件一起删除。

3. 强制删除文件或目录rm -f filename这将忽略不存在的文件警告,强制删除"filename"文件(如果它存在)。

4. 交互式删除文件或目录rm -i filename这将在删除"filename"文件(如果它存在)之前询问用户是否确认。用户需按y或n来做出选择

        rm指令是Linux中删除文件和目录的常用命令,具有强大的删除功能。使用rm指令要谨慎,尤其在删除目录时,确保目录中的内容是要删除的。可以通过 man rmdirman rm 命令查看更详细的帮助文档。


07.man指令

man(manual)指令用于查看命令的帮助文档。man指令提供了对系统中安装的各种命令、函数、配置文件等的说明和文档。

man命令的基本语法:man [选项] 命令或关键字

以下是一些常见的选项:

1.  -k :搜索关键字。用于查找与关键字相关的命令或文档。
2.  -f:显示与关键字匹配的命令简要描述。
3.  -a:显示所有与关键字匹配的文档。

下面是一些使用示例:

1. 查看命令的帮助文档man command这将显示关于"command"命令的详细文档,包括命令的用法、选项和示例等。

2. 搜索关键字并显示相关文档man -k keyword这将搜索与关键字"keyword"相关的命令、函数或配置文件,并显示它们的简要描述。

3. 显示关键字对应的所有文档man -a keyword这将显示与关键字"keyword"匹配的所有文档。

        man命令的帮助文档分为不同的部分,每个部分包含了不同类型的文档。例如,1节包含常规命令的文档,2节包含系统调用的文档,3节包含库函数的文档,以此类推。可以通过在关键字前追加节号来指定要查看的文档节。

例如:要查看bash命令的文档,可以使用以下命令:man 1 bash

        通过man指令,用户可以方便地查阅命令和其他相关文档,从而更好地了解和使用Linux系统中的各种功能和工具。可以通过 man man 命令查看更详细的man指令的使用说明。


08.cp指令

在Linux系统中,cp(copy)指令用于复制文件和目录

cp命令的基本语法:cp [选项] 源文件 目标文件或目录

以下是一些常见的选项:

1.  -r :递归复制目录及其内容。
2.  -i :交互式复制,复制前询问用户确认。
3.  -v :显示详细信息,即复制的文件名。

下面是一些使用示例:

1. 复制文件到指定目录cp file1 file2 dir这将复制文件file1和file2到目录dir中。

2. 复制目录及其内容cp -r dir1 dir2这将递归复制目录dir1及其所有内容到目录dir2中。使用`-r`选项是为了确保连同目录中的文件一起复制。

3. 强制复制文件(覆盖已存在的目标文件):cp -f file1 file2 这将忽略目标文件file2的存在,并强制复制文件file1到file2

4. 交互式复制文件cp -i file1 file2这将在复制file1到file2之前询问用户是否确认。用户需按y或n来做出选择

cp命令还支持其他选项,例如设置文件的权限模式、保留文件属性等。

注意

  • 如果目标文件已经存在,而且没有使用`-f`选项,cp命令将询问用户是否覆盖目标文件。
  • 如果目标指定为目录,则会将源文件复制到目标目录,并以源文件的名称创建副本。

        通过cp命令,用户可以轻松复制文件和目录,以便进行备份、移动文件等操作,可以通过man cp命令查看更详细的帮助文档。


09.mv指令

mv(move)指令用于移动文件和目录,也可用于重命名文件或目录

mv命令的基本语法mv [选项] 源文件或目录 目标文件或目录

以下是一些常见的选项:

1.  -i :交互式移动,移动前询问用户确认。
2. -v :显示详细信息,即移动的文件或目录名。

下面是一些使用示例:

1. 移动文件到指定目录:mv file1 file2 dir这将把文件file1和file2移动到目录dir中。

2. 重命名文件或目录:mv oldname newname这将把文件或目录的名称从oldname改为newname。

3. 移动目录及其内容:mv -r dir1 dir2这将递归地移动目录dir1及其所有内容到目录dir2中。使用`-r`选项是为了确保连同目录中的文件一起移动。

4. 强制移动文件(覆盖已存在的目标文件):mv -f file1 file2这将忽略目标文件file2的存在,并强制移动文件file1到file2。

5. 交互式移动文件或目录:mv -i file1 file2这将在移动file1到file2之前询问用户是否确认。用户需按y或n来做出选择。

mv命令还支持其他选项,例如设置文件的权限模式、保留文件属性等。

注意

  • 如果源文件和目标文件在同一文件系统中,mv命令将在文件系统级别上对文件进行重命名或移动,移动过程即为重命名过程。
  • 如果源文件和目标文件不在同一文件系统中,mv命令将通过复制源文件到目标文件系统,再删除源文件来完成移动操作。

        通过mv命令,用户可以轻松地移动和重命名文件和目录,可以通过 man mv 命令查看更详细的帮助文档。


10.cat指令

cat(concatenate)指令主要用于连接文件、创建文件、显示文件内容等操作

cat命令的基本语法cat [选项] 文件

以下是一些常见的选项:

  1.  -n :显示行号,将文件的每一行前面加上行号。
  2.  -b :非空行显示行号,将非空行的文件内容前面加上行号。
  3.  -s :合并多个空行,将多个连续的空行压缩成一个空行。

下面是一些使用示例:

  1. 显示文件内容:cat file1这将显示文件file1的内容。
  2. 显示多个文件内容:cat file1 file2 file3这将按顺序显示文件file1、file2和file3的内容。
  3. 合并文件:cat file1 file2 > newfile这将将文件file1和file2的内容合并,并将结果存储到newfile文件中。
  4. 显示行号:cat -n file这将显示文件file的内容,并在每一行前面加上行号。
  5. 合并多个空行:cat -s file这将显示文件file的内容,并将多个连续的空行压缩成一个空行。

        除了以上常见用法,cat还可以通过管道符(|)与其他命令组合使用,实现更复杂的操作。例如,将cat的输出作为另一个命令的输入。cat是一个强大而灵活的命令,可用于快速查看文件内容、合并文件、创建文件等多种用途。可以通过 man cat 命令查看更详细的帮助文档。


11.more指令

more指令用于逐页显示文件内容,方便查看大文件。它可以按页向后滚动,允许用户按需加载和滚动文件内容。

more命令的基本语法:more [选项] 文件

以下是一些常见的选项:

  1. -d:显示“Press space to continue...”提示。
  2. -c:显示Ctrl-L字符作为换页符。
  3. -p:显示当前文件的百分比。
  4. -num:指定每次显示的行数。

下面是一些使用示例:

  1. 逐页显示文件内容:more file这将以一页一页的方式显示文件file的内容。可以使用空格键向后翻页,按q键退出。
  2. 显示文件内容,并显示类似“Press space to continue...”提示:more -d file这将在每一页的结尾显示提示信息,提示用户按空格键继续浏览下一页。
  3. 显示文件内容,并在每页顶部显示当前文件的百分比:more -p file这将在每一页的顶部显示当前浏览位置相对于整个文件的百分比。
  4. 指定每页显示的行数:more -10 file这将以每页显示10行的方式浏览文件内容。

        more指令还支持其他一些功能,例如前进/后退一页、跳到指定行号等。more命令在处理大文件时非常有用,因为它可以逐页加载文件内容,节省资源,并提供方便的浏览和检索功能。可以通过 man more命令查看更详细的帮助文档。


12.less指令

less指令也用于查看文件内容,与more指令类似,但提供了更多的功能和选项

less命令的基本语法:less [选项] 文件

以下是一些常见的选项:

  1. -N:显示行号,将文件的每一行前面加上行号。
  2. -i:忽略搜索时的大小写。
  3. -S:折叠长行,超过屏幕宽度的行将被折叠显示。
  4. +num:从指定的行号开始显示文件内容。

下面是一些使用示例:

  1. 查看文件内容:less file这将以交互方式显示文件file的内容。可以使用上下方向键滚动内容,使用q键退出查看。
  2. 显示行号:less -N file这将显示文件file的内容,并在每一行前面加上行号。
  3. 忽略搜索时的大小写:less -i file这将在搜索文件内容时忽略大小写。
  4. 折叠长行显示:less -S file这将折叠超过屏幕宽度的长行,以便更好地显示文件内容。
  5. 从指定行号开始浏览文件内容:less +10 file这将从文件的第10行开始显示内容。

        less指令还提供了其他一些功能,如搜索字符串、跳转到指定行号等。相较于more指令,less提供了更多的交互和浏览功能,使用户能够更方便地查看和搜索文件内容。可以通过man less命令查看更详细的帮助文档。


13.head指令

head指令用于显示文件的开头部分,默认情况下,它显示文件的前10行

head命令的基本语法head [选项] 文件

以下是一些常见的选项:

  1. -n num:显示文件的前n行,其中num表示要显示的行数。
  2. -c num:显示文件的前n个字符,其中num表示要显示的字符数。

下面是一些使用示例:

  1. 显示文件的开头部分(默认显示前10行):head file这将显示文件file的前10行内容。
  2. 显示指定行数的文件开头部分:head -n 5 file这将显示文件file的前5行内容。
  3. 显示指定字符数的文件开头部分:head -c 100 file这将显示文件file的前100个字符。

        head指令还支持其他选项,如显示文件名、显示文件的前几个字节等。head命令通常用于查看文件的开头部分,可以快速预览文件的内容,在处理大文件时特别有用。可以通过 man head命令查看更详细的帮助文档。


14.tail指令

tail指令用于显示文件的末尾部分,默认情况下,它显示文件的后10行

tail命令的基本语法tail [选项] 文件

以下是一些常见的选项:

  1. -n num:显示文件的后n行,其中num表示要显示的行数。
  2. -c num:显示文件的后n个字符,其中num表示要显示的字符数。
  3. -f:实时显示文件末尾的新增内容,类似于实时日志追踪。

下面是一些使用示例:

  1. 显示文件的末尾部分(默认显示后10行):tail file这将显示文件file的后10行内容。
  2. 显示指定行数的文件末尾部分:tail -n 5 file这将显示文件file的后5行内容。
  3. 显示指定字符数的文件末尾部分:tail -c 100 file这将显示文件file的后100个字符。
  4. 实时显示文件的新增内容:tail -f file这将实时显示文件file末尾的新增内容,适用于追踪日志文件等实时变化的情况。

        tail指令还支持其他选项,如显示文件名、禁止显示页眉等。tail命令通常用于查看文件的末尾部分,特别适用于查看日志文件的最新消息或持续追踪文件的变化。可以通过man tail命令查看更详细的帮助文档。


15.时间相关的指令

在Linux下,有一些与时间相关的指令可以用于获取和管理系统时间。以下是几个常用的时间相关指令的详细介绍:

1. date指令:用于显示或设置系统的日期和时间

基本语法为date [选项] [+格式]

一些常见的选项:

  • -u:显示或设置UTC时间。
  • +%格式:按指定格式展示日期和时间。

   示例:

  • date:显示当前日期和时间。
  • date +%Y-%m-%d:以YYYY-MM-DD的格式显示当前日期。
  • date -s "2023-08-05 10:30:00":设置系统时间为指定日期和时间。

2. timedatectl指令:用于系统时间和日期的配置和管理

   一些常见的命令:

  • timedatectl status:显示当前系统的时间和日期状态。
  • timedatectl set-time "10:30:00":设置系统时间为指定时间。
  • timedatectl set-timezone Asia/Shanghai:设置系统时区为Asia/Shanghai。
  • timedatectl list-timezones:列出所有可用的时区。

3. hwclock指令:用于读取和设置硬件时钟(Real-Time Clock)。

   一些常见的命令:

  • hwclock:显示硬件时钟的时间。
  • hwclock --set --date="2023-08-05 10:30:00":设置硬件时钟为指定日期和时间。
  • hwclock --systohc:将系统时间同步到硬件时钟。
  • hwclock --hctosys:将硬件时钟同步到系统时间。

        这些时间相关的指令可以帮助你获取和修改系统的日期和时间,设置时区,以及同步硬件时钟和系统时钟。可以通过man命令加上相应指令的名称来获取更详细的帮助文档,例如:man dateman timedatectlman hwclock


16.Cal指令

在Linux系统中,cal指令用于显示一个月的日历

cal命令的基本语法cal [选项] [月份] [年份]

以下是一些常见的选项:

  1. 使用单列显示日历。
  2. 使用三列显示日历,每周从周一开始。
  3. -m:使用两列显示日历,每周从周一开始。
  4. -j:显示一个月中的每一天的年内日期。

下面是一些使用示例:

  1. 显示当前月份的日历:cal这将显示当前月份的整个月历。
  2. 显示指定年份的月历:cal 2023这将显示2023年的每个月份的月历。
  3. 显示指定年份和月份的月历:cal 8 2023这将显示2023年8月的月历。
  4. 使用单列显示日历:cal -1这将以单列形式显示当前月份的日历。

        cal指令还支持其他选项,如指定日历的起始星期几以及自定义输出格式。cal命令通常用于查看日历以及查询特定日期的星期几。可以通过man cal命令查看更详细的帮助文档。


17.find指令

在Linux系统中,find指令用于在指定目录下搜索符合条件的文件或目录

find命令的基本语法find [路径] [选项] [表达式]

以下是一些常见的选项:

  1. -name 文件名:按文件名匹配搜索。
  2. -type 类型:按文件类型匹配搜索(如f表示文件、d表示目录)。
  3. -mtime +/-天数:按文件最后一次修改时间匹配搜索(+表示n天前,-表示n天以内)。
  4. -size +/-大小:按文件大小匹配搜索(+表示大于n,-表示小于n,单位可用c、k、M、G表示字节、KB、MB、GB)。
  5. -user 用户名:按文件所有者匹配搜索。
  6. -group 组名:按文件所属组匹配搜索。

下面是一些使用示例:

  1. 在当前目录及其子目录中搜索名为file.txt的文件:find . -name "file.txt"这将在当前目录及其子目录中搜索名为file.txt的文件。
  2. 在根目录下搜索所有的目录:find / -type d这将在根目录下搜索所有的目录。
  3. 在当前目录中搜索最近7天内修改过的文件:find . -mtime -7这将在当前目录中搜索最近7天内修改过的文件。
  4. 在/var/log目录中搜索大于100MB的文件:find /var/log -size +100M这将在/var/log目录中搜索大于100MB的文件。

        find命令还可以通过逻辑操作符(如-and、-or)以及括号来组合多个条件进行复杂的搜索。可以通过man find命令查看更详细的帮助文档,了解更多find指令的用法和选项。


18.grep指令

在Linux系统中,grep指令用于在文本文件中搜索指定的模式或字符串,并将匹配的行打印出来。

grep命令的基本语法grep [选项] 模式 [文件]

以下是一些常见的选项:

  1. -i:忽略大小写。
  2. -v:反向匹配,只输出不匹配的行。
  3. -r:递归搜索目录下的所有文件。
  4. -l:只输出包含匹配模式的文件名。
  5. -n:显示匹配行的行号。
  6. -c:统计匹配的行数而不显示具体内容。

下面是一些使用示例:

  1. 在文件中搜索包含指定字符串的行:grep "pattern" file这将在file文件中搜索包含pattern的行并打印出来。
  2. 在多个文件中搜索指定字符串:grep "pattern" file1 file2这将在file1和file2中搜索包含pattern的行并打印出来。
  3. 在目录及其子目录下递归搜索指定字符串:grep -r "pattern" directory这将在directory目录及其子目录中递归搜索包含pattern的行并打印出来。
  4. 忽略大小写进行搜索:grep -i "pattern" file这将在file文件中搜索不区分大小写的pattern并打印出来。

        grep指令还支持更多的选项和正则表达式的使用,可以实现更灵活的文本搜索。可以通过man grep命令查看更详细的帮助文档,了解更多grep指令的用法和选项。


19.zip/unzip指令

在Linux系统中,zip和unzip指令用于压缩和解压缩文件或目录

1.zip指令

zip指令用于将文件或目录压缩成一个zip格式的归档文件

zip命令的基本语法:zip [选项] 输出文件 归档文件

   一些常见的选项:

  • -r:递归地压缩目录及其所有子目录中的文件。
  • -j:只压缩文件本身,而不包含目录结构。
  • -u:只压缩新添加或修改的文件。

   示例:

  • 压缩单个文件:zip compressed.zip file.txt这将将file.txt压缩成compressed.zip文件。
  • 压缩目录及其内容:zip -r compressed.zip directory   这将递归地将directory目录及其所有子目录和文件压缩成compressed.zip文件。

2. unzip指令:

unzip指令用于解压缩zip格式的归档文件

   unzip命令的基本语法:unzip [选项] 归档文件

   一些常见的选项:

  • -d 目标目录`:指定解压缩的目标目录。
  • -l:列出归档文件中的文件列表,而不进行实际解压缩。

   示例:

  • 解压缩归档文件:unzip compressed.zip这将解压缩compressed.zip文件,并将文件提取到当前目录。
  • 解压缩到指定目录:unzip compressed.zip -d target_directory这将解压缩compressed.zip文件,并将文件提取到target_directory目录。

        zip和unzip指令提供了在Linux系统中进行文件压缩和解压缩的功能。可以使用man zipman unzip命令查看更详细的帮助文档,了解更多选项和用法。


20.tar指令

在Linux系统中,tar指令用于创建和提取tar格式的归档文件,常用于打包和解包多个文件或目录。

tar指令的基本语法:tar [选项] [归档文件] [文件/目录...]

以下是一些常见的选项:

1. -c:创建新的归档文件。
2. -x:从归档文件中提取文件。
3. -f 归档文件`:指定归档文件的名称。
4. -v:显示详细的操作信息。
5. -z:使用gzip进行压缩或解压缩。
6. -j:使用bzip2进行压缩或解压缩。
7. -r:向现有归档文件中追加文件或目录。
8. -t:列出归档文件中的文件列表。

下面是一些使用示例:

  1. 创建归档文件:tar -cvf archive.tar file1 file2 directory这将创建一个名为archive.tar的归档文件,并将file1、file2和directory加入到归档文件中。
  2. 提取归档文件:tar -xvf archive.tar这将从archive.tar归档文件中提取出所有文件和目录。
  3. 创建并使用gzip进行压缩:tar -czvf archive.tar.gz file1 file2 directory这将创建一个使用gzip压缩的归档文件archive.tar.gz,并将file1、file2和directory加入到归档文件中。
  4. 使用bzip2进行压缩:tar -cjvf archive.tar.bz2 file1 file2 directory这将创建一个使用bzip2压缩的归档文件archive.tar.bz2,并将file1、file2和directory加入到归档文件中。

        tar指令支持更多的选项和功能,例如排除指定文件或目录、仅提取部分文件等。可以使用man tar命令查看更详细的帮助文档,了解更多选项和用法。


21.bc指令

在Linux系统中,bc是一种用于进行任意精度计算的命令行计算器。它支持整数和浮点数运算,并提供了一些基本的数学函数和控制结构。

bc命令的基本语法:bc [选项] [文件]

以下是一些常见的选项:

1. -i:以交互式模式运行bc,进入交互式计算器。
2. -q:以静默模式运行bc,在脚本中进行计算而不打印结果。
3. -l:加载标准数学库,提供数学函数(如平方根、三角函数等)的支持。

使用bc进行计算时,可以直接在命令行中输入表达式。支持的操作符包括加法(+)、减法(-)、乘法(*)、除法(/)等。

$ bc
6 + 4
10
3 * 5
15
22 / 7
3

        除了基本的算术运算外,bc还提供了一些高级的功能,如条件语句和循环结构。通过在脚本文件中编写bc代码,可以实现更复杂的计算和处理。示例脚本文件(calc.bc):

if (10 > 5) {print "10 is greater than 5\n"
} else {print "10 is not greater than 5\n"
}for (i = 1; i <= 5; i++) {print i, "\n"
}

运行脚本文件:

$ bc calc.bc

        以上是bc命令的简要介绍。可以使用man bc命令查看更详细的帮助文档,了解更多选项和用法。


22.uname –r指令

在Linux系统中,uname -r 指令用于获取当前正在运行的内核的版本号。

uname是一个用于获取系统信息的命令,而-r选项用于指定只输出内核版本号。

使用uname -r指令的语法:uname -r

当你在终端中执行该指令时,它将输出正在运行的内核的版本号。

示例输出:4.15.0-65-generic

这个输出表示当前系统中正在运行的内核的版本号为4.15.0-65-generic。

uname -r在管理和诊断系统问题时非常有用,特别是当你需要获取内核版本号以确认所需的内核模块是否与当前内核兼容时。

此外,uname命令还支持其他选项,如:

  • -a:输出所有可用的系统信息。
  • -s:输出内核名称。
  • -n:输出主机名。
  • -m:输出系统类型(如x86_64)。

        你可以通过man uname命令查看uname命令的完整用法和选项说明。


23.重要的几个热键

在Linux系统中,有一些重要的热键可以提高工作效率和便捷操作。以下是几个常用的热键:

1. Ctrl + C:中断当前正在运行的程序。当你需要提前结束一个正在运行的命令或程序时,可以使用Ctrl + C来终止它。

2. Ctrl + D:在终端中表示输入结束或退出当前会话(EOF)。当你想要退出当前的shell会话或表示输入结束时,可以使用Ctrl + D。

3. Ctrl + Z:将当前正在运行的程序放入后台,并暂停其执行。这常用于暂停正在运行的程序,然后再次恢复它或将其置于后台运行。

4. Ctrl + A:将光标移动到命令行的最开始处。当你想要快速移动到命令行的起始位置时,可以使用Ctrl + A。

5. Ctrl + E:将光标移动到命令行的最末尾。当你想要快速移动到命令行的末尾位置时,可以使用Ctrl + E。

6. Ctrl + L:清除当前终端屏幕并滚动到顶部,相当于执行`clear`命令。当你需要清除终端屏幕上的输出并返回到顶部时,可以使用Ctrl + L。

7. Tab 键:自动补全命令或文件名。在终端中输入命令或文件名时,按下Tab键可以自动补全该命令或文件名,提高输入命令的速度。

8. 上下箭头键:用于在命令历史记录中浏览之前执行过的命令。按向上箭头键可以显示上一个执行过的命令,按向下箭头键可以显示下一个执行过的命令。


24.关机指令

在Linux系统中,关机是一个重要的操作,通过命令可以实现关机。以下是Linux下常用的关机指令:

1. shutdown指令:shutdown指令用于安全地关闭系统,在关机之前通知登录用户并执行必要的步骤。shutdown指令有多个选项,其中一些常用的选项如下:

  • shutdown -h now:立即关机。
  • shutdown -h +10:在10分钟后关机。
  • shutdown -h 02:00:在指定的时间(例如02:00)关机。
  • shutdown -r now:立即重启系统。

2. halt指令:halt指令用于立即关闭系统,不进行任何通知或动作。执行halt指令后,系统会立即停止,并提示你安全地关闭电源。

3. poweroff指令:poweroff指令用于关闭系统并关闭计算机电源。它类似于halt指令,但会在关机之前执行一些额外的操作,如卸载文件系统等。

需要注意的是,关机指令通常需要root用户权限才能执行。你需要以root用户身份或使用sudo来执行这些关机指令。

在执行任何关机指令之前,务必保存并关闭所有正在进行的工作,以免丢失数据。

另外,还可以使用图形界面中的关机按钮或通过logout菜单来关机。这些方法通常会触发相应的关机指令来执行关机操作。

  • shutdown指令:用于安全地关机或重启系统,并可设置延迟时间。
  • halt指令:立即关闭系统,不进行通知。
  • poweroff指令:关闭系统并关闭计算机电源。

可以使用man命令来查看这些指令的更多选项和用法,如man shutdown、man halt、man poweroff。


温馨提示

        感谢您对博主文章的关注与支持!在阅读本篇文章的同时,我们想提醒您留下您宝贵的意见和反馈。如果您喜欢这篇文章,可以点赞、评论和分享给您的同学,这将对我提供巨大的鼓励和支持。另外,我计划在未来的更新中持续探讨与本文相关的内容。我会为您带来更多关于Linux以及C++编程技术问题的深入解析、应用案例和趣味玩法等。请继续关注博主的更新,不要错过任何精彩内容!

        再次感谢您的支持和关注。我们期待与您建立更紧密的互动,共同探索Linux、C++、算法和编程的奥秘。祝您生活愉快,排便顺畅!


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/79540.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【产品经理】高阶产品如何看待问题?(方法论+案例+实操清单)

在职场中&#xff0c;我们常常被教导要多角度、从不同的视角看待问题。作为一名高阶产品&#xff0c;到底会用什么视角看待问题呢&#xff1f; 如果你仅仅凭借一个标题&#xff0c;选择阅读这篇文章&#xff0c;大概率你对俞军老师的12条方法论&#xff08;包括用户价值公式&am…

rabbitmq

一&#xff0c;什么是消息中间件 MQ全称为Message Queue&#xff0c;本质上是个队列&#xff0c;FIFO先入先出。是在消息的传输过程中保存消息的容器。可以用于应用程序和应用程序之间的通信方法。多用于分布式系统之间进行通信&#xff0c;在项目中&#xff0c;可将一些无需即…

Excel下拉框样式

1.打开要修改的Excel&#xff0c;选中要修改样式的单元格 2.在上边导航栏中选择 Data&#xff0c;找到 Data Validation&#xff0c;点击下面的 Data Validation… 3.在设置中找到 Allow 项&#xff0c;选择 List。Source中填写可供选择的值&#xff0c;以逗号&#xff08;…

Tcp是怎样进行可靠准确的传输数据包的?

概述 很多时候&#xff0c;我们都在说Tcp协议&#xff0c;Tcp协议解决了什么问题&#xff0c;在实际工作中有什么具体的意义&#xff0c;想到了这些我想你的技术会更有所提升&#xff0c;Tcp协议是程序员编程中的最重要的一块基石&#xff0c;Tcp是怎样进行可靠准确的传输数据…

【Linux】【docker】安装sonarQube免费社区版9.9

文章目录 ⛺sonarQube 镜像容器⛺Linux 安装镜像&#x1f341;出现 Permission denied的异常&#x1f341;安装sonarQube 中文包&#x1f341;重启服务 ⛺代码上传到sonarQube扫描&#x1f341;java语言配置&#x1f341;配置 JS TS Php Go Python⛏️出现异常sonar-scanner.ba…

vue2.29-Vue3跟vue2的区别

1、vue3介绍 更新&#xff08;和重写&#xff09;Vue的主要版本时&#xff0c;主要考虑两点因素&#xff1a;首先是新的JavaScript语言特性在主流浏览器中的受支持水平&#xff1b;其次是当前代码库中随时间推移而逐渐暴露出来的一些设计和架构问题。 相较于vue2&#xff0c;vu…

带你了解—使用Ubuntu系统,公网环境下SSH远程树莓派

公网环境下Ubuntu系统SSH远程树莓派 文章目录 公网环境下Ubuntu系统SSH远程树莓派前言 1. 安装cpolar客户端2. 安装完成后输入指令3. ubuntu系统输入命令 前言 树莓派作为低功耗、小型化的硬件设备&#xff0c;其功能和运算能力并未过度缩水&#xff0c;在不少场景中&#xff…

vue2 todoapp案例(静态)

1.创建三个子组件(TodoHeader、TodoMain、TodoFooter)和两个(index.css、base.css)样式&#xff1b; TodoHeader页面 <template><header class"header"><h1>todos</h1><input id"toggle-all" class"toggle-all" typ…

Java中运算符要注意的一些点

目录 1. 算术运算符 1. 1 基本四则运算符&#xff1a;加减乘除模( - * / %) 1.2. 增量运算符 - * % 2. 关系运算符 3. 逻辑运算符 3.1. 逻辑与 && 3.2. 逻辑 || 3.3. 逻辑非 ! 3.4. 短路求值 4. 位运算符 4.1. 按位与 &: 如果两个二进制位都是 …

【MySQL】下载安装以及SQL介绍

1&#xff0c;数据库相关概念 以前我们做系统&#xff0c;数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果&#xff0c;当然文件存储也有它的弊端。 假设在文件中存储以下的数据&#xff1a; 姓名 年龄 性别 住址 张三 23 男 北京…

阿里云“通义千问”开源,可免费商用

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 阿里云成为国内首个加入大模型开源行列的大型科技企业。就在昨天&#xff0c;阿里云公开表态&#xff0c;把自家的通义千问大模型开源。 阿里云把通用70亿参数模型&#xff0c;包括Qwen-7B和对话模…

Java实现Google cloud storage 文件上传,Google oss

storage 控制台位置 创建一个bucket 点进bucket里面&#xff0c;权限配置里&#xff0c;公开访问&#xff0c;在互联网上公开&#xff0c;需要配置角色权限 新增一个访问权限 &#xff0c;账号这里可以模糊搜索&#xff0c; 角色配置 给allUser配置俩角色就可以出现 在互联…

雪花ID的简介讲解和应用

雪花ID 一、UUID UUID&#xff08;Universally Unique Identifier&#xff0c;通用唯一识别码&#xff09;是按照开放软件基金会&#xff08;OSF&#xff09;制定的标准计算&#xff0c;用到了以太网卡地址、纳秒级时间、芯片 ID 码和许多可能的数字。 UUID 是由一组 32 位数…

【状态估计】基于UKF法、AUKF法的电力系统三相状态估计研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Pycharm连接服务器

前提&#xff1a;必须为pycharm专业版才能连接到服务器 以下为pycharm2023专业版 一、连接 系统环境 虚拟环境&#xff08;前提&#xff1a;已安装anaconda&#xff09; (1) anaconda环境 (2) 自己创建的虚拟环境 这里为envs下的spotr 二、查看连接情况 选择自动上传

多语言一键铺货跨境电商平台快速开发(java开源)

要搭建一个多语言一键铺货跨境电商平台&#xff0c;可以参考以下步骤&#xff1a; 1. 确定需求&#xff1a;首先&#xff0c;明确平台的功能需求&#xff0c;包括多语言支持、一键铺货功能、跨境支付等。 2. 选择适合的开源项目&#xff1a;选择一个适合的Java开源电商平台项…

Fabric

Fabric Fabric.js是一个非常好用的Javascript HTML5 canvas库&#xff0c;封装了canvas原生较为复杂的api&#xff0c;在canvas元素的顶部提供交互式对象模型&#xff0c;用于实现图片的变形旋转拖拉拽等功能。 在线demo: 官网链接 下载 npm install fabric --save或 yarn …

【云原生K8s】二进制部署单master K8s+etcd集群

一、实验设计 mater节点master01192.168.190.10kube-apiserver kube-controller-manager kube-scheduler etcd node节点node01192.168.190.20kubelet kube-proxy docker (容…

Matlab之利用MarkerFaceColor来填充marker

matlab画图在加一些marker的时候, 有实心的圆圈, 比如: plot(x,y,.r,MarkerSize,20)但是如果想要一个很大的marker, 就需要把这个markersize调得很大, 比如MarkerSize20 但是也可以用空心的圆圈然后把中间涂上颜色, 这样调整起来更方便. 比如: plot(x,y,or,MarkerSize,5,Mar…

避免安装这5种软件,手机广告频繁弹窗且性能下降

在我们使用手机的日常生活中&#xff0c;选择合适的应用软件对于保持良好的使用体验至关重要。然而&#xff0c;有些软件可能会给我们带来不必要的麻烦和困扰。特别是那些频繁弹窗广告、导致手机性能下降的应用程序&#xff0c;我们应该尽量避免安装它们。 首先第一种&#xf…