linux命令、vi命令、vim命令、shell语法(完整详细)

题目:linux命令、vi命令、vim命令、shell语法


目录

题目:linux命令、vi命令、vim命令、shell语法

一、vi编辑器

(一)编辑模式(快捷键模式)

<一> vi:打开文件(没有该文件则自动创建)

 <二>gg:定位行

 <三>dd:删除行

 <四>y:复制

<五> x:剪切

<六> p:粘贴

 <七>r:替换

 <八>方向键

<九>组合快捷键

(二)输入模式(文本模式)

 (三)命令行模式

<一>行号设置

<二>保存与退出

<三>替换

三、vim编辑器

四、终端编辑器:linux系统知识

(一)windows与linux间的数据传输

(二)文件压缩

<一>tar.gz文件

<二>zip文件

<三>软件安装

(二)常用命令

 <一>文件属性:类型符

 <二>文件属性:权限位

<三> chmod:更改文件属性

 <四>cd:切换目录

<五> mkdir:创建文件夹

<六> 创建文件

 <七>rm:删除

 <八>cp:复制(文件直接用,文件夹加-r)

 <九>mv:剪切并重命名

<十>查看

 <十一>ll:查看详细信息

<十二> ls:查看信息

 <十三>查看命令

 <十四>echo:打印

<十五>date与sleep

<十六>head与tail:显示文件内容

 <十七>find:查找

<十八>特殊字符的含义

五、shell编程/shell语法

(一) shell脚本的执行

 (二)shell变量

 (三)shell字符串

(四)shell数组

(五)shell注释

(六)shell运算符

 (七)text判断

 (八)if语句

(九)case语句

 (十)for循环

 (十一)while循环

(十二) break

(十三)continue 

(十四)shell函数


一、vi编辑器

(一)编辑模式(快捷键模式)

  •  ctrl+alt+f3:进入编辑模式,输入“账户信息”。

<一> vi:打开文件(没有该文件则自动创建)

  1.  vi a:打开a文件
  2.  vi +5 a:打开并定位到a文件的第5行
  3.  vi + a:打开并定位到a文件的末行
  4.  vi +/if a:定位到a文件的if字符(按n键会跳到下一个if字符)

 <二>gg:定位行

  1.  gg:定位到第1行
  2.  5gg:定位到第5行
  3.  7777gg:定位到末行(超过最多行数)
  4.  G:定位到最后一行

 <三>dd:删除行

  1.  dd:删除本行
  2. 5dd:删除包含本行往后5行
  •  u:撤销上一步操作
  • .:撤销u的操作
  •  w:定位到下一个单词

 <四>y:复制

  1.  yy:复制一行
  2. 5y:复制5行

<五> x:剪切

  1. x:剪切光标后1个字符
  2. 5x:剪切光标后5个字符

<六> p:粘贴

  1. pp:粘贴1份
  2.  5p:粘贴5份

 <七>r:替换

  1. r:替换1个字符【ra:光标后的1个字符替换为a】
  2. 5r:替换5个字符【5ra:光标后的1个字符替换为aaaaa】

 <八>方向键

  • 方向键快捷键:h:左。j:下。k:上。l:右
  • zz:保存并退出

<九>组合快捷键

  1.  yw:复制1个单词
  2.  5yw:复制5个单词
  3. pw:粘贴1份单词
  4. 5pw:粘贴5份单词
  5. dw:删除该单词的后部分
  6.  5dw:删除该单词后的5个字母
  7.  Ctrl+s:锁屏
  8.  Ctrl+q:解锁

(二)输入模式(文本模式)

  1.  按i进入输入模式,按esc键回到编辑模式
  2.  按i:在光标后插入字符
  3.  按a:替换光标后的字符
  4.  按I:定位到首行
  5.  按A:定位到尾行
  6.  按O:定位到上一行
  7.  按o:定位到下一行

 (三)命令行模式

  •  桌面下按win+enter进入命令行模式
  •  按英文冒号进入命令行模式,按esc键回到编辑模式
  • <一>行号设置

  1.  set nu:显示行号
  2. set nonu:不显示行号
  • <二>保存与退出

  1. w:保存
  2. q:退出
  3. wq:保存并退出
  4.  q!:不保存并退出
  5.  /a:查找字符串中的a字符
  • <三>替换

  1.  s/aaa/bbb/g:将当前行aaa替换为bbb
  2. g/aaa/s/bbb/g:将全部aaa替换为bbb

三、vim编辑器

  1.  vim使用提示
  2. yum install vm -y:自动安装vim编辑器
  3.  vim 回车:进入vim编辑器
  4. vim语法与vi语法相同
  5.  rm -rf .文件名:强制删除该文件,解决每次进入vim出现的提示

四、终端编辑器:linux系统知识

(一)windows与linux间的数据传输

  1. rz:将文件从win传输到linux
  2. sz:将文件从linux传输到win
  3. df -h:查看分区信息

(二)文件压缩

