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

十道Linux常见的面试问题

1. 说 10 个常用的 Linux 命令

  1. cd:切换目录 ,~ 转到/home/user 用户目录下 ,/ 转到根目录中
  2. ls/ll:查看文件,文件夹信息
  3. cat:合并文件,也可以在屏幕上显示整个文件的内容。
  4. rm:删除文件
  5. mkdir:创建文件夹
  6. cp:拷贝文件
  7. rmdir:删除文件夹
  8. mv:移动或者修改文件名
  9. touch:创建新文件
  10. stat:修改文件状态
  11. ping:测试ip联通状态
  12. vi\vim:编辑文件
  13. chomd:修改权限

2. Linux 系统中创建用户,用户组的命令

useradd:创建新的用户或更改用户的信息,其创建的账号保存在/etc/passwd文本文件中。

useradd [选项] 用户名

useradd命令支持的选项有:

  • -d :指定用户的家目录(默认为/home/用户名)
  • -u :指定用户的默认uid
  • -g :指定一个初始的用户组(必须已经存在)
  • -G :指定一个或多个群组
  • -s :指定用户的默认Shell解释器

id:查看用户的uid,gid和groups

id [选项] [用户]

passwd:设置用户密码

passwd [选项] [用户名]

groupadd:创建用户组

groupadd [选项] 组名

3. Linux 修改文件所属的命令,修改文件权限的命令

chown:修改文件或目录的属主和属组

chown [-R] 属主名 ⽂件或⽬录

  • -R:递归修改,将指定⽬录下的所有⽂件或⽬录的属主和属组都修改为指定的值。
  • 属主名:指定⽂件或⽬录的属主。可以使⽤⽤户名或 UID 来指定。
  • ⽂件或⽬录:指定要修改的⽂件或⽬录。

chmod:修改⽂件或⽬录的权限

chmod [选项] 文件

  • -R:递归修改,将指定⽬录下的所有⽂件或⽬录的权限都修改为指定的值。
  • 权限:指定⽂件或⽬录的权限。可以使⽤数字或字符来指定。

从左向右:

u:文件所有者

g:组所有者

o:其他⽤户

r:读(4)

w:写(2)

x:执行(1)

数字表示法

# 将⽂件的权限修改为 rw-------
chmod 600 test.txt
# 将⽬录的权限修改为 rwxr-xr-x
chmod 755 /etc
# 将⽬录下的所有⽂件或⽬录的权限都修改为 rw-r--r--
chmod -R 644 /etc

字符表示法

chmod u +x test.txt

4.用户目录在哪,环境变量有几种配置方式

  • Linux系统的管理员目录存放在/root下⾯
  • Linux系统的每个用户都有⼀个属于自己的区域,存放在 /home下面
    • profile(/etc/profile):系统级环境变量:适⽤于所有⽤户和进程。
    • (/etc/profile.d):⾃定义环境变量脚本: 在 /etc/profile.d ⽬录下新增 .sh 格式的⾃定义环境变量⽂件
    • bashrc 或 bash_profile:⽤户级环境变量
      • bashrc 文件只会对指定的 shell 类型起作用
      • 系统级的位于 /etc/bashrc ,对所有用户生效
      • 用户级的 ~/.bashrc ,对当前用户生效。
      • 文件存储于 ~/.bash_profile ,该文件是一个用户级的设置,可以理解为某一个用户的 profile 目录下。
      • 这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。
    • shell: 会话环境变量:适⽤于当前 shell 会话,进程结束时销毁,不赞成使⽤这种⽅法。

5. Linux 安装软件的方式有几种,分别什么区别

  • 使用安装包安装
    • RedHat/CentOS: rpm
    • 待安装的 rpm 包所需的系统环境需提前安装好,否则安装 rpm 包时会报错。
  • 绿色版软件,解压即安装,解压就可以使用
  • 使用 yum 命令安装
    • yum install wget
    • 能够从指定的服务器自动下载RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包
  • 使用源码编译安装

6. 如何选择 Linux 操作系统版本

  1. 用途:确定如何使用Linux系统。不同的Linux发行版可能专注于不同的用途,比如服务器端最常见的是CentOS;桌面端则有Ubuntu。
  2. 支持与稳定性:如果您需要一个稳定且长期支持的版本,可以选择一些企业级的发行版,比如Red Hat Enterprise Linux (RHEL)、CentOS、Ubuntu LTS版本等。这些版本通常会提供长期支持(LTS)以及良好的稳定性。
  3. 社区支持:一些流行的Linux发行版拥有庞大的社区,提供丰富的文档、教程和技术支持。
  4. 软件包管理和兼容性:对于特定的应用程序或软件库需求,选择一个拥有所需软件包的发行版更为重要。
  5. 硬件支持:如果您的系统需要特定的硬件支持,比如某些特殊的驱动程序或者新型的硬件,那么选择一个具有广泛硬件支持的发行版会更为合适。
  6. 安全性:考虑发行版的安全性和漏洞修复能力。一些发行版会更加关注安全性,并提供及时的更新和修复。

