Linux操作系统
之前工作中配置,日志之类的用Linux,用得比较少。现在深度学习需要使用Linux环境,重新学一下Linux。
一.OS概述
操作系统和计算机资源是408初试科目,这里不再介绍。
操作系统分类:
- Unix:收费,使用吗,命令操作,一般安装在服务器上面;
- Windows:收费,应用广泛;
- Linux:免费,类Unix,一般安装在服务器上面;
- Mac:收费,苹果公司开发;
- Android:免费,主要智能终端设备。
Linux狭义上值由Linux编写的一段内核代码,广义上是指Linux内核衍生的各种Linux发行版本。
Linux发行版:
- redhat:全球最大的Linux发行厂商,功能全面稳定
- Ubuntu:Linux桌面操作系统做得最好的。
- centOS:被redhat收购
- deepin:国内最好的Linux发行版
二.Linux系统安装
两种安装方式:真机安装;虚拟机安装。
虚拟机比较有名的两个产品:VMware和VirtualBox。
以下所有安装包我会以网盘形式分享到文末。
虚拟机安装:
强调:虚拟机安装后尽量不要卸载。因为安装虚拟机之后安装的依赖比较多,都会写进Windows注册表,在卸载过程中很难卸载干净,导致在下次安装时,很多功能养尤其是网络功能无法正常使用。如果要卸载可以使用一些专业的清理软件,比如cccleaner。
虚拟机安装是傻瓜式安装,要注意安装完毕,控制面板-网络-更改适配器选项,出现VMnet1和VMnet8两张虚拟网卡才算成功。

Linux系统安装:
- 解压人工智能虚拟机;
- 找到解压目录中的node1.vmx,鼠标右键,使用vmware workstation打开;
- 启动操作系统,选择我已移动该虚拟机;
- 数据账号root密码123456;
- 单机登录,进入CentOS操作系统。
如果想从Linux系统切换回Windows系统,可以使用快捷键ctrl+alt。
三.Linux网络配置和连接工具
实际工作中服务器都是放在机房的,我们需要使用远程工具连接。
①配置ip
如果使用随机IP我们再重启或者更改网络环境后,IP会随机变化,需要频繁修改网络连接配置。为了方便学习,我们固定IP。
将虚拟网络编辑器中的子网ip改为88.0,如图。

再点击DHCP设置以下起始和终止ip,

② 配置网关
将来我们这个系统还需要联网,所以我们还需要配置网关信息。


配置完成后可以重新启动虚拟机。
③小补充:获取Linux操作系统ip的命令:
ip a
a是一个参数,代表all,显示所有网卡的ip信息。

在Windows操作系统中,可以远程测试一下这个IP地址是否可以连接(ping命令)。
④聊一聊Linux系统账号
问题:是不是有了IP地址,我们可以连接Linux操作系统了
答:IP只能保障两台计算机互相通信,如果想进行连接,除了有Linux的IP地址以外,还需要一个Linux的账号与密码。
账号一般分为两大类:① 普通账号(如itcast账号) ② 超级管理员(如root账号)
① 普通账号作用:一般可以用于登录操作系统,可以对自己的家目录(文件夹)进行管理
② 超级管理员作用:包括系统管理、所有用户的管理、软件的安装卸载、包括网络的配置等等,都可以通过root超级管理员进行实现。
咱们已经安装好的系统,可以通过itcast或者root账号进行管理。
默认情况下,Linux系统中的两个账号(itcast与root)密码都是123456
在学习阶段,推荐使用root账号进行远程管理。但是操作时一定要特别小心。
问题:如何使用命令从itcast普通账号切换到root管理员账号
答:可以使用su命令
[itcast@node1 ~]$ su - root 密码:输入123456即可(但是输入的字符你看不见) 说明:以上命令的主要功能是从itcast普通账号切换到root超级管理员,要输入密码。 -横岗说明:-横岗在Linux操作系统中代表,切换用户的同时,把当前位置也切换到root管理员的家目录 [itcast@node1 ~] : 波浪线代表itcast的家 [root@node1 ~] : 波浪线代表root的家
⑤安装finalshell远程连接软件
finalshell是一款强大的远程终端连接工具。可以用于远程连接Linux系统,通过远程方式执行命令完成任务。

