作者:codejiwei
日期:2020-09-28
注意:这里的硬盘分区这里比之前的ubuntu系统多了一个200M左右挂载在/boot的分区。
另外:自定义系统软件的时候,除了基本系统内的:基本、兼容程序库;应用程序内的:互联网浏览器;中文语言支持;桌面(正式开发不用),其他的所有都不选。
然后:去掉重新引导界面的Kdump。
联网:设置网络为自动连接。
最后:安装VMTools,作用是:虚拟机显示优化和调整,方便虚拟机和本机的交互,拖放文件、鼠标切换等
点击安装VMware Tools
将压缩文件拖拽到桌面,解压到此处
终端内运行vmware-install.pl,然后一直回车即可
网络配置方式:
桥接模式
好处是:大家都在同一网段,相互可以通讯缺点是:因为ip地址有限,可能造成ip冲突Nat网络地址转换模式
好处是:虚拟机不占用其他的ip,所以不会ip冲突缺点是:内网的其他人不能和虚拟机通讯主机模式
单独的一台电脑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pn4clJi8-1601865733388)(F:\CopyFile\MarkDown学习\Linux\CentOS.assets\1596080583774.png)]
/etc/passwd 用户信息
/etc/group 组信息
/etc/inittab 当前运行级别
/etc/sysconfig/network-scripts/ifcfg-eth0 网络配置文件
/etc/sysconfig/network 主机映像文件
/dev/sdb1 硬盘分区
正常模式
在正常模式下,可以使用快捷键
插入模式
也叫编辑模式,输入i和o等
命令行模式
可以通过命令,完成读取、退出、替换等操作
保存退出:wq
强制保存退出:wq!
快捷键使用:
拷贝当前行yy
拷贝当前行向下的5行,5yy
粘贴:p
删除当前行:dd
删除当前行向下的5行:5dd
删除单个元素x 相当于delete;X相当于Backspace
撤销操作:u
快速定位到尾行:G
快速定位到首行:gg或1G
将光标移动到20行:20 shift +g 或 20 G
查找某个单词: /查找内容,输入n是查找下一个
设置文件的行号::set nu
取消文件的行号::set nonu
root - root组
hadoop - hadoop组(默认创建用户就自动生成了一个该用户的组)
家目录概念用户登录的时候会自动进入自己的家目录:/home/hadoop
必须是管理员权限才能添加删除用户操作。
useradd [选项] 用户名useradd -d /home/tiger hadoop 将用户的家目录指定放到/home/tiger目录前提是:在/home/下不能存在tiger这个目录
删除用户同时删除/home/下的hadoop这个用户的家目录。
userdel hadoop这样只是删除了hadoop这个用户,但是不会同时删除/home/下的hadoop文件
注意:一般也不会删除用户文件查看当前登录的账号是谁
who am i
查看所有的用户或者组信息
cat /etc/passwd 查看用户
cat /etc/group 查看所有组
[root@hadoop101 ~]#su codejiwei
groupadd +组名
删除组groupdel +组名
添加用户的时候直接指定组useradd -g 用户组 用户名
useradd -g root hadoop 修改用户所在组usermod -g 用户组 用户名
用户配置文件(用户信息):/etc/passwd
组配置文件(组信息):/etc/group
口令配置文件(密码和登录信息,是加密的):/etc/shadow
0 :关机
1 :单用户 [类似安全模式, 这个模式可以帮助找回root密码]
2:多用户状态没有网络服务
3:多用户状态有网络服务 [使用最多]
4:系统未使用保留给用户
5:图形界面 【】
6:系统重启
启动时->快速输入enter->输入e-> 进入到编辑界面-> 选择中间有kernel 项->输入e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入enter->输入b [boot]-> 进入到单用户模式 【这里就可以做补救工作】
我的理解是?那岂不是谁都可以修改root密码?解:这种方式修改root密码不能远程登录修改,只能在机房里,手里拿着机器才能修改,所以默认这台电脑就是你的。
pwd 显示当前工作目录的绝对路径
ls 显示当前路径的文件或目录
ls -a 显示隐藏的文件ls -l 以长列表的形式显示信息cd 切换路径
mkdir 创建目录
mkdir -p /home/hadoop 创建多级目录rmdir 删除目录,不能删除非空的目录
其实就等于rm -r /home/hadoop = rmdir /home/hadooprm 删除文件,
rm -rf /home/hadoop 可以删除非空的目录touch 创建空文件
touch hello.txttouch hello1.txt hello2.txtcp 拷贝指令
cp -r 递归复制整个文件夹\cp -r 强制复制 不提示信息rm 移除文件或目录
rm -r 删除整个文件夹rm -f 强制删除不提示cat 查看文件内容
cat -n 显示行号查看文件内容cat -n /etc/profile | more 通常和more一起使用 分页显示more 文本过滤器☆
空格键 :翻页enter:一行一行ctrl + B :上一页less 分页显示★ 按q退出
输出重定向>
ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)追加>>
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)echo “内容”>> 文件echo 输出内容到控制台
echo $PATH 输出当前环境变量
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
head 显示文件的前几行
head -5 file.txt默认显示前10行tail 显示文件的后几行
tail -5 /etc/profiletail -f /etc/profile 实时追踪该文档的所有更新,工作中经常使用案例:实时监控info.txt文件,该文件有变化时,实时就能看到!ln 软连接、符号连接指令
切换到软连接的真实目录:
ln -s 链接目的路径 软连接名称
相当于windows系统的快捷方式,主要存放了链接其他文件的路径
案例1:在/home目录下创建一个linkToRoot,链接到/root目录
这个时候进入到linkToRoot会自动进入到/root路径下,但是用pwd查看当前路径还是:/home/linkToRoot
删除软连接:rm -r linkToRoot
注意不能这样删除linkToRoot/;否则会出现资源忙现象。
history 查看执行过的历史指令,也可以执行历史指令
后10条指令
执行历史编号为n的指令
显示年月日:
显示年月日时分秒
设置日期
案例:设置当前时间为:2020-11-11 11:11:11
date -s "2020-11-11 11:11:11"cal 显示当前日历
显示一年的日历find 【搜索范围】 【选项】
案例1:按文件名,根据名称查找/home目录下的hello.txt文件
案例2:按照拥有者查找:查找/opt目录下,用户名称为root的文件
案例3:查找大小范围:查找整个系统下大于20m的文件(+n 大于 -n 小于 n 等于)
按照通配符去查找:查找/home 下所有的.txt文件
locate 快速定位文件路径
第一步:创建locate数据库:updatedb
第二部:查找hello.txt文件
grep指令和管道符号|
gzip和gunzip
适合单文件压缩,解压后源文件不保留
gzip用于压缩文件压缩后不会保留原来的文件。gunzip 解压缩文件案例:gzip压缩,将/home下的hello.txt文件进行压缩,然后再解压zip和unzip
tar 打包指令(最常用!)
打包:tar -zcf home.tar.gz /home
将/home文件打包成home.tar.gz文件
解压:tar -zxf home.tar.gz /home
将home.tar.gz文件解压到/home文件下
但是可以看到上面的组还是root,下面就修改文件所在组。
一般就用chown atguigu:atguigu 文件名 同时修改文件所有者和所在组
修改文件所在组
chgrp 要改为的新的组名 文件名
修改用户的所在组(前面第8节也有)
usermod -g 要改到的组名 用户名(5)文件的话是1;目录的话是里面有几个子目录
(6)文件的话是多少个字节;目录的话都是4096
对文件进行权限的管理操作:
第二种方式:通过数字变更权限:
修改文件的所有者(上面也讲过了!)
chown 新的文件所有者 文件名
chown -R 新的文件所有者 目录名
-R 可以递归的将整个目录下的所有文件的所有者都修改为新的用户
修改文件的所有组(上面也讲过了!)
chgrp 新的组 文件名
chgrp -R 新的组 目录名
这样就将整个目录下的所有文件的组修改成新的组了!
系统在某个时间执行特定的命令或程序
crontab[选项]
crontab -e 编辑crontab定时任务crontab -r 删除当前用户的所有crontab任务crontab -l 查询crontab任务任务调度文件:/etc/crontab
参数说明:
每分钟都执行ls -l /etc/ > /tmp/to.txt
每分钟都将/etc目录下的信息写入到/tmp/to.txt文件
输入crontab -e后需要输入 指令:*/1 * * * * ls -l /etc/ > /tmp/to.txt
查看定时任务:
案例2:每隔1分钟,就将当前的时间和日期,追加到 /tmp/mydate.log 文件中。
首先用vim创建一个/home/mydate.sh的文件,在里面编辑要执行的操作:
date >> /home/mydate.txt # 表示把日期追加到mydate.txt这个文件中 cal >> /home/mydate.txt然后,将.sh文件修改成可执行文件
chmod 744 mydate.sh最后,给mydate.sh可执行文件创建定时任务
crontab -e 在里面添加定时任务 */1 * * * * /home/mydate.sh #每小时的每1分钟,一天每小时、一月每天、一年每月、一周每天 执行/home/mydate.sh案例3:每天凌晨2:00将mysql数据库testdb,备份到文件backdb.txt
首先用vim创建一个backupdb.sh文件,在里面编辑要执行的操作
/usr/local/mysql/bin/mysqldump -uroot -proot testdb > /home/backdb.txt然后,将.sh文件修改为可执行文件chmod 744 backupdb.sh
最后,为backupdb.sh创建定时任务
crontab -e * 2 * * * /home/backupdb.sh硬盘分类:
IDE硬盘:”hdx~“ :”hd“表示IDE硬盘;”x“表示盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘);“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。SCSI硬盘:“sdx~”lsblk -f 查看系统的分区和挂载情况
lsblk 查看系统分区、挂载情况、大小添加一块硬盘1G,设置中添加硬盘即可‘
重启服务器reboot
lsblk
给sdb硬盘分区
fdisk /dev/sdb
分区:m查看命令列表
n 新增分区
p 显示磁盘分区,然后选1
回车 默认全部剩余时间
w 写入并退出
格式化sdb1
mkfs -t ext4 /dev/sdb1 (格式化为ext4文件格式)
挂载sdb1
mount /dev/sdb1 /home/newdisk (挂载到/home/newdisk) 注意此时不要在newdisk文件下
上面的方式,只是临时挂载,重启系统挂载消失,配置Linux分区表,实现自动挂载
vim /etc/fstab
卸载:umount 设备名 | 挂载路径
umount /dev/sdb1
-h表示带计量单位:K M G等
查看指定目录的各个文件夹的磁盘占用情况。!!!
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
应用实例:查询 /usr目录的磁盘占用情况,深度为1
du -ach --max-depth=1 /usr统计/home文件夹下文件的个数
ls -l |grep "^-" | wc -l # 首先过滤只保留以-开头的表示文件,然后统计其个数统计/home文件夹下目录的个数
ls -l | grep "^d" | wc -l统计/home文件夹下文件的个数,包括子文件夹里的
ls -lR | grep "^-" | wc -l统计/home文件夹下目录的个数,包括子文件夹里的
ls -lR | grep "^d" | wc -l以树状显示home目录结构
# 首先没有tree需要先安装 yum install tree # 以树状显示home目录结构 tree /home自动连接:Linux系统界面网络右键,编辑连接,选上自动连接。下次即可自动连接网络。
这样有一个缺点:Linux启动后会自动获取ip,IP可能不一样,这样就不适用于做服务器!因为服务器ip是固定的!!
指定固定的ip:
修改配置文件来指定ip,并可以连接到外网。
vim /etc/sysconfig/network-scripts/ifcfg-eth0 (eth0这块网卡的配置)在ifcfg-eth0这个文件内进行修改:
# 1 ONBOOT=yes # 2 BOOTPROTO=static # 3IP地址 IPADDR=192.168.255.1 # 4网关 GATEWAY=192.168.255.2 # 5域名解析器(与网关ip一致) DNS1=192.168.255.2 # 一般是需要修改1、2;需要添加3、4、5/etc/sysconfig/network 这是主机名!可以在这可以修改主机名!
/etc/hosts 修改这个文件就能成功ping通了!!!
比如说我现在的centos1的ip是192.168.255.132,此时我ping192.168.255.132可以ping通,但是我ping我的hostname为codejiwei就ping不通;我在/etc/hosts文件中添加192.168.255.132 codejiwei这个时候就可以ping通codejiwei了!!!
而大数据中需要linux不同节点相互ping,所以在centos2中去ping192.168.255.132可以ping通,但codejiwei就ping不通了,这时候可以修改centos2的/etc/hosts文件,添加192.168.255.132 codejiwei 这个时候就可以ping通了!
window系统的这个文件路径在:C:\Windows\System32\drivers\etc\hosts
ps 查看进程使用
-a显示当前终端的所有进程信息
-u以用户的格式显示进程信息
-x显示后台进程运行的参数
一般都是用
ps -aux | grep more # 分页查看 ps -aux | grep sshd # 查看仅仅和sshd有关的进程查看父进程ps -ef | more
案例1:踢掉某个非法登录用户【jack】
远程登录jack,此时用ps -aux | grep sshd 查看有关远程登陆的进程,然后kill [进程号]终止进程
案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务
案例3: 终止多个gedit 编辑器
killall gedit
案例4:强制杀掉一个终端 对于 bash
kill -9 对应的bash的进程号
服务(Service)本身就是进程,但是是运行在后台的,通常会监听某个端口,等待其他程序的请求,比如:mysql,sshd,防火墙等,又被成为守护进程。
查看服务的几种方式:
setup
ll /etc/init
还有就是下面说的chkconfig --list
service 服务名 [start | stop | restart | reload | status]
在CentOS7.0以后就不再使用service了,而是systemctl
案例:查看当前防火墙的状态,关闭防火墙和重启防火墙
查看:service iptables status
关闭:service iptables stop
开启:service iptables start
这种方式修改服务,只是临时有效,重启后还是回到原来状态;如果要永久有效使用chkconfig命令
可以给每个服务的各个运行级别设置自启动\关闭
语法:1. chkconfig --list | grep xxx
2. chkconfig 服务名 --list
3. chkconfig --level 5 服务名 on/off
4. chkconfig 服务名 on/off
应用实例:
案例1:请显示当前系统所有服务的各个运行级别的状态
chkconfig --list案例2:请查看sshd服务的运行状态
chkconfig sshd --list chkconfig --list | grep sshd案例3:将sshd服务在运行级别5下设置为不自动启动
chkconfig --level 5 sshd off案例4:当运行级别为5时,关闭防火墙
chkconfig --level 5 iptables off案例5:在所有运行级别下,关闭防火墙
chkconfig iptables off chkconfig iptables onchkconfig重新设置后需要重启后才能生效!
top [选项]
-k 杀死指定PID号的进程
交互操作
P 以CPU使用率排序M 以内存使用率排序应用实例:
案例1:查看指定用户的进程
top 然后输入u 然后输入root案例2:终止指定的进程
top 然后输入k 然后输入PID进程号案例3:指定进程刷新时间10秒
top -d 10查看网络使用情况netstat
语法:netstat [选项]
-an 按一定顺序排列输出
-p 显示哪个进程在调用
应用案例
请查看服务名为 sshd 的服务的信息。
Ø Netstat –anp | grep sshd
Ø 如果我们希望查看当前系统有哪些端口在监听
netstat -tlnp
redHat package manger
rpm包的简单查询指令
查询已安装的rpm列表:rpm -qa|grep xx
查看当前有没有安装火狐浏览器:
查询所有rpm包
rpm -qa
查询软件信息
rpm -qi firefox
删除软件包
rpm -e firefox
安装软件包
包放在了/media/目录下
复制/media下的火狐到/opt目录
到/opt/目录下,安装rpm -ivh firefox-。。。。
可以自动自动处理依赖关系,一次性安装所有依赖包。前提需要联网!
查询安装软件:
yum list |greo 软件包
安装软件
yum install 软件包
卸载软件
yum remove 软件包
常用命令:
netstat,top,lsblk,find,ps,chkconfig
netstat -anp|grep 80 :80端口的使用状况