Linux一些问题,结合gpt,自己复习用

(一)请介绍linux以及它和windows的区别

🐧 Linux是一个开源的操作系统,它基于UNIX,并具有强大的自由度和灵活性。它被广泛用于服务器环境和嵌入式系统中。Linux有许多不同的发行版,例如Ubuntu、Debian、Fedora、CentOS等,每个发行版都有自己的特点和社区支持。

💻 Windows是由微软开发的封闭源操作系统,它在个人电脑和商业环境中广泛使用。Windows提供了友好的用户界面和广泛的软件兼容性,适合普通用户和商业用户。

一些主要的区别包括:

  1. 开源 vs 封闭源:Linux是开源的,用户可以自由地查看、修改和分发其源代码。Windows是封闭源的,用户无法访问其源代码。

  2. 文件系统:Linux使用不同的文件系统,如ext4、XFS等,而Windows使用NTFS或FAT文件系统。

  3. 用户界面:Linux提供多种桌面环境选择,如GNOME、KDE、XFCE等,用户可以根据自己的喜好进行定制。Windows拥有自己的图形用户界面(GUI),如Windows 10的Windows Shell。

  4. 软件兼容性:由于Windows在个人电脑领域的主导地位,许多商业软件和游戏都是专门为Windows开发的。Linux上也有许多优秀的开源软件,但对于某些商业软件和游戏可能兼容性较差。

  5. 安全性:由于广泛的用户群体和封闭源代码,Windows更容易成为恶意软件和病毒的目标。Linux由于开源特性和严格的权限管理,相对而言更加安全。

请注意,这只是一些常见的区别,实际上Linux和Windows还有很多其他方面的差异。

(二)怎样查看一个linux命令的概要与用法?假设你在/bin目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?

要查看一个Linux命令的概要和用法,你可以使用man命令。man是"manual"的缩写,它允许你在终端上查看各种命令的手册页面。

要查看命令的手册页面,你可以使用以下命令:

man <command>

例如,如果你想查看ls命令的手册页面,可以运行:

man ls

手册页面将会显示在终端上,并提供关于该命令的概要、用法、参数选项和示例等详细信息。你可以使用箭头键上下滚动,按下q键退出手册页面。

如果你在/bin目录中看到一个你从未见过的命令,你可以通过以下步骤了解它的作用和用法:

  1. 首先,你可以尝试使用man命令查看该命令的手册页面。例如,如果你在/bin目录中看到一个名为example的命令,可以运行:

    man example
    
  2. 如果该命令没有手册页面或man命令无法找到,你可以尝试使用命令的--help选项。很多命令都会提供--help选项,用于显示简要的帮助信息。例如:

    example --help
    

    执行该命令后,它可能会显示相关的用法和选项。

  3. 如果以上步骤都不能提供足够的信息,你可以尝试在互联网上搜索该命令的文档或教程。搜索引擎如Google或DuckDuckGo是很好的资源。你可以搜索命令的名称或相关关键词,以找到更多关于该命令的资料。

通过这些步骤,你应该能够了解到关于目标命令的基本信息和用法。

(三)使用什么命令查看 ip 地址及接口信息?

要查看IP地址和接口信息,可以使用ifconfig命令或ip命令。

  1. 使用ifconfig命令:

    ifconfig
    

    这会列出所有网络接口的信息,包括IP地址、MAC地址和其他配置参数。

  2. 使用ip命令:

    ip addr show
    

    或者只显示活动接口的信息:

    ip addr show up
    

    这会显示活动接口的详细信息,包括IP地址、子网掩码和其他网络配置。

请注意,ifconfig命令在一些Linux发行版中已经被弃用,建议使用ip命令来代替。

如果你需要管理员权限才能运行这些命令,可以在命令前加上sudo。例如:

sudo ifconfig
sudo ip addr show

这样将以管理员身份运行命令,并显示更多网络接口和配置信息。

(四)使用什么命令查看网络是否连通?

