• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
草卆鱼
博客园    首页    新随笔    联系   管理    订阅  订阅

10/27上

今日考题
1.系统相关命令有哪些

ip a  # 查看网卡信息
ping www.baidu.com  # 测试网络 
Tab连按  # 查看指令(所有)
clear  # 清屏
man  cd  # 查看cd指令怎么用
shutdown -h 10  # 10分钟后关
shutdown -c  # 取消关机或重启
shutdown -h 0  # 立马关
shutdown -r 10  # 10分钟后重启
shutdown -r 0  # 立马重启

2.文件相关命令有哪些

ls  # 查看当前路径下文件
cd  /bin/  # 去根目录下bin文件夹
cd -  # 返回上一次操作(cd前)所在路径
cd ..  # 返回当前路径上级
pwd  # 显示当前路径
mkdir -p /leo/ace  # 在根目录下创建文件夹leo里面有个文件夹ace
touch a.txt  # 创建a.txt文件
cat a.txt  # 查看a.txt

3.命令快捷键位有哪些

ctrl + l  # clear
ctrl + c  # 取消执行命令
ctrl + a/e  # 光标瞬移去行首/行尾 
ctrl + u/k  # 光标到行首/行尾剪切
ctrl + y  # 黏贴
ctrl + s  # 锁定窗口
ctrl + q  # 解锁
tab  # 自动补全指令
ctrl + 方向左右  # 以单词为单位移动

4.vi命令有哪些

vi a.txt  # 打开a.txt
i  # 进入编辑模式
esc  # 退出编辑模式
:wq  # 保存并退出
:q!  # 直接退出
G  # 光标到最后一行
gg  # 光标到第一行
5gg  # 光标到第五行
shift+$  # 光标到行首
yy  # 复制一行
2yy  # 复制两行
p  # 黏贴一次
2p  # 黏贴两次
dd  # 剪切一行
2dd  # 剪切两行
dG  # 从光标删除到末尾
:set nu/nonu  # 显示行数/不显示行数
u  # 撤回  相当于ctrl + z
ctrl + r  # 取消撤回  相当于ctrl + shift + z
/host  # 文本中搜索host 按n搜索下一个

详细讲解

异常情况

编辑过程中如果链接突然断开  再次尝试链接要编辑的文本的时候会有一些提示
解决起来也很简单  只要删除显示的那个隐藏文件夹就行
rm -f .a.txt.swp  # 注意文件名前面还有一个点
出现原因:
    1.编辑状态突然中断
    2.文件在被多人使用
# 出现隐藏文件没有删除
继续编辑  vi -r a.txt

原理:
    在编辑的时候会有一个swp文件相当于被编辑文件的缓冲
    断开后这个文件会保存你再打开会有提示你要怎么操作 
    其中R就是继续编辑所以继续编辑是vi -r a.txt
    而继续编辑之后那个缓冲文件就没用了所以通过rm -f .a.txt.swp丢弃
    不然再断开再生成隐藏文件就会越来越麻烦

挂载

结构特点
1.linux根下面的目录是一个有层次的树状结构
2.linux每个目录可以挂载在不同的设备(磁盘)上
磁盘-设备(相当于是房间)  存储东西  从房间门进入>:目录(挂载点)
    比如你插个U盘之后windows就会自动给你开一个门 也就是自动给你挂载了
    但是linux 不会自动给你挂载 所以插入外部硬盘之后需要自行挂载
 实践操作实现挂载过程
		第一个里程:拥有一个存储设备(光驱)
		第二个里程:找到相应光驱设备
        [root@jasonNB ~]# ls /dev/cdrom 
        /dev/cdrom
        [root@jasonNB ~]# ls -l /dev/cdrom 
        lrwxrwxrwx. 1 root root 3 Dec  6 09:07 /dev/cdrom -> sr0
        第三个里程:进行挂载操作
      	mount /dev/cdrom  /mnt/(挂载点目录一定存在)
        第四个里程:确认是否挂载成功
      	ls /mnt 

目录结构

根目录(一个盘)  >>>  /usr目录(两个盘) >>>  FHS文件目录
现在用的就是FHS目录

目录作用

