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

Linux学习心得问题整理(二)

day05 Linux基础入门

Linux语法解析

  • 如何理解ssh远程连接?如何使用ssh使用远程连接服务?

    ssh进也称远程服务终端,常见连接方式可以包括windowsLinux两种方式

请添加图片描述

首先咱们使用windows窗口进行连接,这里就采用xshell连接工具来给大家做演示吧!!!!!

请添加图片描述

首先分析一下ssh语句:这里必填项包括user(用户名)、host(主机名)、port(端口)

请添加图片描述

# 这里以我vm的虚拟机作为server使用dos进行远程连接服务
ssh root@10.2.53.5 22    #22代表xshell 工具端口,默认可不指定

请添加图片描述

Linux本机服务的远程访问

通过NAT技术创建了两个本地局域网网卡信息

请添加图片描述

这里在Linux中指定端口的方式与windows方式会有所不同

ssh root@10.2.53.5 22       #windows中Dos环境下
ssh -p 22 root@10.2.53.5    #Linux中bash环境下

使用exit可以退回到上一次访问的用户,logout则是注销本地用户登录,这两者都可以很好的退出本都远程会话。

请添加图片描述

  • 图形化界面和命令行终端概念?

图形化界面好比我们如今使用的windows操作系统,能让我们更直观的操作和使用os;而命令行终端能则是让我们更好的对命令执行批处理操作,网络管理、性能优化,服务搭建。

  • 如何对主机名进行修改(hostnamectl)?

    1)首先查看一下本机hostname,发现本机hostname默认情况是localhost
    请添加图片描述

请添加图片描述

​ 2)然后使用命令修改主机名

hostnamectl set-hostname hxd111

操作成功后结果如图所示:

请添加图片描述

Linux 区别

  • 严格区分大小写文件

    在windows如果我们创建两个文件名相同的文件而字母大小不同的文件时这时系统就提示我们有重复文件,而在Linux中则刚好与这种情况 恰恰相反,但是在我们严格上来说就需要采用字母小写来给文件命名,一般采用下划线命名法。
    
  • linux的命令返回结果是通过命令来与客户端进行交互的

    思考:为什么说是Linux命令与客户端是交互呢?

    首先我们需要明确的是Linux是运行在bash解释这器上,而bash解释器肯定也是在一个全局域中,那么肯定存在一个类似与PATH环境变量的东西

请添加图片描述

之后我们通过find命令发现ls命令位于/usr/bin/目录下

请添加图片描述

由于我们系统自动给我们部署环境了,所以简化了多路径书写情况

请添加图片描述

诸如此类情况我们还遇到了cat、ls、mkdir、touch...命令后面都会谈到,使用了这些命令才完成os系统交互效果

  • 如何查看网络信息,我们又该如何理解这部分内容

    我们要与服务器建立网络通信,必然会涉及到网络连接,那么网络连接方式主要从桥接模式、NAT模式、仅主机模式三个方式展开分析。

请添加图片描述

详细情况可以看看图解:

请添加图片描述

谈到网卡,就会想到一个常见网卡配置路径vim /etc/sysconfig/network-scripts/ifcfg-ens33ifconfig命令解释

先解释一下ifcfg-enss文件:

请添加图片描述

再解释一个网卡命令ifconfig

请添加图片描述

虚拟网卡就是机器上识别网络驱动信息,这里面inet信息就是IP信息,netmask则是子网掩码,主要起到了限制访问设备的作用,就比如这里的255.255.255.0就仅仅是针对局域网内只限制255台设备,后面的b这扇roadcast就是我们的网关,好比一扇通往异世界的大门,我们只有在这个异世界传送区域内我们才可以进入这扇大门lo(本地回环地址):用与本地机器环境测试、一般情况下只能在宿主机自己的机器环境内访问
  • echo命令使用技巧常见注意事项

使用echo命令向文件中追加内容

echo "hello world"> /tmp/a.txt

这里的’>'代表的是追加内容,它有覆盖文本原先内容的效果,而如果使用‘>>’即代表向文本后内容进行追加

