linux基础

一、前期必备知识

1、命令提示符

[root@jasonNB ~]# 
    root: 表示用户名信息
    @: 分隔符
    jasonNB: 主机名称
    ~ :表示所处目录位置,默认为家目录
    # :管理员 
[tony@jason001 ~]$
    $:普通用户	

2、命令格式规范

1.linux中的命令区分大小写
2.linux命令使用过程中,注意空格的用法

3、系统路径信息

一切从根目录开始往下查找

4、路径信息查找方法

1.绝对路径: 从根开始查找 /etc/etc/host
	缺点:点改为查询数据的时候准确性高
	优点:当层级比较多的时候,利用绝对路径查找会比较麻烦
    
2.相对路径: 不从根目录开始查找,相对于当前路径进行查找
	缺点:路径信息不正确,数据有时无法有效查询到
	优点:当层级比较多的时候,利用相对路径查找数据会比较方便

二、系统运行命令

  • 查看目录的使用方式
    • 命令名称:man

1、关机命令

1.指定多少分钟后关机
	shutdown -h 10 
3.取消关机方案
	shutdown -c
2.立即关机
	shutdown -h 0/now

2、重启命令

1.指定多少分钟后进行重启
	shutdown -r 10
2.立即重启
	shutdown -r 0/now
3.取消重启方案
	shutdown -c

三、快捷方式命令

01.显示历史输入命令信息
	利用方向键 上/下
	
02.清除据屏幕上所有输出的信息
	ctrl + l 

03.中断/取消命令执行
	ctrl + c
	
04.快速移动光标到首行
	ctrl + a

05. 快速移动光标到末尾
	ctrl + e
	
06.将光标当前所在位置到首行的信息进行删除/剪切
	ctrl + u

07.将光标当前所在位置到末尾的信息进行删除/剪切
	ctrl + k
	
08.锁定/解锁系统窗口状态
	ctrl + s 
	ctrl + q
	
09.系统命令补全快捷方式
	tab键

10.命令行中快速移动光标
	ctrl + 方向键(左/右)

四、目录结构相关命令

1.显示当前路径信息
	pwd # print working directory显示当前所在路径

2.切换目录结构
	cd # change directory改变⽬录信息
	cd - # 快速切换路径,返回到上⼀次所在路径信息
	cd .. # 快速切换路径,返回到当前路径的上⼀级⽬录中
	cd ../.. # 上多级
 
3.快速切换路径
	cd ~或cd # 返回到当前登陆⽤户的家⽬录中

4.创建目录结构
	单级目录
        mkdir # make directory
   多级目录
        ps:创建多级⽬录需要加参数-p
        mkdir -p /oldgirl/oldbaby/heihei
    ''' 建议:创建⽬录时以绝对路径创建⽬录'''

五、文件与文件夹相关命令

执行文件或文件夹命令可能会存在风险,可以在执行风险操作前制作系统快照,出现问题可以回退

强调:在linux中尽量不要输入中文符号信息(命令行)

1.如何创建文件信息
	touch 文件名

2.如何检查文件目录是否存在
	ls
  	显示文件/目录数据详细信息
    	ls -l a.txt
	排序
    	ls -lt  # 新创建的在上
       ls -ltr # 新创建的在下

3.如何查看文件信息
	cat
	cat oldboy.txt oldgirl.txt > olddog.txt # 整合

4.在文件中生成数据信息
	echo # 将信息进⾏输出
	echo hello world # 等价于print('hello world')
	echo hello world > /oldgirl/oldgirl.txt # w模式
    
5.对文件或者目录数据进行拷贝(复制)
    cp # copy
    语法格式:cp 参数信息 要进⾏复制的信息 复制到什么位置
    # 将/etc/hosts⽂件复制到/oldboy⽬录中
    	cp /etc/hosts /oldboy/
			如果不加斜杠并且oldboy没有 意思则变成复制到根并改名
    # 如何复制整体⽬录数据
    	cp -r /etc/sysconfig/ /oldboy/oldgirl/
    # 重复复制避免提示信息出现
		\cp -r /etc/sysconfig/ /oldboy/oldgirl/
     '''cp核⼼功能:备份数据信息'''
     cp oldboy.txt oldboy.txt.bak
     cp oldboy.txt.bak oldboy.txt
    常⻅问题:
     在复制⽂件时,不要在⽂件名称后⾯加上/ ⼀般只有⽬录后⾯有/
     ⽂件没有存在会直接复制,如果已经存在会提示是否覆盖
     cp -a
     -a == -d + -r + -p
     -d 和链接⽂件有关
     -R 进⾏递归复制
     -p 保持属性不变 
 
6.对文件/目录数据进行剪切/移动
     mv # move
     mv 参数 要移动数据信息 移动到什么位置
     eg:移动/etc/selinux/config 到 /oldboy/shanghai/
     	1.先验证是否有对应的⽬录 ⽆则先创建
     	2.确认⽆误后再剪切
     		mv /etc/selinux/config /oldboy/shanghai/
     	3.mv操作有时⽐较危险 针对核⼼⽂件移⾛可能会出错
     		mv /oldboy/shanghai/config /etc/selinux/
     	还可以针对单个⽂件重命名 mv hosts hosts01
        
