1.自学vimtutor中文版,见附件,熟悉Vim环境,完成如下题目。

1)如何在三种工作模式之间进行切换。

指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)
指令模式(Command Mode)下输入:进入末行模式(Last line Mode)
末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)

2)在vim的一般模式下,如何将光标定位至一行的开头字符和结尾字符的位置?

0 行首 $ 行尾

3)从vim的一般模式转换为编辑模式时,如何直接将光标定位至当前字符后开始插入字符?

i

4)如何查看vim正在编辑的文件名?

file

5)使用vim如何将文件第6行内容剪切至第10行?

Vim中的剪切复制粘贴分别为delete,yank,put;

1.x表示把光标下的字符剪切下来,并把它放在无名寄存器中;
2.p命令将无名寄存器中的内容粘贴到光标后面;
3.dd表示剪切当前行;剪切后,依然可用p来进行粘贴;
4.yy表示复制当前行;
5.Home跳到行首;
6.End跳到行尾;

光标定在第6行—输入yy—copy
光标定在第9行-----输入p

6)vim中如何进行括号的匹配(根据左括号找到对应的右括号,或者相反)?

%

7)vim中如何将一个文件另存为另一个文件?

一般模式:w 新文件名

8)将文件/etc/passwd复制到/tmp/passwd,然后进行如下操作:

  • 以vim打开/tmp/passwd文件。
    vim /tmp/passwd

  • 设置行号。
    set nu!

  • 将光标定位至第10行第10个字符。
    10G,10|

  • 将光标定位至第1行。
    1G

  • 将光标定位至最后一行。
    G

  • 不使用左右上下箭头键,如何进行光标的上下左右移动?
    上------k
    下------j
    左------h
    右------l

  • 在文件中搜索字符串root。
    /root

  • 删除第6行。
    6G,dd

  • 撤销删除第6行。
    u

  • 将第1-5行复制到文件末尾。
    shift :set number
    shift :1,5 copy (最后一行行号)

  • 撤销如上5行的复制。
    u

  • 删除第6行的前5个字符。
    :6s/^.{5}

  • 将字符串ftp替换为abc。
    :1,$s/ftp/abc/

  • 将文件不保存退出。
    :q!

  • 重新以vim打开/tmp/passwd文件,将光标定位至第3行。
    3G

  • 在第3行的下一行(第4行)开始编辑,插入内容“abcdefg”。
    3G,o

  • 切换至一般模式,将上题中的字符a替换为z。
    ?/a/z/

  • 将文件保存退出。
    :wq

2.理解Bash使用,完成如下题目

1)在命令输入时使用tab键,理解tab键的作用和用法。

方便输出字符

2)使用两种方法(其中一种方法必须使用管道命令)将文件/etc/passwd中包含“ftp”的一行输出。

cat /etc/passwd | grep ftp
grep -r ftp /etc/passwd

3)分别查看环境变量PATH和HOME的值。将当前目录加入PATH环境变量。

echo $ PATH
echo $ HOME
export PATH=$ PWD:$ PATH

4)设置命令“cd /usr/share/doc”的别名为“cddoc”,并执行命令别名。

alias cddoc=‘cd /usr/share/doc’
cddoc

5)取消上题中的命令别名“cddoc”。

unalias cddoc

6)新建文件/tmp/testfile,使用echo命令将“123”写入该文件中。

touch /tmp/testfile
echo ‘123’ >> /tmp/testfile

7)将命令ps -axu的执行结果重定向到文件/tmp/pslog文件中。

ps -axu >> /tmp/pslog

8)使用和熟悉快捷键Ctrl+C、Ctrl+D、Ctrl+A、Ctrl+E、Ctrl+L、Ctrl+U、Ctrl+K、Ctrl+Y、Ctrl+R。

Ctrl+C 强行终止当前的错误结果,并恢复到你可控的状态
Ctrl+D 键盘输入结束或退出终端
Ctrl+A 将光标移至输入行头,相当于Home键
Ctrl+E 将光标移至输入行末,相当于End键
Ctrl+L 清屏,相当于clear
Ctrl+U 删除此处至开始所有内容
Ctrl+K 删除此处至末尾所有内容
Ctrl+Y 粘贴由Ctrl+U,Ctrl+D,Ctrl+W删除的单词
Ctrl+R 反向搜索执行过的命令

9)显示最近执行过的10条命令。重新执行倒数第5条命令。

1、history | tail -10
2、!-5

10)查看系统当前设置了哪些命令别名。

alias

11)使用!命令将最近执行过的以l开头的命令再执行一次。

!l