7.Linux 服务器之间免密是如何实现的

  • 在⼀台服务器上⽣成 SSH 密钥对
    • 打开终端,并使⽤ ssh-keygen 命令⽣成密钥对
    • 默认情况下会在 ~/.ssh ⽬录下⽣成 ⼀对密钥对
    • ⽣成的密钥由两个⽂件组成:id_rsa(私钥)和 id_rsa.pub(公钥)
  • 将公钥传输到其它服务器
    • 想密钥登录谁,只需要把⾃⼰的公钥传递给对⽅主机即可,使⽤ ssh-copy-id 命令将公钥⽂件复制到另外服务器, 这个公钥⽂件必须放在对⽅主机的 ~/.ssh/authorized_keys ⽂件中
  • 验证免密登录是否成功
    • 查看对⽅主机的 ~/.ssh/authorized_keys ⽂件
    • 在机器A上测试登录:ssh root@机器B,看是否实现了免密登录
    • SSH 连接远程主机时,会检查主机的公钥。如果是第⼀次该主机,会显示该主机的公钥摘要,提示
      ⽤户是否信任该主机
    • 当选择接受,就会将该主机的公钥追加到⽂件 ~/.ssh/known_hosts 中。以后登录虚拟机就会自动连接上了
  • 要两个Linux服务器互相免密,两台服务器都要进行此操作。
  • 加密算法:散列算法,对称算法,非对称算法。
    • 散列算法:代表有 MDS 、 SHA ,但是加密后的内容不可逆,经常用于文件完整性校验,虚拟货币校验,账户密码加密。
    • 对称算法:通过密钥进行加密、解密,但是不够安全。如果密钥被别人窃取后,交流的内容就会被别人知道。
    • 非对称算法:存在一对密钥,分为公私钥。加密过程为,公钥加密,私钥解密;私钥加密,公钥解密,这两个部分组成。因为私钥是只有自己知道的,所以一般公钥加密,私钥解密,公钥会发给对方服务器。

8. Shell 脚本第一行是什么,运行 Shell 脚本的方式有哪些,有什么区别

Shell脚本的第一行通常是用来指定要运行脚本的解释器。

#!后面跟的是解释器的路径(shell本身就是一种解释型语言),解释器的路径是/bin/sh;

#!/bin/bash
  1. 直接执行:在命令行中输入脚本的路径,并按Enter键执行。例如:./myscript.sh(假设脚本文件名为myscript.sh,并且具有执行权限)。
  2. 作为解释器参数执行:在命令行中输入解释器的路径,后面跟着脚本的路径。例如:bash myscript.sh,这将使用Bash解释器执行脚本。
  3. 使用source命令:在当前shell环境中执行脚本,而不是启动一个新的shell进程。例如:source myscript.sh或者.(点号)+脚本路径。
  • bash 或 sh 执⾏脚本时会新开⼀个 bash,不同 bash 中的变量⽆法共享使用作为解释器参数执行或使用
  • source或 .sh:在同⼀个bash中执⾏,变量可以共享

9. Shell 脚本必须以 .sh 后缀结尾吗

不必须,可以不加.sh。但扩展名 sh 代表 shell,能让⼈看到后缀就知道是shell脚本,是⼀种命名规范,所以建议加上。

在Linux中,脚本的后缀并不影响其是否可以执行。事实上,Shell脚本的可执行性是由文件的权限属性决定的,而不是由文件名的后缀决定的。

10. Linux 查看进程的命令以及杀死进程的命令

Linux 中查看进程的命令是 ps,杀死进程的命令是 kill。

ps 命令⽤于查看系统中所有正在运⾏的进程。

ps [选项]
  • -a:显示所有进程,包括没有控制终端的进程。
  • -u:显示指定⽤户的进程。
  • -f:以全格式显示进程信息。
  • -e:显示所有进程,包括被暂停的进程。
  • -l:显示⻓格式进程信息,包括线程信息。

kill 命令⽤于向指定的进程发送信号。

kill [选项] 进程号
  • -9:发送 SIGKILL 信号,强制杀死进程。
  • -s:指定发送的信号。
  • -15 (默认)
    • 执⾏完该指令后,操作系统会发送⼀个 SIGTERM 信号给对应的程序。当程序接收到该信号后,可能会发⽣以下⼏种情况的⼀种:
    • 当前程序⽴刻停⽌;
    • 程序释放相应资源,然后再停⽌;
    • 程序可能仍然继续运⾏。

http://www.kler.cn/a/132145.html

相关文章:

  • 【Android】如何使用模拟器调试安卓项目
  • ssrf学习笔记总结
  • 【解决Qt编译报错:-1: warning: **.so, not found(try using -rpath or -rpath-link)】
  • postman查询数据库-Xmysql
  • openldap-sasl身份认证镜像
  • 企业视频数字人有哪些应用场景
  • C语言初学3:变量和常量
  • 【限时免费】20天拿下华为OD笔试之 【前缀和】2023B-最大子矩阵和【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • ubuntu云服务器配置SFTP服务
  • 【git】一些容易混淆的操作
  • 修身养性 - 阿纳托利: 健身指导
  • 黑马React18: 基础Part 1
  • OpenSign:安全可靠的电子签名解决方案 | 开源日报 No.76
  • SecureCRT的“New line mode“
  • 2023.11.15-hivesql之炸裂函数explode练习
  • 生成式AI模型量化简明教程
  • 软件配置管理>产品配置
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • IDEA没有Add Framework Support解决办法
  • 赛宁网安分靶场全力支持第三届“鹏城杯”攻防演练