1、Linux严格区分大小写

  1. Linux Windows不同,Linux严格区分大小写的,包括文件名和目录名、命令、命令选项、配置文件设置选项等。
  2. 例如,Win7 系统桌面上有文件夹叫做Test,当我们在桌面上再新建一个名为 test 的文件夹时,系统会提示文件夹命名冲突;

zhuyi01.jpg

zhuyi02.jpg
Linux 系统不会,Linux 系统认为 Test 文件和 test 文件不是同一个文件,因此在 Linux 系统中,Test 文件和 test 文件可以位于同一目录下。

  1. 我们在操作 Linux 系统时要注意区分大小写的不同。

2、Linux文件”扩展名”

  1. 我们都知道,Windows 是依赖扩展名区分文件类型的,比如,".txt" 是文本文件、".exe" 是执行文件,但 Linux 不是。<br /> Linux 系统通过权限位标识来确定文件类型,常见的文件类型有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件就是普通文件被赋予了可执行权限。

zhuyi03.jpg

zhuyi04.jpg

  1. Linux 中的一些特殊文件还是要求写 "扩展名" 的,但 Linux 不依赖扩展名来识别文件类型,写这些扩展名是为了帮助运维人员来区分不同的文件类型。<br /> 这样的文件扩展名主要有以下几种:<br /> **压缩包**:Linux 下常见的压缩文件名有 _.gz_.bz2_.zip_.tar.gz_.tar.bz2_.tgz 等。<br /> 为什么压缩包一定要写扩展名呢?很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。<br /> **二进制软件包**:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用".rpm"扩展名结尾,目的同样是让管理员一目了然。<br /> **程序文件**:Shell 脚本一般用 ".sh" 扩展名结尾。<br /> **网页文件**:网页文件一般使用 ".php" 等结尾,不过这是网页服务器的要求,而不是 Linux 的要求。

3、Linux中所有内容以文件形式保存

Linux中,一切皆文件

普通文件,类似于windows中文件的概念,可以分为一般文件(黑色)和可执行文件(绿色)。

一般文件特点其打开(编辑器打开)后会看到里面有内容,或者可以往其中写内容。(黑色的)

可执行文件在Windows 下一般为exe、msi、bat 等后缀,其特点就是双击之后可以直接运行。(绿色的)

zhuyi05.jpg

zhuyi06.jpg

目录文件类似于Windows中的文件夹

用于存储文件(当然也可以存储文件夹)的夹子称之为文件夹。(天蓝色的)

zhuyi07.jpg

4、Linux中所有存储设备都必须在挂载之后才能使用

  1. **挂载**其实就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,例如c:,d:,而 Linux 中的盘符则是一个已经建立的空目录。我们把这些空目录叫作**挂载点**(可以理解为 Windows 的盘符),把设备文件(如 /dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。
  2. 挂载过程是通过挂载命令实现的,具体的挂载命令后续会讲。

5、Linux系统的文件目录结构

  1. Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)树形为树根的目录结构中。
  2. ![more01.jpg](https://cdn.nlark.com/yuque/0/2022/jpeg/25613080/1656920882647-4c1823d0-b9b4-4fe3-8503-e66276a2045c.jpeg#clientId=u0f877ab1-5592-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u11624d1b&name=more01.jpg&originHeight=92&originWidth=662&originalType=binary&ratio=1&rotation=0&showTitle=false&size=15741&status=done&style=none&taskId=u76def33a-75a5-4fbf-b0dd-9e5a0d8aace&title=)
  3. Linux 根目录(/)下包含很多的子目录,称为一级目录。<br /> 例如 binbootdev 等。<br /> 同时,各一级目录下还含有很多子目录,称为二级目录。<br /> 例如 /bin/bash、/bin/ed 等。

mulu02.jpg

路径:路径分为 绝对路径和相对路径。
绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始。
相对路径**:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)。

只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。

../:表示上级目录(上一级)

./ :表示当前目录(同级),普通文件./可以省略,可执行文件(绿色)必须加./

文件夹名称/:表示下级目录(下一级),注意这个斜杠/

6、Linux系统的文件目录用途

  1. Linux 基金会发布了 FHS Filesystem Hierarchy Standard 文件系统层次化标准)。规定了主要文件夹的用途