要检查网络是否连通,可以使用以下命令进行测试:

  1. 使用ping命令:

    ping <目标地址或域名>
    

    例如,如果要测试与Google的连通性,可以运行:

    ping www.google.com
    

    ping命令会发送网络控制报文给目标地址,并等待响应。如果网络连通,你将看到有关目标地址的响应时间和信息。按下Ctrl + C组合键可以停止ping命令的执行。

  2. 使用curlwget命令:

    curl <URL>
    

    wget <URL>
    

    这些命令用于从目标URL下载文件或获取网页内容。通过尝试下载或获取网页内容,你可以验证与目标URL的网络连接是否正常。例如:

    curl www.google.com
    

    wget www.google.com
    

    这将尝试获取Google的网页内容。

这些命令可以用于简单地检查网络的连通性。如果命令成功执行并返回响应,那么网络通常是正常的。然而,如果命令未返回响应或出现错误消息,则可能存在网络连接问题。
非常抱歉,我之前的回答中遗漏了netstat命令。感谢你的提醒!

netstat命令用于显示网络连接、路由表和网络接口等相关信息。它可以提供关于网络连接状态的详细信息,以及网络接口的配置和使用情况。

以下是使用netstat命令来检查网络状态和连接的示例:

  1. 显示所有活动的网络连接:

    netstat -a
    
  2. 显示TCP协议的网络连接:

    netstat -at
    
  3. 显示监听中的网络连接:

    netstat -l
    
  4. 显示当前网络接口的统计信息:

    netstat -i
    

netstat命令可以通过使用不同的选项和参数来提供更详细的信息。你可以查阅netstat的手册页面(使用man netstat命令)来获取更多关于命令的详细用法和选项说明。

请注意,netstat命令在一些最新的Linux发行版中已经被弃用,并建议使用ss命令来代替。ss命令提供了更强大和高效的网络连接状态查看功能。

再次感谢你的提问,如果有任何其他问题,请随时提出!

(五)ls命令和用法

以下是一些常用的文件操作命令,涵盖了创建、拷贝、移动和删除文件的功能:

  1. 创建文件:

    • touch命令用于创建空白文件。

      touch <文件名>
      
    • echo命令用于创建包含文本内容的文件。

      echo "文本内容" > <文件名>
      
    • cat命令结合重定向可以将内容输出到文件中。

      cat > <文件名>
      

      输入内容后按Ctrl+D保存退出。

  2. 拷贝文件:

    • cp命令用于将文件从一个位置复制到另一个位置。
      cp <源文件> <目标文件或目录>
      
  3. 移动或重命名文件:

    • mv命令用于移动文件到不同的目录或给文件重命名。
      mv <源文件> <目标文件或目录>
      
  4. 删除文件:

    • rm命令用于删除文件。

      rm <文件名>
      
    • rm命令与-r选项一起使用可以删除目录及其内容。

      rm -r <目录名>
      

请注意,在使用这些文件操作命令时要谨慎,特别是删除文件的操作。确保你是有权删除文件或目录,并且意识到删除操作是不可撤销的。在执行命令时请确认操作对象是否正确,以防止误操作导致文件丢失。

(六) 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

在计算机操作系统中,绝对路径用斜杠(/)表示。当前目录用点(.)表示,上层目录用两个点(…)表示,主目录用波浪号(~)表示。

要切换目录,可以使用"cd"命令。例如,要进入名为"documents"的目录,可以使用以下命令:

cd documents
如果要返回上一级目录,可以使用以下命令:

cd …
如果要返回主目录,可以使用以下命令:

cd ~
请注意,这些命令是针对Unix/Linux系统和类Unix系统(如macOS)的。在Windows系统中,路径分隔符使用反斜杠(\),但其他概念和命令基本相同

(七)怎么查看当前进程?怎么执行退出?怎么查看当前路径?

要查看当前进程,可以使用"ps"命令。在Unix/Linux系统和类Unix系统(如macOS)中,可以使用以下命令:

ps
这将显示当前正在运行的进程列表。

