实验二、Vi文本编辑器和GCC编译器的使用
linux操作系统实验二vi编辑器的使用

《linux操作系统》实验报告
实验二 vi编辑器的使用
班级:计科1101班姓名:陈如玉学号 :11170102
实验日期:2014/10/26 成绩:教师签字:
一、实验目的
1、学习使用vi编辑器建立,编辑,显示及加工处理文本文件。
二、实验内容
1、进入和退出vi。
2、利用文本插入方式建立一个文件。
3、在新建的文本文件上移动光标位置。
4、对该文件执行删除,复原,修改,替换等操作。
三、主要实验步骤
1、进入vi。
2、建立一个文件,如filec。
输入一个C语言程序的各行内容,故意制造几处
错误。
最后,将该文件存盘。
回到shell状态。
3、运行gcc file.c –o myfile,编译该文件,有错误提示
4、重新进入vi,对该文件修改。
存盘退出vi。
编译通过,用./myfile运行该
程序。
5、运行man date>file10,然后vi file10。
使用x,dd等命令删除某些文本行。
使用u命令恢复此前的情况。
使用c,r,s等命令修改文本内容。
使用检索命令进行给定模式的检索。
6、使用可视模式进行删除复制操作
四、实验结果。
实验二 GCC 及GDB的使用

实验二GCC 及GDB的使用一、实验目的和要求a)掌握VI编译环境。
b)掌握GCC编译命令。
c)掌握多个文件共同编译方法。
d)掌握GDB调试命令。
二、实验内容和原理(可参照课件第五章)a)在VI编辑器里编写简单的“hello,world,I am 13050141XX XXX”,利用GCC编译为可执行文件,执行,观察运行结果。
b)在VI编辑器里编写多个文件(至少两个,其中一个为主程序,一个为需要调用的子程序),为其书写头文件,共同编译为可执行文件,执行,观察运行结果。
学习书写MAKEFILE文件,编译,执行,观察结果。
c)编写循环结构的程序,利用GCC 编译(加参数-g)为可执行文件,利用GDB调试,学习GDB调试命令。
三、实验环境a)硬件:PC机b)软件:LINUX操作系统、虚拟机四、实验步骤vi hello.c i:C语言编程Esc :wq gcc hello.c gdb file a.out run a实验三交叉编译环境配置一、实验目的和要求熟悉 Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。
使用Linux 的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。
二、实验内容a)配置网络,包括配置IP 地址、NFS 服务、防火墙。
b)安装交叉编译器c)配置超级终端,下载文件到目标机上。
三、实验设备及工具(包括软件调试工具)硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。
软件:REDHAT LINUX 9.0+超级终端+ARM-LINUX 开发环境四、实验步骤(所有的内容截图)1、虚拟机设置为桥接模式。
2、配置IP地址,设置为192.168.0.xxx参照实验指导书图1.4.1-1.4.3. 自己截图,说明3、关闭防火墙,参照实验指导书图1.4.4自己截图,说明4、打开桌面超级终端(HyperTerminal),配置COM1,115200波特率,8N1,实验箱插上电源线,网线与主机相连,串口线与主机串口1相连,开机,看bootloader程序VIVI是否自动加载,回车后进入命令提示符。
Linux操作系统Vi 文本编辑器实验报告

Vi 文本编辑器1.实验目的1.了解vi文本编辑器的原理和操作。
2.了解vi文本编辑器的相关命令。
2.实验原理和实验设备1.Linux操作系统3.实验步骤1.什么是vi文本编辑器?Vi是一个全屏幕文本编辑器优点:1.具有文本编辑所需的所有功能2.适用于各种版本的Unix/Linux3.适用于各种类型的终端4.使用灵活快捷缺点:1.界面不太好看2.按键命令太多2. 如何调用vi在系统提示符后输入vi和想要编辑(或建立)的文件名(如:vi [path]filename),便可进入vi。
如果只输入vi,而不带有文件名,也可以进入vi。
然后先创建文件的内容,在退出vi时,只需在退出命令后输入文件名即可。
进入vi之后,首先进入的就是编辑模式,进入编辑模式后vi等待编辑命令输入而不是文本输入,也就是说,这时输入的字母都将作为编辑命令来解释。
进入编辑模式后光标停在屏幕的第一行首位上(用_表示),其余各行的行首均有一个“~”符号,表示该行为空行。
最后一行是状态行,显示出当前正在编辑的文件名及其状态。
如果是[New File],则表示该文件是一个新建的文件。
如果输入vi带有文件名后,文件已在系统中存在的话,则在屏幕上显示出该文件的内容,并且光标停在第一行的首位,在状态行显示出该文件的文件名,行数和字符数。
在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。
在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。
在文本输入过程中,若想回到命令模式,按ESC键即可。
在编辑模式下,用户按“:”键即可进入命令模式,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。
多数文件管理命令都是在此模式下执行的。
末行命令执行完成后,vi自动回到编辑模式。
如图 3.1所示。
若在命令模式下输入命令过程中改变了主意,可用退格键(backspace)将输入的命令全部删除之后,再按一下退格键,即可使vi回到编辑模式。
vi编辑器,实验报告

