赞
踩
操作系统(Operating System,简称OS)是计算机系统中的一种软件,负责管理和控制(调度)计算机硬件资源,为用户和应用程序提供统一的接口和环境,使其能够有效地与计算机系统交互。
(1) 资源管理:操作系统负责管理计算机硬件资源,如处理器、内存、磁盘存储和输入/输出设备,以合理地分配、调度和控制这些资源,使多个应用程序能够共享计算机资源。
(2)用户接口:操作系统为用户提供了与计算机系统交互的接口,如命令行界面(CLI)或图形用户界面(GUI),使用户能够操作和控制计算机系统。
(3)文件系统:操作系统提供了文件系统来管理计算机中的数据存储,包括文件的创建、读取、写入、删除等操作,并对文件进行组织和保护,以便用户能够方便地访问和管理文件。
(4)进程管理:操作系统管理和调度进程(或任务),包括创建、撤销、暂停、恢复、调度和同步进程,以实现多任务处理和并发执行。
(5)内存管理:操作系统负责管理计算机内存的分配和回收,包括虚拟内存的管理,以提供给应用程序足够的内存空间,并优化内存的使用。
(6)设备驱动程序:操作系统提供了设备驱动程序,用于管理和控制计算机系统的输入/输出设备,如键盘、鼠标、打印机、网络接口等。
(7)错误检测和处理:操作系统能够检测和处理系统错误和异常,如硬件故障、软件错误、权限错误等,以保护计算机系统和数据的安全。
操作系统是计算机系统中的核心软件之一,它为应用程序提供了抽象和接口,使其能够在硬件资源上运行,并为用户提供了友好的交互方式。不同类型的计算机系统有不同的操作系统,如Windows、macOS、Linux、UNIX等,它们都具有不同的特点和用途。操作系统对于计算机系统的性能、安全和稳定性都起着重要作用。
Linux诞生于1991年,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)创建。当时,托瓦兹是一名赫尔辛基大学的计算机科学学生,他为了学习操作系统内核设计和开发,开始着手创建一个自己的操作系统。
托瓦兹的目标是基于类似于UNIX的操作系统,但可以在个人计算机上运行,并且可以自由地进行修改和分发。他开始编写一些简单的内核代码,并在1991年8月25日发布了第一个版本,称之为Linux 0.01。这个版本仅包含了一个简单的内核,并没有完整的操作系统功能,但它标志着Linux操作系统的诞生。
随着时间的推移,越来越多的程序员为Linux内核作出贡献,不断改进和扩展了它的功能。Linux逐渐成为一个完整的操作系统,支持多用户、多任务、网络连接等功能,并且具有出色的稳定性和性能。现在,Linux已经成为世界上最受欢迎的操作系统之一,被广泛应用于服务器、嵌入式系统、移动设备和超级计算机等各种领域。此外,Linux还成为了自由和开放源代码软件运动的旗帜,吸引了全球大量的开发者和用户。
Linux内核是一个开源的操作系统内核,它是Linux操作系统的核心组件。它负责管理计算机的硬件和软件资源,并为用户提供一个稳定、高效的操作系统环境。Linux内核是由Linus Torvalds在1991年开始编写的,目前已经成为了世界上最流行的操作系统内核之一。
Linux内核具有以下特点:
(1)开源:Linux内核的源代码是公开的,任何人都可以查看和修改它。
(2)可定制性:Linux内核可以根据用户的需求进行定制,用户可以添加或删除特定功能模块。
(3)良好的兼容性:Linux内核可以运行在多种不同的硬件平台上,例如PC、服务器、移动设备等。
(4)高效性:Linux内核具有高效的资源管理和调度功能,可以最大限度地利用计算机的资源。
(5)安全性:Linux内核的安全性较高,因为它实现了许多安全功能,例如访问控制、加密等。
(6)支持多任务处理:Linux内核支持多任务处理,可以同时运行多个程序,并且能够有效地分配计算机资源。
(1)Linux内核是免费开源的,任何人都可以下载开发,如果自己开发出应用程序与Linux内核相结合,则构成了完整的Linux系统。
(2)Linux发行版(Linux distribution)是一个包含Linux内核和各种系统工具、应用程序和软件包的操作系统的集合。Linux发行版由不同的开发者和组织维护和发布,每个发行版都有其独特的特性和功能。
(3)Linux内核是Linux发行版的核心组件,它提供了操作系统的核心功能。除了内核之外,Linux发行版还包括许多其他组件,如桌面环境、窗口管理器、系统工具、应用程序和各种软件包。
虚拟机是一种在计算机上创建虚拟计算环境的软件程序。它可以在一台物理计算机上运行多个虚拟操作系统,使多个应用程序能够同时运行而不会相互干扰。虚拟机可以模拟计算机的硬件和系统资源,包括CPU、内存、硬盘和网络接口等。虚拟机技术可以实现资源共享和隔离,提高资源的利用率,同时也提供了一种灵活的方式来测试和部署软件应用程序。常见的虚拟机软件包括VMware、VirtualBox和Hyper-V等。
系统自动安装:
点击用户名,输入密码进入系统界面:
虚拟机中Linux系统自带图形化操作页面和命令操作两种方式:
在VMWare虚拟机中我们可以对Linux系统进行操作,可以使用里面的图形操作,也可以使用命令进行操作,但毕竟是在window系统下运行虚拟机,在开启对Linux系统的使用,不太方便,所以接下来将使用辅助工具,在window下直接对Linux进行链接,不再代开虚拟机使用Linux系统。
安装成功后自动跳入官方网站,并打开软件:
在使用虚拟机中的Linux系统时有可能会出现系统损坏等各种情况,为了能够处理这种情况可以通过给目前系统状态添加快照,当后面某一时间节点系统出现问题时可以回到快照节点,恢复正常:
当需要恢复时直接选择上面对应快照,并点击转到即可:
ls
:列出当前目录中的所有文件和子目录。ls -l
:以长格式列出当前目录中的所有文件和子目录,并显示文件的权限、所有者、文件大小、修改日期和时间等详细信息。列表形式ls -a
:列出当前目录中的所有文件和子目录,包括隐藏文件和目录。ls -lh
:以人类可读的格式列出当前目录中的所有文件和子目录,文件大小以K、M等单位显示。例1:展示根目录内容:
(1)ls /
(2)ls -a
列出多有文件,以 . 开头的是隐藏文件:
(3)ls -l
:以列表形式展示
(4)混合使用选项:ls -la
(5)-h选项要和-l选项一起用,因为要将列表中的数据文件大小以K、M等单位显示。
cd documents
cd ..
pwd
该命令将显示类似于“/home/user/documents”的输出,其中“/”表示根目录,后面是从根目录到当前工作目录的完整路径。
4.切换到上一次所在的目录
cd -
cd ~
切换到HOME目录。例如,../myfile.txt
表示上一级目录mkdir [p] Linux路径
mkdir -p ./Test1/test1
在当前目录创建Test1/test1目录,因为Test1不存在,前面加了选项-p,会自动创建,相当于创建了多层目录。练习:
注意:mkdir创建的是文件夹,不是文件.txt,使用touch创建文件
touch Linux路径
例: 在Dic1文件夹内创建文件test.txt
通过虚拟机中的用户界面手动添加数据到test.txt文件:
cat Linux路径
more Linux路径
与cat区别:cat直接将内容显示出来,more支持通过空格翻页,q退出查看,如果文件内较多则可以选择more进行查看内容。
cp [-r -i -v] 目前路径 目标路径
-r:选项,可选,用于复制文件夹使用,表示递归拷贝文件夹中所有文件,当拷贝的是文件夹时必须加上,如果只是单个文件可不加。
-i:显示提示信息,如果目标地址中存在于拷贝的文件名字相同的文件需要使用-i选项提示是否将目标路径中的同名文件进行覆盖。
-v:显示拷贝后的路径描述
例1:将目前文件夹中的test.txt复制一份到test1文件夹:
2. mv移动文件或文件夹
mv 被移动文件路径 目标路径
rm [-r -f -i] 参数1 参数2
-r:用于删除文件夹使用,当删除的是文件夹时必须加上,如果只是单个文件可不加。
-f:表示force,强制删除(不会弹出提示信息)。普通用户删除不会有提示,只要root用户才会有提示,可以通过输入su root
然后输入密码进入root模式,操作完之后使用exit
命令退出root,返回普通用户。
-i:在执行删除操作时给出提示:是否删除?
参数表示需要删除的文件路径,可删除多个文件,路径中间用空格隔开。
4. 总结:
find 起始路径 -name “文件名”
可以在终端中输入:find . -name "*.txt"
find /home -name test*
:匹配以test开头的内容find /home -name *test*
:匹配任何包含test的内容find /home -name *test
:匹配以test结尾的内容grep [-n -v -i] 关键字 文件路径
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
练习:
命令帮助操作 | 说明 |
---|---|
–help | command --help |
man | man command |
– | – |
查看命令帮助的目的是查看命令选项及命令选项的说明
操作按键 | 说明 |
---|---|
空格 | 向下翻页 |
回车 | 显示下一行信息 |
b | 向上翻页 |
q | 退出 |
tail [-f -num] 文件路径
vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同的字体来辨别语法的正确性,极大的方便了程序的设计和编辑性。
vim三种编辑模式
(1)命令模式:命令模式下所输入的内容均为命令,以命令驱动执行不同的功能,此模式下,不能自由进行文本编辑。
(2)输入模式:即编辑模式,插入模式,此模式下对文本文件进行自由编辑。
(3)底线模式:以冒号开始:通常用于文件的保存,退出。
进入test2.txt所在的文件夹,使用vim test2.txt
进入命令模式:
快捷键:
(1)YY P复制光标所在行并黏贴
(2)DD 删除当前行
(3)U撤销刚才的操作:
(4)由于Linux中vim命令模式下,已经存在的内容不能通过回车键控制换行,所以如果想在两行已经存在的内容之间插入内容需要使用快捷键:命令模式下输入 小o:例如准备在Music和Pictures行之间新开辟一行用来输入内容:将光标移动到Music所在行
按o,自动开辟新行并进入编辑模式:
(5)同理,大O则是在光标所在行的上面一行开辟新行并进入输入模式。其他在命令模式下的快捷键如下:
按下i进入输入模式:
按ESC退出编辑模式,进入命令模式
按下 :进入底线模式,输入wq保存并退出(w保存,q退出)
su - root
,su:switch user切换用户。在root用户下输入exit或者快快捷键“Ctrl+D”退出回到上一个用户。sudo 其他命令
visudo
进入vi编辑器,对文件进行编辑,按小o进入最后一行,输入:root1是需要给他sudo权限的用户,不同的用户名更换名字即可。:wq
保存退出即可Linux系统可配置多个用户或者用户组,用户也可以加入用户组,以便于给用户或者用户组权限控制。例如:某个组内的用户都拥有某一权限。
用户组管理命令:需要root用户去设置
(1)创建用户组:groupadd 用户组名
(2)删除用户组:groupdel 用户组名
用户管理
(1)创建用户:useradd [-g -d] 用户名
-g:指定用户属于哪一个组,如果没有指定则会自动创建同名的组自动加入,指定组的话,需要这个组已经存在
-d:指定用户home路径,不指定则HOME目录默认在/home/用户名
(2)删除用户:userdel [-r] 用户名
-r:删除用户的HOME目录,不适用-r,HOME目录保留
(3)查看用户所属组bash id[用户名]
(4)修改用户组:usermod -aG 用户组 用户名
getent命令
适用getent命令可以查看系统中有哪些用户:
最下面是自己创建的:
getent group
可以查看存在哪些组
在Linux中软件安装包是.rpm
yum [-y] [install | remove |search] 软件名
yum -y install wget
yum -y remove wget
yum search wget
ln -s /home/user1/data /home/user2/backup
-s:表示创建的是软连接。
这将在 /home/user2/backup 目录中创建一个名为 data 的软连接,它指向 /home/user1/data 目录。
date [-d] [+格式化字符串]
-d按照给定的字符串显示日期,一般用于日期计算date
date +%Y-%m-%d
(3)显示当前时间
date +%H:%M:%S
(4)显示当前完整日期和时间:
date +"%Y-%m-%d %H:%M:%S"
-d选项,可以按照给定的字符串显示,一般用于日期计算
sudo timedatectl set-timezone <时区>
例如,如果需要将时区修改为北京时间(中国标准时间),可以使用以下命令:
sudo timedatectl set-timezone Asia/Shanghai
3. 方法二:
4. 方法三:时间自动校准
安装ntp程序,
自动校准时间,yum -y install ntp
并设置开机自启:systemctl enable ntpd
ifconfig
查看本机的IP地址。概念:主机名是计算机在网络上的名称标识符,它通常是一个字符串,用于标识特定计算机或设备。在Internet上,主机名通常与IP地址相关联,这使得计算机之间可以通过名称而不是IP地址进行通信。
主机名通常由字母、数字和连字符组成,长度可以从1到63个字符不等。在计算机上,主机名可以用来识别和访问不同的网络资源,例如文件共享、打印机、Web服务器和电子邮件服务器等。在网络上,主机名通常用DNS(Domain Name System)系统进行解析,将主机名映射到相应的IP地址
查看Linux和Windows主机名
修改Linux主机名(root权限)
格式:
hostnamectl set-hostname 主机名
实例:修改前:root是用户,bogon是Linux系统的主机名
修改后重新连接Linux查看:
(2)在Linux系统手动修改配置文件,固定IP
使用vim编辑网卡配置文件:
IPADDR="192.168.111.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.111.2"
DNS1="192.168.111.2"
重启网卡:systemctl restart network
ping [options] destination
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测试不通的状态:
wget [-b] url
:-b:可选,后台下载,会将日志写入当前工作目录的wget-log文件wget http://example.com/file.txt
curl [-O] url
,-O:当用于下载文件时,可以使用此选项保存文件yum -y install nmap
nmap 127.0.0.1
netstat -anp|grep 6000
用grep过滤管道符前面得到的内容。
可以通过ps命令查看系统中进程:ps -ef
-e:显示全部进程,-f:以完全格式化形式展示信息
通过管道符进行过滤
关闭进程:
命令:kill [-9] 进程ID
,-9表示强制关闭进程,不使用此选项会向进程发送信号要求关闭,但是否关闭还要看进程本身处理机制。
环境变量是在操作系统中设置的一些变量,用于指定各种程序运行时所需的参数和配置信息。环境变量在大多数操作系统中都是全局可见的,因此可以被任何运行在该操作系统上的程序所访问。在Linux中,一些常见的环境变量包括PATH、HOME、USER、LANG等,与其他操作系统类似。用户也可以自定义环境变量,以存储应用程序的配置信息或自定义参数。
可以使用env命令查看当前系统中的环境变量,环境变量是KeyValue型
$符号:用于取变量的值,环境变量记录的信息可以通过此符号取出
取出环境变量PATH的值。
设置环境变量:在Linux中,可以使用export命令来设置环境变量。例如,下面的命令可以将名为MYVAR的环境变量设置为值"hello world":export MYVAR="hello world"
可以使用echo命令来查看已定义的环境变量的值。例如echo $MYVAR
sudo yum -y install lrzsz
sz 文件名
:文件自动下载到桌面tar [-c -v -f -z -C] 文件1 文件2 文件3......
tar -cvf test.tar test1.txt test2.txt test3.txt
(3)将三个文件压缩成.gar格式
tar -zcvf test.tar.gz test1.txt test2.txt test3.txt
(1)将选项-c换成-x,先将原来三个文件删除再解压
(2)解压:tar -xvf test.tar
将文件解压到当前目录
(3)将文件解压到指定目录:tar -xvf test.tar -C 目录
(4)解压.gz格式:tar -zxvf test.tar.gz -C 目录
:以Gzip的模式解压文件,并解压到指定目录
注意解压时如果有同名文件会被覆盖,注意压缩包中文件是否有与现在文件夹文件同名的。
yum是一种在Linux操作系统中用于管理软件包的工具。它允许用户从特定的软件源(已配置好的仓库) 搜索、安装、更新和删除软件包。而这些软件源就被称为仓库(repository)。仓库是一个包含预编译软件包的集合,这些软件包可以在Linux系统中安装和运行。当使用yum安装或更新软件包时,它会从一个或多个 已配置的仓库中查找该软件包。如果找到了匹配的软件包,yum会下载它并安装或更新它。
(1)安装软件包:yum可以从已配置的仓库中下载和安装软件包,使用户能够轻松地获取和安装所需的软件包。例如,要安装Apache web服务器,可以使用yum install httpd命令。
(2)更新软件包:yum还可以更新已安装的软件包,包括操作系统本身。这有助于确保系统中的软件保持最新、稳定和安全。例如,要更新所有已安装的软件包,可以使用yum update命令。
(3)搜索软件包:如果用户不确定要安装哪个软件包,他们可以使用yum search命令搜索软件包。yum会在所有已配置的仓库中搜索软件包,并显示与搜索条件匹配的软件包列表。
(4)删除软件包:如果用户不再需要某个软件包,他们可以使用yum remove命令卸载该软件包。yum会删除软件包及其依赖项,以确保系统的稳定性和安全性。
(5)管理仓库:yum还可以管理已配置的仓库,包括添加、删除和启用/禁用仓库。这允许用户根据需要更改软件源,以便获取所需的软件包。
(1)yum仓库(Yum repository)是在Linux操作系统中用于存储和管理软件包的集合。它是yum软件包管理器的重要组成部分,yum可以从配置的yum仓库中下载、安装、更新和删除软件包。
(2)Linux操作系统通常会预配置一些常用的yum仓库,例如CentOS官方仓库、EPEL仓库等。用户还可以添加、删除、启用和禁用其他yum仓库,以便获取特定的软件包或版本。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
yum -y install mysql-community-server
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 'root'@'localhost' IDENTIFIED BY '密码';
#密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
如果想要设置简单密码:
# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级
别低
set global validate_password_length=4; # 密码长度最
低4位即可
# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中
不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
4. 配置root远程登录
(1)在设置好的电脑中通过命令mysql -uroot -p
然后输入密码可以直接登录,但是如果在其他电脑上通过网络连接登录则不行,需要设置远程登录。默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统请注意,允许root远程登录会带来安全风险
(2)设置
#授权root远程登录
grant all privileges on *.* to root@"IP地址"
identified by '密码' with grant option;
# IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址密码表示给远程登录独立设置密码,和本地登陆的密码可以不同
# 刷新权限,生效
flush privileges;
netstat -anp | grep 端口号
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。