要执行退出,可以使用"exit"命令。在终端中输入"exit"后,会关闭当前终端会话或退出当前登录会话。

要查看当前路径,可以使用"pwd"命令。在Unix/Linux系统和类Unix系统(如macOS)中,可以使用以下命令:

pwd
这将显示当前工作目录的路径。

(八)目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

在命令行中,你可以使用以下命令进行目录创建、文件创建和文件复制:

  1. 创建目录:mkdir(Make Directory)

    • 在当前目录下创建新目录:mkdir directory_name
    • 创建多级目录:mkdir -p path/to/directory
  2. 创建文件:touch

    • 在当前目录下创建新文件:touch file_name
    • 创建具有路径的文件:touch path/to/file_name
  3. 复制文件:cp(Copy)

    • 复制文件到指定位置:cp source_file destination_file
    • 复制文件并重命名:cp source_file new_file_name

注意,在使用以上命令时,请确保在命令行中处于正确的当前工作目录。如果指定的路径不存在,需要先创建相应的父目录。

例如,下面是一些示例用法:

创建目录:
mkdir documents
mkdir -p Documents/Work/Project

创建文件:
touch sample.txt
touch Documents/Work/Project/script.py

复制文件:
cp source.txt destination.txt
cp Documents/Work/Project/script.py backup_script.py

(九)文件权限修改用什么命令?格式是怎么样的?

要修改文件的权限,可以使用 chmod 命令(Change Mode)。

chmod 命令的基本格式如下:

chmod [options] mode file(s)

其中:

  • options 是一些可选参数,用来指定特定的权限设置方式。
  • mode 是权限模式,用数字或符号来表示用户(所有者)、组和其他用户的权限。下面将详细介绍两种常用的权限表示方式。
  • file(s) 是你要修改权限的文件或目录的名称(可以是单个文件或使用通配符指定多个文件)。

下面介绍两种常用的权限表示方式:

  1. 数字表示法:使用三个数字来表示权限,每个数字表示一个权限组(所有者、组、其他用户),取值为 0-7。

    • 0:无权限
    • 1:执行权限
    • 2:写权限
    • 3:写和执行权限
    • 4:读权限
    • 5:读和执行权限
    • 6:读和写权限
    • 7:读、写和执行权限

    示例:

    • 给 file.txt 设置所有者具备读写权限、组具备读权限、其他用户具备执行权限:chmod 754 file.txt
  2. 符号表示法:使用符号表示权限。

    • +:添加权限

    • -:移除权限

    • =:设置权限

    • u:所有者

    • g:组

    • o:其他用户

    • a:所有用户

    • r:读权限

    • w:写权限

    • x:执行权限

    示例:

    • 给 file.txt 添加所有者写权限:chmod u+w file.txt
    • 移除 file.txt 的其他用户读权限:chmod o-r file.txt
    • 设置 file.txt 的权限仅为所有者具备读权限:chmod go-rwx file.txt

(十) 查看文件内容有哪些命令可以使用?

可以使用以下命令来查看文件的内容:

  1. cat 命令:用于查看文件的内容,并将其打印输出到终端。

    • 示例:cat file.txt
  2. less 命令:以分页的方式查看文件的内容,允许上下滚动和搜索文件。

    • 示例:less file.txt
  3. more 命令:与 less 类似,以分页的方式查看文件的内容,但功能较少。

    • 示例:more file.txt
  4. head 命令:查看文件的前几行,默认情况下打印前 10 行。

    • 示例:head file.txt
  5. tail 命令:查看文件的后几行,默认情况下打印最后 10 行。

    • 示例:tail file.txt

这些命令可以帮助你快速查看文件的内容。根据你的使用场景和需要,选择适合的命令来查看文件。

注意,有些命令(如 cat、less、more)适用于较小的文件,而对于大型文件,使用 head 或 tail 等命令只显示文件的一部分,以加快查看速度。

(十一) Linux下命令有哪几种可使用的通配符?分别代表什么

