Nrich's blog Nrich's blog
首页
  • Java
  • Golang
  • 深度学习
  • Git
  • Linux
  • DataStructure
  • CloudNative
  • Redis
  • MySQL
  • 路由劫持
GitHub (opens new window)

Nrich

小聪明
首页
  • Java
  • Golang
  • 深度学习
  • Git
  • Linux
  • DataStructure
  • CloudNative
  • Redis
  • MySQL
  • 路由劫持
GitHub (opens new window)
  • Git

  • Linux

    • 韩顺平2021课程笔记

      • Linux 基础篇
        • 1. Linux入门
        • 2. VM 和 Linux 的安装
          • 2.1 虚拟机的使用
          • 2.1.1 克隆
          • 2.1.2 快照
          • 2.1.3 迁移和删除
          • 2.2 网络连接的三种方式
          • 1)桥接模式(张三)
          • 2)NAT 模式(王五)
          • 3)仅主机模式(李四)
          • 2.3 vmtools
          • 2.3.1 vmtools 的安装
          • 2.3.2 主机与 VM 共享文件夹
        • 3. Linux 的目录结构
          • 3.1 基本介绍
          • 3.2 具体的目录结构
          • 3.3 文件目录的相关指令
          • 3.3.1 *pwd
          • 3.3.2 *ls
          • 3.3.3 *cd 切换到指定目录
          • 3.3.4 mkdir 创建目录
          • 3.3.5 rmdir 删除目录
          • 3.3.6 touch 创建空文件
          • 3.3.7 *cp 拷贝
          • 3.3.8 *rm 移除文件或目录
          • 3.3.9 mv 移动(文件/目录)或重命名
          • 3.3.10 cat
          • 3.3.11 more
          • 3.3.12 less
          • 3.3.13 echo 输出内容到控制台
          • 3.3.14 head 显示文件开头部分
          • 3.3.15 tail 显示文件结尾部分
          • 3.3.16 > 和 >> 重定向
          • 3.3.17 ln 创建软链接
          • 3.3.18 history
        • 4. 远程登录到 Linux 服务器
      • Linux实操篇(上)
      • Linux实操篇(下)
      • JavaEE与Python定制篇
      • 大数据定制篇-Shell编程
    • From公众号

  • 数据结构

  • 云原生

  • 基础
  • Linux
  • 韩顺平2021课程笔记
Nrich
2022-04-09
目录

Linux 基础篇

# 1. Linux入门

最新 Linux 源码下载:The Linux Kernel Archives (opens new window)

Linux 和 Unix 关系图:

image-20220409104446171

# 2. VM 和 Linux 的安装

# 2.1 虚拟机的使用

# 2.1.1 克隆

如果已经安装了一台 Linux 操作系统,并还想要更多的,这时没必要重新安装,只需要克隆就可以了:

  • 方式1:直接拷贝一份安装好的虚拟机文件
  • 方式2:使用 VMware 的克隆操作。注意,克隆时要先关闭要克隆的这台 Linux 系统。

# 2.1.2 快照

快速恢复到快照时的运行状态。

# 2.1.3 迁移和删除

虚拟系统本质就是文件。迁移只需要文件夹的整体拷贝或剪切到另外位置。删除可以直接删除对应文件夹即可。

# 2.2 网络连接的三种方式

image-20220409110301477

张三、李四、王五三人此时在同一个网段下(都是192.168.0.X),他们可以进行相互通信。

# 1)桥接模式(张三)

在桥接模式下,虚拟机 IP 地址需要与主机在同一个网段,给虚拟系统再分配一个本网段的 IP。虚拟系统可以和外部系统通讯,但这容易造成 IP 冲突。

# 2)NAT 模式(王五)

NAT 模式,就是网络地址转换模式。虚拟系统可以和外部系统通讯,不造成 IP 冲突。此时192.168.0.50 是个代理,虚拟系统只是通过代理来和外部进行通信,但是外部无法直接访问到192.168.100.88 ,所有右侧只有一个箭头。

# 3)仅主机模式(李四)

一个独立的系统,不和外部产生联系。

# 2.3 vmtools

vmtools 可以让我们在 Windows 下更好的管理虚拟机,比如可以设置 Windows 和 Centos 共享文件。

# 2.3.1 vmtools 的安装

  1. VMware 上方 虚拟机 -> (重新)安装 VM tools
  2. 桌面上出现一个 VMware tools,打开里面有个 xxx.tar.gz,将其拷贝到 /opt
  3. 使用解压命令 tar -zxvf xx.tar.gz 得到一个安装文件
  4. 进入该安装文件夹里面,执行命令 ./vmware-install.pl 进行安装,安装过程全部回车默认即可,直到安装完成。