3.使用引用环境变量(使用$)的方法完成如下功能:

1)删除/tmp目录下所有者为当前登录用户的所有文件。

find /tmp -user $LOGNAME | xargs rm -rf

2)切换目录至当前用户的个人主目录。

cd $HOME

3)查看当前工作目录。

echo $PWD

4.理解Bash中特殊字符的用法

1)输出字符串 abc’de

echo abc\’de

2)利用变量赋值方式,将字符串DOS file c:>$student*显示出来。

vim script2
(
#!bin/bash
student=freya
a="DOS file c:>\ $student \*"
echo $a
)
bash<script2

3)利用变量赋值方式,将字符串echo “directory is $HOME” 显示出来,其中HOME为环境变量,要求将其显值示出来。

vim script3
(
#!bin/bash
HOME=$HOME
echo "echo directory is $HOME"

5.执行并理解如下命令,写出执行结果

str2=’echo “directory is $HOME”’
echo $str2

echo “directory is $HOME”

str3=`date`
echo today is $str3
echo today is `date`

today is 2018年 12月 01日 星期一 14:07:11 CST
today is 2018年 12月 01日 星期一 14:07:11 CST

echo “filename is \“$HOME\”\$*”

“filename is “/root”$*”

echo “filename is \abc \$HOME”

filename is \abc\ /root

var1=“zhang san”
echo $var1
echo ${var1}

zhang san
zhang san

var1=linux
var2=“linux fedora”
var3=20
var4=“$var2 $var3”
var5=“$var2$var3”
var6=$var2$var3
var7=${var2}${var3}
查看如上各个变量的值。

linux
linux fedora
20
linux fedora 20
linux fedora20
linux fedora20
linux fedora20

var1=zhangsan
echo $var1
var2=lisi
echo $var2
bash
echo $var1 $var2
exit
echo $var1 $var2

zhangsan
lisi

var1=zhangsan
echo $var1
var2=lisi
export var2
echo $var2
bash(子进程)
echo $var1 $var2
export –n var2//zhangsan
//lisi
//zhangsan lisibash(孙子进程)
echo $var1 $var2
exit(返回子进程)
echo $var1 $var2
exit(返回父进程)
echo $var1 $var2//zhangsan lisi
//lisi
//lisi
//zhangsan lisi

6.如何使用通配符匹配如下字符串?

1).afile、.bfile、.cfile、.abcfile

.[abc]*file

2)fa、fb、fc、fd、fe、ff、fg…fz

f[a~z]

3)f1、f2、f3…f100

f[1~100]

4)以chapter开头后面紧跟着0个或多个0-9的数字,如匹配chapter、chapter0、chapter2、chapter36、chapter100等。

chapter[0~9]*

5)匹配/var目录下,以l开头的子目录下的所有的文件。

/var/l*

7.按如下步骤执行,理解位置参数$0、$1、$2。

echo 123 > /tmp/f1
echo abc > /tmp/f2
vim ex1(编辑文件ex1内容如下)
#!/bin/bash
cat $0 $1 $2

chmod 777 ex1
./ex1 f1 f2
查看并理解执行结果。

#!/bin/bash
cat $0 $1 $2
123
abc

$0----文件本身
$1,$2—随后传进的参数

8.Linux下环境文件有哪些?各有何作用?请总结并形成文档。

linux变量文件有:

/etc/environment
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bashrc
~/.bash_profile(一般是用户在自己目录下新建的)
~/.bash_logout.

系统级:
1./etc/environment:是系统在登录时读取的第一个文件,该文件设置的是整个系统的环境,只要启动系统就会读取该文件,用于为所有进程设置环境变量。
2./etc/profile:此文件是系统登录时执行的第二个文件。 为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
3. /etc/bashrc:是针对所有用户的bash初始化文件,每次新开一个终端,都会执行/etc/bashrc。

用户级(这些文件处于home目录下):
1.~/.profile:对应当前登录用户的profile文件,用于定制当前用户的个人工作环境(变量是永久性)
2.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
3.~/.bash_profile or ~./bash_login: ~/.bash_profile是交互式login 方式进入 bash 运行的.
4.~/.pam_environment:用户级的环境变量设置文件.
5.~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。

10.理解如下特殊变量的含义。

$# 位置参数的数量
$? 命令执行后返回的状态
$$ 当前进程的进程号
$! 后台运行的最后一个进程号
$- 当前设置
$@ 所有参数的列表