在 Linux 下,常见的可使用的通配符有以下几种:

  1. *(星号):匹配任意数量的字符(包括零个字符)。

    • 示例:file* 可以匹配 file1、files、file123.txt 等。
  2. ?(问号):匹配任意单个字符。

    • 示例:file?.txt 可以匹配 file1.txt、fileA.txt,但不匹配 file12.txt。
  3. [](方括号):匹配指定范围内的单个字符。

    • 示例:file[123].txt 可以匹配 file1.txt、file2.txt、file3.txt。
  4. [!](非方括号):匹配不在指定范围内的单个字符。

    • 示例:file[!123].txt 可以匹配除了 file1.txt、file2.txt、file3.txt 之外的文件名。
  5. {}(花括号):匹配多个模式的组合(类似于逻辑 OR)。

    • 示例:file{1,2,3}.txt 可以匹配 file1.txt、file2.txt、file3.txt。

这些通配符在命令行中经常用于文件匹配和批量操作,可以帮助你更灵活地选择和操作文件。

需要注意的是,在使用通配符时,要确保通配符在命令执行时能正确匹配到预期的文件名,可以使用 ls 命令来查看匹配到的文件列表,再进行相应操作。

(十二) Linux中各个目录的作用

在 Linux 系统中,各个目录都有特定的作用和用途。下面是一些常见的目录及其作用的概述:

  1. /(根目录):整个文件系统的起始点,包含所有其他目录和文件。
  2. /bin:存放系统所需的基本命令和可执行文件。
  3. /boot:存放启动 Linux 系统所需的文件,包括内核和启动加载程序。
  4. /dev:存放设备文件,用于与硬件设备进行通信。
  5. /etc:存放系统的配置文件和配置目录。
  6. /home:普通用户的家目录,每个用户有一个独立的子目录。
  7. /lib:存放与系统运行时所需的共享库文件。
  8. /media:用于临时挂载可移动介质(如光盘、USB 设备)的目录。
  9. /mnt:用于临时挂载其他文件系统的目录。
  10. /opt:用于安装可选的软件和应用程序的目录。
  11. /proc:为当前正在运行的进程提供了虚拟文件系统,可以通过读取其中的文件获取进程信息。
  12. /root:超级用户 root 的家目录。
  13. /sbin:存放系统管理员使用的系统命令。
  14. /tmp:用于存放临时文件的目录,系统重新启动时会清空其中的内容。
  15. /usr:存放系统和应用程序的只读数据(如程序、库文件、文档等)。
  16. /var:存放经常变化的文件,如日志文件、数据库文件等。

(十三) 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

要对文件的内容进行统计,可以使用以下命令:

  1. wc 命令(Word Count):用于统计文件中的行数、单词数和字节数。
    • 统计行数:wc -l file.txt
    • 统计单词数:wc -w file.txt
    • 统计字节数:wc -c file.txt
    • 统计行数、单词数和字节数(同时显示):wc file.txt 或 wc -l -w -c file.txt

wc 命令还支持同时处理多个文件,输出每个文件的统计结果,并在最后输出总计结果。例如:
wc file1.txt file2.txt

请将命令中的 file.txt 替换为你要统计的实际文件名。

(十四) 利用ps怎么显示所有的进程? 怎么利用ps查看指定进程的信息?

要使用 ps 命令显示所有的进程,可以使用下面的命令:

ps -ef

这将显示所有的进程详细信息,包括进程ID(PID)、父进程ID(PPID)、CPU 使用率、内存占用等。

要利用 ps 命令查看指定进程的信息,可以使用以下命令:

ps -p

将 替换为你要查看的进程的实际进程ID。这将显示指定进程的详细信息。

另外,你还可以结合其他选项来进一步定制和过滤进程信息。例如,可以使用 -u 选项来仅显示特定用户的进程,使用 -C 选项来仅显示指定命令名称的进程。

ps -u
ps -C