请添加图片描述

echo还能打印输出语句内容,我们能通过它打印系统环境内置变量,就好比这里的$LANG我们将其打印出来就是就是系统解释器统一语言

请添加图片描述

echo还有一个易错点针对双引号和单引号都有着属于它自己的语法,在双引号的 情况下,通常会将特殊字符进行转义,而单引号无论是否含有特殊字符都会以字符串的形式将其结果打印出来,通过使用双引号让最后结果重复了4次
请添加图片描述

  • 针对Linux文件后缀名你如何看待? 常见的后缀有哪些?

    Linux文件后缀包括.png、.mp4、.py、.java、.html、.css、.js、.tar、.tar.gz文件后缀,这些后缀在Linux看来都是以普通文件的格式存在,在文件表示以-来表示,在Linux系统内部通常会在系统内置环境中来设置从而进行调整,而文件夹格式的文件通常以d来表示

如何理解Linux中一切皆文件概念

这里以硬盘为例给大家解释一下,在虚拟物理器件中我们可以清晰的发现该设备有三块硬盘,然而我们在虚拟机os系统通过命令方式查询到了文件系统的相关信息,并且能通过挂载,使得我们更容易使用硬盘来进行文件存储

请添加图片描述

以下为详细软硬件工作原理图(列举了硬盘、网卡设备进行了分析):

请添加图片描述

Linux 挂载是什么?我们为何需要挂载?

tips:磁盘分区图解过程(linux分区与目录的绑定、磁盘访问目录、硬盘需要通过分区格式化挂载之后才能正常使用)

LINUX磁盘挂载之后,会将分区与目录实现绑定,从而在很大程度上提高了硬盘使用率,使得我们更好的管理好文件系统

请添加图片描述

绝对路径和相对路径的区别

绝对路径即一个完整路径(一定是从根目录开始查找该文件)、相对路径即从你所在目录为相对路径的前提,向上或下去查找你的目标文件,比如我现在位于/tmp目录,那么如果我现在需要去访问该目录下a.txt文件

  • 绝对路径: cd /tmp/a.txt 第一个‘/’代表根目录,而第二个以及后面的‘/’都表示目录分隔符
  • 相对路径(表示方法很多): cd ./a.txt 、cd …/tmp/a.txt 、cd a.txt 、cd ~/tmp/a.txt
cd ./a.txtcd …/tmp/a.txtcd a.txtcd ~/tmp/a.txt
以当前目录为根据目录访问下级
下级目录是否存在a.txt文件
返回至本目录的上一级目录
然后从tmp目录向下切换到一个
名为a.txt目录下
由此时路径已经存在与/tmp目录下,后面只需相对与本路径进行填写下个路径即可这个是绝对路径特殊表达这里的~好比/home目录是等效的

补充:下面针对其特殊符号做相关解释

特殊符号~-.
解释/home目录与上个命令实现来回切换本地所处目录

常见命令用法

  • uname -a、man、history、clear

请添加图片描述

  • 压缩文件(tar、tar.gz、zip)

请添加图片描述

常见重要目录有哪些?

/root、/etc、/var/log、/home、/opt详细情况如图分析:

请添加图片描述

Path环境变量作用(which)

which 命令即查看目录存放的原始环境路径(根据$PATH环境变量分析)

which [command]

请添加图片描述

day06 文件管理操作练习

有关dns域名解析的关系

dns域名解析服务在windows 存放于C:\Windows\System32\drivers\etc\hosts文件下,默认情况下会先从本机DNS服务中查找是否有与域名解析服务相关的域名,然后再才会从你所配置外外部dns服务商去查外部服务

常见的DNS域名解析服务器有:

国际DNS域名服务商:116.116.116.116
百度DNS:180.76.76.76
阿里DNS(首选DNS:223.5.5.5• 备选DNS:223.6.6.6)

图解过程参考过程如下:

请添加图片描述

