目录
操作系统
常见的操作系统
- Windows
- mac OS
- Linux
- iOS
- Android
操作系统的定义
操作系统是直接运行在计算机上的系统软件,它是与硬件打交道和控制软件运行的计算机程序。
操作系统向下控制硬件,向上支持应用软件的运行,承上启下
虚拟机软件
什么是虚拟机软件
它是能够虚拟出来计算机的一个软件
常用虚拟机软件:
- VMware
- VirtualBox
注意:只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机
什么是虚拟机
就是模拟一个真实的计算机,好比一个虚拟的电脑,对于学习一个新的操作系统可以通过虚拟机来完成。
Ubuntu操作系统
Ubuntu图形界面
- 任务栏
- 窗口操作按钮
- 窗口菜单条
与Wind目录结构对比
Windows目录
每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形。
Linux目录
Ubuntu没有盘符的概念,只有一个根目录/,所有文件都在它下面:
Linux主要目录:
- / :根目录
- /bin :可执行二进制文件的目录
- /etc :系统配置文件存放的目录
- /home :用户家目录
知识要点
- Ubuntu操作系统窗口菜单条会隐藏,鼠标移动上去会显示,Windows操作系统的窗口菜单条不会隐藏
- Windows操作系统可能会有多个盘符
- Ubuntu操作系统没有多个盘符,只有一个根目录( / )
- Ubuntu操作系统比Windows操作系统运行更加稳定
Linux内核及发行版
Linux内核
Linux内核是操作系统内部操作和控制硬件设备的核心程序,它是由芬兰人林纳斯开发的。
Linux发行版
是Linux内核与各种常用软件的组合产品,通俗来说是我们常说的Linux操作系统
常用的Linux发型版(基于Linux内核开发的操作系统):
- Ubuntu
- CentOS
- Red Hat Enterprise Linux (RHEL)
- Fedora
- Debian
远程连接Linux系统
我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:
- 内容的复制、粘贴跨越VMware不方便
- 文件的上传、下载跨越VMware不方便
- 也就是和Linux系统的各类交互,跨越VMware不方便
可以通过第三方软件,Xshell,远程连接到Linux操作系统之上。
Linux命令
为了保证机房设备的良好运行,需要保证较低温度。
而通过Linux操作系统就可以原创对机房中的设备进行操控。Linux操作系统在服务器方面应用很广泛,而在操作服务器相关设备的时候往往是没有图像化界面的,这里就需要我们用Linux命令来进行操作。
Linux命令基础格式
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式
command [-options] [parameter]
- command:命令本身
- -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
- parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
ls命令
ls [-a -l -h] [Linux路径]
用于列出目录内的相关内容(默认home目录)
-
-a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)
-
-l选项,表示:list的意思,以竖向排列的列表形式展示内容,并展示更多信息
- 图中以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头就能自动隐藏)
- 只有通过-a选项,才可以看到这些内容
- 语法中的选项是可以组合使用的,比如图中的
ls -a -l
可以直接组合写成ls -al
或者ls -la
-
-h 表示以易于阅读的形式,列出文件的大小,如K、M、G
- -h选项必须要搭配 -l 一起使用
- -h选项必须要搭配 -l 一起使用
cd命令和pwd命令
当Linux终端(命令行)打开的时候默认以用户的HOME目录为当前的工作目录。
通过cd命令可以更改当前所在的工作目录
cd意为:Change Directory
cd [Linux路径]
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
pwd意为:Print Work Directory
直接输入pwd
即可
相对路径和绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
特殊路径符
.
表示当前目录,比如cd ./Desktop
表示切换到当前目录下的Desktop目录内,和cd Desktop
效果一样..
表示上一级目录,比如:cd ..
即可切换到上一级目录,cd../..
切换到上二级的目录~
表示HOME目录,比如:cd ~
即可切换到HOME目录或cd~/Desktop
,切换到HOME内的Desktop目录
mkdir命令
通过mkdir命令可以创建文件夹
mkdir意为:Make Directory
mkdir [-p] Linux路径
-p 选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
下面是在HOME目录中新建test1文件夹的命令
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作,涉及到权限问题, HOME 外无法成功
touch,cat,more命令
可以通过touch命令创建文件
touch Linux路径
下面是在test1文件夹中创建test.txt文件的命令
在创建的文本文件中编辑一句话并保存
通过cat命令或more命令可以查看文件的内容
cat Linux路径
more Linux路径
不同的是
- cat是直接将内容全部显示出来
- more支持翻页,如果文件内容过多,可以一页页的展示(按空格翻页,按Q退出)
cp,mv,rm命令
cp命令可以用于复制文件/文件夹
cp意为:copy
cp [-r] 参数1,参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2 ,Linux路径,表示要复制去的地方
以下命令创建了一个新文件夹test2然后将test1中的文件夹内的test.txt拷贝了一份到test2中
mv命令可以用于移动(剪切)文件/文件夹
mv意为:move
mv 参数1 餐数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2 ,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
以下的命令在HOME目录中创建了一个aaa.txt的文件并剪切到test1文件夹中
rm命令可以用于删除文件/文件夹
rm意为:remove
rm [-r -f] 参数1 参数2 ...... 参数N
- 同cp命令一样,-r选项用于删除文件夹
- -f表示force,强制删除(不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一般普通用户用不到-f选项
- 参数1-N表示要删除的文件/文件夹的路径,用空格隔开
rm删除文件、文件夹-通配符
rm 命令支持通配符*,用来做模糊匹配
- 符号*表示通配符,即匹配任意内容(包含空),示例:
- test*, 表示匹配任何以 test 开头的内容
- *test, 表示匹配任何以 test 结尾的内容
- *test* ,表示匹配任何包含 test 的内容
下面的命令删除了所有以 test 开头的文件或文件夹
which,find命令
前面学习的Linux命令的本体就是一个的二进制可执行程序
和Windows系统中的.exe文件是一个意思
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪
which 要查找的命令
find命令可以搜索指定的文件
按照文件名字搜索
find 起始路径 -name "被查找的文件名"
下面的命令在HOME目录下创建了一个文件夹aaa,并在aaa中创建了文件夹bbb,并在bbb文件夹中创建了text.txt,然后返回到HOME目录并查找text.txt
在上图中我们发现返回了两个提示说权限被拒绝,我们得确保拥有最大的权限才能在整个系统中完成搜索,所以可以输入命令
su - root
然后输入密码后再回车切换到root用户以获得管理员权限
exit
退出root用户
在上图中又可以发现,当起始路径写~的时候并没有返回结果,而改成/home就可以了
这是因为 ~ 符号代表当前用户的家目录,但在切换到 root 用户时,~ 符号会指代 root 用户的家目录,而不是原本用户(如 zaly)的家目录。
因此,当以 root 用户身份运行 find ~ -name text.txt 时,~ 实际上是指 /root 目录,而不是 /home/zaly 目录。所以,查找 text.txt 文件时没有结果是因为文件不在 /root 目录及其子目录下。
find命令也可以使用通配符
按照文件大小搜索
find 起始路径 -size +|-n[kMG]
- +、-表示大于和小于
- n表示大小数字
- kMG表示大小单位(k小写,表示KB,M表示MB,G表示GB)
示例 - 查找小于10KB的文件:
find / -size -10k
- 查找大于1GB的文件:
find / -size +1G
grep、wc命令以及管道符
通过grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行号
- 参数,关键字,必填,表示要过滤的关键字,带空格或符号的话用""包围
- 参数,文件路径,必填,表示要过滤内容的路径,可作为内容输入端口
在txt文件中写入一些内容
下面的代码过滤出了带有单词"the"的行
wc命令统计文件的行数,单词数量
wc [-c -m -l -w] 文件路径
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数
- 参数,文件路径,必填,表示要过滤内容的路径,可作为内容输入端口
管道符:|
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入
grep和wc命令的参数如果不填路径,可以直接将内容用管道符传入,只要管道符左边是一个输出内容的命令就行。
下面的命令先用cat获取到text.txt中的内容再用grep过滤出含"the"的行
管道符也是可以使用多次嵌套使用的。