第二篇:Linux核心命令与系统基础操作(yum源配置,vi-vim编辑器)

Linux必知必会技术点

  star法则

用于增强我们表达问题的逻辑性

# 情境(Situation):描述故障的背景情况,使用什么软件
# 任务(Task):一般的任务都是解决问题
# 行动(Action):你怎么做,做了什么
# 结果(Result):结果如何

  高效记忆命令

  1. 优先记忆命令整个的含义和作用
  2. 命令几乎都是单词,可以进行联想对比记忆
  3. 针对课堂中的命令通过案例记忆
  4. 绘制思维导图,将命令和命令选项记录,每个命令的详细用法
  5. 反复复习

  Linux命令行格式

[root@yuan ~]#
# root  用户名,当前用户的名称
# yuan  主机名,默认是localhost
# ~  当前位置,相对的一个位置,默认不会显示全。~破浪线表示用户的家目录
$表示普通用户  #表示root用户

  Linux命令格式★★★★★

[root@yuan ~]# ls -a /etc/
command option arguments/parameter
# 命令:Linux通过命令操控整个系统
# 选项:同一个命令的不同功能
# 参数:命令处理的目标
温馨提示:一般把选项和参数统称为参数,不是所用的常用命令都要加上参数、选项

  查询帮助★★

  • 网站:https://tool.lu/command/
  • man命令:查询帮助
  • --help命令:精简查询帮助
  • help:查询Linux内置命令a
  • info:超级详细帮助(不用)

  Linux快捷键★★★★★

Linux快捷键合集

复制代码
# 移动光标类快捷键
    光标移动到行首:Ctrl + a
    光标移动到行尾:Ctrl + e
# 剪切(删除)类快捷键
    将光标所在位置到行首的内容剪切(删除):Ctrl + u
    将光标所在位置到行末的内容剪切(删除):Ctrl + k
# 功能性快捷键
    清屏:Ctrl + l (clear)
    取消当前的命令:Ctrl + c (cancel)
温馨提示
ctrl + s Linux(锁屏) windows(保存)
ctrl + q Linux(解锁)
ctrl + z Linux(让当前正在运行的命令后台挂起) Windows(撤销)
复制代码

  Linux核心目录结构

在Linux中一切都从根目录开始,Linux目录类似倒挂的大树
目录(windows中叫文件夹):一般用来存放文件

 Linux核心目录★★★★★

  • /etc/:存放系统管理所需的配置文件的目录
  • /home/:普通文件家目录
  • /root/:root用户家目录
  • /tmp/:存放临时文件的目录
  • /dev/:存放外部设备文件的目录
  • /proc/:存放内存中的信息、进程、服务信息、内核信息的目录

 绝对路径与相对路径

绝对路径:从根目录开始的路径

/etc/hostname/etc/sysconfig/network-scripts/ifcfg-eth0/
相对路径:不从根目录开始的路径
etc/hostname

Linux核心命令 ★★★★★

  Linux关机重启命令

复制代码
# 关机
  shutdown:★★★    shutdown -c:取消关机    shutdown-h:    shutdown -h now:立刻关机    shutdown -h 10:10分钟后关机 poweroff:关机 init 0:关机 half:关机,关闭系统,不关闭电源,需要手动关闭电源(不推荐使用) # 重启 shutdown -r:★★★ shutdown -r now:立即重启 shutdown -r 10:10分钟后重启 init 6:重启 reboot:重启
复制代码

  cd与pwd

复制代码
# cd:change directory 进入到某个目录(只能是目录)
    cd ~:回到家目录
    cd:回到家目录
    cd -:返回上次所在目录
    cd .:进入当前目录(未来一般与复制,移动一起用)
    cd ..:进入上级目录
        如果想向上多层可以使用 cd ../../的形式
# pwd:print working directory 显示当前所在位置(以绝对路径方式显示)
复制代码

  mkdir(make directory)创建目录

mkdir创建目录 说明
-p 创建多层目录(mkdir一次只能创建一层目录,创建多层目录需要通过-p来实现)
-v 显示创建目录的过程
# 案例:创建/yuan/ 、/xiao/jiang/目录
[root@yuan ~]# mkdir -pv /yuan/ /xiao/jiang/
mkdir: 已创建目录 "/yuan/"
mkdir: 已创建目录 "/xiao"
mkdir: 已创建目录 "/xiao/jiang/"
[root@yuan ~]# ls /
bin   dev  home  lib64  mnt     opt   root  sbin  sys  usr  xiao
boot  etc  lib   media  oldboy  proc  run   srv   tmp  var  yuan

  touch创建文件

用touch创建文件时其对应的目录需要存在,否则报错