请注意,ps 命令的选项和输出格式可能会因操作系统和版本而有所不同。可以使用 man ps 命令查看详细的命令使用手册来了解特定系统中 ps 命令的用法。

(十五) 管道符的作用

管道符 | 是用于在 Linux 命令行中将一个命令的输出作为另一个命令的输入进行处理的特殊符号。它的作用如下:

  1. 数据传递:管道符允许将一个命令的输出传递给另一个命令作为输入。这样可以将多个命令串联在一起,形成一个命令流水线,实现数据的处理和转换。

  2. 过滤和转换:通过使用管道,可以在命令之间进行数据过滤和转换。输出数据可以被传递到另一个命令进行筛选、排序、格式化、计数、统计等操作,从而实现更复杂的数据处理任务。

  3. 简化命令:使用管道可以将多个独立的命令组合成一个简单的命令,使得命令行更简洁和易于使用。

一些示例使用管道符的场景包括:

  • ls -l | grep “file”:将 ls -l 命令的输出通过管道传递给 grep 命令,以查找文件列表中包含关键字 “file” 的行。
  • ps aux | sort -nrk 3 | head:将进程列表通过管道传递给 sort 命令进行按 CPU 使用率降序排序,然后使用 head 命令显示前几个进程。
  • cat file.txt | sed ‘s/foo/bar/g’ | grep “baz”:将文件内容通过管道传递给 sed 命令进行字符串替换,然后再通过管道传递给 grep 命令进行匹配。

通过结合多个命令并使用管道符,可以实现更强大的数据处理和操作。管道是 Linux 命令行中非常有用的特性之一。

(十六) 使用什么命令查看用过的命令列表?

要查看用过的命令列表,可以使用以下命令:

  1. history 命令:显示最近使用过的命令列表。
    • 示例:history

history 命令会列出最近在当前登录会话中执行过的命令,并显示它们对应的序号。可以使用这些序号来重新执行历史命令,或者配合其他命令进行搜索和筛选。

另外,你还可以使用向上箭头 ↑ 和向下箭头 ↓ 键来在命令行中逐步浏览和执行历史命令。按下 Enter 键即可执行显示的历史命令。

(十七) 使用什么命令查看磁盘使用空间?空闲空间呢?

  1. df 命令(Disk Free):用于显示文件系统的磁盘空间使用情况。
    • df -h:以人类可读的方式显示磁盘空间使用情况(以易读的单位显示,如 GB、MB)。
    • df -k:以千字节为单位显示磁盘空间使用情况。
    • df -m:以兆字节为单位显示磁盘空间使用情况。
    • df -i:显示文件系统的 inode 使用情况。
    • df -T:显示文件系统的类型。

例如,运行 df -h 将显示磁盘空间使用情况,并列出每个文件系统的总容量、已用空间、可用空间和挂载点。

要查看磁盘空闲空间,可以使用以下命令:

  1. du 命令(Disk Usage):用于估算文件和目录的磁盘使用空间。
    • du -h:以人类可读的方式显示文件和目录的磁盘使用空间。
    • du -s:仅显示总和,只显示目录名和总使用空间。
    • du -sh:以人类可读的方式显示文件和目录的总使用空间。

使用 du 命令时,需要指定要查看空间使用情况的文件或目录路径。例如,运行 du -sh /path/to/directory 将显示指定目录下所有文件和子目录的总使用空间。

(十八) du作用?

du 是 Linux 下的一个命令,用于计算目录或文件的磁盘使用情况(Disk Usage)。它的主要作用如下:

  1. 显示目录或文件的磁盘使用量:du 命令可以递归地计算一个目录以及其子目录中所有文件的磁盘使用量,并以可读性较好的方式显示出来。默认情况下,它会以字节为单位给出磁盘使用量。

  2. 统计目录或文件的总磁盘使用量:du 命令还支持计算多个目录或文件的总磁盘使用量。通过指定多个目录或文件名作为命令参数,它会分别计算它们的磁盘使用量,并在最后给出总和。

  3. 控制显示单位:du 命令提供了多个选项用于控制显示磁盘使用量的单位。你可以使用 -h 选项来以人类可读的方式显示,例如以 KB、MB、GB 等单位显示磁盘使用量。