vi编辑器,实验报告linux实验报告vi编辑器的使用一、实验目的学习使用vi编辑器建立、编辑、显示及加工处理文本二、实验内容1.进入和退出vi2.利用文本插入方式建立一个文件3.在新建的文本文件上移动光标位置4.对文件执行删除、复原、修改、替换等操作三、主要的实验步骤(1)vim简介系统管理员的重要工作就是修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的命令界面文本编辑器。
在所有的Linux distributions 上都会有的一套文字编辑器就是vi,而且很多软件默认的也是使用vi 为他们编辑接口。
vim 是高级版本的vi ,vim 不但可以用不同颜色显示文字内容,还能够进行诸如shell script, C program 等程序的编辑功能。
(2)vi的使用基本上vi 共分为三种模式,分别是“一般模式”、“编辑模式”和“命令模式”。
这三种模式的作用分别是:一般模式:以vi 打开一个文档就直接进入一般模式(这是默认的模式)。
在这个模式中,你可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文档内容,也可以使用“复制、粘贴”来处理文件数据。
编辑模式:在一般模式中可以进行删除、复制、粘贴等操作,但是却无法编辑文件内容!要按下“i, I, o, O, a, A, r, R”等任何一个字母后才会进入编辑模式。
通常在Linux 中,按下这些按键时,在屏幕的左下方会出现“INSERT或REPLACE”字样,此时才可以进行编辑。
而如果要回到一般模式时,则必须要按下“Esc”这个按键即可退出编辑模式。
? 命令模式:在一般模式当中,输入: / ? 三个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中,可以提供查找数据的操作。
读取、保存、大量替换字符、离开vi 、显示行号等的操作是在此模式中完成的!(3)具体的操作步骤如下1、进入vi2、建立一个文件,如file.c 进入插入模式,输入一个C语言程序的各行内容,故意制造几处错误,最后,将文件存盘,回到shell状态下3、运行gcc -o file file.c,编译该文件,会发现错误的提示,理解其含义4、重新进入vi,对该文件进行修改,然后存盘,退出vi,重新编译该文件,如果编译通过了,可以使用./file运行该程序5、运行man date file10 ,然后vi file10 ;使用x ,dd等命令删除某些文本行x 一个字符;#x 删除几个字符,#表示数字,比如3x;dw 删除一个单词;#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;dd 删除一行;#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;d$ 删除光标到行尾的内容;J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;6、使用u命令复原此前的情况按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。
嵌入式实验报告

目录嵌入式系统实践实验报告1(使用GCC编译C语言程序) (1)嵌入式系统实践实验报告2(Linux 中通过minicom串口下载程序) (14)嵌入式系统实践实验报告1五、实验结果与分析(含程序、数据记录及分析和实验总结等):图5-1 实验结果截图1图5-2 实验结果截图2图5-3 实验结果截图3 图5-4 实验结果截图4图5-5 实验结果截图5 图5-6 实验结果截图6图5-7 实验结果截图7 图5-8 实验结果截图8图5-9 实验结果截图9图5-10 实验结果截图10本次实验按照实验步骤进行,完全符合实验要求,达到了实验预期。
嵌入式系统实践实验报告2二、实验环境:硬件:Mini6410嵌入式实验平台。
软件:PC机操作系统CentOS+Minicom+Arm-Linux 交叉编译环境。
图2-1 嵌入式开发板顶视图四、实验步骤:1.建立工作目录图4-1此时我们新建的hello工作目录,在home目录下,已出现,说明,我们此次操作成功(这里我们要注意,记清楚自己在创建目录时,所在的位置),如下图所示:图4-2编写程序源代码在Linux 下的文本编辑器有许多,常用的是vi 和Xwindow界面下的gedit 等,我们在开发过程中推荐使用vi。
hello.c 源代码较简单,如下:/*****hello.c*****/#include <stdio.h>int main(){printf("Hello,World!\n");return0;}我们可以是用下面的命令来编写hello.c 的源代码,进入hello 目录使用vi 命令来编辑代码(如果不会使用vi命令来编辑,我们也可以使用gedit命令来编辑hello.c文件,命令为:gedithello.c)vi命令中常用命令有: esc i :wq :q!图4-3按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq”保存并退出。
linux实验报告二-vi编辑器的使用