# 案例:在/yuan/目录下创建a.txt b.txt两个文件
  # 相对路径
      [root@yuan ~]# cd /yuan/
      [root@yuan yuan]# touch a.txt b.txt
  # 绝对路径
      [root@yuan ~]# touch /yuan/a.txt /yuan/b.txt

  ls(list)查看目录的内容

ls命令选项 说明
-l(long) 以长格式显示(显示详细信息:文件时间、文件大小、所有者)
-t(time) 按照修改时间排序显示
-r(reverse) 按照逆序排序显示
-h 以人类可读形式显示
-i print the index number of each file 打印每个文件的索引号

  mv(move)移动/改名★★★★★

  • 如何判断是移动还是改名?
    • 分析接收的目录或文件存在不存在,存在则为移动,不存在则为改名
复制代码
# 案例:移动/yuan/a.txt到/tmp/
    [root@yuan ~]# ls /yuan/
    a.txt  b.txt
    [root@yuan ~]# mv /yuan/a.txt /tmp/  目录存在即为移动  
    [root@yuan ~]# ls /tmp/
    a.txt

# 案例:将/yuan/a.txt 改名为/yuan/c.txt
    [root@yuan ~]# ls /yuan/    
    a.txt 
    [root@yuan ~]# mv /yuan/a.txt /yuan/c.txt  文件不存在即为改名
    [root@yuan ~]# ls /yuan/
    b.txt 

# 案例:将/yuan/改名为/xiaoyuan/
    [root@yuan ~]# ls /
    yuan
    [root@yuan ~]# mv /yuan/ /xiaoyuan/  目录不存在即为改名
    [root@yuan ~]# ls /
    xiaoyuan

# 总结:
mv既可以移动目录/文件,又可以修改目录目录名/文件名
Linux中有许多命令(touch、mkdir、mv)可以同时处理多个目录/文件
复制代码

  cp(copy)复制文件或目录

cp  源文件  目标文件

cp无法直接复制目录,需要配合-r使用

cp命令选项 说明
-a all简单理解为复制所有的
详情:-dpr
-r 递归复制,复制目录及其目录下面的内容
-p 复制的时候保持属性不变
-d 可以复制软链接
-t cp 目标文件 源文件
复制代码
# 案例:复制/etc/hostname文件到/yuan/下面
    [root@yuan ~]# cp /etc/hostname /yuan/  (/yuan/目录不存在则报错
    # 如果写成 cp /etc/hostname /yuan/my_hostname  (my_hostname文件不存在则自动创建
    [root@yuan ~]# ls /yuan/
    my_hostname
总结:cp复制文件时,目标目录不存在则报错,目标文件不存在则自动创建
cp隐藏功能:备份
# 案例:把系统的网卡配置文件备份到/backup/目录下 # 创建/backup/目录 [root@yuan ~]# mkdir /backup/ [root@yuan ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup/ [root@yuan ~]# ls /backup/ ifcfg-eth0 #如果要恢复 [root@yuan ~]# cp /backup/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0
复制代码

  rm(remove)移除、删除文件或目录

rm无法直接删除目录,需要配合-r使用

rm命令参数 说明
-f force  强制删除不提示(危险)
-r 递归删除,删除目录及其目录内容
复制代码
# 案例:删除/yuan/a.txt文件
    [root@yuan ~]# ls /yuan/
    a.txt  b.txt
    [root@yuan ~]# rm /yuan/a.txt
    rm:是否删除普通空文件 "/yuan/a.txt"?y
    [root@yuan ~]# ls /yuan/
    b.txt

# 案例:强制删除目录/yuan/
    [root@yuan ~]# rm -rf /yuan/
复制代码

  echo(回声)输出信息到屏幕

复制代码
# 案例:输出yuanxiaojiang到屏幕
    [root@yuan ~]# echo yuanxiaojiang
    [root@yuan ~]# yuanxiaojiang

# 案例:利用echo将yuanxiaojiang写入/yuan/a.txt文件中(重定向)
  [root@yuan ~]# mkdir /yuan/
    [root@yuan ~]# echo yuanxiaojiang >/yuan/a.txt  没有a.txt则自动创建
    [root@yuan ~]# cat /yuan/a.txt
    yuanxiaojiang

# 案例:利用echo将is beautiful追加到/yuan/a.txt文件中(追加)
    [root@yuan ~]# echo is beautiful >>/yuan/a.txt
    [root@yuan ~]# cat /yuan/a.txt
    yuanxiaojiang
    is beautiful

