Linux新手入门指南【无痛入门,简单快捷】

Linux新手入门指南

本篇博客为Linux基础基本为零的人临时抱佛脚所用,所以内容简略,但是全部为常用命令和常用应知。

考虑到有人会考虑版本问题,所以我在此主要使用centos7.6版本,如有版本不同导致的内容修改,我会在后续内容中添加并修改。【补充,如何你使用的是centos7.0、7.1,rehl7.0等等版本,请不要认为他们发行版本或者更新版本不同,就认为不通用,这是错的,无论什么版本,一样可以用,centos就是免费版的rehl,没什么不同的。】

指南大纲

  1. Linux文件系统结构

  2. Linux命令的基础格式

  3. 如何远程连接Linux虚拟机

  4. 认识基础命令含义

  5. 如何安装软件包

Linux文件系统结构

可能会好奇,我是来学命令的,你给我讲结构是什么意思?

很简单,当你简单理解Linux文件系统单根倒树状结构的时候,你在下一章节Linux命令的基础格式里便可以如鱼得水。

我们都知道windows有C盘、D盘、E盘,甚至还有ZHFY等等一系列名称,但是他们归根结底也是文件系统

从上图中,我们可以看到多根倒树状结构,这是属于windows的文件系统,如果我们想找csgo文件夹,那我们应该去哪里找?是不是E盘,但是我如果想找host文件夹,那我是不是又要去C盘找?我们有很多文件夹分别存放在不同的盘下,所以是多根,倒树怎么理解,你把这个图倒过来看,是不是就是C盘上长了三个文件夹?倒着的树就是倒数。

那么Linux的结构是什么样子的呢?

我们可以看到,这里只有一个” / “ 这是啥?敲错了吗?不是这个就叫根,Linux一切的文件都在 / 之下!不可能有人比根大!

Linux命令的基础格式

为什么我们要在这里先介绍Linux的命令格式?不应该很简单吗,不就是【命令+选项+参数】,比如

cp -a /etc/passwd   /opt/passwd 

什么意思?这句命令还有讲究吗?有。

cp  /etc/passwd /opt/passwd  -a 

嗯?格式不应该是【命令+选项】吗,为什么选项排到参数后面去了,这是什么原理?

其实在Linux命令中,选项与参数并不是所有的都是固定的,使用者可以自由发挥,可以按照个人习惯来使用并敲打命令。

接下来让我们看一下每条命令的开头,这是个什么玩意?

[user@localhost ~]$

拆分一下:

  1. user: 当前登录系统的用户
  2. localhost: 当前主机的主机名
  3. ~ : 当前你所在的目录位置,切记!如果为 “~“ 那么你一定在当前登录系统的用户的家目录 , 什么是家目录?就是你用户保存文件的位置,除root用户以外,所有用户的家目录都在/home目录下,只有root在/root目录。
  4. $: 可以理解为权限的提示词 ,$普通权限 ,#root权限

当我们了解了基本信息,我们来一手变量

[root@localhost opt]#

这个,我们怎么理解?

root 是我们登录当前系统的用户

localhost是我们的主机名

opt是什么?这里不应该是~吗? opt是目录,你看到这个位置上出现任何英文单词都不要奇怪!目录的名字是千奇百怪的!你只需要记住,这里就是你当前所在的目录位置,比如你插U盘,去找小视频,你是不是要进入到目录里面?你是不是要点开?那就是你目录位置的变化,也就是我们后续要讲到的命令 ”cd“

: root用户权限,请记住,你不论操作什么,最好在root用户下操作,因为root用户有全部的权限,他是超级管理员

如何远程连接Linux虚拟机

远程连接Linux虚拟机,一听到这句话,第一件事想什么?配网络!

配置网络

当你配置网络的时候,请先查看你控制面板的网卡,他的ip是不是169.254开头,如果是!请重置虚拟网络编辑器。

光看文件不会怎么办?没事,我们有图片。

2024-11-15_083403

2024-11-15_083444

2024-11-15_083504

2024-11-15_083522

2024-11-15_083557

当我们看好ip后,我们可以干什么?配置网络

在这里我们使用两种方式来配置网络

network-7版本及以前

也许我们只说一个network,你无法理解是什么?一句话,改配置文件

[root@localhost opt]# cd /etc/sysconfig/network-scripts/

什么意思?进入到这个目录下,这个目录是什么?他存放着我们network的网卡配置文件。

