深入浅出Linux操作系统指令与目录结构(二),Linux运维开发面试书籍

  • ✍、目录脑图
  • 1、Linux目录结构
    • 1.1、具体目录结构
*   [1.2、Linux远程登录](about:blank#12Linux_69)
*   *   [1.2.1、下载Xshell](about:blank#121Xshell_79)
    *   [1.2.2、安装Xshell](about:blank#122Xshell_97)
    *   [1.2.3、使用Xshell](about:blank#123Xshell_106)
    *   [1.2.4、下载Xftp](about:blank#124Xftp_159)
    *   [1.2.5、安装Xftp](about:blank#125Xftp_168)
    *   [1.2.6、使用Xftp](about:blank#126Xftp_172)
  • 2、Linux命令
    • 2.1、vi和vim
*   [2.2、vi和vim三种模式](about:blank#22vivim_222)
*   *   [2.2.1、案例](about:blank#221_235)
*   [2.3、vim快捷键](about:blank#23vim_273)
*   *   [2.3.1、拷贝](about:blank#231_280)
    *   [2.3.2、删除](about:blank#232_303)
    *   [2.3.3、查找](about:blank#233_329)
    *   [2.3.4、设置行号](about:blank#234_347)
    *   [2.3.5、定位](about:blank#235_365)
    *   [2.3.6、撤销](about:blank#236_411)
*   [2.4、关机重启](about:blank#24_432)
*   [2.5、登录注销](about:blank#25_454)
*   [2.6、用户管理](about:blank#26_476)
*   *   [2.6.1、添加用户](about:blank#261_480)
    *   [2.6.2、指定/修改密码](about:blank#262_523)
    *   [2.6.3、删除用户](about:blank#263_538)
    *   [2.6.4、查询用户](about:blank#264_555)
    *   [2.6.5、切换用户](about:blank#265_565)
    *   [2.6.6、查看当前登录用户](about:blank#266_582)
    *   [2.6.7、用户组](about:blank#267_596)
    *   *   [1、新增组](about:blank#1_600)
        *   [2、删除组](about:blank#2_604)
        *   [3、增加用户时直接加上组](about:blank#3_608)
        *   [4、修改用户的组](about:blank#4_614)
        *   [5、用户和组相关文件](about:blank#5_620)
  • 3、实用指令
    • 3.1、运行级别
*   [3.2、找回root密码(CentOS7.6)](about:blank#32rootCentOS76_668)
*   [3.3、帮助指令](about:blank#33_715)
*   *   [3.3.1、man获得帮助信息](about:blank#331man_717)
    *   [3.3.2、help指令](about:blank#332help_733)
*   [3.4、文件目录类](about:blank#34_751)
*   *   [3.4.1、pwd指令](about:blank#341pwd_753)
    *   [3.4.2、ls指令](about:blank#342ls_765)
    *   [3.4.3、cd指令](about:blank#343cd_780)
    *   [3.4.4、mkdir指令](about:blank#344mkdir_789)
    *   [3.4.5、rmdir指令](about:blank#345rmdir_809)
    *   [3.4.6、touch指令](about:blank#346touch_824)
    *   [3.4.7、cp指令](about:blank#347cp_835)
    *   [3.4.8、rm指令](about:blank#348rm_857)
    *   [3.4.9、mv指令](about:blank#349mv_886)
    *   [3.4.10、cat指令](about:blank#3410cat_915)
    *   [3.4.11、more指令](about:blank#3411more_955)
    *   [3.4.12、less指令](about:blank#3412less_975)
    *   [3.4.13、echo指令](about:blank#3413echo_1005)
    *   [3.4.14、head指令](about:blank#3414head_1032)
    *   [3.4.15、tail指令](about:blank#3415tail_1051)
    *   [3.4.16、>指令和>>指令](about:blank#3416_1085)
    *   [3.4.17、ln指令](about:blank#3417ln_1113)
    *   [3.4.18、history指令](about:blank#3418history_1151)
*   [3.5、时间日期类](about:blank#35_1187)
*   *   [3.5.1、设置当前日期](about:blank#351_1189)
    *   [3.5.2、设置日期](about:blank#352_1225)
    *   [3.5.3、cal指令](about:blank#353cal_1239)
*   [3.6、搜索查找类](about:blank#36_1263)
*   *   [3.6.1、find指令](about:blank#361find_1265)
    *   [3.6.2、locate指令](about:blank#362locate_1305)
    *   [3.6.3、grep指令和管道符号 |](about:blank#363grep__1331)
*   [3.7、压缩和解压类](about:blank#37_1358)
*   *   [3.7.1、gzip / gunzip 指令](about:blank#371gzip__gunzip__1360)
    *   [3.7.2、zip/unzip指令](about:blank#372zipunzip_1390)
    *   [3.7.3、tar指令](about:blank#373tar_1420)

1、Linux目录结构

=============================================================================

  1. Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 /,然后在此目录下再创建其他的目录

  2. 在Linux世界里,一切皆文件

1.1、具体目录结构


在这里插入图片描述

[常用的如下]

  • /bin (/usr/bin、/usr/local/bin)

  • 是Binary的缩写,这个目录存放着最经常使用的命令

  • /sbin (/usr/sbin、/usr/local/sbin)

  • Super User 的意思,这里存放的是系统管理员使用的系统管理程序

  • /home

  • 存放普通用户的主目录,在Linux中没个用户都有一个自己的目录,一般该目录名是以用户的账号命名

  • /root

  • 该目录为系统管理员,也称作超级权限者的用户主目录

  • /lib

  • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库

  • /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件

  • /etc 所有的系统管理所需要的配置文件和子目录。比如安装 mysql数据库,mysql的配置文件会存放在此

  • /usr 这是一个很重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录

  • /boot 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件

  • /media Linux系统会自动识别一些设备,例如U盘,光驱等,当识别后,Linux会把识别的设备挂载到这个目录下

  • /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看内容了。例如我们之前的共享文件夹 D:/myshare

  • /usr/local 这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序


  • /proc 这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息

  • /srv service的缩写,该目录存放一些服务启动之后需要提取的数据

  • /sys 这是Linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs

  • /tmp 这个目录是用来存放临时文件的

  • /dev 类似于windows的设备管理器,把所有的硬件用文件的形式存储

  • /opt 这是给主机额外安装软件所存放的目录。如安装oracle数据库就可以放到该目录下,默认为空

  • /var 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件

  • /selinux[security-enhanced linux] SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置

1.2、Linux远程登录


说明:公司开发时候,具体的应用场景是这样的:

  1. Linux服务器是开发小组共享

  2. 正式上线的项目是运行在公网

  3. 因此程序员需要远程登录到Linux进行项目管理或者开发

远程登录客户端有 Xshell6,Xftp6,我们学习使用Xshell和Xftp6

1.2.1、下载Xshell

  1. 打开网站:https://www.netsarang.com/en/free-for-home-school/

填写名字和邮箱,选择下载Xshell、Xftp、或者两个都下载

在这里插入图片描述

  1. 打开我们的邮箱

在这里插入图片描述

1.2.2、安装Xshell

  • Xshell的安装比较简单,基本无脑下一步即可,这里就不进行记录了

在这里插入图片描述

1.2.3、使用Xshell

  1. 我们在 Linux 系统中打开终端,输入 ifconfig,拿到Linux系统的 ip

在这里插入图片描述

  1. 在 Windows 系统中打开 CMD,我们输入 ping 192.168.160.128 ,测试主机和Linux虚拟机是否网络连通

在这里插入图片描述

  1. 如果成功,基本我们使用Xshell远程连接Linux是没有问题的,如果ping失败,使用Xshell远程连接Linux也必然失败。

在这里插入图片描述

  1. 新建会话,注意主机那里必须要填我们上方 Linux 系统的 ip,协议为SSH

在这里插入图片描述

  1. 双击右侧我们的会话

在这里插入图片描述

  1. 点击接受并保存,登录我们的root账户和密码

在这里插入图片描述

  1. 登录成功,我们可以ls查看列表

在这里插入图片描述

  1. 当然我们也可以调节终端字体大小

在这里插入图片描述

1.2.4、下载Xftp

Xftp是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp之后,windows用户能安全的在 UNIX/Linux 和 Windows PC 之间进行文件传输。

在这里插入图片描述

1.2.5、安装Xftp

安装与Xshell相同,一直下一步即可。

1.2.6、使用Xftp

  1. 新建会话

在这里插入图片描述

  1. 连接

在这里插入图片描述

  1. 输入root用户名和密码,进入后如果出现了中文乱码如下图

在这里插入图片描述

  1. 点击设置,选择当前会话,选项,编码改为UTF-8

在这里插入图片描述

在这里插入图片描述

  1. 如下,就不会出现中文乱码了

在这里插入图片描述

2、Linux命令

===========================================================================

2.1、vi和vim


Linux系统会内置vi文本编辑器

Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便变成的功能特别丰富。

2.2、vi和vim三种模式


  1. 正常模式
  • 以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用[上下左右]按键来移动光标,你可以使用[删除字符]和[删除整行]来处理档案内容,也可以使用[复制、粘贴]来处理文件数据。
  1. 插入模式
  • 按下 i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可
  1. 命令行模式
  • 在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的。

  • 先按ESC,再输入冒号: 进入此模式

2.2.1、案例

我们在XShell中使用Vim开发一个 Hello.java 程序并保存。

  1. 使用XShell 连接上我们的Linux系统,输入如下命令回车

vim Hello.java 使用vim工具创建Hello.java文件

在这里插入图片描述

  1. 进入到正常模式

在这里插入图片描述

  1. 输入小写 i,进入插入模式

在这里插入图片描述

  1. 书写代码,写完代码按ESC,然后输入:,再输入wqwq代表写入并退出

在这里插入图片描述

  1. ls 查看列表

在这里插入图片描述

2.3、vim快捷键


在这里插入图片描述

vi和vim快捷键

2.3.1、拷贝

  1. 拷贝当前行 yy,粘贴p

在这里插入图片描述

  1. 输入5yy,表示拷贝当前行向下的 5 行

在这里插入图片描述

  1. 效果如下

在这里插入图片描述

2.3.2、删除

  1. 删除当前行dd

在这里插入图片描述

在这里插入图片描述

  1. 删除当前行向下的 5行:5yy

2.3.3、查找

  1. 在文件中查找某个单词 [命令行下/关键字,回车查找,输入 n 就是查找下一个]

在这里插入图片描述

  1. 输入 /hello ,回车,表示在文件中查找 hello 这个单词

在这里插入图片描述

2.3.4、设置行号

  1. 设置文件的行号 [命令行下:set nu]

  2. 取消文件的行号 [命令行下:set nonu]

在这里插入图片描述

在这里插入图片描述

2.3.5、定位

编辑 /etc/profile 文件,在一般模式下使用快捷键到该文档的最末行[G]和最首行[gg]

  1. 进入 etc 下面的 profile 文件

在这里插入图片描述

  1. 进入文件即是一般模式,此时输入 G ,即可定位至文件末行

在这里插入图片描述

  1. 输入gg 进入文件首行

在这里插入图片描述

  1. 将光标移动到 20 行,在一般模式下输入 20,再输入shift+g

在这里插入图片描述

2.3.6、撤销

  1. 在一个文件中输入 QXL,撤销这个动作。在一般模式下输入u

在这里插入图片描述

  1. 先按ESC由插入模式回到一般模式,然后按u撤销刚才的输入

在这里插入图片描述

在这里插入图片描述

2.4、关机重启


| shutdown -h now | 立即进行关机 |

| — | — |

| shutdown -h 1 | “hello,1分钟后会关机” |

| shutdown -r now | 现在重启计算机 |

| halt | 关机 |

| reboott | 重启 |

| sync | 把内存的数据同步到磁盘 |

注意:

  1. 不管是重启还是关机,首先要运行sync命令,把内存中的数据写到磁盘中

  2. 目前的 shutdown/reboot/halt 等命令已经在关机前进行了 sync,但是还是建议手动运行sync

在这里插入图片描述

2.5、登录注销


  1. 登录时候尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误,可以利用普通用户登录,登录后再使用 su - 用户名 命令来切换成系统管理员身份

在这里插入图片描述

  1. 在提示符下输入 logout 即可注销用户

在这里插入图片描述

使用细节:

  1. logout 注销指令在图形级别下无效(也就是在Linux右键打开终端的窗口中输入无效)

2.6、用户管理


Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

2.6.1、添加用户

基本语法:

useradd 用户名

  1. 我们使用 root 用户进入 home 文件夹,查看当前的用户列表

在这里插入图片描述

  1. 添加一个用户 milan,默认该用户的家目录在 /home/milan

在这里插入图片描述

细节说明:

当创建用户成功后,会自动的创建和用户同名的家目录。

也可以通过 useradd -d 指定目录 指定用户名,给新创建的用户指定家目录。

在这里插入图片描述

2.6.2、指定/修改密码

基本用法:

passwd 用户名

  1. 给 milan 指定密码

在这里插入图片描述

2.6.3、删除用户

基本语法:

userdel 用户名

  1. 删除用户milan,但是要保留家目录userdel milan

  2. 删除用户以及用户主目录userdel -r milan(这个操作一定要谨慎)

2.6.4、查询用户

基本语法:

id 用户名

请查询root信息: id root

2.6.5、切换用户

基本语法:

su - 用户名

切换到milan用户:su - milan

说明:

  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要

  • 当需要返回到原来用户时,使用 exit/logout指令

2.6.6、查看当前登录用户

基本语法:

whoami/who am I

2.6.7、用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理

1、新增组

指令:groupadd 组名

2、删除组

指令:groupdel 组名

3、增加用户时直接加上组

指令:useradd -g 用户组 用户名

4、修改用户的组

基本语法:usermod -g 用户组 用户名

5、用户和组相关文件
  • /etc/passwd文件:用户(user)的配置文件,记录用户的各种信息

  • 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

在这里插入图片描述

  • /etc/shadow文件:口令的配置文件

  • 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group文件:组的配置文件,记录Linux包含的组的信息

  • 每行含义:组名:口令:组标识号:组内用户列表

3、实用指令

========================================================================

3.1、运行级别


运行级别:

| 运行级别 | 说明 |

| — | — |

| 0 | 关机 |

| 1 | 单用户 |

| 2 | 多用户状态没有网络服务 |

| 3 | 多用户状态有网络服务 |

| 4 | 系统未使用保留给用户 |

| 5 | 图形界面 |

| 6 | 系统重启 |

常用的运行级别是3和5,也可以指定默认运行级别。

命令:

init[0123456]

通过 init 来切换不同的运行级别,比如由5图形界面切换到3无图形界面

在这里插入图片描述

3.2、找回root密码(CentOS7.6)


面试题:如何找回root密码

  1. 首先,启动系统,进入开机界面,在界面中按 e 进入编辑界面。

在这里插入图片描述

  1. 进入编辑界面,使用键盘上下键把光标向下移动,找到以 “Linux16” 开头内容所在的行数,在行的最后面输入:init=/bin/sh

在这里插入图片描述

  1. 输入完成后,直接按快捷键 Ctrl+X 进入单用户模式

在这里插入图片描述

  1. 接着在光标闪烁的位置输入: mount -o remount,rw / (注意各个单词间有空格),完成后回车,如下图

在这里插入图片描述

  1. 在新的一行最后面输入passwd,完成后回车。输入密码,再次确认密码即可(密码长度最好8位以上,但不是必须的),密码修改成功后,会显示 passwd… 的样式,说明密码修改成功[我这里设置为1234567890]

在这里插入图片描述

  1. 接着,在光标闪烁的位置(最后一行中)输入:touch /.autorelabel (touch与 / 后面有一个空格),完成后按回车键

  2. 继续在光标闪烁的位置中,输入:exec /sbin/init(exec与 / 后面有一个空格 ),完成后回车。等待系统自动修改密码(这个过程时间有点长,耐心等待),完成后系统会自动重启,新的密码就生效了。

  3. 这样进入系统,我们就又可以将密码改为自己熟悉的密码

在这里插入图片描述

3.3、帮助指令


3.3.1、man获得帮助信息

  • man 获得帮助信息

  • 基本语法:man[帮助或配置文件] (功能描述:获得帮助信息)

  • 例如查看ls 命令的帮助信息:man ls

在这里插入图片描述

在Linux下我们的隐藏文件是以.开头的

在这里插入图片描述

3.3.2、help指令

基本语法:

help 命令

功能描述:获得shell内置命令的帮助信息

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-iK5zZjA5-1712814282414)]

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-XzA8MKq6-1712814282415)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值