<一>tar.gz文件

  1. tar -zxvf xxx.tar.gz:解压xxx文件(tar.gz:linux系统的压缩包后缀)
  2. tar -zcf aaa.tar.gz bbb:压缩bbb文件为aaa.tar.gz压缩包

<二>zip文件

  1. yum install zip unzip -y:要先输入命令安装yum文件
  2. zip -r xxx.zip zzz:压缩zzz文件为xxx.zip压缩包
  3. unzip aaa.zip :解压aaa.zip压缩包

<三>软件安装

  1. make install a:安装a软件
  2. sduo dpkg -i a.deb:安装类型为deb的a文件

(二)常用命令

  •  xdg-open:打开文件、目录、网址等

 <一>文件属性:类型符

  • - --- --- ---:类型符说明
  1.  -:表示普通文件
  2.  c:表示字符设备(character)
  3.  b:表示块设备(block)
  4.  d:表示目录(directory)
  5.  l:表示链接文件(link)

 <二>文件属性:权限位

  1.  a:所有权限位all
  2.  第一个---:用户权限位u(user)
  3.  第二个---:组权限位g(group)
  4.  第三个---:其他权限位o(other)
  5.  权限位:包括r(读权限:read)、w(写权限:write)、x(执行权限)
  6.  d -w- - - - - - -:该目录的用户权限为可读状态,组权限和其他权限不可读

<三> chmod:更改文件属性

  1.  格式:chmod (a/u/g/o)(+/-/=)(r/w/x)
  2.  说明:+(赋予权限),-(删除权限),=(设置权限并删除其他权限)
  3.  chmod a+rwx a:赋予a文件所有权限位的所有权限
  4.  chmod u+rwx,g+rw,o-rwx a:赋予a文件的用户权限位的所有权限,赋予a文件的组权限位的读和写权限,删除a文件的其他权限位的所有权限
  5.  chmod u=w a:设置a文件的用户权限位拥有w(可写)权限,其他权限位的权限不变【假如a文件原来的属性为rwx rwx rwx,输入了该命令,则属性变为-w- rwx rwx】

 <四>cd:切换目录

  1.  cd:切换到家目录
  2. cd 路径1:切换到相对路径1
  3.  cd /路径1:切换到绝对路径1
  4.  cd ../路径1:返回上一级目录下的路径1

<五> mkdir:创建文件夹

  1.  mkdir a:在当前目录创建文件夹a
  2.  mkdir -p a/b/c:在当前目录创建一连串文件夹(没有文件夹则会自动创建文件夹)
  3.  mkdir -p /a/b/c:在根目录创建一连串文件夹(没有文件夹则会自动创建文件夹)
  4.  mkdir a{b,c,d}:在当前目录创建文件夹(文件夹包括ab,ac,ad三个文件夹)
  5. mkdir a/{b,c,d}:在当前目录创建文件夹a(a包括b,c,d三个子文件夹)

<六> 创建文件

  •  touch a:在当前目录创建a文件
  •  vi a:创建文件a
  • ln:创建链接
  1. ln -s abcd a:创建软链接a,内容为abcd字符串
  2. ln abcd a:创建硬链接a,内容为abcd

 <七>rm:删除

  1.  rm a.txt:删除当前目录的a.txt文件(需要确认)
  2. rm -f a*:强制删除当前目录的以a开头的文件(不用确认)
  3. rm -r a:删除当前目录的a文件夹(需要确认)
  4. rm -rf a:强制删除当前目录的a文件夹或文件(不用确认)
  5.  rmdir a:删除当前目录的空文件夹a
  6.  rm /user/a/b.txt:删除指定目录下的b.txt文件

 <八>cp:复制(文件直接用,文件夹加-r)

  1.  cp a.txt /b:复制当前目录的a.txt文件到b文件夹
  2. cp /a/b.txt /c:复制a目录下的b.txt文件到c目录
  3.  cp -r a b:复制a文件夹到b文件夹
  4.  cp -r a* /b:复制以a开头的文件夹到目录b

 <九>mv:剪切并重命名

  1.  mv a b:将a剪切到b(a,b可以是文件也可以是文件夹)
  2.  mv a.txt ab.txt:重命名
  3.  mv a b/c:移动a文件到目录

<十>查看

  1.  stat a:查看a文件的属性
  2. more a:以页查看a的内容:查看a的内容(按回车:翻行。按空格:翻页。按b:返回。按q:退出。)
  • pwd:显示当前目录的位置

 <十一>ll:查看详细信息

  1.  ll:显示当前目录的所有文件的详细信息
  2.  ll -a:显示当前目录的所有文件的详细信息(包含隐藏文件)