【如果你不记得目录名字,那么请使用你键盘上的tab键,他可以自动不全,如果没有不全,连续按两次,就可以看到多个文件,自己选即可】

网卡配置文件,以ifcfg开头

[root@localhost network-scripts]# vi ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="a215d407-b957-4262-8c20-f6bf2d15f357"
DEVICE="ens32"
ONBOOT="yes"

一看,这么多配置文件,我该怎么改???

不要着急,一句话,不要的都删掉

TYPE="Ethernet"
BOOTPROTO="dhcp"    DHCP分配,如果手动修改要改为none
DEFROUTE="yes"
NAME="ens32"
DEVICE="ens32"
ONBOOT="yes"      一定要为yes

只需要留这6行就够了

那么我们怎么添加我们想要的配置呢?

TYPE="Ethernet"
BOOTPROTO=none
DEFROUTE="yes"
NAME="ens32"
DEVICE="ens32"
ONBOOT="yes"
IPADDR=192.168.96.100   请注意,此处的ip请按照你的虚拟网络编辑器的网段来
DNS=192.168.96.2         如果不知道DNS怎么填?GATEWAY怎么填,DNS怎么填,但请记住,GATEWAY一定是.2结尾!!!
GATEWAY=192.168.96.2
NETMASK=255.255.255.0     固定值,只填255.255.255.0

在我们修改好配置后 :wq!退出配置文件,执行以下命令

systemctl restart network

如何查看是否修改成功呢?

ip a

NetworkManager-8版本及以后

这名字,一看很长,可能你会想,我不会,那么他是什么呢?

如果我们不用NetworkManager这个名字跟你讲,我们用nmtui 和nmcli跟你讲呢?

是不是瞬间熟悉起来了。

nmtui 图形化修改网络配置文件

nmcli 手动修改网络配置文件

这里我只讲nmtui,nmcli的配置过程对急速入门的同学不是很友好。

2024-11-15_085433

2024-11-15_085440

看到这里,是不是非常熟悉,这是DHCP默认的配置文件,那么如何修改成手动配置?

以上就是我们要修改的所有步骤,修改完成,退出即可

nmcli  c reload
nmcli c up 网卡名   【网卡名是什么?看见图片上面第一行蓝色框框里面的ens32了吗,那就是网卡名】

执行上述两条命令后,即可将网卡配置文件生效,然后我们就可以开始远程连接了

远程连接

这里我们使用xshell连接,由于我没有较新版本的xshell,所以我这里使用xshell6来操作,但大体步骤是一致的。

2024-11-15_090316

2024-11-15_090356

2024-11-15_090405

2024-11-15_090415

到此,我们即可远程连接成功。

认识基础命令含义

在本章节中,我们将列出常用的命令,由于很多命令其实是有相同的效果的,所以我们这里不同情况分别只列出一到两个命令。

创建命令

touch

创建一个文件,他的名字叫file1

touch   file1
mkdir

创建一个目录,他的名字叫dir1

mkdir   dir1

然后就没了,没错,创建就这两个命令,我们只有一点需要补充,如果你要创建多级目录怎么办?

mkdir   -p  /opt/aaa/bbb/ccc

我们已知,我们拥有opt目录,那么aaa/bbb/ccc是我们没有的,你单独使用mkdir是无法创建的,因为他只会说ccc没有父级目录

所以我们要加上-p的选项

文件复制命令

cp

cp是什么?简单理解,复制粘贴集合为一体的命令

cp  /etc/passwd /opt/passwd

什么意思?我们将/etc目录下的passwd文件,复制到了opt目录下,他还是叫passwd

很简单,没了

如果你担心权限问题,复制的时候 -a

cp -a /etc/passwd /opt/passwd 

完整的复制该文件

文本查看命令

ls

我们刚刚创建了一个file1 和一个 dir1 ,那么我们如何查看呢?

ls   file1
ls   dir1

通过ls这条命令,我们可以看到我们创建的目录和文件,那么我们能不能不接上文件名和目录名,只用ls呢?

ls

可以,他会列出你所在目录的所有文件和目录

那么他有什么选项呢?

-a  查看当前目录所有的文件和目录,包括以.开头的隐藏文件
-l  列出文件和目录的详细信息

只看选项,能不能联想到如何使用呢?

ls -a file1
ls -l file1
ls -al file1 
ll file1 
ll -a file1

