第二篇:Linux核心命令与系统基础操作(yum源配置,vi-vim编辑器)
Linux必知必会技术点
star法则
用于增强我们表达问题的逻辑性
# 情境(Situation):描述故障的背景情况,使用什么软件 # 任务(Task):一般的任务都是解决问题 # 行动(Action):你怎么做,做了什么 # 结果(Result):结果如何
高效记忆命令
- 优先记忆命令整个的含义和作用
- 命令几乎都是单词,可以进行联想对比记忆
- 针对课堂中的命令通过案例记忆
- 绘制思维导图,将命令和命令选项记录,每个命令的详细用法
- 反复复习
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快捷键★★★★★
# 移动光标类快捷键 光标移动到行首: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
- 重新打开问价即可修复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现