【Linux 初学篇】(1)目录结构、远程登录、vim 和 vi、用户管理

/usr/local

这是一个给主机额外安装软件(软件)所安装的目录。一般是通过编译源码方式安装的程序

1.2.9 boot

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

1.2.10 proc

这是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息(该目录不能动)

1.2.11 srv

service 的缩写,该目录存放一些服务启动之后所需要提取的数据(该目录不能动)

1.2.12 sys

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs(该目录不能动)

1.2.13 tmp

用来存放一些临时文件的目录

1.2.14 dev

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

1.2.15 media

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

1.2.16 mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载再 mnt 上,然后进入该目录就可以查看里面的内容了

1.2.17 opt

这是给主机额外安装软件(安装包)所存放的目录,默认为空

如安装 ORACLE 数据库,就可以放到该目录下

1.2.18 var

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

1.2.19 selinux [sercurity-enhanced linux]

SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置

可能我们的根目录下没有看到这个目录,因为它没有被启用,启用后就可以看到了

1.2.20 run

是系统运行时所需要的文件,重启后会重新生成对应的目录数据

2. Xshell 和 Xftp

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

Xhell

可以在 windows 界面下用来访问远程不同系统下的服务器,从而比较好的达到远程控制终端的目的

Xftp

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

注意

如果 Xftp 中显示是乱码,则通过属性,将语言选择为 Unicode utf-8,就可以了

3. vi 和 vim

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

3.1 基本介绍


Vi

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

Vim

具有程序编写能力,可以看作是 vi 的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用

3.2 三种模式


正常模式

以 vim 打开一个文档就直接进入正常模式。在这个模式中,可以使用【上下左右】按键来移动光标,可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【赋值、粘贴】来处理文件数据

注意: 正常模式不能输入内容

插入模式

按下 i、I、o、O、a、A、r、R 等任何一个字母之后才会进入编辑模式,一般来说俺 i 即可。点击 Esc 退出该模式进入一般模式

命令行模式

输入冒号 ” :“ 或者斜杠 “ / ”,切换命令行模式。在这个模式当中,可以提供你相关指令,完成读取。存盘、替换、离开 vim、显示行号等的动作

wq:保存退出

q:退出

q!:强制退出并且不保存

3.3 快捷键


  1. 拷贝当前行: yy,拷贝当前行向下的5行: 5yy,并粘贴(输入:p)【正常模式下】
  1. 删除当前行: dd,删除当前行向下的5行: 5dd【正常模式下】
  1. 在文档中查找某个单词:在命令行下通过: /关键字,回车 ,输入 n 查找下一个出现的位置(如果要查找别的直接斜杠关键字查找就行)【命令行下】
  1. 设置文件的行号:set nu,取消文件的行号:set nonu【命令行下】
  1. 编辑 /etc/profile 文件,到该文档的最末行的快捷键 :G,和最首行: gg【正常模式下】
  1. 在一个文件中输入 “hello”,撤销掉它的快捷键是:u【正常模式下】
  1. 编辑 /etc/profile 文件,输入:20,再输入:shift+g【正常模式下】

注意:

快捷键的指令还有很多,以上只是常用的快捷键,不需要死记硬背,熟能生巧,即用即差就行

4. 关机和重启命令

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

指令:

  1. 立即进行关机:shutdown -h now
  1. 设置1分钟后关机:shutdown -h 1shutdown 即也表示 一分钟后关机)
  1. 立即重启:shutdown -r now
  1. 关机:halt
  1. 立即重启:reboot
  1. 将内存的数据同步到磁盘:sync

注意:

  • 无论是重启还是关闭系统,首先要运行 sync 命令,将内存中的数据写到磁盘中
  • 目前的 shutdown/reboot/halt 等命令均是已经在关机前自动进行了 sync (最好主动输入一遍)

5. 用户管理

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

5.1 登录和注销


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

  2. 在提示符下输入 logout 可以注销用户

注意:

  • logout 注销指令在图形运行级别无效,在**运行级别3(非图形界面)**下有效
  • 通过普通用户进入 root 后,输入 logout 退回到 普通用户,再输入 logout 退出系统

5.2 添加用户


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

指令:useradd 要创建的用户名(要先到 /home/ 目录下再输入指令)

注意:

  • 在创建之后,会自动创建跟用户同名的家目录,默认创建的目录在家目录 /home/ 下
  • 也可以通过 useradd -d 指定目录 新的用户名,将新创建的用户指定家目录

5.3 指定/修改密码


指令:passwd 用户名

5.4 删除用户


指令1:userdel 用户名(删除用户,但保留家目录)

指令2:userdel -r 用户名(删除用户以及家目录)

注意:

  • 删除用户需要在 root 权限下
  • 一般情况下建议保留家目录,因为里面保存了这个用户的一些资料

5.5 查询用户信息


指令:id 用户名

5.6 切换用户


指令:su - 要切到的用户名

注意:

  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
  • 当需要返回到原来用户时,使用 exit 或者 logout 指令

5.7 查看当前用户/登录用户


指令:whoami 或者 who am i

5.8 用户组


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

这是什么意思呢?我们可以看一张图在这里插入图片描述

我们知道普通的用户不像 root 用户一样拥有所有权限,因此不同的普通用户可能拥有的权限不同,我们可以将拥有相同权限的分成一组,这样有利于对于用户进行统一的管理

新增组指令:groupadd 组名

删除组指令:groupdel 组名

修改用户组指令:usermod -g 用户组 用户名

注意:

当我们新建用户时没用指定用户放到哪个组,就会默认创建和用户名相同的组,并将该用户放进去(可以通过查询用户信息指令,查阅该用户的组)

因此我们如果要在增加用户时指定放在哪个组,可以通过指令:useradd -g 用户组 用户名,但是使用该命令前要先创建用户组

5.9 用户和组相关文件


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

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

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

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

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

2021年Java中高级面试必备知识点总结

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。

本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。

目录:

(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

部分内容:

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

[外链图片转存中…(img-2gQCbDgb-1713530800964)]

部分内容:

[外链图片转存中…(img-netPN0Qn-1713530800965)]

[外链图片转存中…(img-JZbns4Ti-1713530800966)]

[外链图片转存中…(img-Kd2vxCvn-1713530800967)]

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值