linux实验报告二-vi编辑器的使用
实验名称:vi编辑器的使用
实验目的:掌握vi编辑器的基本用法,以及文件的保存和退出。
实验环境:ubuntu 16.04
实验内容:
1.进入vi编辑器
打开终端,输入vi命令进入vi编辑器。
例如:vi text.txt (text.txt是要编辑的文件名,如果文件不存在,会自动创建
一个新文件并打开)。
2.编辑文本
vi编辑器默认进入命令行模式,只能执行命令,不能编辑文本。
需要进入编辑模式才能输入文本。
在命令行模式下,按下i或a键即可进入插入模式。
其中i表
示插入光标左边,a表示插入光标右边。
在插入模式下,可以输入文本,也可以使用退格键、删除键、方向键等。
3.保存并退出
完成文本编辑后,需要保存并退出。
首先按下ESC键回到命令行模式,然后输入:wq保存并退出。
如果只是想退出而不保存,可以输入:q!强制退出。
实验心得:
vi编辑器是一种非常强大的文本编辑器,虽然刚开始使用时有些不习惯,但是通过不断的练习和操作,会慢慢地掌握其基本用法。
同时在使用vi编辑器时,一定要特别小心,避免误操作,否则会对文件造成不可逆的损坏。
实验2 Linux的基本操作及vi的使用