注意点:

  • 安装过程需要有 gcc, gcc -v查看版本。
  • 第一步的点击 (重新)安装 VM tools 后可能没有反应,只需要取消一下再重新点一下即可。

# 2.3.2 主机与 VM 共享文件夹

  1. 安装 VMtools 后,在 VMware 的 设置 -> 选项 -> 共享文件夹
  2. 在这个界面中,先点击 总是启用 ,然后在下面文件夹中添加需要共享的文件夹
  3. 在虚拟系统中,/mnt 里可以找到共享的文件夹,对其的修改也会同步到主机中

# 3. Linux 的目录结构

# 3.1 基本介绍

Linux 采用层级目录结构,最上层是根目录 /。

在 Linux 世界里,一切皆文件。

# 3.2 具体的目录结构

目录 说明
/bin 或 /usr/bin、/usr/local/bin。Binary 的缩写,存放着最经常使用的命令。
/sbin 或 /usr/sbin、/usr/local/sbin。s —— Super User,存放着系统管理员使用的程序。
/home 存放普通用户的主目录,每个用户有一个自己的目录。
/root 系统管理员的主目录
/lib 系统开机所需要的最基本的动态链接共享库。几乎所有应用程序都需要这些库。
/lost+found 一般为空,当系统非法关机时这里就存放了一些文件、
/etc 所有的系统管理所需要的配置文件和子目录。比如安装 mysql 时的 my.conf
/usr 用户安装的很多应用程序都放在这个目录下。类似于 Windows 的 program files。
/boot 存放着启动 Linux 时使用的核心文件
/proc 【不能动】。是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息。
/srv 【不能动】。service 的缩写,存放一些服务启动后需要提取的数据
/sys 【不能动】。安装了 2.6 内核中新出现的一个文件系统 sysfs
/tmp 存放临时文件
/dev 把所有设备硬件用文件的形式存储
/media Linux 自动识别的一些设备(如 U 盘、光驱)挂载到这个目录下。
/mnt 让用户临时挂载别的文件系统。我们可以将外部存储挂载到 /mnt 下,然后进入里面查看内容
/opt 主机额外安装软件所存放的目录。如安装 Oracle 就可以放到这里面
/usr/local 这是另一个给主机额外安装软件所存放的目录。这里一般是通过编译源码方式安装的程序。(软件的使用目录,软件安装的目标目录)
/var 存放着不断扩充着的东西,习惯将经常修改的目录放在这里面,如日志文件。
/selinux Security-Enhanced Linux。SELinux 是一种安全子系统,它能控制程序只能访问特定文件。

# 3.3 文件目录的相关指令

# 3.3.1 *pwd

显示当前工作目录的绝对路径。

# 3.3.2 *ls

ls [选项] [目录或文件]

  • -a:显示包括隐藏文件在内的所有文件
  • -l:以单列的方式显示详细信息
  • -h:给人看的

补充知识点:

  • Linux 下,隐藏文件是以 . 开头
  • 命令的选项可以组合使用,无顺序差别,比如 ls 的选项可以组合成 ls -al 或者 ls -la。
  • ls 命令还可以指定一个目录,比如 ls -l /root

# 3.3.3 *cd 切换到指定目录

  • cd ~:回到家目录,若你是 root ,则到 /root;若是 tom,则到 /home/tom
  • cd ..:回到上一级目录
  • cd /usr:切换到 /usr 目录

cd .. 可以连续使用,比如:当前在 /home/tom 下,使用 cd ../../root 即可到 /root

# 3.3.4 mkdir 创建目录

mkdir [选项] 要创建的目录

  • -p:创建多级目录

案例:

  • 创建一个目录:mkdir /home/dog
  • 创建多级目录:mkdir -p /home/animal/tiger

# 3.3.5 rmdir 删除目录

rmdir [选项] 要删除的空目录
1
  • rmdir 删除的是空目录,如果目录下有内容时无法删除
  • 如果需要删除非空目录,应该使用 rm -rf 要删除的目录,-r 递归删除,-f 强制删除

# 3.3.6 touch 创建空文件

touch 文件名

# 3.3.7 *cp 拷贝

cp [选项] src dst

  • -r:递归复制整个文件夹
  • 强制覆盖不提示的方法:\cp,比如 \cp -r /home/src /opt

# 3.3.8 *rm 移除文件或目录

rm [选项] 要移除的文件或目录
1
  • -r:递归删除整个文件夹

  • -f:强制删除不提示,不加此选项时,每删除一个文件都要提示一次

    rm -rf [dir] 一定要灰常小心地操作!!直接删了整个目录了!