etc目录	# 系统和服务的配置文件存放区
home目录	# 普通用户信息存放区
mnt目录	# 临时挂载点目录
opt目录   # 第三方软件安装存放区
sbin目录  # 管理员可以执行的命令
tmp目录   # 临时存放数据
usr目录   # 存放用户程序
var目录   # 存放日志文件数据

网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0  		
	# 编辑网卡文件时可以先提前备份一份  eth0可能是ens33
但是通过vim修改之后并没有效果  是因为
	# 网卡文件修改后,必须重启网络服务
		systemctl restart network 
# 下面的还用不到先放着以防不备之需
    初始化软件安装 yum install -y vim tree bash-completion(提供命令参数补全功能 systemctl)
"""
BOOTPROTO=none 启动协议 获取IP地址的方法 自动获取	dhcp手动设置
DEFROUTE=yes   开启了默认路由 网络(默认路由 动态路由 静态路由)
NAME=eth0                        网卡逻辑名称
UUID=...									在虚拟化软件标识一些硬件设备信息
DEVICE=eth0                      网卡设备名称
ONBOOT=yes                       确保网卡是否处于激活状态
IPADDR=10.0.0.200                IP地址设置
PREFIX=24  设置子网掩码确保一个局域网里面可以连接多少台主机默认253
GATEWAY=10.0.0.254   网关信息  不同局域网之间进行通讯的必经关卡 需要和虚拟编辑器中nat网卡设置保持一致
IPV6_PRIVACY=no
DNS=114.114.114.114      DNS 域名解析服务  
"""

DNS服务器

DNS就是用来做域名解析的 就是把数字转成好记的英文
方法一:设置为阿里云dns服务器地址
  223.5.5.5
  223.6.6.6

  方法二:通用dns服务器地址
  114.114.114.114 
  114.114.114.119 

  方法三:利用移动dns服务器(谷歌dns服务器)了解即可
  8.8.8.8 

  方法四:使用网关地址充当dns服务器地址
  10.0.0.254

网卡域名解析配置文件

/etc/resolv.conf
      vi /etc/resolv.conf
      nameserver 114.114.114.114
      nameserver 223.5.5.5
	配置完成,立即生效  网卡的dns配置优先于resolv.conf文件中的配置

主机名称配置

centos6  /etc/sysconfig/network  主机名称配置文件 
centos7  /etc/hostname           主机名称配置文件
那就可以通过下面的文件直接找到主机名修改
 修改主机名称
	  第一个里程:利用命令修改主机名称  # 临时修改
	  	hostname  jasonNB
	  	ps:修改完成,需要重新连接,才能命令生效
	  第二个里程:编辑修改配置文件  # 永久修改
	  	vi /etc/hostname 
	  centos7有特殊修改主机名称方式
	  	hostnamectl set-hostname leo

本地域名解析文件

网站页面信息变更
	小公司   直接调试线上服务器				  夜里操作
	大企业   直接调试测试服务器测试访问  模拟真实环境访问	
		京东线上网站服务器地址   112.65.34.1
		京东线下网站服务器地址   10.0.0.200 
      [root@jasonNB ~]# vi /etc/hosts
      10.0.0.200  www.jd.com  # 指定映射关系  
        这样找www.jd.com就直接去访问10.0.0.200

网络不同排查

1. 确认网关地址是否通畅
2. 确认网卡配置是否正确
3. 确认网络管理服务关闭
		systemctl stop NetworkManager  # 停
	  systemctl disable NetworkManager  # 永久禁用

etc目录下重要的数据文件

1./etc/fstab  # filesystem table   系统挂载信息表
 	磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 --- 挂载(开了个门)
 	PS:所有存储设备必须挂载才能使用	  
	  
	临时挂载:mount /dev/cdrom  /mnt  
	永久挂载:修改一个和开机自动挂载相关的配置文件 /etc/fstab
	  
	   	设备文件          挂载点
	  /dev/第一个分区  :  /boot
    /dev/第二个分区  :  swap
	  /dev/第三个分区  : /
    cat /etc/fstab  # 查看文件内容
    blkid  # 查看磁盘分区
  	总结:实现磁盘存储设备,挂载操作永久生效,开机自动加载挂载信息

/etc/rc.local  # 此文件中只能存放linux系统命令操作信息
	系统正常加载启动 --- 读取rc.local文件 --- 文件主要保存命令信息 --- 执行文件中的命令 --- 系统启动成功
  eg:开机自动备份
  	cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak 
    echo "cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak" >> /etc/rc.local
    