一些常用的 du 命令示例包括:

  • du file.txt:显示文件 file.txt 的磁盘使用量。
  • du -h directory:以人类可读的方式显示目录 directory 的磁盘使用量。
  • du -sh directory:以总结方式显示目录 directory 的磁盘使用量,仅显示总和而不显示子目录的详细信息。

请注意,du 命令默认会递归遍历目录,并计算所有子目录和文件的磁盘使用量。需要一些时间来完成计算。

(十九) 列举操作文件的相关命令(创建、拷贝、复制、删除)

以下是一些常用的文件操作命令,涵盖了创建、拷贝、移动和删除文件的功能:

  1. 创建文件:

    • touch命令用于创建空白文件。

      touch <文件名>
      
    • echo命令用于创建包含文本内容的文件。

      echo "文本内容" > <文件名>
      
    • cat命令结合重定向可以将内容输出到文件中。

      cat > <文件名>
      

      输入内容后按Ctrl+D保存退出。

  2. 拷贝文件:

    • cp命令用于将文件从一个位置复制到另一个位置。
      cp <源文件> <目标文件或目录>
      
  3. 移动或重命名文件:

    • mv命令用于移动文件到不同的目录或给文件重命名。
      mv <源文件> <目标文件或目录>
      
  4. 删除文件:

    • rm命令用于删除文件。

      rm <文件名>
      
    • rm命令与-r选项一起使用可以删除目录及其内容。

      rm -r <目录名>
      

请注意,在使用这些文件操作命令时要谨慎,特别是删除文件的操作。确保你是有权删除文件或目录,并且意识到删除操作是不可撤销的。在执行命令时请确认操作对象是否正确,以防止误操作导致文件丢失。

(二十)列举linux中对服务启动,停止重启,查看状态的命令

在 Linux 中,我们可以使用以下命令对服务进行启动、停止、重启和查看状态:

  1. 启动服务:

    • systemctl start :启动指定的服务,如 systemctl start apache2。
    • /etc/init.d/ start:启动指定的服务,如 /etc/init.d/apache2 start。
  2. 停止服务:

    • systemctl stop :停止指定的服务,如 systemctl stop apache2。
    • /etc/init.d/ stop:停止指定的服务,如 /etc/init.d/apache2 stop。
  3. 重启服务:

    • systemctl restart :重启指定的服务,如 systemctl restart apache2。
    • /etc/init.d/ restart:重启指定的服务,如 /etc/init.d/apache2 restart。
  4. 查看服务状态:

    • systemctl status :查看指定服务的状态,包括是否正在运行,如 systemctl status apache2。
    • /etc/init.d/ status:查看指定服务的状态,如 /etc/init.d/apache2 status。

(二十一)列举linux解压缩文件和压缩文件的命令

  1. 解压缩文件:

    • 解压 .tar 文件:tar -xf file.tar(不会解压缩压缩格式,只解包)。
    • 解压 .tar.gz 或 .tgz 文件:tar -xzf file.tar.gz。
    • 解压 .tar.bz2 或 .tbz2 文件:tar -xjf file.tar.bz2。
    • 解压 .tar.xz 文件:tar -xJf file.tar.xz。
    • 解压 .zip 文件:unzip file.zip。
    • 解压 .gz 文件:gzip -d file.gz 或 gunzip file.gz。
    • 解压 .bz2 文件:bzip2 -d file.bz2 或 bunzip2 file.bz2。
    • 解压 .xz 文件:xz -d file.xz 或 unxz file.xz。
    • 解压 .rar 文件:unrar x file.rar。
  2. 压缩文件:

    • 压缩为 .tar 文件:tar -cf archive.tar file1 file2 …。
    • 压缩为 .tar.gz 文件:tar -czf archive.tar.gz file1 file2 …。
    • 压缩为 .tar.bz2 文件:tar -cjf archive.tar.bz2 file1 file2 …。
    • 压缩为 .tar.xz 文件:tar -cJf archive.tar.xz file1 file2 …。
    • 压缩为 .zip 文件:zip archive.zip file1 file2 …。
    • 压缩为 .gz 文件:gzip file 或 gzip -c file > file.gz。
    • 压缩为 .bz2 文件:bzip2 file 或 bzip2 -c file > file.bz2。
    • 压缩为 .xz 文件:xz file 或 xz -c file > file.xz。
    • 压缩为 .rar 文件:rar a archive.rar file1 file2 …。