总结:
echo :输出
echo <:重定向
echo <<:追加
复制代码
# 案例:利用echo输出有规律的内容
    echo {0..100}  #输出0-100
    echo {a..z}  #输出a-z
    echo yuan{01..100}  #输出yuan(001)-yuan(100)

# 温馨提示:{}生成序列
    简单是与echo使用输出
    普通是与touch/mkdir一起使用,批量创建文件或目录

  cat(concatenate)显示文件内容

-n number 显示文件内容及行号
合并 扩展
# 案例:输出/etc/hostname 和 /etc/passwd 两个文件的内容
    cat /etc/hostname /etc/passwd
    # 保存到一个文件中
    cat /etc/hostname /etc/password >/yuan/a.txt

Linux环境初步优化(yum源配置)

1、检查是否联网(虚拟机是否可以访问外部网络)

ping www.baidu.com

2、配置yum源(安装软件的软件仓库)

默认情况下yum下载软件的时候是从随机地址下载,配置yum从国内下载

https://developer.aliyun.com/mirror/

复制代码
# 备份原配置
[root@yuan ~]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    Linux中.bak是备份文件的后缀
    Linux中.repo是yum源配置文件的后缀

# 下载centos7镜像源:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

# 下载epel镜像源:
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
    没有wget命令需要下载(yum install wget)

# 安装Linux常用工具
yum install -y tree vim wget bash
completion bash-completion-extras lrzsz net
tools sysstat iotop iftop htop unzip nc nmap
telnet bc psmisc httpd-tools bind-utils
nethogs expect
 
#Linux娱乐命令
yum install -y sl cowsay
运行tree命令,运行sl命令
复制代码

vi-vim编辑器

  vi-vim区别

内容 区别
vi 系统自带,不需要额外安装,没有vim功能多
vim 在最小化安装的版本默认没有,需要额外安装,vim是vi的升级版(vi imporved)

  vi-vim的基本使用

 a)打开文件

vim /yuan/a.txt

vi/vim
如果文件不存在则自动创建
如果目录不存在不会创建,会在保存并退出的时候报错

 b)进入编辑模式

按字母i即可编辑这个文件

 c)退出编辑模式

esc键退出编辑模式

 d)保存与退出

:wq write  quit(退出)
:q! 强制退出不保存
:wq! 强制退出并保存

 e)检查

[root@yuan ~]# cat /yuan/a.txt
yuanxiaojaing is beautiful    #编辑完记得检查

  vim的模式转换

  • 命令模式:通过vi/vim打开文件后进入的模式,默认进入的模式。可以输入各种vi/vim命令(快捷键)
  • 编辑模式(插入模式):用于编辑,修改文件的内容
  • 底层模式:保存退出,搜索使用(退出时输入: 的地方)
  • 可视化模式:用于批量编辑

  vim快捷键★★★★★

创建测试文件

cat /etc/services /etc/sysconfig/network-scripts/ifcfg-eth0 >>/yuan/vim.log
只操作/yuan/vim.log文件

 移动光标类快捷键★★★★★

# 行之间调整
移动到最后一行:  G(shift+g)
移动到第一行:  gg
移动到某一行:  xxgg(移动到100行:100gg)

# 列之间调整
光标移动到行首:  ^(shift+数字6)或者 数字0
光标移动到行尾:  $(shift+数字4)

 复制、删除(剪切)、粘贴★★★★★

复制当前行:  yy
删除当前行:  dd
粘贴到当前行后:  p(重复粘贴xxp:重复粘贴三次  3p)

 其他快捷键★★★★★

撤销 u(undo)
显示行号 :set nu 或  :set number
取消显示行号 :set nonu
搜索(默认是向下查找) /你想要查找的内容
继续向下搜索 n(next)
继续向上搜索 N

 批量操作★★

shift+v 进入可视行模式(批零操作行)
ctrl+v 进入可视行模式(批量操作列) 按上下键,选择要处理的范围 如果删除按d,如果复制按y
# 案例:批量给文件行开头添加内容 (#yuan)
按ctrl + v,进入批量操作模式
选择要操作的区域
选择区域完毕后,按shift + i(shift + I),进入编辑模式
写入内容,按esc等待

  故障案例

 故障原因

  • vi/vim编辑文件的时候,会生成临时文件(隐藏文件)
  • 通过保存退出,隐藏文件会消失
  • 异常情况、断电、同时编辑这个文件,就会出现这个提示 

 解决方案

  • 方案01:✔ 删除临时文件,工作中也可以删掉.,根据提示的路径删除对应的临时文件后重新打开即可.
  • 方案02:恢复未保存数据
    • vim -r /yuan/a
    • rm -r /yuan/.a.txt.swp 
    • 重新打开问价即可修复
posted @   猿小姜  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示