• 十道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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    字符表示法

    chmod u +x test.txt
    
    • 1

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

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

    kill [选项] 进程号
    
    • 1
    • -9:发送 SIGKILL 信号,强制杀死进程。
    • -s:指定发送的信号。
    • -15 (默认)
      • 执⾏完该指令后,操作系统会发送⼀个 SIGTERM 信号给对应的程序。当程序接收到该信号后,可能会发⽣以下⼏种情况的⼀种:
      • 当前程序⽴刻停⽌;
      • 程序释放相应资源,然后再停⽌;
      • 程序可能仍然继续运⾏。
  • 相关阅读:
    (12)使用TSQL语句 ALTER VIEW 修改v_stu_i视图,使其具有列名学号、姓名、性 政治面貌,补全以下横线处的语句。
    工单提交管理H5小程序开发
    Mahony 滤波算法参数自动调节方法 11
    10分钟Window本地部署stable diffusion AI绘图【入门教程】
    JVM 一些常见问题Q&A
    经验风险最小化与结构风险最小化:优化机器学习模型的两种方法
    iOS 单元测试
    WPF 控件专题 Rectangle详解
    javascript的键值对的问题
    MySQL JDBC编程
  • 原文地址:https://blog.csdn.net/diskindom/article/details/134458064