(二十二)grep 命令

grep 是 Linux 命令行中一个强大的文本搜索工具,它用于在文件或标准输入中查找符合指定模式的行,并将其输出。grep 的常见用法包括:

grep [options] pattern [file…]

其中,pattern 是用于匹配的模式,可以是普通字符串或正则表达式。

一些常见的 grep 选项和用法示例包括:

  • 搜索包含指定关键字的行:

    grep “keyword” file.txt # 在 file.txt 文件中搜索包含 “keyword” 的行
    grep “pattern” file1.txt file2.txt # 在多个文件中搜索匹配 “pattern” 的行

  • 使用正则表达式进行搜索:

    grep -E “pattern” file.txt # 使用扩展正则表达式搜索
    grep -i “pattern” file.txt # 忽略大小写进行搜索

  • 显示匹配行的上下文:

    grep -C 2 “pattern” file.txt # 显示匹配行及前后两行的上下文
    grep -A 2 “pattern” file.txt # 显示匹配行及后两行的上下文
    grep -B 2 “pattern” file.txt # 显示匹配行及前两行的上下文

  • 递归搜索目录中的文件:

    grep -r “pattern” directory/ # 在目录及其子目录中递归搜索匹配的文件

(二十三)/etc/passwd 和 /etc/shadow 文件有什么用?

/etc/passwd 和 /etc/shadow 是 Linux 系统中用于存储用户账号和密码信息的两个重要文件。

  1. /etc/passwd 文件:
    /etc/passwd 文件是一个文本文件,它记录了系统中的用户账号信息。每行代表一个用户账号,字段之间用冒号(:)分隔,常见字段包括:

    • 用户名
    • 加密后的密码占位符(在 /etc/shadow 文件中存储实际密码)
    • 用户ID(UID)
    • 组ID(GID)
    • 用户信息、主目录路径、默认Shell 等

    /etc/passwd 文件对所有用户可读,但只有特权用户(如 root)才能修改它。它提供了基本的用户标识信息和账户配置,但不包含实际的密码信息。

  2. /etc/shadow 文件:
    /etc/shadow 文件是一个具有更高安全性的文件,它存储了用户的密码信息(经过哈希加密)。每行代表一个用户账号的密码记录,字段之间同样使用冒号进行分隔,常见字段包括:

    • 用户名
    • 加密后的密码
    • 密码过期信息
    • 密码最小修改间隔
    • 密码过期后的宽限期
    • 帐号失效日期等

    /etc/shadow 文件的权限设置为只有特权用户可读写,这样可以保护密码信息的安全性。只有授权的系统进程才能访问和修改该文件。通过与 /etc/passwd 文件进行配对,系统可以验证用户的身份和密码。

综上所述,/etc/passwd 文件存储基本的用户账号信息,而 /etc/shadow 文件存储用户的加密密码信息,它们一起构成了 Linux 系统中用户账户的配置和身份验证机制。

需要注意的是,在最新的 Linux 发行版中,密码信息通常存储在 /etc/shadow 文件中,而 /etc/passwd 文件仅保留基本的用户信息。这样做有助于提高密码信息的安全性。

linux考试题

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(b)

  • A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(b)

  • A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(b)

  • A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(a)

  • A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(a)

  • A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(d)

  • A.467 B.674 C.476 D.764

