导图社区 linux操作系统
大数据专业学友精心记录上课全程步骤,部分老师未提及的内容也有补充 【注】只是linux基础,不包括大数据运维中的环境搭建
编辑于2022-06-26 10:23:23linux操作系统
安装Linux系统
安装与创建、根用户密码修改
安装文件与软件
VMare详细安装地址及过程:
安装镜像文件:1.搜索清华镜像,点击centos;2.选择版本(新版本调试中一般不那么稳定,因此,常用选项为倒数第二个版本);3.选择isos;4、选择X86_64;5.选择带有DVD和iso字样的文件,然后选好位置,下载
虚拟机无法打开实录
情况描述:创建虚拟机后,长时间黑屏无法打开
解决方案:移除打印机
命令提示符
~目录介绍
linux没创建一个用户,都会为该用户创建一个家目录,即用户目录,来存放其个人数据(如:以Susan的用户登录系统,~就是Susan的家目录,以root的身份登录系统,~就是root的家目录)
提示符
$ 普通用户
# 根用户
命令格式
定义
命令选项和参数有时用括号括起来,表示选项或参数可选,并非必须
选项
选项可看作为控制命令行为的一种开关,选项一般前面有一个符号或两个符号
参数
参数一般用来向命令传递运行时所需要的信息
常用功能(历史命令、命令补全)
历史命令功能
系统默认保存历史命令一千条,可用history命令查看,也可用上下键浏览并使用曾经输入过的命令
命令补全功能
Tab键
两下Tap显示以某字母开头的所有命令
关机与重启
正常的关机重启
关机
shutdown -h now [+
此为正常关机命令,非正常关机命令会对主机运行有影响,具体步骤见上
关机时间
* 取消命令 * 【关机时间示范】1.单独一个数字,表示几分钟,如:10(将在十分钟后关闭虚拟机);2.时钟:分钟(表示在某时某分关闭) * (shutdown -c)ctrl+c
解释文字,用于通知用户关机、重启的原因
注:只有root用户可执行此命令
重启
shutdown -r now[+
【辨析】正确与非正确关机重启命令区别为,正确的关机与重启命令会让机器平稳的运行一段时间后,安全的关闭虚拟机,非正确的关机与重启命令则是直接关闭所有终端,不给虚拟机以反应时间,而直接关闭虚拟机
配置网络
帮助命令
man
‘menu’的缩写 查看系统中自带的各种系统帮助手册,具体信息见上图
man命令提示符的界面操作方法
使用方法
拓:whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上
man命令的级别
查看命令
查看文本文件
配置文件
文本文件
日志文件
ls
list缩写:用于列出目录下的文件
ls下的分命令
组合命令:ls -l(al、a) /目录名
* 组合命令:ls -al(该目录所以文件的详细信息) * ls -l 显示文件及其详细信息(包括文件和目录的属性,文件或目录的所有者及所有者所在的组,文件大小及文件创建的日期与时间),可用ll命令代替此命令 * ls -a 显示当前目录的所有文件,包括隐藏文件(在linux中,前面带了一个 · 的文件是隐藏文件) * ls /目录名(for example:root、home)
仅显示该目录本身的详细信息:ls -lhd /目录名
cat
concatenate缩写
使用范围:查看较小的文本文件
由于此命令是一次性将文件的所有内容都输出到命令行上,如果文件较大,超出了命令行的输出缓冲区的话,用户将看不到文件的前面内容,并且cat命令也不提供翻页和查找等基本功能,因此cat命令只适合查看文件较小的文件
less
使用范围:查看较大文本文件
特点:提供翻页和查找,使用方法与man提示符的界面操作方法相同
最适查看日志文件组合
head
中文释义:头
使用范例:head -n 20 /var/log/message
* 使用释义:查看后缀文件的前二十行,如果文件不到二十行则全部显示
其他使用说明
* 如果head后不跟选项与参数,系统默认展示文件头十行
tail
中文释义:尾巴
使用方法与head相似,只是tail查看的是文件结尾
最适原因:系统更新的日志文件一般放在文件结尾与开头,以上组合命令正好用于查看文件结尾与开头
vi编辑器
1)命令行模式(command mode)
进入vi后是命令行模式,此模式下只能控制屏幕光标的移动,字符、字或行的删除(使用delete),移动复制某区段及进入Insert mode下,或者到 last line mode
2)插入模式(Insert mode)
i 进入
Esc 退出
3)底行模式(last line)
: 进入
:w(保存修改)
: wq 【输入「wq」,存盘(w))并退出(v)vi】
: q! (输入q!, 不存盘强制退出vi)
:wq!(强制保留退出)
用ifconfig命令临时配置网络
1)查看电脑之前是否执行过此操作
ifconfig 显示或设置网络设备
2)su
切换到root身份
3)ls /etc/sysconfig/network-scripts/
在Linux中,此目录一般用于存放以太网配置文件,文件名一般为ifcfg-ethN(其中N代表一个数字,寓意主机网卡序号)
4)修改设置
vi ifcfg-ens33
1)ONBOOT NO -默认情况下不能上网(NO→YES)
2)IPADDR= . . . (指定主机IP地址-主机前三个相同)
3)GATEWAY= . . . (指定网关-同主机)
注:网关与IP地址不可相同,网关是一个网络通向其他网络的IP地址,默认网关不可随便指定,必须正确指定,否则一台电脑就会把数据包发给不是网关的电脑,从而无法与其他网络的电脑通信,另外,不同电脑的网关可以相同
4)ROOTPROTO='dhcp'→'static'(表示不采用dhcp协定来配置网络接口,而是采用静态配置,以及手动指定网络接口的相关参数)
5)NETMASK= . . . (指定子网掩码-同主机)
5)存盘退出
6)重启网络服务
service network restart
7)确认操作成功
1.再次执行操作1)
操作成功标志:ens33(网络接口名字)有了IP地址
如果可以接收到对方发来的包,就算作是在同一网关,即配网成功
2.ping + 网关
配置网络参数
8)vi resolv.config
添加域名服务器的地址
9)nameserver 114.114.114.114
上述配网后只可用ip地址上网,此操作可以实现用域名上网
此为主DNS服务器,备用DNS服务器(自己部署的域名私有服务器):nameserver 8.8.8.8
10)systemctl restart NetworkManager
远程登录
有关service和systemd命令介绍
systemctl命令:一个systemd工具,主要负责控制systemd系统和服务管理器-systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起
service命令:可以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态-service命令的作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作,所以service network restart可以用/etc/init.d/network restart代替
service命令的功能基本都被systemct取代。直接使用systemctl命令即可
网络接口简单操作-修改ip地址
ifconfig + 网络接口的名字 + 要修改的网络地址
Putty远程登录实操
Putty下载地址:
打开Putty,会弹出以上窗口
在Host Name( or IP address)下面的框中输入要登录的远程服务器IP,然后回车
接着在新弹出的窗口中输入需要登录的用户名,回车
输入用户密码,就完成了^_^
ssh相关
ssh介绍:提供安全的远程登录与数据传输
ssh远程操控
使用范围
Linux一般作为服务器使用,而服务器一般放在机房,管理员不可能一直在机房操作Linux服务器,这时就需要远程登录到Linux服务器来管理维护系统,Linux系统中是通过ssh服务实现的远程登录功能
关于远程登录的一些
默认ssh服务端口号一般为22
window系统linux远程登录客户端:SecureCRT、Putty、SSH Secure Shell等
基本操作思维
1)查看电脑之前是否执行过此操作
由于linux系统的特殊性,所有命令都在命令提示符中运行,为确保我们要执行的操作为此电脑以前所没有的操作,在执行所有操作之前,我们首先需要查看此电脑之前是否执行过此操作
2)切换用户
Linux很多操作需要root权限,先一步切换用户可以让后续操作变得更加便捷,当然,也可以按照后续需求再考虑是否切换用户
3)进入执行操作目录
一方面为了方便我们下次能够轻易的查找到此次操作,另一方面也考虑到某些操作在linux有固定的地方存放,所以在执行操作之前,我们需要先进入执行该操作的目录
进入执行操作目录一般有两个常用操作
ls和vi编辑器(详细说明见配置网络)
4)进行所需要的操作
5)确认操作成功
磁盘管理
文件与目录
linux目录结构
根目录下文件
各目录介绍
bin boot dev
etc home lib
media mnt opt root
sbin srv tmp
linux特定字符的特定目录
示例:cd ~susan-意味切换到Susan的家目录中)
关于目录的一些操作
pwd
显示当前完整工作目录
cd
切换目录(change directory)
ls
列出目录内容(常用方式见配置网络-查看命令的子表)
绝对路径与相对路径
名词介绍
使用范例
何时使用
相对路径
1)需要从两个不同目录查找同一事物时
2)需要从一个目录切换到另一个目录中时,推荐使用相对路径
需要结合具体情况
文件权限
ls -l 和 ll
这里以ssh免密登录查看权限时的截图为例,一行显示一个文件信息,文件信息分八列解释,最后一列为文件名
权限分组说明
各字母所代表权限说明(扩:d表示目录)
删除、创建命令
rm
remove缩写
格式
rm [要删除的文件|文件列表|目录]
使用范围
可删除单个文件多个文件,以及整个目录
例子
rm passwd.bak(删除passwd.bak文件)
rm ./Downloads/test ./Downloads/test1 ./Downlosds/test2(删除Downloads目录下test、test1 、test2文件)
rm -R ./Downloads/Desktop(删除Downloads目录下的仅有文件Desktop)
touch
格式
touch [想要创建的文字名]
一些事项
如果创建文件已存在,使用 此命令,将会修改文件的时间属性,包括存取时间和更改时间
用户与组
####
硬盘分区
双击主页硬盘,打开此界面,点击添加,重复点击下一步后完成,再点击确认退出
分区步骤
查看磁盘信息
fdisk -l
进入磁盘
fdisk /dev/sdb
格式化分区
mkfs -t ext4+分区
例子
挂载
mount +分区名+目录名
例子
磁盘配额
开启ssh服务
ssh免密登录
1)生成‘ssh’
ssh-keygen
用于为‘ssh’生成、管理和转换认证密钥,支持RSA和DSA两种认证密钥
2)查看隐藏文件
3)进入执行操作目录
cd .ssh/
请使用/.ssh(ssh密钥默认保存目录,如没有此目录,ssh-keygen命令会使用正确权限再次创建一个)
4)追加用户密码到指定目录
cat id_rsa.pub(显示公钥) >>(追加写) authorized_keys(将需要显示的公钥文件追加显示到收集公钥的文件中去)
相关:>(覆盖写)
5)查看权限
ll
6)改变文件权限
chmod(改变文件权限命令) 600 auth(Tab)
7)确认改变权限成功
重复步骤5)
软件安装
有关软件安装通配命令
一般软件安装位置:/usr(使用者目录)/local/src
查找命令
locate(定位)
查找较快但功能稍弱
举例:locate .tar(查找名字中包含.tar的文件)
关于locate命令特点解释
locate并没有到硬盘寻找文件,linux将所有文件名都存储在数据库/var/lib/mlocate,由于计入文件名的数据库没有实时更新,所以locate文件有时可以找到已经删除的文件,同时不能找到新添加的文件
linux文件名数据库每天更新一次,可以通过updatedb命令手动更新,如果需要更新文件过大,则需要花费一定的时间进行更新,更新后就不存在找不到新添加的文件以及可以找到已经删除的文件的问题
find(查找)
功能强大但查找稍慢
用法
按文件名查找:-name
* find / -name passwd
按类型查找: -type
* find /etc -type l * 查找/etc的全部类型文件
按时间查找:-mtime -mmin
* find /tmp -mtime -3 * 三天内修改过的文件 * find /tmp -mmin +10 * 十分钟之前内容曾发生过改变的文件
按大小查找:-size
* find /tmp -size -3k * 在tmp目录下查找比3k小的文件 * find /tmp -size +100c * 比100字节大的文件 * find /tmp -size 4k * 查找内存为4k的文件
按属主查找: -user -uid
* find /tmp -user root * 查找属于root用户的文件 * find /home -uid 1000 * 查找id为1000的用户拥有的文件
按用户组查找:-group -gid
* find /tmp -gid 0 * 查找id为0的用户组文件
查询、安装、卸载某程序
查询系统安装的所有软件
rpm -qa
在所有的软件中查询是否安装了某服务
rpm -qa|grep +文件名
安装有依赖的文件
yum install -y +安装软件名
能在线下载并安装rpm包, 能更新系统,能自动处理安装包之间的依赖关系,并且一次性安装所有依赖的软件包,无须繁琐地一次次下载、安装,提供查找、安装、删除某一个、一组甚至全部软件包的命令
安装无依赖文件
rpm -vih +软件名
本机内已有安装包,安装程序包指令
* 缺点:文件关联性大,装一个软件要安装很多其他软件包,很麻烦;优点:安装速度快
删除软件
yum -y remove +需要删除的软件名
管道与筛选
管道
|(界定符号-管道符)
管道符使用说明
筛选
grep
使用范围
* 在指定文件中查找并显示含有指定字符串的行命令
举例
查询软件是否安装
rpm -qa|grep +软件名
拷贝命令cp
copy 缩写
举例
cp /etc/passwd ~
将passwd拷贝到家目录中
cp /ect/passwd ~/passwd.bak
拷贝并重命名文件
cp tesk test1 test2 ./Desktop
拷贝多个文件
cp -r ./Desktop ./Public
将Desktop整个目录拷贝到Pubic的文件中
移动文件命令 mv
move缩写
使用方法参照拷贝命令,不同的是,当mv命令在移动整个文件夹时不需要使用-r等参数说明
mv的重命名功能
mv passwd passwd.bak
将passwd文件改名为passwd.bak
重定向
使用范围
用于改变命令的输入源与输出目标
使用说明
一般情况,用户输出都会显示到屏幕上,如果想要输出到文件或设备上去就需要使用重定向
mysql
安装mysql
1)筛选确认本机未安装过mysql软件
2)安装mysql包
wget
出现200 OK即下载成功
3)查看,然后安装
4)一键安装
5)确保操作成功
设置自启动
1)启动软件
systemctl restart mysqld
2)查看进程
ps(查看前台运行的任务进程) aux(查看全部进程)|grep mysqld(筛选查看mysql是否已经运行)
运行示意图
未运行
3)设置开机自启动
systemctl enable mysqld
4)重启查看上级命令是否实施完成(使用该分支内的2)方法查看)
关于mysql密码
1)从日志文件中查找系统为mysql配置的原始密码
cat /var/log(日志文件存放位置)/mysqld.log(日志文件后缀名)
2)从日志文件中筛选密码
cat /var/log/mysql,log|grep 'A temporary password'(一个临时的密码)
3)修改密码
alter user(修改用户)'root'@'localhost'identified by '(修改后的密码)'
首次修改密码,若密码不符合原系统设定的密码要求,会显示密码等级过低,不允许,此时需要对系统设定得密码等级进行修改
* 1.set global validate_password_policy=LOW; * 设置密码安全等级为低 * 2.set global validate_password_length=6 * 设置密码长度为6
4)退出
quit
5)进入mysql软件
mysql -u(user) root -p(password)
安装java
1)筛选确认本机未安装过java
2)彻底删除已有的关于java的文件
3)确认操作成功
4)进入下载目录并查看
5)安装JDK文件
进入www.oracle.com查找JDK 8(8版本,成熟)
从物理机拖入文件(无图案模式不可使用此方法)
拖进来以后两边有单引号以及双反斜杆,双反斜杠最前面一个斜杆意为转义,后一个意为根目录
配环境
1)找到java的路径
ls /usr/java/jdk(Tap)
目录/bin ‘java可执行文件’,/lib java类库文件
cd ..(退出两个目录)
2)修改环境变量
vi /etc/profile
2.复制完整路径
3.将java
4.存盘退出
子主题5
6.确认操作成功
安装hadoop
1)筛选确认本机未安装过hadoop
2)导入hadoop文件
3)解压压缩包(文件后缀为gz的文件需要解压)
tar -xvzf hadoop(Tap)
配环境
子主题1
shell编程
查看进程
什么是进程
执行程序的过程
指令
最基础的计算机动作
程序
一系列指令构成的集合
ps命令
process status缩写
使用范围:用于显示当前进程状态
相关语法
关于shell编程
编程方式
支持交互式编程,也支持脚本语言编程
编程方向
维护及管理系统
解释器
linux操作系统,默认shell解释器为/bin/bash
使用变量
shell程序中的保留字都是字符串
常用命令(保留字)
输入/输出内部命令
输出
* echo
输入
* read