实验二Linux的基本命令操作及vi的使用实验目的:1、熟悉Linux操作系统环境2、熟悉Linux操作系统的文件结构3、熟悉Linux操作系统的基本命令4、熟悉Linux操作系统的文件组织方式5、学习使用vi编辑器建立、编辑、显示以及加工处理文本文件实验内容及要求:1、启动Ubuntu Linux。
首先,启动电脑进入Windows操作系统,然后双击桌面上VMWare Workstation图标, 选择左侧栏中的Ubuntu 11.0,再点击工具栏中的“运行”按钮,启动Ubuntu Linux,之后需输入密码200909(用户名为stu2009)。
【注意】进入系统界面后,点击选择上方“Applications”->”Accessories”->”Terminal”,进入命令终端,实验内容都在此窗口中完成。
例如: 输入pwd指令, 查看自己所位于Linux的哪个目录,写出该目录的路径,(可查阅Linux资料了解“/home”目录的功能介绍)。
答:2、在Linux中进行以下基本操作:1)在当前目录下新建一个名为(自己姓名首字母缩写+学号后3位数)的子目录。
写出你所用的指令。
(例如:mkdir abc123 )答:2)进入刚创建的子目录环境下。
(提示:指令cd)答:3)在刚创建的子目录下新建一个名为abc.txt的文件。
写出你所用的指令。
(提示:新建文件的指令是touch)答:4)将/目录下(即根目录下)的welcome.txt文件复制到自己的子目录下,写出你所用的指令。
(注意:请自行在根目录下创建welcome.txt,并输入少量文字即可)答:5)写出welcome.txt文件的内容。
(提示:用cat 指令查看)答:3、在Linux中进行以下基本操作:1)进入自己的主目录。
写出你使用的指令。
答:2)运行指令:cd /usr/binls列出看到当前目录里的文件列表。
答:debconf piconvdebconf-apt-progress pilconvert.pydebconf-communicate pildriver.pydebconf-copydb pilfile.pydebconf-escape pilfont.pydebconf-set-selections pilprint.pydebconf-show pinkydefoma pitividefoma-app pkactiondefoma-font pkcheckdefoma-hints pkexecdefoma-id pkg-configdefoma-subst pkilldefoma-user pl2pmdelpart plogdesktop-file-install pmapdesktop-file-validate pm-is-supported devdump pnm2ppadfutool pod2htmldh_bash-completion pod2latexdh_installdefoma pod2mandh_installxmlcatalogs pod2textdh_pycentral pod2usagedh_pysupport podcheckerdh_python2 podselectdiff poffdiff3 pointer-capture-applet diffstat pondig POSTdircolors ppdcdirectomatic ppdhtmldirname ppdidirsplit ppdmergedo-release-upgrade ppdpodotlockfile pphsdpkg ppmtolss16dpkg-architecture prdpkg-buildflags precatdpkg-buildpackage preconvdpkg-checkbuilddeps prename dpkg-deb preunzip dpkg-distaddfile prezipdpkg-divert prezip-bin dpkg-genchanges printdpkg-gencontrol printafm dpkg-gensymbols printenv dpkg-maintscript-helper printerbanner dpkg-mergechangelogs printer-profile dpkg-name printfdpkg-parsechangelog protocdpkg-query provedpkg-scanpackages prtstatdpkg-scansources ps2asciidpkg-shlibdeps ps2epsidpkg-source ps2pdfdpkg-split ps2pdf12dpkg-statoverride ps2pdf13dpkg-trigger ps2pdf14 dpkg-vendor ps2pdfwr dprofpp ps2psdu ps2ps2 dumphint ps2txt dumpkeys pseddvd-ram-control psfaddtable dvd+rw-booktype psfgettable dvd+rw-format psfstriptable dvd+rw-mediainfo psfxtabledvipdf pstreedwell-click-applet pstree.x11edit pstructeditor ptareditres ptardiffeject ptxelfedit pulseaudio empathy purple-remote empathy-accounts purple-send empathy-debugger purple-send-async enc2xs purple-url-handler enchant pwdxenchant-lsmod pxelinux-options env py3_compilefiles envsubst pycentraleog pycleaneps2eps pycompileeqn py_compilefiles esc-m pydocesd pydoc2.7 esdcompat pygettext espeak pygettext2.7 evince pyhtmlizerevince-previewer pythonevince-thumbnailer python2.7 evolution pyversions evolution-settings qpdldecodeex ranlibexchange-connector-setup-2.32 rarian-exampleexiv2 rarian-sk-configexpand rarian-sk-extractexpiry rarian-sk-gen-uuidexpr rarian-sk-get-clfactor rarian-sk-get-content-listfaillog rarian-sk-get-extended-content-list faked-sysv rarian-sk-get-scriptsfaked-tcp rarian-sk-installfakeroot rarian-sk-migratefakeroot-sysv rarian-sk-preinstallfakeroot-tcp rarian-sk-rebuildfallocate rarian-sk-updatefc-cache rcpfc-cat rctestfc-list rdesktopfc-match rdfpipefc-query readelffc-scan readomfile recode-sr-latinfile-roller redfind renamefind2perl rename.ulfindsmb renicefirefox resetflock resizefmt resizeconsfold revfont2c rfcommfontconfig-voodoo rgrepfonttosfnt rloginfoo2hiperc routeffoo2hiperc-wrapper routelfoo2hp rpcclientfoo2hp2600-wrapper rpcgenfoo2lava rpcinfofoo2lava-wrapper rpl8foo2oak rshfoo2oak-wrapper rstartfoo2qpdl rstartdfoo2qpdl-wrapper rsyncfoo2slx rtstatfoo2slx-wrapper runconfoo2xqx run-mailcapfoo2xqx-wrapper run-with-aspellfoo2zjs rviewfoo2zjs-icc2ps s2pfoo2zjs-pstops sane-find-scannerfoo2zjs-wrapper savelogfoomatic-combo-xml scanimagefoomatic-compiledb scpfoomatic-configure scp-dbus-service foomatic-datafile screendumpfoomatic-perl-data scriptfoomatic-ppdfile scriptreplayfoomatic-ppd-options scrollkeeper-config foomatic-ppd-to-xml scrollkeeper-extract foomatic-printjob scrollkeeper-gen-seriesid foomatic-rip scrollkeeper-get-cl foomatic-searchprinter scrollkeeper-get-content-list freescrollkeeper-get-extended-content-listfribidi scrollkeeper-get-index-from-docpath from scrollkeeper-get-toc-from-docpath fslsfonts scrollkeeper-get-toc-from-idfstobdf scrollkeeper-installftp scrollkeeper-preinstallfunzip scrollkeeper-rebuilddbg++ scrollkeeper-uninstallg++-4.5 scrollkeeper-updategacutil sdiffgacutil2 sdptoolgamma4scanimage seahorsegcalccmd seahorse-daemongcalctool seegcc select-default-iwrapgcc-4.5 select-editorgconf-editor sensible-browsergconf-merge-tree sensible-editorgconftool sensible-pagergconftool-2 seqgcore servicegcov session-installergcov-4.5 sessreggdb setarchgdbtui setkeycodesgdbus setledsgdialog setlogconsgdmflexiserver setmetamodegdm-screenshot setpcigdmsetup setsidgedit settermgencat setxkbmap genisoimage sftpgeqn sgGET sha1pass getconf sha1sum geteltorito sha224sum getent sha256sum gethostip sha384sum getkeycodes sha512sum getopt shares-admin gettext shasum gettextize shotwell gettext.sh showconsolefont getweb showfont ghostscript showkeyginn showrgb ginstall-info shredgio-querymodules shuf gipddecode simple-scan gksu sizegksudo skillgksu-properties slabtopglib-compile-schemas slogingmcs slxdecode gmenu-simple-editor smbcacls gnome-about smbclient gnome-about-me smbcquotas gnome-appearance-properties smbgetgnome-at-mobility smbpasswd gnome-at-properties smbspoolgnome-at-visual smbtargnome-audio-profiles-properties smbtreegnome-calculator smproxygnome-character-map snicegnome-codec-install soelimgnome-control-center sofficegnome-default-applications-properties software-centergnome-desktop-item-edit software-properties-gtk gnome-display-properties sortgnome-doc-prepare spd-confgnome-doc-tool spd-saygnome-file-share-properties speaker-testgnome-font-viewer speech-dispatcher gnome-help splaingnome-keybinding-properties splitgnome-keyboard-properties splitfontgnome-keyring sprofgnome-keyring-daemon sshgnome-language-selector ssh-addgnome-mouse-properties ssh-agentgnome-nettool ssh-argv0gnome-network-properties ssh-askpassgnome-open ssh-copy-idgnome-panel ssh-keygengnome-panel-screenshot ssh-keyscangnome-power-manager ssh-vulnkeygnome-power-preferences start-pulseaudio-kde gnome-power-statistics start-pulseaudio-x11 gnome-screensaver startxgnome-screensaver-command statgnome-screensaver-preferences stdbufgnome-screenshot stracegnome-search-tool stringsgnome-session stripgnome-session-properties sudognome-session-save sudoeditgnome-settings-daemon sudoreplaygnome-sound-recorder sumgnome-system-log synclientgnome-system-monitor syndaemongnome-terminal syslinuxgnome-terminal.wrapper syslinux2ansignome-text-editor system-config-printer gnome-thumbnail-font system-config-printer-applet gnome-typing-monitor tabsgnome-volume-control tacgnome-volume-control-applet tailgnome-window-properties tap2debgnome-wm tap2rpmgnome-www-browser tapconvertgold tasksetgpasswd tblgpg tclshgpgsplit tclsh8.4gpgv tclsh-defaultgpg-zip teegpic telnetgprof kitgroff testgrog testparmgrops testparm.samba3grotty tgzgroups ticgrowisofs timegrub-bin2h timeoutgrub-editenv tloadgrub-fstest toegrub-kbdcomp tomboygrub-menulst2cfg topgrub-mkfont toshsetgrub-mkimage totemgrub-mklayout totem-audio-preview grub-mkpasswd-pbkdf2 totem-video-indexer grub-mkrelpath totem-video-thumbnailer grub-mkrescue touchgrub-mount tputgrub-ntldr-img tpvmlpgrub-script-check tpvmlpdgs trgsbj tracepathgsdj tracepath6gsdj500 traceroute6gsettings traceroute6.iputils gsettings-data-convert transmission-gtkgsettings-schema-convert trialgslj troffgslp truncategsnd tsclientgst-discoverer-0.10 tsetgst-feedback-0.10 tsortgst-inspect-0.10 ttygst-install twistdgst-launch-0.10 tzselectgstreamer-codec-install u1sdtoolgstreamer-properties ubuntu-buggst-typefind-0.10 ubuntuone-control-panel-gtk gst-visualise-0.10 ubuntuone-launchgst-xmlinspect-0.10 ubuntu-support-statusgst-xmllaunch-0.10 ucfgtbl ucfqgtf ucfrgtk-query-immodules-2.0 ucs2anygtk-update-icon-cache udisksgtk-window-decorator udisks-tcp-bridge gucharmap ulguest-session umax_ppgwibber unattended-upgrade gwibber-accounts unattended-upgrades gwibber-poster unexpandgwibber-preferences unicode_stopgwibber-service uniqh2ph unityh2xs unity-preferenceshcitool unity-window-decorator hd unlinkhead unlzmaHEAD unopkghelpztags unsharehexdump unxzhipercdecode unziphost unzipsfxhostid update-alternativeshp-align updatedbhp-check updatedb.mlocatehp-clean update-desktop-database hp-colorcal update-gconf-defaultshp-firmware update-managerhp-hpdio update-mime-database hpijs update-mime-database.real hp-info update-notifierhp-levels update-pciidshp-makeuri upowerhp-mkuri uptimehp-pkservice usb-creator-gtkhp-plugin usb-deviceshp-plugin-ubuntu usb_printeridhp-probe usershp-query users-adminhp-scan uuidgenhp-setup uxtermhp-testpage uzhp-timedate vihp-unload viewi386 viewresi686-linux-gnu-cpp vim.tinyi686-linux-gnu-cpp-4.5 vinagrei686-linux-gnu-g++ vino-passwdi686-linux-gnu-g++-4.5 vino-preferencesi686-linux-gnu-gcc vmstati686-linux-gnu-gcc-4.5 vm-supportibus-daemon vmware-config-tools.pl ibus-setup vmwarectrlibus-table-createdb vmware-hgfsclienticeauth vmware-toolboxico vmware-toolbox-cmd iconv vmware-uninstall-tools.pl id vmware-useriecset vmware-user-wrapperijs_pxljr vmware-xferlogsim-switch volnameindicator-datetime-preferences winfo wallinfobrowser watchinfocmp wcinfokey wftopfainfotocap wgetinputattach whatisinstall whereisinstall-info whichinstmodsh whiptailintel_audio_dump whointel_bios_dumper whoamiintel_bios_reader whoisintel_error_decode wodimintel_gpu_dump word-list-compressintel_gpu_time wpa_passphraseintel_gpu_top w.procpsintel_gtt writeintel_lid Xintel_reg_dumper X11intel_reg_read x11perfintel_reg_write x11perfcompintel_stepping xargsintel_upload_blit_large xauthintel_upload_blit_large_gtt xbiffintel_upload_blit_large_map xbrlapiintel_upload_blit_small xcalcinvest-chart xclipboardionice xclockipcmk xcmsdbipcrm xconsoleipcs xcursorgenipod-read-sysinfo-extended xcutselipod-time-sync xdg-desktop-icon iproxy xdg-desktop-menu iptables-xml xdg-emailisdv4-serial-debugger xdg-icon-resource isodump xdg-mimeisohybrid xdg-openisohybrid.pl xdg-screensaverisoinfo xdg-settingsisovfy xdg-user-dirispell-wrapper xdg-user-dirs-gtk-update jockey-gtk xdg-user-dirs-update jockey-text xditviewjoin xdpyinfokerneloops-submit xdriinfokillall xeditkoi8rxterm xevl2ping xeyeslast xfontsel lastb xfsinfo lastlog xgamma launchpad-integration xgc lavadecode xgettext lcf xhostld xinitld.bfd xinputldd xkbbell ld.gold xkbcomp less xkbevd lessecho xkbprint lessfile xkbvleds lesskey xkbwatch lesspipe xkeystone lexgrog xkilllftp xload lftpget xlogo libnetcfg xlsatoms libreoffice xlsclients line xlsfonts link xmag lintian xman lintian-info xmessage linux32 xml2po linux64 xmlcatalog linux-boot-prober xmllint listres xmodmap lnstat xmoreloadunimap xpathlocalc xproplocale xqxdecodelocaledef xrandrlocate xrdblockfile-check xrefreshlockfile-create xscreensaver-getimage lockfile-remove xscreensaver-getimage-file lockfile-touch xscreensaver-getimage-video lodraw xscreensaver-gl-helper lofromtemplate xscreensaver-textlogger x-session-manager logname xsetloimpress xsetmodelomath xsetpointerlook xsetrootlorder xsetwacomloweb xsltproclowriter xsmlp xstdcmaplpoptions xsubpplppasswd xtermlpq x-terminal-emulatorlpr xvidtunelprm xvinfolp_solve xwdlpstat x-window-managerlsattr xwininfolsb_release xwudlscpu x-www-browserlshw xxdlsinitramfs xzlsof xzcatlspci xzcmplspgpot xzdifflss16toppm xzegreplsusb xzfgrepltrace xzgrepluit xzlesslwp-download xzmorelwp-dump yelplwp-mirror yeslwp-request zdumplwp-rget zeitgeist-daemonlxterm zeitgeist-datahublz zenitylzcat ziplzma zipcloaklzmainfo zipgrepmagnifier zipinfomail-lock zipnotemail-touchlock zipsplitmail-unlock zjsdecodemake zsoelim思考:当前目录里的文件列表是否用不同颜色表示不同类型的文件?答:是。
Linux实验 vi编辑器的使用