针对文件创建、复制、移动、删除常见命令以及使用注意事项

  • 目录创建mkdir (mkdir

1.在文件创建过程中我们可以一次指定多个文件进行创建(mkdir dir1 dir2).

2.可以混合采用绝对路径和相对路径来创建多个目录,用法同1(只不过将dir1 和dir2换成了文件的路径)

3.如果想要递归创建文件目录需要引用-p选项来创建

  • 文件创建touch(touch)

    1.语法格式:touch txt1 txt2 …

    2.可以递归在多个目录下创建多个文件

  • 文件复制cp

1.cp 语法格式为【 cp 原文件 目标文件】,它不仅仅可以完成文件的复制也可以完成目录的复制

2.通常情况下如果需要进行文件目录的复制那么就常常需要加入-R选项完成目录的复制

  • 文件移动mv

    1.mv命令格式为 mv 源文件 目标文件

    2.主要分以下几种情况做出具体解释:

    如果目标文件存在的前提下,即进行操作就是`重命名并覆盖文件内容`操作
    如果目标文件不存在的情况下,那么进行的操作就是`移动`操作
    如果目标目录存在的情况下,那么进行的操作就是进行目录`重命名`操作
    如果目标目录不存在情况下,那么进行的操作就是移动至该目录的子目录下
    
    • 文件删除rm

    1.删除空目录(rmdir)

    rmdir 空目录     #注意:目录下不能有内容否则会报错
    

    2.删除文件也可以删除目录(rm)

    rm [-r -f] 文件目录
    ### -r 递归文件删除其内容
    ### -f 强制删除文件内容(无提示)
    

Vim文本编辑器工作原理是什么?有哪些常见的快捷使用方式

vim工作原理如图所示我们所使用的记事本,但在这里面主要分为三块命令模式、编辑模式、底行模式

请添加图片描述

常见的快捷模式简要概括为复制、删除、block块模式批量选择、文本替换、显示行号、撤销、恢复、向上下两行进行查找内容

复制删除block进行批量选择文本搜索文本替换显示行号撤销和恢复向上下两行进行内容查找
yy(复制文本)—>p(粘贴)ddctrl +v(进入)/(text内容)文本替换s/原内容/替换内容/g,后面的g内容即代表替换全局内容:set nu撤销:u,恢复:ctrl +r向下n、向上N

别名命令是什么?应该如何使用

别名的命令为alias、语法采用的是alias 别名目录=命令,通常情况用于命令快捷查询。

我们通过查看alias命令可以发现默认已经设置别名的命令

请添加图片描述

这里我自定义了lg别名 ,lg就是输入“ls -l /var/log”命令

 alias  "lg= ls -l /var/log"

请添加图片描述

day07 文件的搜索与读取

cat命令

  • cat查看文本文件内容,例再去如cat a.txt,这里就不需要我们再使用vim进入目录再去查看了

  • 当然如果只知道cat 只能查看内容那样就会显得太片面了,我们如果所想要查看其行号那就要加上-n选项,这里通常需要结合我们正则表达式grep进一步进行解释

     cat /usr/local/nginx/conf/nginx.conf | grep  '^#'
    

请添加图片描述

  • echo中有一个文件追加的情况,在cat里面中我们同样也有这种说法,比如’>‘代表输出内容到文件,如果有内容会覆盖其原内容,’>>‘代表追加相反来说也有’<‘和’<<‘符号情况
[root@hxd111 ~]# cat >> a.txt << EOF
> HI!!!!!
> 6666
> 追加内容
> EOF
[root@hxd111 ~]# ls a.txt
a.txt
[root@hxd111 ~]# cat a.txt
HI!!!!!
6666
追加内容

请添加图片描述

tail命令

tail文本末尾追踪符号,命令形式为tail -F 命令,下面是两个常用的命令项-f,-F,他们效果等效的

 -f, --follow[={name|descriptor}]output appended data as the file grows;an absent option argument means 'descriptor'-F                       same as --follow=name --retry

请添加图片描述

如果单独来看不加其他选项仅显示末尾后5行内容,而这里的命令tail -n1 a.txt代表最后一行内容

请添加图片描述

与之相对的还有一个命令head,它显示的是目录前几行内容,比如haed -n1 a.txt

请添加图片描述

du命令

简单来说它的英文表达是"dictory usage ",里面会显示要目录占用情况

du -a  【文件目录 || 文件】    #显示文本所有文件信息

请添加图片描述

du -h 【文件目录 || 文件】   #自动显示文本文件大小信息

请添加图片描述

wc命令

wc英文名的缩写是’word count‘,它记录了文本文件单词数以及文本文件的行数显示

  • wc -l 文本文件的总行数

请添加图片描述

  • wc -c a.txt || wc -w a.txt,-c选项代表所有的字符数,而-w选项代表单词数

请添加图片描述

find命令

find  文件所在地  【-mtime +-(+代表大于符号-代表小于符号)】 【-type d | f】 [-size 指定文件大小] 【-name 搜索文件名】 
  • find / -name a.txt 从根目录开始搜素一个tmp目录下是否一个名为a.xt文件

请添加图片描述

  • find / -type d -name b00,这里-type d指定了只能是目录类型,f指定了普通文件类型

请添加图片描述

  • find / -type f -name a.txt -mtime -5 -size -5M,这个命令表示查看一个名为a.txt的文件,指定的时间范围小于5天,大小要求小于5M,搜索类型为普通文件类型

请添加图片描述

grep用法以及结合xrags如何使用?

如果说我们需要对我们使用命令搜索结果想要通过xrags 进行查看应该采用何种方式呢?

这里给大家列举两个例子:

需求:我们只是通过find命令搜索到了一个名为a.txt名字的文件,但是并不知道文件占用空间大小的情况

find  / -type f  -name a.txt -mtime -5 -size -5M | xargs -i du -sh {}

请添加图片描述

注意:此命令只能针对于文件搜索,而不能去搜索文本信息使用文本信息需要采用grep结合管道符进行搜索,或者我们也可以使用s/被替换信息/替换信息/g

需求:筛选只位于/tmp目录下的a.txt文件

请添加图片描述

如何调整和查看文件修改时间状态信息

  • touch -d ‘times’ -m ’ file_name’(更改文件时间为创建时的时间)
-d, --date=STRING      parse STRING and use it instead of current time
-m                     change only the modification time

命令格式:touch -d ‘2025-5-20 16:29:55’ -m /tmp/a.txt

请添加图片描述

  • date -s “timestamp” 更改时间戳

    date -s "2025-5-20 5:20:00"
    

请添加图片描述

day08 用户管理篇

什么是用户管理?用户相关的配置文件是什么?

  • 用户管理:主要分为普通用户(user)和超级用户(root)两类,用户种类主要分为两类用户和用户组,用户useradd ,用户组groupadd

  • 管理用户相关配置文件有/etc/paasswd ,/etc/group

    具体分析一下见图解

    (这是/etc/passwd文件):

请添加图片描述

(这是/etc/group文件)

请添加图片描述

用户管理命令有哪些?(用户和用户组修改和删除)如何进行查看以及它的创建过程又是什么样的?

用户管理命令:useradduserdel,usermod

# 语法
useradd [-gGSu] 用户名
useradd -g[指定gid]  -G[指定用户组名]  -s【指定shell】 -u[指定uid][root@hxd111 ~]# useradd -g 1000 -s "/sbin/nologin " aaa
useradd: Warning: missing or non-executable shell '/sbin/nologin '
[root@hxd111 ~]# id aaa
uid=1001(aaa) gid=1000(hhh111) groups=1000(hhh111)

请添加图片描述

# 示例
useradd -g 1000 -s "/sbin/nologin " aaa

请添加图片描述

userdel,usermod(用户删除及修改)这个选项添加与useradd效果一样

usermod -u 【uid】 -g [gid] username 

请添加图片描述

userdel usr1 usr2....

请添加图片描述

用户查看:id 【指定用户名】

查询的用户主要由uid,gid,groups三部分组成(这里面一方面指明了用户组的关系,另一方面也能指定用户是否创建成功)

请添加图片描述

用户组管理命令:groupadd,groupdel,groupmod

greoupadd 主要有两个重要选项,-g选项为指定gid,-U选项为指定用户有哪些用户

请添加图片描述

groupmod 主要用于修改目录组相关信息,这里重点说一下-U选项

请添加图片描述

用户通常会归为用户组进行管理,这样能更方便的完成后期权限统一管理

用户组中主组和附加组的区别?

主组中如果还有附加组存在,那么直接删除主组会提示删除失败,如果附加组太多那就直接删除其用户,本质上还是并不会影响到其他用户

主组(hhh111),附加值(gp1)

请添加图片描述

用户的创建过程以及涉及到的配置文件有哪些?

  • /etc/passwd:记录了用户相关数据信息
  • /etc/shadow:记录了用户密码的数据
  • /etc/group:记录了用户名与组相关信息
  • /etc/gshow记录了新增群组相关的密码信息
  • 自动创建用户家目录,默认在/home 目录下,如/home/user1

新建用户,如果需要设置密码有哪几种方法?

交互式设置密码

passwd username

非交互式设置密码 --stidin

echo "111111"  | passwd --stdin  username

用户使用记录命令额外补充

whoami 打印当前用户名

显示所在登录用户的用户名

请添加图片描述

who 显示登录用户的终端信息

  • 只有本地终端炼金
    请添加图片描述

  • 多终端连接

请添加图片描述

w 显示系统登录用户信息及负载信息

请添加图片描述

last近期登录终端信息(last -5)

请添加图片描述

lastlog 显示关于用户登录记录

请添加图片描述

sudo提权管理

采用visudo 编辑器是因为它不仅提示检测功能还有语法报错提示

使用命令 vim /etc/sudores

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

指定哪些用户能够sudo权限

请添加图片描述

wq退出,让其权限在用户中生效

source .bash_profile     #设置bash_profile全局环境变量
source .bashrc           #设置用户配置变量生效    
http://www.xdnf.cn/news/555175.html

相关文章:

  • 工业智能网关在工业锅炉安全监控中的组网配置指南
  • C++ QT 与 win32 窗口可以互操作
  • HarmonyOS5云服务技术分享--ArkTS开发函数
  • SpringBootDay1|面试题
  • 环特生物董事长汤珣、执行总经理张勇赴白云美湾国际化妆品研究院集群考察调研
  • ES6核心特性与语法
  • HarmonyOS5云服务技术分享--ArkTS调用函数
  • DAY 30 超大力王爱学Python
  • 2025最新的自动化测试面试题【答案+文档】
  • protobuf原理和使用
  • 接口测试速成指南:基础知识+工具使用全解析
  • 如何使用通义灵码提高前端开发效率
  • 2W+安全事件警示:10次数据泄露,6次与“人”有关
  • GESP2024年12月认证C++二级( 第三部分编程题(1)寻找数字)
  • [python] 轻量级定时任务调度库schedule使用指北
  • 阿里云百炼(1) : 阿里云百炼应用问答_回答图片问题_方案1_提问时上传图片文件
  • 一文深度解析:Pump 与 PumpSwap 的协议机制与技术差异
  • 如何理解大模型的幻觉输出及RAG技术的应用与实战案例
  • 批量替换文字
  • ArcObjects学习教程
  • JAVA基础——输入输出和运算符
  • 迪杰斯特拉
  • RGB-D数据集汇总(2025年05月更新....)
  • 差动讯号(2):奇模与偶模
  • Python日志功能的使用
  • vue+three.js 五彩烟花效果封装+加载字体
  • AI一周事件(2025年5月13日-5月19日)
  • 外部因素导致的 ADC误差来源分析
  • 苍穹外卖04 新增菜品菜品分页查询删除菜品修改菜品
  • C语言经典面试题及答案100道