⑥建立连接
第一步:启动finalshell软件

第二步:单击文件夹图标,如下图所示:

第三步:填入Linux服务器的IP地址、管理员用户名root以及管理员root密码(默认123456)

单击确认,配置完成
第四步:双击CentOS7连接,开始连接Linux服务器

连接成功后,接收并保存秘钥(下次再次发起连接就不需要重复输入账号和密码了)

最终结果:

四.Linux目录结构
1、Linux目录与Windows目录区别
Linux的目录结构是一个树型结构 Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘 Linux 没有盘符 这个概念, 只有一个根目录 /, 所有文件都在它下面

2、常见目录介绍(记住重点)
| 目录 | 作用 | 
|---|---|
| /bin | 二进制命令所在的目录(普通命令 => 普通用户itcast和超级管理员root) | 
| /boot | 系统引导程序所需要的文件目录,相当于Windows中的C盘 | 
| /dev | 设备软件目录,磁盘,光驱 => /dev/sr0 | 
| /etc | 系统配置,启动程序 | 
| /home | 普通用户的家,目录默认数据存放目录 | 
| /lib | 共享库文件和内核模块存放目录,软件安装、运行依赖库文件.a、.so文件 | 
| /mnt | 临时挂载储存设备的挂载点,插入u盘、移动硬盘 => 先挂载 => /mnt中访问 | 
| /opt | 额外的应用软件包, 安装qq、游戏、wps办公软件 | 
| /proc | 操作系统运行时,进程信息和内核信息存放在这里 | 
| /root | Linux超级权限用户root的家目录 | 
| /sbin | 和管理系统相关的命令,【超级管理员用】,s = super超级 | 
| /tmp | 临时文件目录,这个目录被当作回收站使用 | 
| /usr | 用户或系统软件应用程序目录,类似Windows中的Program files | 
① 普及概念:用户的家目录
普通用户:itcast,普通用户的家 => /home,如itcast家目录 => /home/itcast文件夹
超级管理员:root,超级管理员的家 => /root
② 普及概念:系统配置文件目录
/etc :与操作系统相关,系统软件相关,比如网卡配置 => 88.100 ~ 88.200
③ 普及概念:/tmp目录
临时文件目录,类似Windows中的垃圾回收站。
④ 普及概念:/usr目录
Linux系统中的程序目录,安装软件、程序默认都会自动安装到此目录,类似Windows中的Program files文件夹
五.Linux常用命令
1、命令结构
command [-options] [parameter]
说明: command : 命令名, 相应功能的英文单词或单词的缩写 [-options] : 选项, 可用来对命令进行控制, 也可以省略 parameter : 传给命令的参数, 可以是 零个、一个 或者 多个 
命令有三种情况:
① 只有命令,没有选项也没有参数
② 除了命令以外,还有选项,但是没有参数
③ 除了命令以外,还要有选项和参数
2、ls命令
作用 :ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一
格式
ls [选项] [路径]
ls常用选项
| 选项 | 含义 | 
|---|---|
| -a | all所有, 显示指定目录下所有子目录与文件, 包含隐藏文件 | 
| -l | 以列表方式显示文件的详细信息 | 
| -h | 配合 -l 以人性化的方式显示文件大小(文件大小 + 单位) | 
案例演示:
ls #查看当前目录内容 (缺点: 隐藏文件看不到,以 .开头的文件) ! ls -a #查看当前目录内容 ,包括隐藏文件 ls –al #查看目录内容的详细信息(查看文件类型、权限、大小等) ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小 ls /root #查看/root目录下内容 快捷键 ll 相当 ls ll #等价于ls -l
3、cd命令
作用:cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一。
| 命令 | 含义 | 
|---|---|
| cd | 切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名) | 
| cd 目录 | 切换到指定目录下 | 
| cd .. | 切换到上级目录 | 
提示:执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
案例演示:
cd #回到用户主目录 cd test #切换到当前目录下的test目录(相对路径) cd /root/test #切换到指定目录(绝对路径) cd .. #回到上一级目录 cd ../.. #回到上上一级目录 cd ../dir #回到上一级的dir目录
扩展:路径概念
① 绝对路径
代表从==/根目录==开始一级一级向下查找,直到找到我们想要访问的目录位置。