实验二 vi编辑器的使用班级:k1273-4 姓名:方康学号:20129730415 上机时间: 2014-10-15任课教师:实验教师:实验成绩:一、实验目的学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容及步骤1.进入和退出vi(1)进入vi,创建一个file.c文件。
命令: ~$ vi file.c 。
(2)进入插入方式,输入如下C程序,将该文件存盘,回到shell状态下。
#include<stdio.h>int main(){float a,b,x;printf("Please input a,b:");scanf("%5.2f,%5.2f",a,b);x=a%b;printf("x=%5.2f\n",x);return 0;}进入插入方式命令: i ,文件存盘回到shell状态命令: :wq 。
(3)运行gcc file.c -o myfile,编译该文件,会发现错误提示,理解其含义。
编译命令:gcc file.c -o myfile <回车>警告:file.c:6:3: warning: unknown conversion type character ‘.’ in format[-Wformat=] 。
警告:file.c:6:3: warning: too many arguments for format[-Wformat-extra-args] 。
错误:file.c:7:6: error: invalid operands to binary % (have ‘float’ and‘float’)x=a%b; 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二、Vi文本编辑器和GCC编译器的使用一、实验目的:1、掌握Linux系统终端方式使用的编辑器vi;2、学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
3、掌握GCC编译器的使用。
二、实验内容:1、用Vi文本编辑器对你的计算机进行网络配置。
网络配置文件有:文件1:/etc/sysconfig/network;文件2:/etc/sysconfig/network-scripts/ifcfg-eth0;文件3:/etc/resolv.conf;要求:在图形界面下配置,看相应配置文件有没有被修改;修改配置文件看图形界面是否被修改。
2、将显示器配置文件(自己查),复制到//home目录下(一定要复制,对副本进行操作,否则出现异常后果自负),并重命名为i.打开i文件,设置行标,将第89行至第96行的内容复制到第116行,并将第62行至第86行的Option替换为type.并将整篇文章中的Section替换成choose.将修改后的文件另存为j.并将j复制到/usr目录下,并重命名为k.3、在vi中编写一个abc.c程序,对程序进行编译、连接、运行。
具体如下: [student@enjoy abc]$ vi abc.cmain(){int i,sum=0;for(i=0;i<=100;i++){sum=sum+i;}printf("\n1+2+3+...+99+100=%d\n",sum);}[student@enjoy abc]$ gcc -o abc abc.c[student@enjoy abc]$ lsabc abc.c[student@enjoy abc]$ ./abc1+2+3+...+99+100=5050[student@enjoy abc]$[student@enjoy abc]$4、从如上内容的基础上总结vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
5、编写一个程序解决“鸡兔同笼”问题。
参考程序:#include<stdio.h>main(){int h,f;int x,y;printf("请输入头数和脚数:");scanf("%d,%d",&h,&f);x=(4*h-f)/2;y=(f-2*h)/2;printf("鸡=%d 兔子=%d",x,y);}运行结果:请输入头数和脚数:18,48鸡=12 兔子=6注:以上实验结果抓图后,做成电子文档的实验报告发送到ftp://192.168.0.22上。
三、Vi文本编辑器的使用Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、Vi和Emacs等,按功能它们可以分为两大类:行编辑器(Ed、Ex)和全屏幕编辑器(Vi、Emacs)。
行编辑器每次只能对一行进行操作,使用起来很不方便。
而全屏幕编辑器可以对整个屏幕进行编辑,用户编辑的文件直接显示在屏幕上,修改的结果可以立即看出来,克服了行编辑的那种不直观的操作方式,便于用户学习和使用,具有强大的功能。
Vi是Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,足见其生命力之强,而强大的生命力是其强大的功能带来的。
1、关于文本编辑器;文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。
我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。
nano 工具和DOS操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;2、vi 编辑器;为什么要学会简单应用vivi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。
当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi,vi或vim 编辑器在创建和编辑简单文档最高效的工具。
3、vi 编辑器的使用方法3.1 如何调用vi[root@localhost ~]# vi filename3.2 vi 的三种命令模式;命令模式(Command mode ):用于输入命令;插入模式(Insert mode) :用于插入文本;末行模式(last line mode):用于存储文件或离开编辑器,也可设置编辑环境.3.3 文件的保存和退出;Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;:w 保存;:w filename 另存为filename;:wq! 保存退出;:wq! filename 注:以filename为文件名保存后退出;:q! 不保存退出;:x 应该是保存并退出,功能和:wq!相同3.4 光标移动;当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;j 向下移动一行;k 向上移动一行;h 向左移动一个字符;l 向右移动一个字符;ctrl+b 向上移动一屏;ctrl+f 向下移动一屏;向上箭头向上移动;向下箭头向下移动;向左箭头向左移动;向右箭头向右移动;我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。
3.5 插入模式(文本的插入);i 在光标之前插入;a 在光标之后插入;I 在光标所在行的行首插入;A 在光标所在行的行末插入;o 在光标所在的行的上面插入一行;O 在光标所在的行的下面插入一行;s 删除光标后的一个字符,然后进入插入模式;S 删除光标所在的行,然后进入插入模式;3.6 文本内容的删除操作;x 一个字符;#x 删除几个字符,#表示数字,比如3x;dw 删除一个单词;#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;dd 删除一行;#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;d$ 删除光标到行尾的内容;J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;3.7 恢复修改及恢复删除操作;u 撤消修改或删除操作;按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。
这和Word 的撤消操作没有太大的区别;3.8 复制和粘帖的操作;其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;p 在光标之后粘帖;shift+p 在光标之前粘帖来举一例:比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?有两种方法;第一种方法:先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。
这样就把刚才删除的第三行帖在原处了。
接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;第二种方法;进入可视模式,按ESC键,然后按v键。
移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;所以复制和粘贴操作,是命令模式、插入模式及末行模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;3.9 关于行号;有时我们配置一个程序运行时,会出现配置文件X行出现错误。
这时我们要用到行号相关的操作;为所有内容添加行号;按ESC键,然后输入::set number光标所处位置在屏幕的右下角,有类似如下的;57,8 27%在这之中,57表示第57行,8表示第8个字符;3.10 查找和替换功能;3.10.1 查找;首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方;?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的举一例:比如我想在一个文件中找到swap单词,我应该如下做;首先按ESC键,进入命令模式,然后输入;/swap或?swap3.10.2 替换;按ESC键进入命令模式;:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;举例说明:比如我们有一篇文档要修改;我们把光标所在的行,把所有单词the,替换成THE,应该是::s /the/THE/g我们把整篇文档的所有的the都替换成THE,应该是::%s /the/THE我们仅仅是把第1行到第10行中的the,替换成THE,应该是;:1,10 s /the/THE/g四、gcc编译器的使用1、gcc简介GCC是GNU公社的一个项目。
是一个用于编程开发的自由编译器。
最初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文缩写。
随着众多自由开发者的加入和GCC自身的发展,如今的GCC已经是一个包含众多语言的编译器了。
其中包括 C,C++,Ada,Object C和Java等。
所以,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。
也就是 GNU编译器家族的意思。
当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。
Gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out 的文件。
在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。
2、GCC的基本用法和选项在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。