<十二> ls:查看信息

  1.  ls:显示当前目录的所有可见文件
  2.  ls -a:显示当前目录的所有文件(包括隐藏文件)
  3.  ls -l:按列显示当前目录的所有文件的详细信息
  4.  ls -R:显示当前目录的文件及子目录
  5.  ls -1:显示当前目录的文件:按列显示,即1行显示1个文件
  6. 简写用 - :【ls -cd】
  7. 单词用- -:【ls - -cd】

 <十三>查看命令

  1.  infor 命令名:详细解释命令含义
  2. man 命令名:简单解释命令含义
  3. 命令名 - -help:查看命令的信息及使用方法【cd --help:查看cd的信息和使用方法】
  4.  type 命令名:查看命令类型
  5.  help 内置命令名:查看该命令的解释
  6. man 外置命令名:查看该命令的解释
  7. whereis 命令名:查看命令的路径地址
  8. file 路径:查看文件类型

 <十四>echo:打印

  1.  echo `pwd`:打印当前目录信息(该符号作用是将pwd作为命令执行)
  2. echo abcd:打印字符abcd
  3. echo abcd >> a:将abcd导入到文件a
  4.  cat a:打印a文本的信息

<十五>date与sleep

  1.  sleep 1:1秒刷新一次(1可以更改为想要的时间)【echo '你好!';sleep 1】
  2. date:显示当前日期、时间(选项如图所示)
  3.  date +%x%A%X:结果为“2022年3月10日星期四12时52分16秒”
  4.  date +%F/%a/%T:结果为“2022-03-10/四/12:52:16”
  5. date的使用方法参考下图

linux命令、vi命令、vim命令、shell语法(完整详细)_第1张图片

<十六>head与tail:显示文件内容

  1.  head与tail:显示与实时显示
  2.  head -5 a:显示a文件的前5行
  3. tail -5 a:显示a文件的后5行
  4. head -5 a | tail -1:显示a文件的第5行(先显示a文件前5行,最后显示这5行的最后1行)
  5. tail -f a:实时显示a文件的内容
  6. tail -F a:实时显示名字为a的文件的内容

 <十七>find:查找

  1. find / -name a:全局搜索a文件
  2. find /a -name b:搜索a目录内的b文件
  3. find / -name a*b:全局搜索以a开头b结尾的文件

<十八>特殊字符的含义

  •  点
  1.  .a:a是隐藏文件
  2.  .:当前目录
  3.  ..:上级目录
  4.  $变量1:引用变量1
  5. /:根目录
  6. ./:当前目录
  7.  ./:运行文件【./文件名.后缀】
  •  *:通配符
  1.  ll *a:查看a结尾的文件
  2.  ll a*:查看a开头的文件

五、shell编程/shell语法

(一) shell脚本的执行

  1.  在写shell脚本之前需要写“#! /bin/bash”来调用bash库
  2.  ./a.sh:执行a.sh脚本(次次选择)
  3.  sh a.sh:执行a.sh脚本(次选择)
  4.  source a.sh:执行a.sh脚本(推荐优先选择用该命令)

 (二)shell变量

  1.  echo $a:打印变量a(&:引用/调用符号)
  2.  unset a:删除变量a(a变为空变量)

 (三)shell字符串

  1.  单引号:只打印文本【a=xxx,b='zzz,a',echo b,结果:zzz,a】
  2.  双引号:可解析变量【a=xxx,b="zzz,a",echo b,结果:zzz,xxx 】
  3.  echo ${#b}:打印变量b的长度,结果:6

(四)shell数组

  • 定义数组:a=("zz" "xx" "cc")
  • 读取数组
  1. echo ${a[1]},结果:xx(下标从0开始)
  2. echo ${a[100]}:结果:
  3. echo ${a[@]}:结果:zz xx cc
  4. echo ${#a[@]}:结果:3
  5.  echo "scale=2;1/3" | bc:结果:0.33,scale:取小数位数,bc:计算器

(五)shell注释

  1. 单行注释:#xxx。xxx:你输入的字符
  2. 多行注释::<

(六)shell运算符

  1. eq:等于
  2. ne:不等于
  3. gt:大于
  4. lt:小于
  5. ge:大于等于
  6. le:小于等于

 (七)text判断

  • text:用于判断,相当于if语句中的[ ]

  • 运算符及text用法如下图介绍

linux命令、vi命令、vim命令、shell语法(完整详细)_第2张图片

linux命令、vi命令、vim命令、shell语法(完整详细)_第3张图片

 (八)if语句

  • if语句介绍:if开始,then执行,fi结束。[]作判断,可用text

linux命令、vi命令、vim命令、shell语法(完整详细)_第4张图片

(九)case语句

case语句介绍:case开始,esac结尾。;;:执行结束符,*:其余的

linux命令、vi命令、vim命令、shell语法(完整详细)_第5张图片

 (十)for循环

  • for语句介绍:for开始,do执行,done结束

linux命令、vi命令、vim命令、shell语法(完整详细)_第6张图片

 (十一)while循环

  • while语句结介绍:while开始,do执行,done结束

linux命令、vi命令、vim命令、shell语法(完整详细)_第7张图片

(十二) break

  • break:跳出所有循环

(十三)continue 

  • continue:跳出当前循环

(十四)shell函数

  •  shell函数的语法及使用方法看下面图片的详细介绍

linux命令、vi命令、vim命令、shell语法(完整详细)_第8张图片

linux命令、vi命令、vim命令、shell语法(完整详细)_第9张图片


你可能感兴趣的:(Linux与shell语法,linux,bash,vim)