Linux实验 (5) 熟悉Linux文件、磁盘和软件包管理相关推荐

  1. 熟悉和理解linux编程环境,熟悉Linux环境和编程0.doc

    实验报告 班级 学号 姓名 实验日期 2005-03-20 实验一 熟悉在Linux环境下的操作及编程 一. 实验目的 熟悉Linux环境,掌握Linux常用的基本命令,为以后的Linux编程打下基础 ...

  2. linux实验报告一,Linux实验报告6参考答案.doc

    Linux实验报告6参考答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

  3. LINUX学习基础篇(十五)软件包管理

    LINUX学习基础篇(十五)软件包管理 软件包管理 软件包分类 源码包 二进制包 选择 依赖性 rpm包安装 rpm包命名规则 rpm包安装和卸载 服务命令 rpm查询命令 验证 数字证书 rpm中文 ...

  4. 操作系统——实验壹——熟悉Linux基础命令及进程管理

    一. 实验目的 加深对进程概念的理解,明确进程和程序的区别. 进一步认识并发执行的实质. 分析进程争用资源的现象,学习解决进程互斥的方法. 二. 实验内容 运行程序,查看自己运行的结果,并进行分析. ...

  5. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)

    今天小编将继续为大家带来Linux文件和目录管理相关命令的文章,想要做Linux运维工程师的小伙伴,来看一看,希望能对你有帮助哦~ 一 查看文件内容 上面提到的一些命令例如ls只是用来显示文件的属性与 ...

  6. 嵌入式linux实验截图,嵌入式linux实验二.pdf

    嵌入式原理与应用实验 实验二 Linux 系统的常用命令 学号 1215108019 姓名 李克帆 班级 电子 2 华侨大学电子工程系 实验二 Linux 系统的常用命令 一.实验目的 掌握 Linu ...

  7. linux实验手册汇总,Linux实验手册汇总(226页)-原创力文档

    精品文档 Linux 实验手册 补充实验步骤很详细 Linux 重于练习和动手 一 Linux 安装 注意磁盘分区 二: 用户简单操作: 1. 添加用户 u1 和 u2,并分别设置口令 #userad ...

  8. linux磁盘权限 /srv,Linux学习笔记之解压压缩,磁盘分区,软件包管理,权限

    关机命令  (不能直接点虚拟机右上角的x) init 0 重启命令 init 6 管道符号  |  ---- 把前一个命令的输出结果传递给后一个命令处理 ----哪些命令支持放在管道符后面  (mor ...

  9. linux实验报告makefile,linux实验二交叉编译和Makefile实验报告.doc

    linux实验二交叉编译和Makefile实验报告 实验二 交叉编译和Makefile 实验目的 了解和掌握交叉编译模式和方法: 了解和掌握makefile文件的编写 学会使用交叉编译工具和make工 ...

最新文章

  1. Struts2 单个文件上传/多文件上传
  2. ThinkPHP多应用/多模块配置
  3. 使用VC6.0创建和运行C程序的方法
  4. 1.16 项目实例:Java图书信息查询
  5. python数据类型详解(全面)
  6. EAGER的获取是代码的味道
  7. python 进程和线程
  8. UML类图与类间六种关系表示
  9. 淘宝美工实用素材|轻松交作业过稿
  10. 2016大学里的流年回忆
  11. VMware Workstation 16.2 Pro for Windows SLIC 2.6 Unlocker
  12. 留言系统php课程设计,PHP课程设计网络留言板
  13. Ubuntu搭建透明网桥
  14. 量子计算机工作原理如何解释,量子计算机工作原理
  15. Java中的Dao是什么意思?
  16. The server quit without updating PID file解决方法
  17. Golang - [Iris] 日志写入与日志分割
  18. 2021年中国内燃机曲轴行业现状及竞争格局分析,高壁垒塑造曲轴行业高集中度,新能源汽车带动行业发展「图」
  19. 单片机课cheng设计求大lao们指jiao
  20. SpringBoot+Vue+Element-UI实现家庭理财记账管理系统

热门文章

  1. php搜索ttfb用时太长,waiting TTFB时间过长怎么办
  2. 我的Android进阶之旅------Android系统设置默认来电铃声、闹钟铃声、通知铃声
  3. 微信公众号如何接入第三方在线客服
  4. CTSC2018 青蕈领主
  5. JQ--阻止点击事件冒泡
  6. 简而不凡的“工厂模式”
  7. 分享到微信列表、朋友圈、微信小程序,分享到qq、qq空间、分享qq小程序,分享到微博
  8. windows store 下载软件出现错误代码: 0x80D03805
  9. ssm+mysql护理质量考核系统微信小程序-计算机毕业设计源码03644
  10. N卡滤镜打开方法介绍