一、系统基础操作规范
1.第一个规范
输出命令信息需要在命令提示符后输入
命令提示符:
[root@oldboy ~]#
root 表示当前登录系统用户名称
oldboy 表示当前系统主机的名称
~ 表示当前所进入的系统目录路径
# 表示当前登录系统用户的权限
# 为root 管理员权限
$ 非管理员权限
2.第二个规范
命令输入格式
(1)第一个输入格式:命令 回车
e.g.
[root@oldboy ~]# ls
(2)第二输入格式:命令(空格)[-]参数
e.g.
ip 查看网络信息
[root@oldboy ~]# ip address(参数) show(参数)
[root@oldboy ~]# ip route(参数) show(参数)
(3)第三输入格式:命令(空格)[-]参数(空格)对象
e.g.
[root@oldboy ~]# cat -n /etc/hosts
二、系统基础网络配置
1.查看网络信息
ip 查看网络信息
(1)查看系统IP地址信息
[root@oldboy ~]# ip address show
(2)查看指定的网卡信息
[root@oldboy ~]# ip address show eth0
(3)查看指定的网卡信息(简写)
[root@oldboy ~]# ip a s eth0
2.修改网卡信息
修改图形界面的网卡
[root@oldboy ~]#nmtui
255.255.255.0 | /24 C类地址 |
---|---|
255.255.0.0 | /16 B类地址 |
255.0.0.0 | /8 A类地址 |
255.192.0.0 | /10 A类地址子网掩码 |
255.255.192.0 | /18 B类地址子网掩码 |
255.255.255.252 | /30 C类地址子网掩码 |
3.重启网卡服务
[root@oldboy ~]# systemctl restart network
三、系统远程连接管理
1.第一步:配置操作系统网络信息
2.第二步:确认系统中的远程服务是否启动
[root@oldboy ~]#systemctl status sshd
3.第三步:客户安装远程软件
XShell软件设置:
文件-默认会话属性
(1)终端:终端类型:linux
缓冲区大小:2万(最大值)
[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-2UyHCA8Z-1654480167141)(image/3d838214934fdbbbbbb89002f3f050e0_Q7aBPvUjjl.png)]
(2)外观:字体大小:18
用闪烁的光标勾选 速度:500millisec
[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-vVwX0A8Z-1654480167143)(image/ab6417281b49957ba17a2728c6dbf2a2_TEEt5hZl-r.png)]
(3)高级-日志记录:检查连接时开始日志记录
[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-KAWStZGk-1654480167145)(image/391bcb1329afe802ff88330931423c2e_NmLsVdNnIT.png)]
四、介绍系统基本命令
1.系统运行管理命令
(1)系统关机命令
延迟关机(默认延迟1分钟)
[root@oldboy ]#shutdown -h
延迟10分钟关机
[root@oldboy ~]#shutdown -h 10
立即关机
[root@oldboy ~]#shutdown -h now
或者
[root@oldboy ~]#shutdown -h 0
问题:如何指定在某个时间点(零点)关机?
(2)系统重启命令
延迟重启(默认延迟1分钟)
[root@oldboy ~]#shutdown -r
延迟10分钟重启
[root@oldboy ~]#shutdown -r 10
立即重启
[root@oldboy ~]#shutdown -r now
或者
[root@oldboy ~]#shutdown -r 0
(3)取消关机/重启命令
[root@oldboy ~]#shutdown -c
2.系统命令帮助方式
(1)man
e.g.
[root@oldboy ~]# man cat
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
-n, --number
number all output lines
-s, --squeeze-blank
suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs
display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version
output version information and exit
With no FILE, or when FILE is -, read standard input.
EXAMPLES
cat f - g
Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report cat translation bugs to
<http://translationproject.org/team/>
AUTHOR
Written by Torbjorn Granlund and Richard M. Stallman.
COPYRIGHT
Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent per‐
mitted by law.
SEE ALSO
tac(1)
The full documentation for cat is maintained as a Texinfo manual. If the info and cat programs are properly
installed at your site, the command
info coreutils 'cat invocation'
should give you access to the complete manual.
GNU coreutils 8.22 April 2018
(2)–help/ --h /-h
e.g.
[root@oldboy ~]# cat --help
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。
-A, --show-all 等于-vET
-b, --number-nonblank 对非空输出行编号
-e 等于-vE
-E, --show-ends 在每行结束处显示"$"
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与-vT 等价
-T, --show-tabs 将跳格字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
--help 显示此帮助信息并退出
--version 显示版本信息并退出
如果没有指定文件,或者文件为"-",则从标准输入读取。
示例:
cat f - g 先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。
cat 将标准输入的内容复制到标准输出。
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告cat 的翻译错误
要获取完整文档,请运行:info coreutils 'cat invocation'
(3)help(只能查看内置命令)
系统中的命令分为两种类型:
① 内置命令:系统自带的命令,包含以下命令:
bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue,declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history,jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt,source, suspend, test, times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait
② 外置命令:需要安装第三方软件包才能使用的命令
e.g.
[root@oldboy ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
The variable CDPATH defines the search path for the directory containing
DIR. Alternative directory names in CDPATH are separated by a colon (:).
A null directory name is the same as the current directory. If DIR begins
with a slash (/), then CDPATH is not used.
If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR. Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links -e if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status The default is to follow symbolic links, as if `-L' were specified.
Exit Status:
Returns 0 if the directory is changed, and if $PWD is set successfully when
-P is used; non-zero otherwise.
3.系统目录相关命令
(1)创建新的目录
mkdir - make directories 创建目录
语法结构:
mkdir [OPTION]… DIRECTORY…
e.g.
创建一个目录
[root@oldboy ~]# mkdir /data
创建多个连续的目录
[root@oldboy ~]# mkdir /data{01..50}}
创建多个等差为2的目录
[root@oldboy ~]# mkdir /data/oldboy{01..10..2}
创建多个无序列顺序的目录
[root@oldboy ~]# mkdir {conf,log,data}
创建多级目录
-p no error if existing, make parent directories as needed/如果想创建的目录已经存在,以及当创建一个目录,需要创建父级目录的时候,不要显示错误提示
[root@oldboy ~]# mkdir -p /data/oldboy/oldgirl/oldbaby/olddog
[root@oldboy data]# tree /data/oldboy
/data/oldboy
└── oldgirl
└── oldbaby
└── olddog
(2)删除空目录
rmdir - remove empty directories 删除空目录
语法结构:
rmdir [OPTION]… DIRECTORY…
e.g.
[root@oldboy ~]# rmdir /data/oldboy01
(3)切换目录
cd - Change the shell working directory 切换工作目录
语法结构:
cd [OPTION]… DIRECTORY…
e.g.
绝对路径切换目录:从根开始切换目录
[root@oldboy etc]# cd /data/oldboy
相对路径切换目录:从当前路径开始切换目录
[root@oldboy oldboy]# cd oldgirl/
返回上一级目录
[root@oldboy oldgirl]# cd ..或者cd../
返回指定的上级目录
[root@oldboy olddog]# cd ../../../
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpVpIElj-1654480167146)(image/1e1e5063e09b784f884113498279fbc8_xp8V9WJRFC.png)]
目录之间的互相切换:切换到上次所在目录
[root@oldboy olddog]# cd -
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VTt5xsuf-1654480167147)(image/ee59d85e1e389062595b36485ce01776_BFRtGWFqoS.png)]
快速返回家目录
[root@oldboy olddog]# cd ~
或者
[root@oldboy olddog]# cd ~
(4)查看所在目录路径
pwd - Print the full filename of the current working directory
[root@oldboy ~]# pwd
/root
(5)查看目录中的数据信息
ls - list directory contents
语法结构:
ls [OPTION]… [FILE]…
e.g.
绝对路径方式查看目录信息
[root@oldboy /]# ls /data/oldboy
oldgirl
相对路径方式查看目录信息
[root@oldboy data]# ls oldboy
oldgirl
查看当前路径下的所有数据信息
[root@oldboy oldboy]# ls
oldgirl
查看指定文件是否存在
* - 匹配任意字符
[root@oldboy oldboy]# ls /etc/hosts
/etc/hosts
[root@oldboy oldboy]# ls /etc/host*
/etc/host.conf /etc/hostname /etc/hosts /etc/hosts.allow /etc/hosts.deny
查看文件详细属性信息
[root@oldboy oldboy]# ls -l /etc/hosts
-rw-r--r--. 1 root root 158 6月 7 2013 /etc/hosts
[root@oldboy oldboy]# ll /etc/hosts
-rw-r--r--. 1 root root 158 6月 7 2013 /etc/hosts
查看指定目录详细属性信息
[root@oldboy oldboy]# ls -ld /etc/
drwxr-xr-x. 80 root root 8192 3月 24 16:10 /etc/
查看最新修改的文件信息(按照时间排序显示数据信息)
-t 按正向时间排序 历史数据显示在最下面
-r 反向排序
-tr 按反向时间排序 最新数据显示在最下面
[root@oldboy oldboy]# ll -tr /data/
总用量 0
drwxr-xr-x. 2 root root 6 3月 26 09:49 oldboy01
drwxr-xr-x. 3 root root 21 3月 25 17:19 oldboy
drwxr-xr-x. 2 root root 6 3月 25 17:10 data
drwxr-xr-x. 2 root root 6 3月 25 17:10 conf
drwxr-xr-x. 2 root root 6 3月 25 17:10 log
drwxr-xr-x. 2 root root 6 3月 25 17:07 oldboy09
drwxr-xr-x. 2 root root 6 3月 25 17:07 oldboy03
drwxr-xr-x. 2 root root 6 3月 25 17:07 oldboy05
drwxr-xr-x. 2 root root 6 3月 25 17:07 oldboy07
-S 按文件大小排序查看文件信息
-r 反向排序
[root@oldboy oldboy]# ll -S /data/
总用量 0
drwxr-xr-x. 3 root root 21 3月 25 17:19 oldboy
drwxr-xr-x. 2 root root 6 3月 25 17:10 conf
drwxr-xr-x. 2 root root 6 3月 25 17:10 data
[root@oldboy oldboy]# ll -Sr /data/
drwxr-xr-x. 2 root root 6 3月 25 17:10 data
drwxr-xr-x. 2 root root 6 3月 25 17:10 conf
drwxr-xr-x. 3 root root 21 3月 25 17:19 oldboy
-lh 以人类可读方式显示文件大小信息
[root@oldboy ~]# ll -h /etc/services
-rw-r--r--. 1 root root 655K 6月 7 2013 /etc/services
4.系统文件相关命令
(1)创建文件信息
touch - change file timestamps
语法结构:
touch [OPTION]… FILE…
e.g.
创建空文件信息
[root@oldboy data]# touch oldgirl.txt
(2)编辑文件信息
1) echo - display a line of text
语法结构:
echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
e.g.
输出hello
[root@oldboy data]# echo hello
hello
e.g.
echo “文件信息” > /data/oldboy.txt 标准输出重定向**(会清空文件内原有的内容)**
[root@oldboy data]# echo oldboyedu > oldboy.txt
[root@oldboy data]# cat oldboy.txt
oldboyedu
[root@oldboy data]# echo oldgriledu > oldboy.txt
[root@oldboy data]# cat oldboy.txt
oldgriledu
echo “文件信息” >>/data/oldboy.txt 标准追加输出重定向**(在文件原有内容重启一行写入新内容)**
[root@oldboy data]# echo oldbaby >> oldboy.txt
[root@oldboy data]# cat oldboy.txt
oldgriledu
oldbaby
清空文件原有内容
[root@oldboy data]# > oldboy.txt
[root@oldboy data]# cat oldboy.txt
e.g.
[root@oldboy data]# > oldboy.txt
[root@oldboy data]# cat oldboy.txt
e.g.
实现多个用户之间传输会话
[root@oldboy data]# ps -ef
sshd: root@pts/0 root登录的会话进程
sshd: root@pts/1 oldboy登录的会话进程
[root@oldboy data]# echo "oldboy你在做什么"> /dev/pts/1
oldboy你在做什么
2) cat 编辑多行内容到文件中
[root@oldboy data]# cat >>oldboy.txt << EOF
> 1
> 2
> 3
> EOF
[root@oldboy data]# cat oldboy.txt
1
2
3
cat xxx文件 > xxx文件 将某文件中的文本内容覆盖输出到另外一个文件(此文件可以原本不存在)中
[root@oldboy ~]# ll /tmp/
总用量 0
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
[root@oldboy ~]# cat /etc/services > /tmp/oldboy.txt
[root@oldboy ~]# ll /tmp/
总用量 656
-rw-r--r--. 1 root root 670293 4月 19 17:19 oldboy.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
cat xxx文件 >> xxx文件 将某文件中的文本内容追加输出到另外一个文件(此文件可以原本存在)原有的文本内容后面
[root@oldboy ~]# cat /etc/services >> /tmp/oldboy.txt
[root@oldboy ~]# ll /tmp/
总用量 1728
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
(3)查看文件内容
1) cat 一次性查看文件所有内容
2) less 逐行逐页查看文件内容 可以标记显示查找的内容推荐使用此命令
回车 逐行查看文件内容
空格 逐页查看文件内容
3) more 逐行逐页查看文件内容(显示百分比查看进度)
n 逐行查看文件内容
空格 逐页查看文件内容
4) head 只看文件的前几行内容(默认只看前10行内容)
head -n n表示看前几行
[root@oldboy ~]# cat /tmp/oldgirl.txt
01.老男孩学科:Linux
02.老男孩学科:Python
03.老男孩学科:网络安全
04.老男孩学科:dba
05.老男孩学科:新媒体
[root@oldboy ~]# head -2 /tmp/oldgirl.txt
01.老男孩学科:Linux
02.老男孩学科:Python
[root@oldboy ~]# head /tmp/oldboy.txt
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
5) tail 只看文件的后几行内容(默认只看后10行内容)
tail -n n表示看后几行
[root@oldboy ~]# cat /tmp/oldgirl.txt
01.老男孩学科:Linux
02.老男孩学科:Python
03.老男孩学科:网络安全
04.老男孩学科:dba
05.老男孩学科:新媒体
[root@oldboy ~]# tail -2 /tmp/oldgirl.txt
04.老男孩学科:dba
05.老男孩学科:新媒体
[root@oldboy ~]# tail /tmp/oldboy.txt
3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service Protocol
isnetserv 48128/tcp # Image Systems Network Services
isnetserv 48128/udp # Image Systems Network Services
blp5 48129/tcp # Bloomberg locator
blp5 48129/udp # Bloomberg locator
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker
(4)文件备份(拷贝)操作
cp - copy files and directories
语法结构:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
e.g.
备份(拷贝)文件
[root@oldboy data]# cp /data/oldboy.txt /backup/
备份(拷贝)文件并重命名(建议结合日期命名)
[root@oldboy data]# cp /data/oldboy.txt /backup/oldboy.txt-11月11日
备份(拷贝)目录
[root@oldboy data]# cp -r /data/ /backup/
[root@oldboy data]# ll /backup/
总用量 12
drwxr-xr-x. 62 root root 4096 4月 24 10:30 data
备份(拷贝)目录并重命名
[root@oldboy data]# cp -r /data/ /backup/data_11月11日
[root@oldboy data]# ll /backup/
总用量 16
drwxr-xr-x. 62 root root 4096 4月 24 10:30 data
drwxr-xr-x. 62 root root 4096 4月 24 10:33 data_11月11日
(5)文件移动操作
mv - move (rename) files
SYNOPSIS
mv \[OPTION]... \[-T] SOURCE DEST
mv \[OPTION]... SOURCE... DIRECTORY
mv \[OPTION]... -t DIRECTORY SOURCE...
e.g.
移动文件到指定目录
[root@oldboy data]# touch /etc/oldboy.conf
[root@oldboy data]# mv /etc/oldboy.conf /data/
[root@oldboy data]# ll /etc/oldboy.conf
ls: 无法访问/etc/oldboy.conf: 没有那个文件或目录
[root@oldboy data]# ll /data/
总用量 4
-rw-r--r--. 1 root root 0 4月 24 10:45 oldboy.conf
移动文件到指定目录并重命名
[root@oldboy data]# mv /data/oldboy.conf /tmp/oldgirl.conf
[root@oldboy data]# ll /tmp/
总用量 1316
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
-rw-r--r--. 1 root root 0 4月 24 10:45 oldgirl.conf
-rw-r--r--. 1 root root 145 4月 19 18:14 oldgirl.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
文件重命名
[root@oldboy data]# mv /tmp/oldgirl.conf /tmp/oldboy.conf
[root@oldboy data]# ll /tmp/
总用量 1316
drwxr-xr-x. 5 root root 102 4月 24 10:33 bak
-rw-r--r--. 1 root root 0 4月 24 10:45 oldboy.conf
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
-rw-r--r--. 1 root root 145 4月 19 18:14 oldgirl.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
e.g.
移动目录到其他目录
[root@oldboy data]# mv /backup/ /data/
[root@oldboy data]# ll /data/
总用量 4
drwxr-xr-x. 5 root root 102 4月 24 10:33 backup
移动目录到其他目录并重命名
[root@oldboy data]# mv /data/backup/ /tmp/bak
[root@oldboy data]# ll /tmp/
总用量 1316
drwxr-xr-x. 5 root root 102 4月 24 10:33 bak
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
-rw-r--r--. 1 root root 0 4月 24 10:45 oldgirl.conf
-rw-r--r--. 1 root root 145 4月 19 18:14 oldgirl.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
目录重命名
[root@oldboy data]# mv /tmp/bak/ /tmp/backup
[root@oldboy data]# ll /tmp/
总用量 1316
drwxr-xr-x. 5 root root 102 4月 24 10:33 backup
-rw-r--r--. 1 root root 0 4月 24 10:45 oldboy.conf
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
-rw-r--r--. 1 root root 145 4月 19 18:14 oldgirl.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
(6)删除系统数据信息
rm - remove files or directories**(慎用!删除前一定要反复确认好再做个备份后再删除)**
语法结构:
rm [OPTION]… FILE…
e.g.
删除文件
[root@oldboy data]# cd /tmp/
[root@oldboy tmp]# ll
总用量 1316
drwxr-xr-x. 5 root root 102 4月 24 10:33 backup
-rw-r--r--. 1 root root 0 4月 24 10:45 oldboy.conf
-rw-r--r--. 1 root root 1340586 4月 19 17:19 oldboy.txt
-rw-r--r--. 1 root root 145 4月 19 18:14 oldgirl.txt
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
[root@oldboy tmp]# rm -f oldboy.conf oldboy.txt oldgirl.txt
[root@oldboy tmp]# ll
总用量 0
drwxr-xr-x. 5 root root 102 4月 24 10:33 backup
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
e.g.
删除目录
[root@oldboy tmp]# ll /tmp/
总用量 0
drwxr-xr-x. 5 root root 102 4月 24 10:33 backup
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
[root@oldboy tmp]# rm -rf /tmp/backup/
[root@oldboy tmp]# ll
总用量 0
drwx------. 3 root root 17 4月 9 11:01 systemd-private-ce58ab41ce4f45acb1dc61af92aebf46-chronyd.service-4na0Qq
根目录千万不要被rm命令删除,否则无法恢复
[root@oldboy tmp]# rm -rf /
rm: 在"/" 进行递归操作十分危险
rm: 使用 --no-preserve-root 选项跳过安全模式
5.命令快捷操作方式
ctrl+a 快速移动光标到行首
ctrl+e 快速移动光标到行尾
ctrl+←或→ 将光标按照单词快速移动
ctrl+k 将光标之后的内容全部删除(其实是剪切)
ctrl+u 将光标之前的内容全部删除(其实是剪切)
ctrl+w 将光标之前的字符串(光标与上一个空格之间的内容)删除(其实是剪切)
ctrl+y 将剪切或复制的内容粘贴到光标处
ctrl+c 取消当前命令/终止当前运行的程序过程
ctrl+z 暂停当前运行的程序过程
恢复暂停的程序进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2O8HKisZ-1654480167149)(image/eb400c754bfe51c411180e06cbec8c83_nSbkPibnFA.png)]
tab 对操作命令或处理对象进行补全操作
↑或↓ 调取曾经执行过的历史命令
ctrl+l 清屏操作
ctrl+q 退出远程连接锁屏状态
esc+. 快速调取上一个命令最后的对象信息
6.系统编辑命令
(1)vi/vim 表示编辑文本信息
语法格式:vi/vim 文件
(2)vi/vim的三种模式:
命令模式:可以进行一些快捷操作(进入文件的默认模式)
编辑模式:可以编辑文件内容信息
底行模式:可以完成特殊命令操作
1) 第一个历程:命令模式到编辑模式
命令模式 → i I a A o O s S C → 编辑模式
i 在光标当前位置直接进入编辑模式
I 将光标移动到行首后进入编辑模式
a 将光标从当前位置向后移动一位进入编辑模式
A 将光标移动到行尾后进入编辑模式
o 在光标所在行下方插入一行后进入编辑模式
O 在光标所在行上方插入一行后进入编辑模式
s 删除光标所在位置的内容并进入编辑模式
S 删除光标所在行的内并进入编辑模式
C 删除光标所在位置及后面的内容并进入编辑模式
编辑模式 → esc → 命令模式
2) 第二个历程:命令模式到底行模式
-
命令模式 → : / ? → 底行模式
- 后面可以输入vi/vim特有的命令信息
/ 表示可以进入信息检索状态 n 由上到下进行检索 N 由下到上进行检索
? 表示可以进入信息检索状态 n 由下到上进行检索 N 由上到下进行检索
底行模式 → esc → 命令模式
3) 第三个历程:编辑模式到命令模式
编辑模式 → esc → 命令模式 → : / ? → 底行模式
4) 第四个历程:底行模式到命令模式
底行模式 → esc → 命令模式 → i I a A o O s S C→ 编辑模式
(3)编辑文件内容:vi/vim基本用法
命令模式 → i → 编辑模式 → esc 命令模式 → : → 底行模式 → :wq 保存退出 :q 退出 → 命令行
(4)命令模式
1)快速移动光标:
G 将光标快速移动到最后一行
gg 将光标快速移动到第一行
nG或者ngg 将光标快速移动到指定行(n代表行号)
$ 将光标快速移动到行尾
^或者0 将光标快速移动到行首
2)快速编辑内容:
yy 复制光标所在行的一整行内容
nyy 复制光标所在行及以下n-1行的内容
p 粘贴复制或剪切的内容
np 粘贴n份复制或剪切的内容
dd 删除(其实是剪切)光标所在行的内容
ndd 删除(其实是剪切)光标所在行及以下n-1行内容
nG 删除光标所在行到结尾的所有内容
u 撤销编辑操作内容
ctrl+r 恢复撤销操作内容
r 将光标所在位置内容直接做替换编辑操作
R 进入替换模式(按Esc退出)
3)底行操作方法:
:set nu 显示文件行号信息
:set nonu 取消显示行号信息
:set list 显示行尾指示符,用于判断每行结尾是否存在空格,有的话可以删掉
:nohl 取消高亮显示
😒#被替换的内容#替换之后的内容#g 替换光标所在行的指定内容
:%s#被替换的内容#替换之后的内容#g 全部文本内容都做替换指定内容的操作
:ns#被替换的内容#替换之后的内容#g 替换第n行的指定内容
:n,ms#被替换的内容#替换之后的内容#g 从n行开始到m行结束替换指定内容
:n,$s#被替换的内容#替换之后的内容#g 从n行开始到最后一行替换指定内容
s substitution 替换信息
g global 全局
### 替换信息与被替换信息的分隔符,也可以使用/或者@等符号
e.g.
取消注释信息 :2,3s/#//g 分隔符之间没有内容则是将要替换的内容删除
4)vi/vim编辑文件时需要注意的问题:
①编辑文件时,一定要确认编辑文件所在的路径是否存在,如果不存在则无法保存编辑的文件内容
② 不能对目录进行编辑
③ 编辑出现异常,恢复文件内容的方法: vim -r 文件
vim -r 恢复文件内容的底层逻辑:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykQWxMT6-1654480167150)(image/6b3c8b2e610897ce6d1e649eab746654_V2wy31ME1T.png)]