ml01.jpg

一级目录 功能(作用)
/bin/ 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行
/boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/ 设备文件保存位置
/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/home/ 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming
/lib/ 系统调用的函数库保存位置
/media/ 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
/mnt/ 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
/misc/ 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的
/opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件
/root/ root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
/sbin/ 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清理
  1. 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 服务器都是以纯命令行的形式运行的,那在桌面模式下是否有命令输入的地方?

答:有,可以使用终端输入命令,在顶部单击应用程序菜单,选择系统工具,选择终端即可。

ml02.jpg

运行结果如下图所示:

ml03.jpg

2、命令与选项

什么是Linux 的命令?

答:就是指在Linux 终端(命令行)中输入的内容就称之为命令。

ml04.jpg

一个完整的命令的标准格式:Linux 通用的格式

命令(空格) [选项](空格)[参数]

  1. #ls
  2. #ls -l
  3. #tail -n 3 readme.txt

注意:后期被”[]”包裹的表示该项为可选项,可写可不写,具体得看需要一个命令可以包含多个选项。操作对象也可以是多个。

3、Linux命令补全

  1. Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这个功能被称作命令行补全。

cd02.jpg

四、Linux基础命令

以下相关命令操作,建议使用超级管理员root进行实现,使用root用户登录linux

  1. #su - root

1、uname查看操作系统信息

命令:uname [参数]

作用:获取计算机操作系统相关信息

参数:-a,选项-a代表all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

  1. 用法一:直接输入uname 或者 uname -a
  2. 示例代码:
  3. #uname
  4. #uname -a
  5. 含义:获取操作系统的信息

2、ls命令查看目录下文件

ls(完整写法=>list show)列出,列表

  1. 用法一:直接输入ls
  2. 示例代码:
  3. #ls
  4. 含义:列出当前工作路径下的文件名称
  1. 用法二:# ls 后面跟绝对路径,列出某个路径下的文件名
  2. 示例代码:
  3. #ls /var/log/
  4. 含义:列出/var/log/目录下的文件名称
  1. 用法三:# ls 后面跟相对路径,列出某个路径下的文件名
  2. 示例代码:
  3. #ls anaconda/
  4. 含义:列出当前工作路径下,anaconda目录下的文件名
  1. 用法四:#ls 后面跟参数选项 跟路径
  2. 含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
  3. 常见的参数选项:
  4. -l:表示list,表示以详细列表的形式进行展示
  5. -aall,表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
  6. -h:表示以较高可读性(文档大小)的形式进行展示
  7. 示例代码:
  8. #ls -l
  9. #ls -a
  10. #ls -la
  11. #ls -lh
  12. Linux 命令语法中,多个选项可以合并写成-abcdef 这种形式,例如-l和-a可以合并写成-la

特别说明:

  1. Linux 中隐藏文档一般都是以"."开头
  2. "."表示当前路径
  3. ".."表示上级路径(相对当前路径)
  4. 注意第一列的第一个字符,该位表示文档类型,“d”表示文件夹,“-”表示是文件
  5. 文件&文件夹在ls结果中所表示的颜色是不一样的,文件夹的颜色一般都是蓝色的,文件一般都是黑色的(所说的颜色均是指在终端中的默认颜色)
  1. 需要注意:单位不一定是k,系统会在获取其大小之后为文档找到一个合适的单位,因此单位可是“K”、“M”、“G”、“T”其中之一。
  1. 用法五:将ls -l进行简写
  2. 示例代码:
  3. #ll
  4. ll等价于"ls -l"

LS命令总结:

  1. #ls 查看当前目录下的文件
  2. #ls /usr/local 查看指定路径下的文件,路径为/usr/local
  3. #ls -l /usr/local 以详细信息的方式查看/usr/local下的文件
  4. #ls -la /usr/local 以详细信息的方式,查看/usr/local下的所有文件,包含隐藏文件
  5. #ll ls -l
  6. #ls -lh 高可读性方式查看

3、pwd命令 显示当前路径

命令:(print working directory)打印当前工作目录

  1. 用法:直接输入pwd
  2. 示例代码:
  3. #pwd
  4. 含义:告诉用户当前所在的路径

4、cd命令 切换目录