以上五条都是ls 极其选项的使用方法,那么其中的ls 突然变成了 ll 是为什么?

ls -l 可以缩写成ll 

我们已经学会了如何查看当前目录的文件,那么如何查看文件的内容呢?

cat

cat可以帮我们列出我们文件里面的内容,可以让我们看到我们在文件里面编辑的内容

cat  file1

但是cat后面不可以接目录!

文本编辑命令

vim和vi

为什么这里要讲vim 和vi 呢,因为由于最初选择mini安装或者GUI安装的时候会导致的不同,最小化安装是默认不安装vim软件包的,所以在日常编辑文件的时候,我们想用vim打开一个文件是不可行的,但是我个人推荐在安装好仓库以后,下载一个vim,他打开文件的时候是有一个高亮显示的。

vi  file1
vim file1

进去以后,移动光标到你想要编辑的位置,按” i “,小写的字母 i ,这可以让我们进入插入模式编辑内容,如果要退出,按键盘上的Esc键,即可退出插入模式,那么如何退出文件呢?

:wq!
:wq 

直接敲以上任意一条都可以退出文件,但是如果遇到:wq无法退出的情况,请加!

移动命令

这里的移动命令,我们讲两个,一个叫mv 一个叫 cd

mv
mv /etc/passwd /opt/

mv可以将/etc/passwd文件直接从/etc目录下,移动到/opt目录下,移动?

就是将苹果篮里面的一个苹果从篮子里面拿出来,送给了别人,存在的位置发生了变化,并且是物体的移动,并不是复制粘贴

那么如果是这样呢?

mv /opt/passwd /opt/passwd-1

这是什么意思?一样的目录啊?

我们可以看到passwd 到passwd-1 的变化,这像什么?

改名字! 如果路径一致,但文件名发生了变化,就是改名字!这是死的,不可能变化。

[!IMPORTANT]

只要是目录一致,文件名不同,那他就是改名字

cd

这个命令也是移动的意思,不过不是文件和目录的移动了,他是你个人的移动

cd /etc/   

这是从当前目录移动到/etc/目录

那么我如果想回到我的家目录【~】怎么办?

cd

只打cd 两个字就可以了

如何安装软件包

安装软件包?首先想什么?配置仓库!这是定理,不可修改的定理!

在这里我们将列举两种仓库的配置方式

  • 本地仓库
  • 网络仓库

本地仓库

本地仓库是什么?就是从你的镜像文件中读取软件包内容,那么我们该如何操作?

  1. 查看是否连接
  2. 创建挂载目录
  3. 配置repo文件
  4. 挂载目录

在已经连接成功了就可以执行以下操作

创建目录

mkdir /mnt/cdrom

这里为什么是/mnt/cdrom呢?

个人习惯,这个目录创建在哪都无所谓,但是一定要记得路径,不然后续编写repo文件的时候报错

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]#

看见上述命令了吗,原封不动的操作就可以了,为什么我要用rm -rf * 全部删除呢?嫌麻烦,不想备份直接全部删除。

编写repo结尾的配置文件

vim dvd.repo

这里如果是centos7版本,则是

[dvd]
name=iso
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

如果是8及以后版本

[BaseOS]
name=BaseOS
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=0

注意看这里的/mnt/cdrom 是不是我们刚刚创建的那个?

如果是的在我们执行下述命令后,我们将可以正常使用仓库

[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd                                                                                                                                                          | 3.6 kB  00:00:00
(1/4): dvd/group_gz                                                                                                                                          | 166 kB  00:00:00
(2/4): dvd/filelists_db                                                                                                                                      | 3.2 MB  00:00:00
(3/4): dvd/primary_db                                                                                                                                        | 3.1 MB  00:00:00
(4/4): dvd/other_db                                                                                                                                          | 1.3 MB  00:00:00
Metadata Cache Created

看到加载的缓存,ok,我们配置完了,可以正常下载软件包了。

网络仓库

网络仓库,顾名思义,使用的是网上的资源,简单理解,我们将网上的软件包的路径全部保存在本机上,下载的时候,电脑通过路径自己去搜索软件包。

那么我们如何配置呢?

打开浏览器,阿里云镜像站

2024-11-15_095736

根据自己的版本选择即可,然后复制粘贴,即可使用网络仓库。

posted @ 2025-04-25 14:09  super派大星  阅读(154)  评论(0)    收藏  举报