7.改变文件的属主的命令是©

  • A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(a)

  • A.tar -zxvf mydjango.tar.gz
    B.tar -xvz mydjango.tar.gz
    C.tar -czf mydjango.tar.gz
    D.tar – xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(b) #注意rpm -qi只能查询用yum安装的软件,编译的查不到

  • A.rpm -ivh nginx
    B.rpm -q nginx
    C.rpm -U nginx
    D.rpm -x nginx

10.Linux配置文件一般放在什么目录(a)

  • A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是© #free -m

  • A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(b)

  • A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(a)

  • A.rwxr—rw-
    B.rw-r—r—
    C.—xr—rwx
    D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(d)

  • A.ls .txt
    B.find /opt -name “.txt”
    C.ls -d .txt
    d.find -name “*.txt”

15.什么命令常用于检测网络主机是否可达? ©

  • A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? (d)

  • A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? (d)

  • A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? (b)

  • A./etc/hostname
    B./etc/hosts
    C./etc/resolv.conf
    D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

  • centos7
    cat /etc/os-release

20.请问你公司的服务器环境是物理机还是虚拟化?

  • 500人企:
    26台dell power r720服务器,托管在世纪互联
    通过vmware esxi虚拟化的280+linux服务器,有100+centos 100+redhat
    分为三个环境
    测试服务器、预生产服务器、生产服务器
    技术栈:
    svn 、java、apache、tomcat、oracle、nagios、redhat、centos、weblogic
    初创企业:
    5台阿里云

21.vim有几种工作模式

  • 命令模式
    编辑模式
    底线命令模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

  • nginx.conf
    多个server{}
    proxy_pass http://ip

23.如何解压缩后缀是.gz文件?

  • gipz -d *.gz

24.如何解压缩后缀是.tar文件?

  • tar -xf .tar

25.如何解压缩后缀是.xz文件?

  • xz -d .xz

26.www服务在internet最为广泛,采用的结构是?

  • Browser/Server

27.如何给linux添加dns服务器记录?

  • /etc/resolv.conf
    添加2条主备dns记录
    nameserver dns服务器ip

28.每月的5,15,25的晚上5点50重启nginx

  • ctontab -e
  • 50 17 5,15,25 /usr/bin/systemctl restart nginx
  • 50 17 5,15,25 /opt/nginx112/sbin/nginx -s reload

29.每分钟清空/tmp/内容

  • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

  • 30 6 /usr/bin/rm -rf /tmp/

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

  • 5-15 18,20 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

  • d:目录文件
    rw- 属主:可读可写
    r— 属组:可读
    rw- other:可读可写

33.centos版本系统服务管理命令是?

  • service
    systemctl

34.如何远程登录阿里云123.206.16.61?

  • ssh root@123.206.16.61

35.备份mariadb的命令是?

  • mysqldump -uroot -p

36.简述特殊符号的含义?

root用户的身份提示符
重启定向覆盖写

重定向追加写
$PATH 取值符
. 当前目录
… 上级目录
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

  • 别名alias
    复制
    38.如何修改test.py属组为alex?
  • chgrp alex test.py

39.如何在windows和linux传输文件?有哪些方法?

  • xftp lrzsz scp

40.如何杀死mariad进程?

  • pkill mariadb

ps -ef|grep mysql
kill pid

killall mariadb

41.简述dns解析流程?访问www.pythonav.cn的解析流程

  • 自上而下的顺序
    1.优先查找本地dns缓存
    2.查找本地/etc/hosts文件,是否有强制解析
    3.如果没有去/etc/resolv.conf指定的dns服务器中查找记录(需联网
    4.在dns服务器中找到解析记录后,在本地dns中添加缓存
    5.完成一次dns解析

42.linux如何安装软件?有几种方式?

  • yum
    rpm
    源码包

43.出于安全角度,简述如何安装启动redis服务端?

  • 更改端口
    开启protomode yes安全模式
    设置redis密码
    redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

  • 1.docker打包镜像
    2.手动解决环境问题 pip3 freeze导出依赖
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值