命令: cd (change directory,改变目录)

作用:用于切换当前的工作目录的

  1. 用法:#cd [路径]
  2. 示例代码:
  3. #cd /usr/local/
  4. 含义:切换到/usr/local/目录下
  5. #cd
  6. 含义:切换到当前用户的家目录
  7. #cd ~
  8. 含义:切换到当前用户的家目录
  9. #cd ../
  10. 含义:切换到上一级目录

说明:路径是可以写也可以不写,写路径的话则表示切换到指定路径,如果不写表示切换到当前登录用户的家目录中。

特别用法说明:在Linux 中有一个特殊的符号“~”,表示当前用户的家目录,等价于直接cd。

切换的方式:# cd ~ 【表示切换到当前用户家目录中】

5、clear命令 清除屏幕信息

命令: clear

作用:用于清除终端信息(清屏)

  1. 用法:直接输入clear回车
  2. 示例代码:
  3. #clear
  4. 含义:清除屏幕信息

6、whoami命令 显示当前用户

命令: whoami

作用:用户获取当前用户的用户名

  1. 用法:直接输入whoami回车
  2. 示例代码:
  3. #whoami
  4. 含义:获取当前用户的用户名

7、reboot命令 重启操作系统

命令: reboot

作用:重启操作系统

  1. 用法:输入reboot回车
  2. 示例代码:
  3. #reboot
  4. 含义:重启操作系统

8、shutdown命令 关闭操作系统

命令: shutdown

作用:关机命令

  1. 用法一:输入shutdown回车
  2. 示例代码:
  3. #shutdown
  4. 含义:使系统在60秒后关机
  1. 用法二:输入shutdown加参数
  2. -h 加数字:数字代表秒数,在某个时间后关机,如果数字为0,表示立即关机
  3. now:表示立即关机
  4. 示例代码:
  5. #shutdown -h 20
  6. 含义:延迟关机,使系统在20分后关机
  7. 说明:当我们执行延迟关机shutdown -h 20这个命令时,系统就处于关机等待状态。如果后悔了想取消关机,可以输入shutdown -c取消
  8. 示例代码:
  9. #shutdown now
  10. 含义:立即关机
  1. 用法三:shutdown加-r参数重启计算机
  2. 示例代码:
  3. #shutdown -r 60
  4. 含义:延迟重启,60分之后重启
  5. #shutdown -r now
  6. 含义:立即重启
  7. 说明:重启等待期间,仍然可以使用shutdown -c取消操作

扩展命令:halt命令

  1. 在实际应用中,我们也可以直接使用halt命令进行关机操作。
  2. 基本语法:
  3. # halt -p
  4. 以上命令相当于"shutdown -h 0",代表立即关机

shutdown命令总结

  1. #shutdown now 立即关机
  2. #shutdown -h 0 立即关机
  3. #shutdown -h 60 延时关机,60分钟
  4. #延时50秒关机 用什么命令?
  5. #shutdown -r 0 立即重启
  6. #shutdown -r 60 延时重启

9、type命令 查看内部命令

命令:type

作用:查看一个命令是属于内部命令还是外部命令。

  1. 用法:type 加命令
  2. 示例代码:
  3. #type cd
  4. 含义:查看命令属于内部命令还是外部命令

10、history命令 查看历史命令

命令:history

作用:列出最近输入的一千条命令信息

  1. 用法:输入history回车
  2. 示例代码:
  3. #history
  4. 含义:列出最近输入的一千条命令信息

11、hostnamectl主机名命令

Centos6中

查看主机名:#hostname

临时更改主机名:#hostname 临时主机名

永久更改主机名:编辑/etc/sysconfig/network文件,在文件中定义永久主机名

Centos7中主机名分3类,静态的(static)、瞬态的(transient)、和灵活的(pretty)。

  1. **静态**主机名也称为内核主机名,是系统在启动时从/etc/hostname内自动初始化的主机名。相当于**永久更改**<br /> **瞬态**主机名是在系统运行时临时分配的主机名,相当于**临时更改**<br /> **灵活**主机名则允许使用特殊字符的主机名,例如"MaYun's Host"
  2. CentOS 7中和主机名有关的文件为/etc/hostname,它是在系统初始化的时候被读取的,并且内核根据它的内容设置瞬态主机名。