"""
centos6:按照以上说明进行操作即可
centos7:chmod +x /etc/rc.d/rc.local
"""
运维操作规范(运维人员==救火队员)
	  1)操作之前进行检查 
	  2)操作之前进行备份
	  3)操作之后进行确认
	  4)操作之后进行总结
	  具体操作:
      1)检查相应路径是否存在备份文件
         有备份文件:进行删除
	  	2) 先在命令行进行测试执行	 
      3)编辑开机自动加载命令配置文件rc.local		
      4)重启系统进行确认	

/etc/inittab  # centos6 vs centos7 
	  知识点:系统启动运行级别
	  系统启动时候:
	  	A系统启动:网络服务运行 安全服务运行 存储服务运行	01级别 
	  	B系统启动:安全服务运行 存储服务运行             02级别
	  	C系统启动:存储服务运行                        03级别
	  	三种系统:运行启动级别不一样
	  
      centos6 (7种运行级别)                                             			 	 0      关机级别(init 0)                      
        1      单用户模式(重置用户密码信息root 修复系统) 救援模式      
        2      多用户模式 NFS (没有网络服务)   		
        3      多用户模式	(命令行模式)			
        4      未知 未使用 				
        5      图形化界面模式(init 5) 													
        6      重启级别                           		
      centos7 (target目标)
      ls /usr/lib/systemd/system/runlevel*target -l
      		poweroff.target
        	rescue.target 
          multi-user.target
          multi-user.target
          multi-user.target
          graphical.target
          reboot.target
    # 调整系统运行级别
      centos6 
      	init 级别信息   	临时修改
      	vim /etc/inittab  永久修改
      centos7
      	systemctl get-default   获取级别信息
      	systemctl set-default   修改了级别

/etc/profile  # 配置环境变量信息或者别名信息文件(重要)
	环境变量特征
      01. 环境变量都用大写字母表示
      02. 环境变量可以被所有用户所使用
      03. 环境一般是系统安装就已经设置
    # 第一个里程:定义变量
    	[root@jasonNB ~]# oldboy=123
    # 第二个里程:调取变量信息
    	[root@jasonNB ~]# echo $oldboy
    # 第三个里程:调整变量值信息
    	[root@jasonNB ~]# oldboy=456
      [root@jasonNB ~]# echo $oldboy

/etc/bashrc  # 专门用于设置别名信息 
	别名概念说明(先提前了解)
	  使复杂命令简单化 
      [root@jasonNB ~]# ls -l /etc/hosts
      -rw-r--r--. 1 root root 181 Dec  7 12:28 /etc/hosts
      [root@jasonNB ~]# ll /etc/hosts
      -rw-r--r--. 1 root root 181 Dec  7 12:28 /etc/hosts
  '''别名的定义既可以在profile里面也可以在bashrc里设置'''
    /etc/profile    国法  
    /etc/bashrc     国法
    ~/.bashrc       家规
    ~/.bash_profile 家规 	  

./etc/motd  # 用户登陆系统之后提示信息
		佛祖保佑 永不宕机

/etc/issue /etc/issue.net(centos7多)  # 用户登陆系统之前提示信息
	  	[root@jasonNB ~]# cat /etc/issue
      [root@jasonNB ~]# echo > /etc/issue
      [root@jasonNB ~]# echo > /etc/issue.net 
      [root@jasonNB ~]# cat /etc/issue

usr目录

/usr/local/  用于保存用户安装软件程序信息 == D:\Program Files (x86)

linux安装软件

01. yum安装软件  # 可以解决软件的依赖关系 
  		eg:购买外卖所有东西都准备集全
	    	yum install -y tree vim bash-completion
        针对出问题的软件可以重新安装修复
				yum reinstall -y tree vim bash-completion 

02. rpm包方式安装软件  # 在系统中需要有软件安装包 
  		eg:购买食材(半成品)进行烹饪  少筷子少碗 
				无法解决软件依赖问题			 
				rpm -ivh xxx.rpm
          -i   install 安装
          -v   verbose 显示详细信息
          -h   human   以人类更好看理解方式显示信息
        rpm -qa tree
          -q   query  查询
          -a   all    所有软件信息  
        rpm -ql vim-enhanced
					-l   list   显示软件安装目录的列表信息
		
				rpm -e tree 卸载软件
					# -e   erase  擦出==删除

