中国桥梁建设网站,程序员培训机构排名前十,济南企业上云网站建设,自己建设个小网站要什么手续费一#xff0c;初识Linux
1.0Linux中的重要文件夹目录介绍 1.0.1bin和sbin目录
在Linux系统中#xff0c;/bin和/sbin是两个常见的目录#xff0c;它们包含了许多系统可执行文件。这些文件是系统启动和运行所必需的#xff0c;并且通常由root用户或其他系统管理员运行。/b…一初识Linux
1.0Linux中的重要文件夹目录介绍 1.0.1bin和sbin目录
在Linux系统中/bin和/sbin是两个常见的目录它们包含了许多系统可执行文件。这些文件是系统启动和运行所必需的并且通常由root用户或其他系统管理员运行。/bin目录包含常用的系统命令和可执行程序如ls、cp、mv、rm等。这些命令和程序通常是所有用户都可以运行的因为它们是系统中最基本的功能。/sbin目录包含的是一些只有管理员才能使用的系统命令和可执行程序如fdisk、iptables、ifconfig等。这些命令和程序通常需要特殊的权限才能运行因为它们通常是用来管理系统配置和网络设置等任务的。
1.0.2lib与lib64目录
在Linux系统中/lib目录通常包含着系统所需的共享库文件这些库文件是为了支持系统和应用程序的运行而存在的。与Windows系统中的system32类似相当于动态连接库dll文件。共享库的好处是可以使多个应用程序共享同一个库从而减少磁盘空间的占用提高系统性能并且可以减少代码的重复和维护工作量。共享库通常包括动态链接库.so文件和静态链接库.a文件两种类型。在/lib目录下通常会包含一些基本的系统共享库如C库libc.so、数学库libm.so、线程库libpthread.so等。这些库文件是系统运行所必需的因此它们通常会被预装在系统中以供所有应用程序使用。除了/lib目录还有一个/lib64目录是64位系统的共享库目录。在某些系统中/lib目录和/lib64目录可能会被链接到同一个物理目录以便兼容32位和64位共享库。
1.1操作系统概述
1.1.1. 概念
操作系统Operating System简称OS是计算机系统中的一种软件负责管理和控制调度计算机硬件资源为用户和应用程序提供统一的接口和环境使其能够有效地与计算机系统交互。
1.1.2. 作用
1 资源管理操作系统负责管理计算机硬件资源如处理器、内存、磁盘存储和输入/输出设备以合理地分配、调度和控制这些资源使多个应用程序能够共享计算机资源。 2用户接口操作系统为用户提供了与计算机系统交互的接口如命令行界面CLI或图形用户界面GUI使用户能够操作和控制计算机系统。 3文件系统操作系统提供了文件系统来管理计算机中的数据存储包括文件的创建、读取、写入、删除等操作并对文件进行组织和保护以便用户能够方便地访问和管理文件。 4进程管理操作系统管理和调度进程或任务包括创建、撤销、暂停、恢复、调度和同步进程以实现多任务处理和并发执行。 5内存管理操作系统负责管理计算机内存的分配和回收包括虚拟内存的管理以提供给应用程序足够的内存空间并优化内存的使用。 6设备驱动程序操作系统提供了设备驱动程序用于管理和控制计算机系统的输入/输出设备如键盘、鼠标、打印机、网络接口等。 7错误检测和处理操作系统能够检测和处理系统错误和异常如硬件故障、软件错误、权限错误等以保护计算机系统和数据的安全。
1.1.3. 总结
操作系统是计算机系统中的核心软件之一它为应用程序提供了抽象和接口使其能够在硬件资源上运行并为用户提供了友好的交互方式。不同类型的计算机系统有不同的操作系统如Windows、macOS、Linux、UNIX等它们都具有不同的特点和用途。操作系统对于计算机系统的性能、安全和稳定性都起着重要作用。
1.1.4. 接收发送信息实例 1.2 初识Linux
1.2.1. Linux诞生
Linux诞生于1991年由芬兰程序员林纳斯·托瓦兹Linus Torvalds创建。当时托瓦兹是一名赫尔辛基大学的计算机科学学生他为了学习操作系统内核设计和开发开始着手创建一个自己的操作系统。
托瓦兹的目标是基于类似于UNIX的操作系统但可以在个人计算机上运行并且可以自由地进行修改和分发。他开始编写一些简单的内核代码并在1991年8月25日发布了第一个版本称之为Linux 0.01。这个版本仅包含了一个简单的内核并没有完整的操作系统功能但它标志着Linux操作系统的诞生。
随着时间的推移越来越多的程序员为Linux内核作出贡献不断改进和扩展了它的功能。Linux逐渐成为一个完整的操作系统支持多用户、多任务、网络连接等功能并且具有出色的稳定性和性能。现在Linux已经成为世界上最受欢迎的操作系统之一被广泛应用于服务器、嵌入式系统、移动设备和超级计算机等各种领域。此外Linux还成为了自由和开放源代码软件运动的旗帜吸引了全球大量的开发者和用户。
1.2.2. 什么是Linux内核
Linux内核是一个开源的操作系统内核它是Linux操作系统的核心组件。它负责管理计算机的硬件和软件资源并为用户提供一个稳定、高效的操作系统环境。Linux内核是由Linus Torvalds在1991年开始编写的目前已经成为了世界上最流行的操作系统内核之一。 Linux内核具有以下特点 1开源Linux内核的源代码是公开的任何人都可以查看和修改它。
2可定制性Linux内核可以根据用户的需求进行定制用户可以添加或删除特定功能模块。
3良好的兼容性Linux内核可以运行在多种不同的硬件平台上例如PC、服务器、移动设备等。
4高效性Linux内核具有高效的资源管理和调度功能可以最大限度地利用计算机的资源。
5安全性Linux内核的安全性较高因为它实现了许多安全功能例如访问控制、加密等。
6支持多任务处理Linux内核支持多任务处理可以同时运行多个程序并且能够有效地分配计算机资源。
1.2.3 Linux发行版
1Linux内核是免费开源的任何人都可以下载开发如果自己开发出应用程序与Linux内核相结合则构成了完整的Linux系统。 2Linux发行版Linux distribution是一个包含Linux内核和各种系统工具、应用程序和软件包的操作系统的集合。Linux发行版由不同的开发者和组织维护和发布每个发行版都有其独特的特性和功能。 3Linux内核是Linux发行版的核心组件它提供了操作系统的核心功能。除了内核之外Linux发行版还包括许多其他组件如桌面环境、窗口管理器、系统工具、应用程序和各种软件包。
1.3虚拟机VMware安装
虚拟机是一种在计算机上创建虚拟计算环境的软件程序。它可以在一台物理计算机上运行多个虚拟操作系统使多个应用程序能够同时运行而不会相互干扰。虚拟机可以模拟计算机的硬件和系统资源包括CPU、内存、硬盘和网络接口等。虚拟机技术可以实现资源共享和隔离提高资源的利用率同时也提供了一种灵活的方式来测试和部署软件应用程序。常见的虚拟机软件包括VMware、VirtualBox和Hyper-V等。
1.3.1VMware虚拟机下载
网站VMware下载网站下载试用版一个月
1.3.2VMware安装 1.3.3检查虚拟网卡有没有安装
进入设置页面 网络设置 确保有VMnet1和VMnet8虚拟网卡后期保证虚拟机正常上网 1.4虚拟机中安装Linux系统
1.4.1下载Linux操作系统CentOS\
Linux操作系统下载网址
1.4.2配置虚拟机 系统自动安装 点击用户名输入密码进入系统界面
1.5远程链接Linux系统
1.5.1使用虚拟机操作Linux系统的弊端
虚拟机中Linux系统自带图形化操作页面和命令操作两种方式 在VMWare虚拟机中我们可以对Linux系统进行操作可以使用里面的图形操作也可以使用命令进行操作但毕竟是在window系统下运行虚拟机在开启对Linux系统的使用不太方便所以接下来将使用辅助工具在window下直接对Linux进行链接不再代开虚拟机使用Linux系统。
1.5.2FinalShell第三方连接软件安装 安装成功后自动跳入官方网站并打开软件
1.5.3使用FinalShell连接Linux系统
使用VMWare虚拟机打开Linux系统并登录账号密码 空白桌面鼠标右键打开终端输入ifconfig查询虚拟机IP地址 回到FinalShell 在虚拟机中查询文件与第三方软件FinalShell查询结果对比 1虚拟机 2Finalshell:
1.6VMware创建快照
在使用虚拟机中的Linux系统时有可能会出现系统损坏等各种情况为了能够处理这种情况可以通过给目前系统状态添加快照当后面某一时间节点系统出现问题时可以回到快照节点恢复正常 当需要恢复时直接选择上面对应快照并点击转到即可
二Linux基础命令
2.1Linux目录结构
与Windows系统不同Linux系统并不分CDE盘而是以 / 为根目录 2.两种系统的文件表示方式不同 1在Windows上文件路径使用反斜杠\作为目录分隔符例如C:\Users\username\Documents\file.txt。 2而在Linux上文件路径使用斜杠/作为目录分隔符例如/home/username/Documents/file.txt。 3此外在Linux上文件路径区分大小写而在Windows上文件路径通常不区分大小写
2.2Linux命令
2.2.1命令格式
命令 [选项] [参数] 其中命令是需要执行的Linux命令选项是可选的可以控制命令的行为和输出的方式参数是命令需要操作的对象比如文件名、目录名等。
2.2.2常用命令 2.2.3展示当前目录内容命令ls
ls 命令是Linux系统中常用的命令之一用于列出目录中的文件和子目录。以下是一些常用的 ls 命令选项 1 ls 列出当前目录中的所有文件和子目录。 2ls -l以长格式列出当前目录中的所有文件和子目录并显示文件的权限、所有者、文件大小、修改日期和时间等详细信息。列表形式 3ls -a列出当前目录中的所有文件和子目录包括隐藏文件和目录。 4ls -lh以人类可读的格式列出当前目录中的所有文件和子目录文件大小以K、M等单位显示。
例1展示根目录内容 (1)ls / (2)ls -a列出多有文件以 . 开头的是隐藏文件 (3)ls -l:以列表形式展示 (4)混合使用选项ls -la (5)-h选项要和-l选项一起用因为要将列表中的数据文件大小以K、M等单位显示。
2.2.4目录切换命令cd,pwd
Linux中cd命令用于更改当前工作目录而pwd命令用于显示当前工作目录的绝对路径。要更改当前工作目录请使用cd命令后跟要更改为的目录的路径。例如要更改到名为“documents”的目录您可以输入
cd documents如果要返回到上一级目录请使用“…”表示。例如要返回到上一级目录请输入
cd ..要显示当前工作目录的绝对路径请使用pwd命令。只需输入
pwd该命令将显示类似于“/home/user/documents”的输出其中“/”表示根目录后面是从根目录到当前工作目录的完整路径。 4.切换到上一次所在的目录
cd -2.2.5相对路径绝对路径
绝对路径是从根目录开始指定的完整路径。它包括所有的目录和子目录以及文件名或目录名。例如在Linux系统中绝对路径通常以“/”开头。例如/home/user/documents/myfile.txt 是一个绝对路径它指向根目录下的 home 目录、user 目录、documents 目录下的 myfile.txt 文件。相对路径是相对于当前工作目录的路径。它只包括目录和子目录以及文件名或目录名。例如在当前工作目录为/home/user/documents时相对路径myfile.txt表示文件/documents/myfile.txt。相对路径的常用符号有.“表示当前目录”. .“表示上一级目录”~表示HOME目录cd ~切换到HOME目录。例如../myfile.txt表示上一级目录 中的myfile.txt文件。
2.2.6创建文件夹目录mkdir(make direction)
语法mkdir [p] Linux路径参数必填表示创建的文件夹路径相对路径绝对路径都可以。p选项可选表示创建不存在的父目录适合创建连续多级目录。例如mkdir -p ./Test1/test1在当前目录创建Test1/test1目录因为Test1不存在前面加了选项-p,会自动创建相当于创建了多层目录。
练习 注意mkdir创建的是文件夹不是文件.txt使用touch创建文件
2.2.7文件创建与查看命令
touch创建文件
touch Linux路径例 在Dic1文件夹内创建文件test.txt 通过虚拟机中的用户界面手动添加数据到test.txt文件
cat查看文件内容
cat Linux路径more 查看文件内容
more Linux路径与cat区别cat直接将内容显示出来more支持通过空格翻页q退出查看如果文件内较多则可以选择more进行查看内容。
总结 2.2.8文件复制移动删除命令
cp命令copy 复制文件或文件夹
cp [-r -i -v] 目前路径 目标路径-r:选项可选用于复制文件夹使用表示递归拷贝文件夹中所有文件当拷贝的是文件夹时必须加上如果只是单个文件可不加。
-i:显示提示信息,如果目标地址中存在于拷贝的文件名字相同的文件需要使用-i选项提示是否将目标路径中的同名文件进行覆盖。
-v:显示拷贝后的路径描述
例1将目前文件夹中的test.txt复制一份到test1文件夹 2. mv移动文件或文件夹
mv 被移动文件路径 目标路径rm删除文件/文件夹
rm [-r -f -i] 参数1 参数2-r:用于删除文件夹使用当删除的是文件夹时必须加上如果只是单个文件可不加。 -f表示force强制删除不会弹出提示信息。普通用户删除不会有提示只要root用户才会有提示可以通过输入su root然后输入密码进入root模式操作完之后使用exit命令退出root返回普通用户。 -i:在执行删除操作时给出提示是否删除 参数表示需要删除的文件路径可删除多个文件路径中间用空格隔开。 4. 总结 2.2.9查找命令findgrep
我们所使用是LInux命令其实本体就是一个个的二进制可执行程序。和Windows里 的.exe文件。我们可以通过which命令查询命令的程序文件在哪里使用which命令which命令可以查找指定命令的位置。例如要查找ls命令所在的位置可以在终端中输入which ls。使用man命令man命令可以查看Linux中的手册页面包括命令的详细说明、使用方法、参数等。例如要查找ls命令的使用方法可以在终端中输入man ls。按q退出。 使用find命令find命令可以在指定目录中查找符合条件的文件。例如要在当前目录中查找所有以“txt”结尾的文件find 起始路径 -name “文件名”可以在终端中输入find . -name *.txt使用通配符星号做模糊查询符号 * 表示通配符即匹配任意内容 1find /home -name test*:匹配以test开头的内容 2find /home -name *test*匹配任何包含test的内容 3find /home -name *test匹配以test结尾的内容
2.2.10grep过滤wc统计命令管道符
grep命令从文件中通过关键字过滤文件行 1语法grep [-n -v -i] 关键字 文件路径 2-n :可选表示在结尾显示匹配的行号-v:显示不包含匹配文本的所有行-i:忽略大小写 3关键字必填表示 过滤的关键字带有空格或其他特殊符号建议使用 括起来 4创建test2文件并输入内容 5用grep命令过滤查询存在good 的行有哪些
grep -n good /home/root1/Test1/Dic2/test2.txt主输出存在“good”的行并标红 2. wc统计文件内容 1语法wc [-c -m -l -w]文件路径 2-c:统计bytes数量 3-m:统计字符数量 4-l:统计行数 5-w:统计单词数量
wc /home/root1/Test1/Dic2/test2.txt统计字节数 单词数 3. 管道符结|输入 管道符可以将左边命令的结果作为右边命令的输入 例如查找文件中含有good单词的行中有几个单词
grep good /home/root1/Test1/Dic2/test2.txt|wc -w /home/root1/Test1/Dic2/test2.txt管道符右边可以不用输入路径 管道符可以嵌套使用A|B|C,A的结果给B,A|B的结果给C 练习
2.2.11查看命令帮助的方式
命令帮助操作说明–helpcommand --helpmanman command––
查看命令帮助的目的是查看命令选项及命令选项的说明
main命令
操作按键说明空格向下翻页回车显示下一行信息b向上翻页q退出
2.2.12echo命令重定向tail命令
echo命令类似于print语句在屏幕输出值。 反引号将内容包围内容作为命令执行 重定向 将左侧内容覆盖到右侧指定文件中,将左侧内容追加到右侧文件中 tail命令查看文件尾部内容跟踪文件的最新更改 1语法tail [-f -num] 文件路径 2-f:持续跟踪CtrlC退出 3-num:表示跟踪尾部多少行不填默认十行 先向test2中添加数据 tail后五行数据 持续跟踪后五行数据 另外开一个系统连接向文件添加内容持续跟踪的文件会立马显示结果 在系统2中向文件添加数据系统1会立马显示 CtrlC退出
2.3vim编辑器 vim是vi的加强版兼容vi的所有指令不仅能编辑文本而且还具有shell程序编辑的功能可以不同的字体来辨别语法的正确性极大的方便了程序的设计和编辑性。 vim三种编辑模式 1命令模式命令模式下所输入的内容均为命令以命令驱动执行不同的功能此模式下不能自由进行文本编辑。 2输入模式即编辑模式插入模式此模式下对文本文件进行自由编辑。 3底线模式以冒号开始通常用于文件的保存退出。 进入test2.txt所在的文件夹使用vim test2.txt进入命令模式 快捷键 1YY P复制光标所在行并黏贴 2DD 删除当前行 3U撤销刚才的操作 4由于Linux中vim命令模式下已经存在的内容不能通过回车键控制换行所以如果想在两行已经存在的内容之间插入内容需要使用快捷键命令模式下输入 小o:例如准备在Music和Pictures行之间新开辟一行用来输入内容将光标移动到Music所在行 按o,自动开辟新行并进入编辑模式 5同理大O则是在光标所在行的上面一行开辟新行并进入输入模式。其他在命令模式下的快捷键如下 按下i进入输入模式 按ESC退出编辑模式进入命令模式 按下 进入底线模式输入wq保存并退出w保存q退出
三Linux权限管控
3.1root用户
root用户拥有最大的操作权限而普通用户在许多地方的权限是受限的。普通用户一般只在home内不受限制。出了home一般只拥有只读和执行权限无修改权限。例如在根目录下创建目录普通用户会显示权限不够切换root用户后创建目录su - rootsu:switch user切换用户。在root用户下输入exit或者快快捷键“CtrlD”退出回到上一个用户。
3.2sudo临时root命令
当我们知道root用户的密码时可以通过su -root,输入密码切换root用户但不推荐长期使用root用户避免进行错误的操作损坏系统。我们可以通过使用sudo命令加在其他命令之前临时以root身份执行命令语法sudo 其他命令只有获得sudo认证的用户才能使用此命令需要为普通用户配置sudo认证。进入root用户使用命令visudo进入vi编辑器对文件进行编辑按小o进入最后一行输入root1是需要给他sudo权限的用户不同的用户名更换名字即可。 按下esc进入命令模式输入wq保存退出即可
3.3用户用户组管理 Linux系统可配置多个用户或者用户组用户也可以加入用户组以便于给用户或者用户组权限控制。例如某个组内的用户都拥有某一权限。 用户组管理命令需要root用户去设置 1创建用户组groupadd 用户组名 2删除用户组groupdel 用户组名 用户管理 1创建用户useradd [-g -d] 用户名 -g:指定用户属于哪一个组如果没有指定则会自动创建同名的组自动加入指定组的话需要这个组已经存在 -d指定用户home路径不指定则HOME目录默认在/home/用户名 2删除用户userdel [-r] 用户名 -r:删除用户的HOME目录不适用-rHOME目录保留 3查看用户所属组bash id[用户名] 4修改用户组usermod -aG 用户组 用户名 getent命令 适用getent命令可以查看系统中有哪些用户 最下面是自己创建的
getent group可以查看存在哪些组
四Linux实用操作
4.1常用快捷键
CtrlC:强制停止对于Linux某些运行的程序如tail跟踪命令想要停止它或者命令输入错误都可以使用。Ctrld:退出或登出退出账号登录或者退出某些特定页面如python编辑页面vim不可以vim用esc退出。 history命令查看历史输入过的命令 可通过Ctrlr输入内容去匹配历史命令如果搜索的是需要的回车执行键盘左右键可得到此但命令不执行。 光标快捷键
4.2yum命令软件安装
在Linux中软件安装包是.rpm
yum:rpm包软件管理器用于自动化安装配置Linux软件并可以自动解决依赖问题。语法yum [-y] [install | remove |search] 软件名选项y:自动确认无需手动确认安装或卸载过程install安装remove卸载search搜索应用商店有么有 注意yum命令需要root授权wget:用于实现联网皆可以从网站下载的操作但由于Linux中没有该程序需要下载安装它yum -y install wget (1)搜索是否存在此程序 2安装wget程序 卸载搜索
yum -y remove wget
yum search wget4.3systemctl命令
Linux用于很多内置或第三方软件均支持systemctl命令控制启动停止开机自启能够被systemctl管理的软件一般也称之为服务。语法systemctl start|stop|status|enable|disable 服务器名系统内置服务安装httpd服务器软件 查看运行状态inacticity未运行 总结部分软件在安装后会自动集成到systemctl中可以通过systemctl命令来查看或设置服务状态有些则不会需要手动添加后续讲解。
4.4ln命令创建软连接
Linux软连接symbolic link是一种特殊的文件它指向另一个文件或目录。与硬链接hard link不同软连接不是实际的文件副本而是一个指向目标文件或目录的引用。类似于Windows系统中软件的快捷方式。创建软连接可以使用ln命令其中 -s选项表示创建软连接。例如要将 /home/user1/data 目录创建软连接到 /home/user2/backup 目录可以使用以下命令
ln -s /home/user1/data /home/user2/backup-s:表示创建的是软连接。 这将在 /home/user2/backup 目录中创建一个名为 data 的软连接它指向 /home/user1/data 目录。
使用软连接有很多好处其中最常见的是可以创建指向其他计算机上的文件或目录的链接或者创建指向在移动硬盘等可移动媒体上的文件或目录的链接。此外软连接还可以用于简化目录结构当一些经常使用的文件的路径非常深的时候可以使用软连接简化目录使用户可以轻松地访问需要的文件或目录。
4.5日期和时间
4.5.1日期查询
在Linux系统中date命令用于显示或设置系统的日期和时间。格式date [-d] [格式化字符串]-d按照给定的字符串显示日期一般用于日期计算 格式化字符串通过特定字符串标记控制显示日期的格式 1显示当前时间date 2显示当前日期
date %Y-%m-%d3显示当前时间
date %H:%M:%S4显示当前完整日期和时间
date %Y-%m-%d %H:%M:%S 4.5.2日期加减
-d选项可以按照给定的字符串显示一般用于日期计算
4.5.3修改时区
首先使用命令timedatectl查看当前系统时区 如果需要修改时区可以使用以下命令
sudo timedatectl set-timezone 时区例如如果需要将时区修改为北京时间中国标准时间可以使用以下命令
sudo timedatectl set-timezone Asia/Shanghai3. 方法二 4. 方法三时间自动校准 安装ntp程序 自动校准时间yum -y install ntp并设置开机自启systemctl enable ntpd
4.5IP地址主机名
4.5.1IP地址
概念IP地址是Internet Protocol (IP)地址的缩写它是用于在Internet上识别和定位设备的数字地址唯一。IP地址用于将数据包从一个设备发送到另一个设备类似于邮寄地址的作用。 IPv4是Internet协议版本4的缩写它是目前最广泛使用的IP协议版本之一。IPv4地址由32位二进制数字组成通常用4个用点分隔的十进制数表示。格式a.b.c.d其中a,b,c,d表示0~255的数字例如192.168.1.1就是一个IPv4地址。通过命令ifconfig查看本机的IP地址。特殊IP:127.0.0.1:IP地址127.0.0.1是回环地址或本地主机地址是一种特殊用途的IP地址用于指代本地计算机。当程序需要与本地计算机通信时可以使用127.0.0.1作为目标IP地址这样数据包将被发送到计算机的网络接口然后立即被回送到同一台计算机上的应用程序因此127.0.0.1通常用于测试和调试网络应用程序。 0.0.0.0地址IP地址0.0.0.0是一种特殊的IP地址被称为未指定地址或通配地址。它用于表示网络中所有可用的IP地址通常在以下两种情况下使用 1当一台设备正在配置网络连接时可以将其IP地址设置为0.0.0.0以指示该设备尚未被分配一个有效的IP地址。 2在服务器端当服务需要监听所有可用的网络接口并等待客户端连接时可以将服务器绑定到IP地址0.0.0.0上以表示该服务器将接受来自任何可用网络接口的连接。这在一些应用程序中比较常见比如Web服务器或FTP服务器等
4.5.2主机名 概念主机名是计算机在网络上的名称标识符它通常是一个字符串用于标识特定计算机或设备。在Internet上主机名通常与IP地址相关联这使得计算机之间可以通过名称而不是IP地址进行通信。 主机名通常由字母、数字和连字符组成长度可以从1到63个字符不等。在计算机上主机名可以用来识别和访问不同的网络资源例如文件共享、打印机、Web服务器和电子邮件服务器等。在网络上主机名通常用DNSDomain Name System系统进行解析将主机名映射到相应的IP地址 查看Linux和Windows主机名 修改Linux主机名root权限 格式
hostnamectl set-hostname 主机名 实例修改前root是用户bogon是Linux系统的主机名 修改后重新连接Linux查看
4.5.3域名解析
概念IP地址太难记我们可以直接输入域名例如www.baidu.com通过域名解析成对应的IP,域名解析是将域名转换为IP地址的过程。当您在浏览器中输入网站的域名时浏览器需要通过域名解析来找到对应的IP地址以便连接到服务器并获取网页内容。具体地说当您输入域名并按下回车键时浏览器会向本地 DNS服务器发出请求询问该域名对应的IP地址。如果本地DNS服务器已经缓存了该域名的IP地址则直接返回给浏览器否则本地DNS服务器会向 根域名服务器发送请求以获取负责该域名的顶级域名服务器的IP地址。然后本地DNS服务器会向该顶级域名服务器发送请求获取负责该域名的次级域名服务器的IP地址。最终本地DNS服务器会向负责该域名的次级域名服务器发送请求获取该域名对应的IP地址并将其返回给浏览器。 整个域名解析过程需要经过多次查询和响应因此可能会存在一定的延迟。不过一旦本地DNS服务器缓存了域名的IP地址下次访问相同的域名时就不需要再次进行域名解析了从而提高访问速度。 根据其访问顺序我们可以将某些域名与Ip 的映射关系添加到本地hosts中当我们输入域名时不联网也能找到。接下来我们将Linux的主机名centos1与IP地址192.168.111.129进行映射。 找到文件夹 测试
4.6设置固定IP
DHCP概念DHCP动态主机配置协议是一种网络协议用于为计算机或其他设备提供IP地址、子网掩码、默认网关和其他网络配置信息。 DHCP可以在网络上自动分配和管理IP地址从而简化了网络管理的任务。 DHCP服务器是在网络上运行的一种程序它可以向客户端设备提供网络配置信息例如IP地址、子网掩码、默认网关、DNS服务器等。DHCP服务器可以减少手动分配IP地址的工作量并且可以确保每个设备都具有唯一的IP地址。当客户端设备连接到网络上时它们会向DHCP服务器发送请求以获取网络配置信息。 DHCP服务器会响应客户端请求将必要的配置信息提供给客户端从而使客户端可以正确地连接到网络。 DHCP动态获取IP地址即每次重启设备后都会获取一次可能导致IP频繁的变更。为什么需要固定IP Linux系统需要固定IP地址的主要原因是为了使其更易于管理和定位。当计算机使用固定IP地址时管理员可以轻松地了解哪些设备位于网络上它们的IP地址是什么以及它们所处的位置。 另一个原因是许多网络服务和应用程序需要使用特定的IP地址来正常工作。如果IP地址是动态分配的则可能会发生IP地址冲突的情况这将导致网络故障和服务中断。 此外固定IP地址还可以提高网络安全性。通过限制连接到网络的设备数量并使用固定IP地址来限制网络访问可以更好地控制网络流量并减少未经授权的访问和安全威胁的风险。 总之固定IP地址可以提高网络可靠性、安全性和管理效率因此在许多情况下对于Linux系统和其他操作系统使用固定IP地址是一个很好的选择。VMware中配置gudingIP 1在VMware中配置IP地址网关和网段IP地址的范围
2在Linux系统手动修改配置文件固定IP 使用vim编辑网卡配置文件
IPADDR192.168.111.130
NETMASK255.255.255.0
GATEWAY192.168.111.2
DNS1192.168.111.2重启网卡systemctl restart network
4.7网络请求与下载
4.7.1使用ping命令检查服务器是否可连通
概念在Linux中ping命令用于测试与另一个网络设备的连接。它使用Internet控制消息协议ICMP来发送数据包到指定的目标主机并且等待响应。以下是ping命令的用法ping [options] destination 其中options是ping命令的可选参数而destination是目标主机的IP地址或主机名。以下是一些常用的ping选项 -c count指定要发送的ICMP数据包数即检查是否连通的次数。默认值为4。 -i interval指定每个数据包之间的发送时间间隔单位为秒。默认值为1秒。 -t ttl设置数据包的生存时间TTL。默认值为64。 -s packetsize指定发送数据包的大小以字节为单位。默认值为56字节。 -w deadline指定等待响应的最长时间以秒为单位。默认值为无限制。
ping www.google.com # 使用默认参数向www.google.com发送ICMP数据包
ping -c 10 192.168.1.1 # 向192.168.1.1发送10个ICMP数据包
ping -i 0.5 -s 1000 8.8.8.8 # 每0.5秒发送一个大小为1000字节的数据包到8.8.8.8 随便输入一个不存在的IP测试不通的状态
4.7.2使用wget命令下载文件
下载网络文件wget [-b] url-b:可选后台下载会将日志写入当前工作目录的wget-log文件
wget http://example.com/file.txt下载hadoop
4.7.3使用curl命令发起网络请求
curl可以发送http网络请求可用于下载文件获取信息等语法curl [-O] url,-O:当用于下载文件时可以使用此选项保存文件如果只是发起链接不需要-O,会返回网站信息相当于在浏览器在访问网址直接看到界面而此处返回的是html文件只不过在命令行中无法将网页渲染出来。
4.8端口
端口分为物理端口和虚拟端口物理端口:USB端口等可见的端口虚拟端口是指计算机内部的端口不可见用来操作系统和外部进行交互使用的。通过IP地址我们能够唯一确定一台电脑但一台电脑中拥有很多应用程序只有通过端口才能确定IP相当于小区地址端口相当于门牌号锁定住户。LInux中0~1023端口一般用于系统内特定的程序
4.8.1查看端口占用情况
安装nmapyum -y install nmap查看端口占用情况nmap 127.0.0.1
4.8.2查看指定端口占用情况
安装net-tool使用netstat命令netstat -anp|grep 6000
用grep过滤管道符前面得到的内容。
4.9进程查看 可以通过ps命令查看系统中进程ps -ef -e:显示全部进程-f:以完全格式化形式展示信息 通过管道符进行过滤 关闭进程 命令kill [-9] 进程ID,-9表示强制关闭进程不使用此选项会向进程发送信号要求关闭但是否关闭还要看进程本身处理机制。
4.10环境变量 环境变量是在操作系统中设置的一些变量用于指定各种程序运行时所需的参数和配置信息。环境变量在大多数操作系统中都是全局可见的因此可以被任何运行在该操作系统上的程序所访问。在Linux中一些常见的环境变量包括PATH、HOME、USER、LANG等与其他操作系统类似。用户也可以自定义环境变量以存储应用程序的配置信息或自定义参数。 可以使用env命令查看当前系统中的环境变量环境变量是KeyValue型 $符号用于取变量的值环境变量记录的信息可以通过此符号取出 取出环境变量PATH的值。 设置环境变量在Linux中可以使用export命令来设置环境变量。例如下面的命令可以将名为MYVAR的环境变量设置为值hello worldexport MYVARhello world 可以使用echo命令来查看已定义的环境变量的值。例如echo $MYVAR
4.11通过finalshell进行文件上传下载
在finalshell窗口下方找到需要下载的文件直接右键点击下载即可下载到Windows系统内 下载的文件在Windows系统桌面的fsdownload文件夹对于FinalShell命令窗口下方的文件列表权限由当前的登录的用户决定对于window内的文件如果想上传到Linux中直接拖拽到对应的文件夹即可。通过命令实现rz,sz命令需要安装程序sudo yum -y install lrzszrz回车会弹出Windows的文件界面直接选择后自动上传上传的速度会非常慢对于大文件还是通过拖拽的方式更快。 6. sz 文件名文件自动下载到桌面
4.12tar命令压缩与解压
4.12.1压缩文件
tar命令 1.tar:简单的将文件组装到一个.tar文件内并没有太多文件体积的减少只是简单的封装。 2.gz使用gzip压缩算法将文件压缩到一个文件内压缩速度快体积有所减少。 3语法tar [-c -v -f -z -C] 文件1 文件2 文件3...... 实操 1创建文件夹ZipFile_test并创建三个txt文件 2将这三个文件压缩到test.tar文件 tar -cvf test.tar test1.txt test2.txt test3.txt 3将三个文件压缩成.gar格式 tar -zcvf test.tar.gz test1.txt test2.txt test3.txt 4.12.2解压文件
1将选项-c换成-x,先将原来三个文件删除再解压 2解压tar -xvf test.tar 将文件解压到当前目录 3将文件解压到指定目录tar -xvf test.tar -C 目录 4解压.gz格式tar -zxvf test.tar.gz -C 目录以Gzip的模式解压文件并解压到指定目录
4.12.3总结
-f选项必须位于最后且后面跟的要解压或压缩成的文件名-z选项建议放在开头-C选项单独使用和解压所需的其他参数分开
4.13zip命令压缩 注意解压时如果有同名文件会被覆盖注意压缩包中文件是否有与现在文件夹文件同名的。
五实战软件部署
5.1yum仓库
5.1.1yum概念
yum是一种在Linux操作系统中用于管理软件包的工具。它允许用户从特定的软件源已配置好的仓库 搜索、安装、更新和删除软件包。而这些软件源就被称为仓库repository。仓库是一个包含预编译软件包的集合这些软件包可以在Linux系统中安装和运行。当使用yum安装或更新软件包时它会从一个或多个 已配置的仓库中查找该软件包。如果找到了匹配的软件包yum会下载它并安装或更新它。
5.1.2. yum的功能
1安装软件包yum可以从已配置的仓库中下载和安装软件包使用户能够轻松地获取和安装所需的软件包。例如要安装Apache web服务器可以使用yum install httpd命令。 2更新软件包yum还可以更新已安装的软件包包括操作系统本身。这有助于确保系统中的软件保持最新、稳定和安全。例如要更新所有已安装的软件包可以使用yum update命令。 3搜索软件包如果用户不确定要安装哪个软件包他们可以使用yum search命令搜索软件包。yum会在所有已配置的仓库中搜索软件包并显示与搜索条件匹配的软件包列表。 4删除软件包如果用户不再需要某个软件包他们可以使用yum remove命令卸载该软件包。yum会删除软件包及其依赖项以确保系统的稳定性和安全性。 5管理仓库yum还可以管理已配置的仓库包括添加、删除和启用/禁用仓库。这允许用户根据需要更改软件源以便获取所需的软件包。
5.1.3. yum仓库的概念
1yum仓库Yum repository是在Linux操作系统中用于存储和管理软件包的集合。它是yum软件包管理器的重要组成部分yum可以从配置的yum仓库中下载、安装、更新和删除软件包。 2Linux操作系统通常会预配置一些常用的yum仓库例如CentOS官方仓库、EPEL仓库等。用户还可以添加、删除、启用和禁用其他yum仓库以便获取特定的软件包或版本。
5.2linux中安装mysql5.7
配置yum仓库 1更新秘钥rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 2安装mysql yum库rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm 使用yum命令安装mysql社区版 1命令yum -y install mysql-community-server 2设置mysql开机启动 mysql安装好之后会自动配置mysqld的服务可以通过systemctl来管理
systemctl start mysqld #启动
systemctl enable mysqld #开机自启3. 配置mysql 主要配置管理员用户root的密码以及配置允许远程登录的权限。 1 获取初始密码-》用于后面登录
#通过grep命令在/var/log/mysqld.log文件中过滤temporary password关键字得到初始密码
cat /var/log/mysqld.log|grep temporary password 2登录数据库
mysql -uroot -p
#输入密码;LrplpXJk2et
# -u登陆的用户MySQL数据库的管理员用户同Linux一样是root
# -p表示使用密码登陆
# 执行完毕后输入刚刚得到的初始密码即可进入MySQL数据库3修改密码
ALTER USER rootlocalhost IDENTIFIED BY 密码;
#密码需要符合大于8位有大写字母有特殊符号不能是连续的简单语句如123abc如果想要设置简单密码
# 如果你想设置简单密码需要降低Mysql的密码安全级别
set global validate_password_policyLOW; # 密码安全级
别低
set global validate_password_length4; # 密码长度最
低4位即可
# 然后就可以用简单密码了课程中使用简单密码为了方便生产中
不要这样
ALTER USER rootlocalhost IDENTIFIED BY 123456;4. 配置root远程登录 1在设置好的电脑中通过命令mysql -uroot -p然后输入密码可以直接登录但是如果在其他电脑上通过网络连接登录则不行需要设置远程登录。默认情况下root用户是不运行远程登录的只允许在MySQL所在的Linux服务器登陆MySQL系统请注意允许root远程登录会带来安全风险 2设置
#授权root远程登录
grant all privileges on *.* to rootIP地址
identified by 密码 with grant option;
# IP地址即允许登陆的IP地址也可以填写%表示允许任何地址密码表示给远程登录独立设置密码和本地登陆的密码可以不同
# 刷新权限生效
flush privileges;退出mysqlCtrlD 或者exit检查端口mysql默认绑定在3306端口 通过以下命令过滤需要查看的端口占用情况
netstat -anp | grep 端口号六脚本自动化
七项目实战
八云平台技术