绝对路径 => /usr/local
绝对路径 => /home/bob
② 相对路径(必须要有一个参考点,一般为用户当前所在路径)
同级关系:只需要通过./或者直接输入文件或文件夹名称即可
上级关系:在Linux系统中,我们可以通过..来访问当前路径的上一级
当前位置:/usr目录下面,切换到/根目录的下方,可以使用..来实现
下级关系:可以使用文件夹名称/
4、mkdir命令
作用:mkdir命令用于创建目录
mkdir [-p] dirName 参数: -p:一次创建多级目录
案例演示:
mkdir ai #创建单级目录 mkdir -p aaa/bbb/ccc #创建多级目录
5、touch命令
作用:touch命令创建文件
格式:
touch 文件名
案例演示:
touch a.txt #在当前目录创建a.txt文件 touch /root/a.txt #在/root目录创建a.txt文件
6、rm命令
作用:rm命令用于删除文件或者目录
格式:
rm [参数] 文件或者目录名
| 参数 | 英文 | 含义 | 
|---|---|---|
| -f | force (强制) | 强制删除,忽略不存在的文件或目录, 无需提示 | 
| -r | recursive (递归) | 递归地删除目录下的内容, 删除目录时必须加此参数 | 
案例演示:

扩展:一个非常非常危险的命令
# rm -rf /* rm代表删除 -rf代表强制删除不提示 /代表根目录 *代表通配符,匹配所有文件 最终以上命令就代表删除根目录下的所有文件
7、cp命令
作用:cp命令用来实现文件或者目录的复制
格式:
cp 源路径 目标路径
案例演示:
cp a.txt dir1 #将a.txt复制到dir1目录 cp a.txt b.txt #将a.txt复制为b.txt cp –r dir dirx #复制目录
8、mv命令
作用:mv命令用于文件、目录的移动和重命名
格式:
mv 原路径 目标路径
移动案例演示:
mv a.txt dir #将a.txt移动到dir目录 mv dir2 dir #将dir2目录移动到dir目录
重命名案例演示:
mv a.txt b.txt #将a.txt重命名为b.txt mv dir2 dir22 #将dir2目录重命名为dir22
9、cat命令
作用:用于显示文件内容
格式:
cat 文件名称
案例演示:
cat /root/initial-setup-ks.cfg
10、more命令
作用: 用于显示文件内容,可以按页或者按行显示文件内容
格式:
more 文件名称
快捷键 
Enter: 向下n行, 需要定义, 默认为1行 
空格键: 向下滚动一屏 或 Ctrl + F 
B键: 返回上一屏 或 Ctrl+B 
q: 退出more 
案例演示:more /root/initial-setup-ks.cfg
11、ps命令
作用:ps命令用来列出系统中当前运行的进程
格式
ps [options]
案例演示: ps -ef #查看正在运行的所有进程 
12、kill命令
作用:kill命令用于终止执行中的程序
格式:
kill [参数] [进程号]
案例: kill -9 12345 #杀死pid为12345的进程 
13、ifconfig命令
作用:ifconfig命令用来查看ip地址
格式:
ifconfig
案例演示:
[root@node1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.161  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fe49:b3ec  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:49:b3:ec  txqueuelen 1000  (Ethernet)
        ...
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 90  bytes 17886 (17.4 KiB)
14、clear命令
作用:clear命令用来清屏,可以使用Ctrl + L 来替换
格式:
clear
案例演示:[root@node1 ~]# clear
15、重启与关机命令
重启:
reboot
关机:
shutdown -h now : 立刻关机(断电关机) halt : 立刻关机 (不断电关机)
16、which命令
作用:which显示执行命令的绝对位置
17、hostname命令
作用:查看主机名称
hostname
18、grep命令
作用:对文件内容进行检索
案例演示:
grep lang anaconda-ks.cfg #在文件中查找lang grep a anaconda-ks.cfg --color #在文件中查找a,高亮显示
选项:
-n :number缩写,代表显示信息时,显示行号
19、|管道
作用:管道命令主要功能就是将管道前面的命令的执行结果传递给管道后面的命令作为参数
案例演示:
ps -ef| grep mysql : 在所有进程中快速找到包含mysql内容的进程
20、useradd命令
作用:创建账号
案例演示:
useradd itheima # 创建账号 passwd itheima # 设置密码
注:在Linux操作系统中,虽然我们通过useradd命令可以快速创建一个账号,但是这个账号默认没有密码,所以不能进行登录操作。如果想进行登录,必须为这个账号添加一个密码!
21、userdel命令
作用:删除账号
案例演示:
userdel -r itheima
22、tar命令
作用:压缩文件与解压缩文件
tar [选项]
选项说明:
| 选项 | 解释 | 
|---|---|
| -c | 创建一个新tar文件 | 
| -v | 显示运行过程的信息 | 
| -f | 指定文件名 | 
| -z | 调用gzip压缩命令进行解、压缩 | 
| -x | 解包 | 
解压:
tar -zxvf redis-3.2.8.tar.gz #将文件解压到当前目录 tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录
压缩:
tar -cvf test.tar /root/test #打包tar -xf test.tar # 解tar包 tar -xf test.tar -C /export #解压到指定目录 tar -czvf test.tar.gz /root/test #打包并压缩
23、su命令
作用:切换(用户)账号
# su - itheima
-横岗:代表切换用户的同时,把当前的目录切换到用户的家目录
六.Linux的VI编辑器
1、vi/vim编辑器介绍
vi是visual interface的简称, 是Linux中最经典的文本编辑器
vi的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有编辑操作
vi的特点:
- 只能是编辑文本内容, 不能对字体段落进行排版
- 不支持鼠标操作
- 没有菜单
- 只有命令
vim 是从vi发展出来的文本编辑器, 支持代码补全、编译及显示效果等方面编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神。

2、打开文件
vi a.txt #直接打开文件 vim a.txt #vim是vi的增强版 vim +10 a.txt #直接打开文件,并定位到第10行
3、VIM编辑器的三种模式(重点)

4、命令模式相关命令
命令模式下主要是实现文件内容的复制、粘贴、剪切、光标移动等等。
| 命令 | 功能 | 
|---|---|
| o / i | 在当前行后面插入一空行 | 
| O | 在当前行前面插入一空行 | 
| dd | 删除光标所在行 | 
| ndd | 从光标位置向下连续删除 n 行 | 
| yy | 复制光标所在行 | 
| nyy | 从光标位置向下连续复制n行 | 
| p | 粘贴 | 
| u | 撤销上一次命令 | 
| gg | 回到文件顶部 | 
| G | 回到文件末尾 | 
| /str | 查找str | 
5、底行模式相关命令
| 命令 | 功能 | 
|---|---|
| :w 文件 | 另存为 | 
| :w | 保存(ctrl + s) | 
| :q | 退出, 如果没有保存,不允许退出 | 
| :q! | 强行退出, 不保存退出 | 
| :wq | 保存并退出 | 
| :x | 保存并退出 | 
| Shift + z + z | 保存退出 | 
| :set nu | 设置行号 | 
| :%s/旧文本/新文本 | 文本替换 | 
| :noh | 取消高亮 | 
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号