03. 编译安装软件  # 安装软件更加灵活            		
  		eg:购买食材(非成品)进行烹饪  可以灵活调整食物的味道
	    	设置软件安装路径 指定软件功能信息
		    
04. 二进制包安装软件  # 安装软件部署效率高 			    
  		eg:小零食即食即用 方便简单
	    	CS 软件安装包(绿色版免安装)

var目录下

经常发生变化的文件保存在variable
    经常变化的文件>>>:日志文件

   /var/log/messages   	服务运行情况信息、系统运行或异常信息
	/var/log/secure     	用户登陆信息保存文件
	                    
	规律查看日志信息
	[root@jasonNB ~]# # 三剑客中老三  grep
  [root@jasonNB ~]# grep "Failed" /var/log/secure
  	Dec 10 12:39:00 oldboysh03 sshd[1705]:Failed password for root from 10.0.0.1 port 60099 ssh2

# 对于日志文件过大必须要做切割处理
	secure-0k > secure-100k > 大小范围10M > 切割secure-bak01 secure 

proc目录

记录一些硬件使用情况 硬件详细信息
	CPU  # /proc/cpuinfo

命令查看CPU信息
	lscpu
    CPU(s):                4    整个服务器有多少核心
    Core(s) per socket:    2    每颗CPU有多少核心
    Socket(s):             2    服务器有几颗CPU
	
命令查看内存信息
	cat /proc/meminfo 
  	MemTotal:        2030172 kB    --- 服务器的总共内存容量
    MemFree:         1755372 kB    --- 服务器未使用的CPU容量
    MemAvailable:    1728900 kB    --- 服务器还可以使用的
    Buffers:            2076 kB      
    Cached:            86716 kB
  实时使用情况
  free、free -h

命令查看磁盘信息
	df -h
  查看负载情况
  	cat /proc/loadavg 
    0.00             0.01            0.03
		平均每分钟负载  平均5分钟负载   平均15分钟负载
		负载的数值不能超过服务器的核心数  8核  7(阈值)
 	利用命令查看负载信息
  	[root@oldboysh03 ~]# w
    15:39:53 up 43 min, 2 users,  load average: 0.00, 0.01, 0.03
    当前时间  服务器运行时间 连接用户数  平均负载情况

查看挂载信息
	df -h 
	cat /proc/mounts  # 记录系统挂载信息

系统优化

性能优化
安全优化
编码优化

1)了解自己的系统情况
	cat /etc/redhat-release 
  uname -r/-a/-n/-s/...  # 详见下图
2)在系统中创建用户信息
	创建用户
  	useradd jason01
    passwd  jason01
  切换用户状态管理主机
  	su - jason01  # su == switch user
  进行检查确认
  	whoami

特征:
	01. 由大写字母组成
	02. 配置的环境变量所有用户都必须遵循
	03. 系统中默认就有的变量信息
	
	第一个环境变量:PS1 (命令提示符信息)
    echo $PS1

	修改环境变量:
		第一个里程:临时修改
			PS1="[\u@\h \w]\$"   		错误修改环境变量方式
			export PS1="[\u@\h \w]\$"   正确修改环境变量方式
	
		第二个里程:永久修改
			vim /etc/profile  
			export PS1="[\u@\h \w]\$ "  # 添加内容
      source /etc/profile  # 重新加载文件内容

下载软件优化

1)需要修改yum源文件(指定使用哪个yum软件仓库)  # 类似于pip换源
		curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  	yum repolist
  	PS:万一阿里云不好用,可以选择清华yum源
				https://mirrors.tuna.tsinghua.edu.cn/help/centos/
2)需要修改yum扩展源epel源
    	第二个特殊的软件仓库 
  			# epel Extra Packages for Enterprise Linux
				wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
			检查测试
				yum install -y bash-completion-extras
3)所有源文件更新进行最终确认
			yum repolist
"""
闲暇时光
	yum install sl cowsay -y
	sl
	cowsay "leoNB!!!"
	animalsay "love ACE"
"""

posted @ 2021-10-27 22:10  草卆鱼  阅读(56)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3