章节目标
- 了解Linux系统注意事项
- 掌握Linux基础命令
- 知道vmware tools的作用
一、Linux系统使用注意
1. Linux严格区分大小写
- Linux 和Windows不同,Linux严格区分大小写的,包括文件名和目录名、命令、命令选项、配置文件设置选项等。
- 例如,在windows系统桌面上有文件夹叫做Test,当我们在桌面上再新建一个名为 test 的文件夹时,系统会提示文件夹命名冲突;
- Linux 系统不会,Linux 系统认为 Test文件和 test 文件不是同一个文件,因此在 Linux 系统中,Test 文件和 test 文件可以位于同一目录下。
- 我们在操作 Linux 系统时要注意区分大小写的不同。
2. Linux文件"扩展名"
- 我们都知道,Windows 是依赖扩展名区分文件类型的,比如,".txt" 是文本文件、".exe" 是执行文件,但 Linux 不是。
- Linux 系统通过权限位标识来确定文件类型
-
- 常见的文件类型有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件就是普通文件被赋予了可执行权限。
- Linux 中的一些特殊文件还是要求写 "扩展名" 的,但 Linux 不依赖扩展名来识别文件类型,写这些扩展名是为了帮助运维人员来区分不同的文件类型。
- 文件扩展名主要有以下几种:
- 压缩包:Linux 下常见的压缩文件有.gz、.bz2、.zip、.tar.gz、.tar.bz2、.tgz 等。
- 为什么压缩包一定要写扩展名呢?
- 就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。
- 很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。
- 二进制软件包:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用".rpm"扩展名结尾,目的同样是让管理员一目了然。
- 程序文件:Shell 脚本一般用 ".sh" 扩展名结尾。
- 网页文件:网页文件一般使用 ".php" 等结尾,不过这是网页服务器的要求,而不是 Linux 的要求。
3. Linux中,一切皆文件
- Linux中所有内容以文件形式保存
- 普通文件,类似于windows中文件的概念,可以分为一般文件(黑色)和可执行文件(绿色)。
- 一般文件特点其打开(编辑器打开)后会看到里面有内容,或者可以往其中写内容。(黑色的)
- 可执行文件在Windows 下一般为exe、msi、bat 等后缀,其特点就是双击之后可以直接运行。(绿色的)
- 目录文件类似于Windows中的文件夹
- 用于存储文件(当然也可以存储文件夹)的夹子称之为文件夹。(天蓝色的)
4. 存储设备挂载
Linux中所有存储设备都必须在挂载之后才能使用
- 挂载其实就是给这些存储设备分配盘符,
- 只不过 Windows 中的盘符用英文字母表示,例如c:、d:
- 而 Linux 中的盘符则是一个已经建立的空目录。
- 我们把这些空目录叫作挂载点(可以理解为 Windows 的盘符)
- 把设备文件(如 /dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。
- 挂载过程是通过挂载命令实现的,具体的挂载命令后续会讲。
5. Linux系统的文件目录结构
- Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中
-
- 在 Linux 根目录(/)下包含很多的子目录,称为一级目录。 例如 bin、boot、dev 等。 同时,各一级目录下还含有很多子目录,称为二级目录。 例如 /bin/bash、/bin/ed 等。
- 路径:路径分为 绝对路径和相对路径。
-
- 绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始。
- 相对路径:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)。
- 只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。
- ../:表示上级目录(上一级)
- ./ :表示当前目录(同级),普通文件./可以省略,可执行文件(绿色)必须加./
- 文件夹名称/:表示下级目录(下一级),注意这个斜杠/
6. Linux系统的文件目录用途
Linux 基金会发布了 FHS (Filesystem Hierarchy Standard 文件系统层次化标准)。规定了主要文件夹的用途
一级目录 | 功能(作用) |
/bin/ | 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清理 |
FHS 针对根目录中包含的子目录仅限于上表,但除此之外,Linux 系统根目录下通常还包含下面几个一级目录。
一级目录 | 功能(作用) |
/lost+found/ | 当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如,/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是 /boot 分区的备份恢复目录 |
/proc/ | 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的...... |
/sys/ | 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息 |
二、Linux命令入门
1. 开启终端
问题:后期Linux 服务器都是以纯命令行的形式运行的,那在桌面模式下是否有命令输入的地方?
答:有,可以使用终端输入命令,在顶部单击应用程序菜单,选择系统工具,选择终端即可。
运行结果如下图所示:
2. 命令与选项
什么是Linux 的命令?
答:就是指在Linux 终端(命令行)中输入的内容就称之为命令。
一个完整的命令的标准格式:Linux 通用的格式
命令(空格) [选项](空格)[参数]
注意:后面被"[]"包裹的表示该项为可选项,可写可不写,具体得看需要一个命令可以包含多个选项。操作对象也可以是多个。
3. Linux命令补全
在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这个功能被称作命令行补全。
三、Linux基础命令
以下相关命令操作,建议使用超级管理员root进行实现,使用root用户登录linux
普通用户切换到root:
su -
sudo -i
sudo command_to_execute
命令将以管理员权限执行
1. 【uname】查看操作系统信息
命令:uname [参数]
作用:获取计算机操作系统相关信息
参数:-a,选项-a代表all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
用法一:直接输入uname 或者 uname -a
示例代码:
#uname
#uname -a
含义:获取操作系统的信息
2. 【ls】查看目录下文件
2.1. 用法一
主要功能:ls完整写法list show,以平铺的形式显示当前目录下的文件信息
基本语法:
# ls
2.2. 用法二
主要功能:显示其他目录下的文件信息
# ls 其他目录的绝对路径或相对路径
扩展:ls后面跟的路径既可以是绝对路径也可以是相对路径
绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始。
案例:访问 /var/log目录,查看有哪些文件
# ls /var/log/
绝对路径必须以左斜杠开头,一级一级向下访问,不能越级
相对路径:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)。
只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。
当前位置:/var/log目录下
../:表示上级目录(上一级)
./ :表示当前目录(同级),普通文件./可以省略,可执行文件(绿色)必须加./
文件夹名称/:表示下级目录(下一级),注意这个斜杠/
2.3. 用法三
基本语法:
# ls [选项] [路径]
选项说明:
-l :ls -l,代表以详细列表的形式显示当前或其他目录下的文件信息(简写命令=>ll)
-h :ls -lh,通常与-l结合一起使用,代表以较高的可读性显示文件的大小(kb/mb/gb)
-a :ls -a,a是all缩写,代表显示所有文件(也包含隐藏文件=>大部分以.开头)
计算机中的单位:
# 1TB = 1024GB
# 1GB = 1024MB
# 1MB = 1024KB
# 1KB(千字节) = 1024B(字节)
特别说明:
在Linux 中隐藏文档一般都是以"."开头
"."表示当前路径
".."表示上级路径(相对当前路径)
注意第一列的第一个字符,该位表示文档类型,“d”表示文件夹,“-”表示是文件
文件&文件夹在ls结果中所表示的颜色是不一样的,文件夹的颜色一般都是蓝色的,文件一般都是黑色的(所说的颜色均是指在终端中的默认颜色)
需要注意:单位不一定是k,系统会在获取其大小之后为文档找到一个合适的单位,因此单位可是“K”、“M”、“G”、“T”其中之一。
2.4. ls命令总结:
#ls 查看当前目录下的文件
#ls /usr/local 查看指定路径下的文件,路径为/usr/local
#ls -l /usr/local 以详细信息的方式查看/usr/local下的文件
#ls -la /usr/local 以详细信息的方式,查看/usr/local下的所有文件,包含隐藏文件
#ll ls -l
#ls -lh 高可读性方式查看
3. 【pwd】显示当前路径
命令:(print working directory)打印当前工作目录
用法:直接输入pwd
示例代码:
#pwd
含义:告诉用户当前所在的路径
4. 【cd】切换目录
命令: cd (change directory,改变目录)
作用:用于切换当前的工作目录的
用法:#cd [路径]
示例代码:
cd /usr/local/ #切换到/usr/local/目录下
cd #切换到当前用户的家目录
cd ~ #切换到当前用户的家目录
cd ../ #切换到上一级目录
说明:路径是可以写也可以不写,写路径的话则表示切换到指定路径,如果不写表示切换到当前登录用户的家目录中。
特别用法说明:在Linux 中有一个特殊的符号“~”,表示当前用户的家目录,等价于直接cd。
切换的方式:# 【cd ~】 【表示切换到当前用户家目录中】
5. 【clear】清除屏幕信息
命令: clear(或者ctrl+l)
作用:用于清除终端信息(清屏)
用法:直接输入clear回车
示例代码:
clear #清除屏幕信息
6. 【whoami】显示当前用户
命令: whoami
作用:用户获取当前用户的用户名
用法:直接输入whoami回车
示例代码:
whoami #获取当前用户的用户名
7. 【reboot】重启操作系统
命令: reboot
作用:重启操作系统
用法:输入reboot回车
示例代码:
reboot #重启操作系统
8. 【shutdown】关闭操作系统
命令: shutdown
作用:关机命令
用法一:输入shutdown回车
示例代码:
shutdown #使系统在60秒后关机
用法二:输入shutdown加参数
-h 加数字:数字代表秒数,在某个时间后关机,如果数字为0,表示立即关机
now:表示立即关机
示例代码:
shutdown -h 20 #延迟关机,使系统在20分后关机
说明:当我们执行延迟关机shutdown -h 20这个命令时,系统就处于关机等待状态。如果后悔了想取消关机,可以输入shutdown -c取消
示例代码:
shutdown now #立即关机
用法三:shutdown加-r参数重启计算机
示例代码:
shutdown -r 60 #延迟重启,60分之后重启
shutdown -r now #立即重启
说明:重启等待期间,仍然可以使用shutdown -c取消操作
扩展命令:【halt】命令
在实际应用中,我们也可以直接使用halt命令进行关机操作。
基本语法:
halt -p #相当于shutdown -h 0",代表立即关机
shutdown命令总结
shutdown now 立即关机
shutdown -h 0 立即关机
hutdown -h 60 延时关机,60分钟
#延时50秒关机 用什么命令?shutdown -h +0:50
shutdown -r 0 立即重启
shutdown -r 60 延时重启
9. 【type】查看内部命令
命令:type
作用:查看一个命令是属于内部命令还是外部命令。
用法:type 加命令
示例代码:
type cd #查看命令属于内部命令还是外部命令
10. 【history】查看历史命令
命令:history
作用:列出最近输入的一千条命令信息
用法:输入history回车
示例代码:
history #列出最近输入的一千条命令信息
11. 【hostnamectl】主机名命令
主要功能:用于设置计算机的主机名称(给计算机起个名字),此命令式CentOS7新增的命令。
hostnamectl : hostname + control
11.1. 获取计算机的主机名称
#hostname
# hostnamectl
11.2. 设置计算机的主机名称
Centos7中主机名分3类,静态的(static)、瞬态的(transient)、和灵活的(pretty)。
- 静态static主机名称:电脑关机或重启后,设置的名称亦然有效
- 瞬态transient主机名称:临时主机名称,电脑关机或重启后,设置的名称就失效了
- 灵活pretty主机名称:可以包含一些特殊字符
CentOS 7中和主机名有关的文件为/etc/hostname,它是在系统初始化的时候被读取的,并且内核根据它的内容设置瞬态主机名。
更改主机名称,让其永久生效?① 使用静态的 ② 改/etc/hostname文件
11.2.1. 瞬态主机名称(临时设置)
hostnamectl --transient set-hostname 主机名称
主机名称 建议遵循 FQDN协议(功能+公司域名)
web01.itcast.cn
web02.itcast.cn
案例:临时设置主机名称为yunwei.itcast.cn
# hostnamectl --transient set-hostname yunwei.itcast.cn
# su 立即生效
11.2.2. 静态主机名称(永久生效)
hostnamectl --static set-hostname 主机名称
温馨提示:--static也可以省略不写
案例:把计算机的主机名称永久设置为yunwei.itcast.cn
# hostnamectl --static set-hostname yunwei.itcast.cn
# su 立即生效
11.2.3. 灵活主机名称(主机名称可以添加特殊字符)
# hostnamectl --pretty set-hostname 主机名称(包含特殊字符)
案例:把计算机的主机名称通过灵活设置,设置为yunwei's server01
# hostnamectl --pretty set-hostname "yunwei's server01"
# hostnamectl --pretty #查看灵活的主机名称
五、VMware Tools安装
1. 什么是VMware Tools
驱动与实用工具的集合
2. 安装VMware Tools
- 第一步:找到VMware Tools菜单,如下图所示:
- 第二步:查看VMware Tools光驱图标是否显示:
- 第三步:打开CentOS系统的终端(类似DOS窗口)
-
- 如果使用普通用户登录操作系统,必须切换到超级管理员root。
$su root
- 第四步:找到VMware Tools所在路径,一般是在/media目录下:
-
#cd /run/media/root/ + Tab键,自动补全
- 在Linux系统中,如果不记得某个命令或者不记得某个路径或名称,不要担心,只需要输入前几个字母 + Tab键,系统会自动帮助我们补全。
- 第五步:输入ls命令,查看当前目录下有哪些文件
- 第六步:使用cp命令,把文件复制到/root目录下(自己的家里)
-
#cp VM + Tab键 /root/
- 注意:Linux区分大小写,所以这里大写的VM补全,就会自动补全成VMwareTools-10.0.5-3228253.tar.gz
- 第七步:回到自己的家目录(/root),使用cd命令
-
#cd ~
- 第八步:使用tar命令解压.tar.gz文件
-
#tar -xvf VM+Tab键
- 第九步:使用cd命令进入vmware-tools-distrib目录
-
#cd vmware-tools-distrib
- 第十步:执行安装文件
-
#./vmware-install.pl 一路回车
- 第十一步:执行重启命令
-
#reboot