# 3.3.9 mv 移动(文件/目录)或重命名

mv old new

  • 可以移动并且重命名

案例:

  • mv cat.txt pig.txt:将 cat.text 重命名为 pig.txt
  • mv /home/src /opt/:将 /home/src 移动到 /opt 下面

# 3.3.10 cat

只能查看不能修改,比 vim 更安全,因此对于重要的文件,建议用 cat 命令。

cat [选项] 文件名

  • -n:显示行号
  • 为了浏览方便,一般会带上管道命令 | more

管道命令:将前一个指令的输出作为后一个指令的输入

案例:

  • cat -n /etc/profile | more :查看 profile 文件内容,可以使用 more 命令的按键进行交互。

# 3.3.11 more

more 指令以全屏的方式按页显示文本内容。常见操作:

操作 功能
空白键 向下翻页
Enter 向下翻一行
q 离开 more
Ctrl F 向下滚动一屏
Ctrl B 返回上一屏
= 输出当前行号
:f 输出文件名和当前行号

# 3.3.12 less

用来分屏查看文件内容,与 more 指令类似,但更加强大。支持各种终端;显示文本时按需加载文本内容,对大型文件效率较高。

查看较大的文件时,更建议使用 less 命令。

常见操作:

操作 功能
空白键 向下翻页
[pagedown] 向下翻页
[pageup] 向上翻页
/str 向下搜索 “str”。n 下一个,N 上一个
?str 向上搜索 “str”。n 上一个,N 下一个
q 离开 less

# 3.3.13 echo 输出内容到控制台

echo [选项] [输出内容]

案例:

  • ⭐️ echo 输出环境变量:echo $PATH,其中 $ 后面接环境变量名。
  • 输出主机名:echo $HOSTNAME

# 3.3.14 head 显示文件开头部分

head 文件 默认显示文件前 10 行内容。

  • -n:指定显示前几行,比如 head -n 5 foo.txt

# 3.3.15 tail 显示文件结尾部分

tail 文件 显示文件最后默认 10 行内容。

  • -n:指定行数
  • -f:实时追踪该文档的所有更新,并打印出来

-f 的作用:

  • 做服务器管理时,需要监控某个文件,比如监控发包、网络的实时变化,可以用这个选项。

# 3.3.16 > 和 >> 重定向

  • > 输出重定向
  • >> 重定向并追加

案例:

  • ls -l > foo.txt:将 ls 的输出覆盖写入 foo.txt 中,该文件不存在时,会自动创建这个文件
  • cat foo.txt > bar.txt :将 foo.txt 内容覆盖到 bar.txt
  • echo “hello” >> foo.txt :将 hello 追加到文件后面

# 3.3.17 ln 创建软链接

ln,是 link 的缩写,创建一个软链接(类似 Windows 的快捷方式),主要存放了链接其他文件的路径。

ln -s [原文件或目录] [软链接名]:给原文件创建一个软链接。

e.g. 在 /home 目录下创建一个软连接 myroot,连接到 /root 目录:

ln -s /root /home/myroot

  • rm 删除的是软链接,不会删除到原文件
  • pwd 查看目录时仍然看到的是软链接所在目录

rm /home/myroot :myroot 后面不要加 / ,否则会视为一个目录

# 3.3.18 history

history 查看已经执行过的历史命令,也可以执行历史命令

  • history:显示所有的历史命令
  • history 10:显示最近使用过的 10 个指令
  • !5:指令历史编号为 5 的指令

# 4. 远程登录到 Linux 服务器

我们这里使用 Xshell 6 和 Xftp 6 来作为远程登录客户端。

Xshell 是用来远程登录服务器并对其进行操作的,Xftp 是用来本地和服务器进行文件传输的。

在虚拟机中使用 ifconfig 查看 IP 地址,ens33就是网卡,在第一部分的 inet 中可以看到 IP。

然后尝试主机与虚拟机能否连通:在主机中用 ping <IP> 测试是否能够成功。

在 Xshell 和 Xftp 中新建会话即可。

Windows 还可以用 FinalShell 作为远程登录工具,免费且相当于Xshell + Xftp 的合体。

编辑 (opens new window)
上次更新: 2022/07/27, 11:28:29
Git的使用
Linux实操篇(上)

← Git的使用 Linux实操篇(上)→

最近更新
01
YAML、Pod、Job、CronJob、ConfigMap、Secret
06-06
02
Kubernetes 的安装与基本架构
06-04
03
初识容器
05-30
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Nrich | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式