7.数据删除命令
    rm # remove
    rm 参数 要删除的数据信息
    删除文件:
       # 删除oldboy⽬录中的hosts01⽂件
       rm hosts01
    删除目录:
    	rm shanghai/ 报错
    	rm -r shanghai/ 正确  
    强制删除数据,并且不提示
        rm -f olddog.txt # 删除文件,不提示
        rm -rf jason  # 删除目录及目录下所有文件,不提示
'''
	rm操作最好是切换到⽬标数据所在位置删除不推荐使⽤绝对路径
'''   	
    	

1、文件编辑命令(重要)

编辑文件的方法有两种分别是

  • vi
    • 系统自带的
  • vim
    • 第三方工具
# 编辑文件的操作步骤

第一步:利⽤vi命令打开⽂件
	vi oldboy.txt
    
第二步:进⼊到编辑模式,开始编辑⽂件
	按键盘上⼩写字⺟ i # insert

第三步:进⾏编辑

第四步:退出编辑模式
	按esc进⾏退出

第五步:关闭打开的文件
	保存并退出
		:wq 
        w(write)
        q(quit)
   	不保存退出
    	:q! 有时候在vi编辑模式必须加感叹号不保存强制进⾏退出

2、编辑相关快捷方式

快速移动光标

作用 命令符
将光标移动到最后一行 G
将光标移动到第一行 gg
将光标移动到致指定行 行数gg
将光标移动到当前行的尾部 shift+$
将光标移动到当前行的首部 0

快速移动光标并进入编辑状态

作用 命令符
移动光标到系一行并进入编辑状态 o
移动光标到当前行的尾部并进入编辑状态 A
删除光标当前所在位置到数据尾部的数据并进入编辑状态 C
清空当前⾏的所有内容信息并进⼊编辑状态 cc

快速编辑文本内容

作用 命令符
复制当前行的所有信息 yy
复制多行信息(当前行往下) 需要复制的行数yy
粘贴复制的文本信息 p
一次性粘贴多行复制的文本信息 需要粘贴的行数p
删除文本信息(实际是将指定的文本进行剪切) dd
删除多行文本信息 需要删除的行数dd
删除当前光标所在行到最后一行的数据 dG

特殊操作文本内容方式

作用 命令符
显示/隐藏文本行数序号 :set nu/:set nonu
撤销编辑 u
取消撤销 ctrl + r
快速搜索文件信息(按n查找下⼀个匹配项 shift+n上⼀个匹配项) /待搜索的内容

批量操作文本内容

批量删除操作
     第⼀个步骤:
    	移动光标到相应位置 
     第⼆个步骤:
    	进⼊到批量编辑模式(视图块模式)
    	 ctrl + v
     第三个步骤:
    	选中多⾏信息
     	⽅向键选中
     第四个步骤:
    	进⾏删除
     	⼩写字⺟ d 或者 x(删除光标选中的内容)

3、vim简介

linux中缺什么就下载什么 yum
	yum install 名称 -y 
  
yum install vim tree bash-completion -y

六、目录结构

bin目录
	存放二进制命令文件
sbin目录
	存放管理员二进制命令文件
etc目录
	存放系统或者服务的配置文件
mnt目录
	临时挂在目录(资源的入口)
opt目录
	存放第三方软件(通常情况下就是软件的压缩包)
proc目录
	内存相关信息
tmp目录
	临时存放数据
var目录
	经常变化的文件(日志文件)
usr目录
	用户相关程序

1、目录结构说明

结构特点说明
 1) linux根下⾯的⽬录是⼀个有层次的树状结构
 2) 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
 第五个⾥程:取消挂载
 umount /mnt

2、重要目录数据

1.⽹卡配置⽂件
 /etc/sysconfig/network-scripts/ifcfg-eth0 ens33
 # 编辑⽹卡⽂件时可以先提前备份⼀份
 cp xxx /tmp/xxx.bak
 ps:esc + . 调⽤上⼀个命令最后⼀个参数信息
 # ⽹卡⽂件修改后,必须重启⽹络服务
 systemctl restart network
 
 初始化软件安装 yum install -y vim tree bashcompletion(提供命令参数补全功能 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 域名解析服务 
"""
2.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
 
3.⽹卡域名解析配置⽂件
 /etc/resolv.conf
 vi /etc/resolv.conf
 nameserver 114.114.114.114
 nameserver 223.5.5.5
 PS: 配置完成,⽴即⽣效 ⽹卡的dns配置优先于resolv.conf⽂
件中的配置
4.主机名称配置⽂件
 centos6 /etc/sysconfig/network 主机名称配置⽂件
 centos7 /etc/hostname 主机名称配置⽂件
 修改主机名称
 第⼀个⾥程:利⽤命令修改主机名称 # 临时修改
 hostname jasonNB
 ps:修改完成,需要重新连接,才能命令⽣效
 第⼆个⾥程:编辑修改配置⽂件 # 永久修改
 vi /etc/hostname
 centos7有特殊修改主机名称⽅式
 hostnamectl set-hostname oldboyds05
 
5.本地域名解析⽂件 /etc/hosts
 ⽹站⻚⾯信息变更
 ⼩公司 直接调试线上服务器 夜⾥操作
 ⼤企业 直接调试测试服务器测试访问 模拟真实环境访问
 京东线上⽹站服务器地址 112.65.34.1
 京东线下⽹站服务器地址 10.0.0.200
⽹络不通排查流程
etc⽬录下重要的数据⽂件
 [root@jasonNB ~]# vi /etc/hosts
 10.0.0.200 www.jd.com # 指定映射关系