命令:hostnamectl

作用:操作服务器的主机名(读取、设置)

1)查看主机名

  1. 用法:输入hostnamectl回车
  2. 示例代码:
  3. #hostnamectl
  4. 含义:查看主机名信息

2)同时设置静态和瞬时主机名

  1. 用法:输入hostnamectl set-hostname 主机名
  2. 示例代码:
  3. #hostnamectl set-hostname heimaserver01.itcast.cn
  4. 含义:设置主机名称为heimaserver01.itcast.cn
  5. 注意:此设置影响静态和瞬态的主机名

3)分别配置静态,瞬时,灵活主机名

  1. 用法:输入hostnamectl --pretty set-hostname 主机名
  2. 示例代码:
  3. #hostnamectl --pretty set-hostname "yunwei's server01"
  4. 含义:单独设置 灵活 主机名称为 yunwei's server01
  5. 注意:
  6. 主机名需要用引号引起来
  7. 如果试图给静态或者瞬态,设置不规范的主机名称,命令可以执行,但是系统会自动去掉不允许的特殊字符
  8. 如果要单独设置静态或者瞬态主机名,只需要单独使用--static和--transient参数即可

静态主机名:聂程良服务器

灵活主机名:聂程良的服务器

灵活主机名允许使用”的”这个字

4)通过配置文件修改主机名

可以修改/etc/hostname来更改静态主机名,后面我们会讲如何编辑文件,这里大家知道就好

1.软件卸载重装(重新设置)

2.重装系统

3.冷静自己 ①

4.慢慢看一下是哪里操作失误

5.关机重启(生产环境,不要上来就重启) ②

6.查日志

五、扩展:VMware Tools安装(了解)

1、什么是VMware Tools

驱动与实用工具的集合

2、安装VMware Tools

第一步:找到VMware Tools菜单,如下图所示:

1553495292441.png

第二步:查看VMware Tools光驱图标是否显示:
1553495307991.png

第三步:打开CentOS系统的终端(类似DOS窗口)

1553495325509.png

如果使用普通用户登录操作系统,必须切换到超级管理员root。

注:-代表减号

  1. $su root

第四步:找到VMware Tools所在路径,一般是在/media目录下:

  1. #cd /run/media/root/ + Tab键,自动补全

在Linux系统中,如果我们不记得某个命令或者不记得某个路径或名称,不要担心,只需要输入前几个字母 + Tab键,系统会自动帮助我们补全。

第五步:输入ls命令,查看当前目录下有哪些文件

  1. #ls

1553745689247.png

第六步:使用cp命令,把文件复制到/root目录下(自己的家里)

  1. #cp VM + Tab键 /root/

注意:Linux区分大小写,所以这里大写的VM补全,就会自动补全成VMwareTools-10.0.5-3228253.tar.gz

第七步:回到自己的家目录(/root),使用cd命令

  1. #cd ~

第八步:使用tar命令解压.tar.gz文件

  1. #tar -xvf VM+Tab键

第九步:使用cd命令进入vmware-tools-distrib目录

  1. #cd vmware-tools-distrib

第十步:执行安装文件

  1. #./vmware-install.pl
  2. 一路回车

第十一步:执行重启命令

  1. #reboot
  1. 6 df -T 查看光盘挂载到哪个目录了
  2. 7 cd /media/VMware\ Tools/ 进入到挂载的目录
  3. 8 ll 查看/media/VMware\ Tools/下有什么文件
  4. 9 cp VMwareTools-10.3.10-13959562.tar.gz /usr/local/ 把文件拷贝到/usr/local
  5. 10 cd /usr/local/ 进入到/usr/local目录
  6. 11 ll 查看/usr/local/有什么
  7. 12 tar xvf VMwareTools-10.3.10-13959562.tar.gz TAR命令解压缩
  8. 13 ll 查看生产的解压缩目录
  9. 14 cd vmware-tools-distrib/ 进入解压缩目录
  10. 15 ll 查看vmware-tools-distrib目录里面有什么文件
  11. 16 ./vmware-install.pl 执行文件vmware-install.pl
  12. 17 reboot 重启
  13. 18 history 查看历史命令