实验二、Vi文本编辑器和GCC编译器的使用
linux操作系统实验二vi编辑器的使用
![linux操作系统实验二vi编辑器的使用](https://img.taocdn.com/s3/m/1b419b3676a20029bc642da1.png)
《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的使用](https://img.taocdn.com/s3/m/a030612483c4bb4cf7ecd1b3.png)
实验二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 文本编辑器实验报告
![Linux操作系统Vi 文本编辑器实验报告](https://img.taocdn.com/s3/m/764bed48852458fb770b56a0.png)
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编辑器,实验报告](https://img.taocdn.com/s3/m/f6c67a729a6648d7c1c708a1284ac850ad02047d.png)
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。
嵌入式实验报告
![嵌入式实验报告](https://img.taocdn.com/s3/m/c69bb2eab04e852458fb770bf78a6529647d35d6.png)
目录嵌入式系统实践实验报告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编辑器的使用](https://img.taocdn.com/s3/m/064d526b3a3567ec102de2bd960590c69ec3d86e.png)
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的使用
![实验2 Linux的基本操作及vi的使用](https://img.taocdn.com/s3/m/67e82f0a4a7302768e993923.png)
实验二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编辑器的使用
![Linux实验 vi编辑器的使用](https://img.taocdn.com/s3/m/1a74db6d0b1c59eef8c7b462.png)
实验二 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; 。
vi编辑器的用法
![vi编辑器的用法](https://img.taocdn.com/s3/m/c0271cae112de2bd960590c69ec3d5bbfd0ada04.png)
vi编辑器的用法
Vi编辑器是一款文本编辑器,用于在终端进行编辑。
以下是
Vi编辑器的基本用法:
1. 打开文件:在终端中输入`vi 文件名`,其中文件名是要编辑
的文件的名称。
如果文件不存在,则会创建一个新文件。
2. 切换模式:Vi编辑器有三种模式:命令模式、插入模式和
底线命令模式。
默认进入命令模式,按下`i`键进入插入模式,按下`Esc`键回到命令模式。
3. 命令模式:在命令模式下,可以执行各种编辑操作,如删除、复制、粘贴等。
以下是一些常用命令:
- `x`:删除光标所在位置的字符。
- `dd`:删除光标所在行。
- `yy`:复制光标所在行。
- `p`:粘贴复制的内容。
- `u`:撤销上一次操作。
- `:q`:退出Vi编辑器。
- `:w`:保存文件。
4. 插入模式:在插入模式下,可以输入文本内容。
按下`i`键进入插入模式,在光标所在位置进行编辑。
5. 底线命令模式:在命令模式下,按下`:`键进入底线命令模式。
可以执行一些高级命令,如保存文件、查找替换等。
- `:w`:保存文件。
- `:q`:退出Vi编辑器。
- `:wq`:保存并退出Vi编辑器。
- `:s/old/new/g`:查找所有匹配的`old`字符串,并替换为
`new`字符串。
这些是Vi编辑器的基本用法,Vi编辑器还有很多高级功能和命令,可以根据需要进一步学习和掌握。
实验二、Vi文本编辑器和GCC编译器的使用
![实验二、Vi文本编辑器和GCC编译器的使用](https://img.taocdn.com/s3/m/a3bbd722f68a6529647d27284b73f242336c313b.png)
实验二、Vi文本编辑器和GCC编译器的使用实验二、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的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
gcc的使用方法
![gcc的使用方法](https://img.taocdn.com/s3/m/b3a9f89632d4b14e852458fb770bf78a65293a34.png)
gcc的使用方法
gcc是一个编译器,它可以将文本类文件翻译成机器可以执行的二进制可执行文件。
使用gcc的方法包括以下步骤:
1.编写源代码:使用文本编辑器编写C语言源代码文件,通常以.c为扩展
名。
2.打开终端:在Linux或Mac OS X系统中打开终端应用程序,或者在
Windows系统中打开命令提示符。
3.进入源代码目录:使用cd命令进入存放源代码文件的目录。
4.编译源代码:输入gcc命令并附加选项和参数来编译源代码文件。
例
如,使用以下命令编译名为myfile.c的源代码文件:gcc myfile.c -o myfile。
其中,-o选项指定输出文件的名称为myfile。
5.运行可执行文件:如果编译成功,将生成一个可执行文件。
在Linux或
Mac OS X系统中,使用./myfile命令来运行可执行文件。
在Windows系统中,直接双击可执行文件即可运行。
另外,gcc还有很多选项和参数可用于优化代码、指定编译器警告级别、链接库文件等。
这些选项和参数可以在gcc命令中使用,并且可以通过查阅gcc文档来了解更多信息。
除了单个源文件的编译,gcc还可以用于编译多个源文件组成的程序。
在这种情况下,可以使用一条gcc命令来编译所有源文件并生成可执行文件。
以上是关于gcc使用方法的描述,希望对你有所帮助。
Linux 下C程序编译上机实验报告
![Linux 下C程序编译上机实验报告](https://img.taocdn.com/s3/m/bc9717d3b9f3f90f76c61b98.png)
辽宁工程技术大学上机实验报告成绩课程名称Linux程序设计实验题目实验2 Linux下C程序编译院系软件学院专业嵌入式软件工程班级09-2班姓名王翀学号0920010214实验日期2012-4-22实验目的1、熟悉嵌入式Linux系统(Red Hat)及集成开发环境;含交叉编译器arm-linux-gcc,并配置环境;2、熟悉Linux下的编辑器(vim),编译器(gcc),调试器(GDB);3、通过饱含多文件的makefile的编写,熟悉各种形式的makefile,并进一步加深对makefile中用户自定义变量、自动变量及预定义变量的理解。
实验准备1、装有虚拟机(VMware Workstation)和嵌入式Linux系统(Red Hat 9)的PC 机一台;2、XSBase270实验开发平台一套;3、认真阅读教材第二章节内容,练习课后2.7.3实验内容。
实验进度本次共有 2 个练习,完成 2 个。
实验内容【实验原理】(1)Makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模块及库等).创建程序(make程序)首先读取Makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常是可执行文件.创建程序利用内置的推理规则来激活编译器,以便通过对特定cpp文件的编译来产生特定的obj文件。
(2)交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。
这种方法在异平台移植和嵌入式开发时非常有用。
实际上,GNU make工具通过一个称为Makefile的文件来完成对应用程序的自动维护和编译工作。
操作系统VI和GCC用法
![操作系统VI和GCC用法](https://img.taocdn.com/s3/m/da5eeae95ef7ba0d4a733bd6.png)
2.使用c d命令相对切换目录路径 2.使用c d命令相对切换目录路径 使用 根据当前所处的位置和想去的地方,可以通过几 根据当前所处的位置和想去的地方, 种不同的方法相对地切换目录路径。 种不同的方法相对地切换目录路径。如果只是想移动 到目录结构的上一级去,可以输入“cd..”命令 命令。 到目录结构的上一级去,可以输入“cd.. 命令。举 例来说,这个命令可以把你从目录/var/spool带到目 例来说,这个命令可以把你从目录/var/spool带到目 var中去 更进一步地说,输入“ ../..”命令 中去。 录/var中去。更进一步地说,输入“cd ../.. 命令 将把你从目录/var/spool带到根目录 带到根目录“ 中去。 将把你从目录/var/spool带到根目录“/”中去。因 为在根目录上没有更高一级的目录结构了, 为在根目录上没有更高一级的目录结构了,所以在目 /spool中输入 cd../../..”命令还是把你从 中输入“ 录/var /spool中输入“cd../../.. 命令还是把你从 目录/ /spool带到根目录而已 带到根目录而已。 ..” 目录/var /spool带到根目录而已。“..”是一个指 向自身的目录索引。 向自身的目录索引。
Operating System Concepts 2.5
三、vi文本编辑器程序
i编辑器是一个小巧但功能强大的程序 编辑器是一个小巧但功能强大的程序。 v i编辑器是一个小巧但功能强大的程序。许多人 在最初的时候认为它很难用, 在最初的时候认为它很难用,因为它的编辑命令都是 用一两个字母来表示的;但是只要你习惯了使用vi 用一两个字母来表示的;但是只要你习惯了使用vi 使用它进行编辑工作也会十分迅速。 ,使用它进行编辑工作也会十分迅速。其原因在于这 个编辑器只是一个非常短小的程序, 个编辑器只是一个非常短小的程序,因此它只需要使 用很少的内存;同时其编辑命令很简短, 用很少的内存;同时其编辑命令很简短,又都可以通 过键盘快速输入, 过键盘快速输入,所以基本上用不着在键盘和鼠标之 间来回切换。 间来回切换。
vi使用方法
![vi使用方法](https://img.taocdn.com/s3/m/a25423c603d276a20029bd64783e0912a2167cff.png)
vi使用方法vi是一种常用的文本编辑器,特别适用于在终端环境下进行文本操作。
下面介绍一些vi的基本使用方法。
1. 打开文件:使用命令`vi 文件名`打开一个文件。
如果文件存在,则会直接打开;如果文件不存在,则会创建一个新文件。
2. 退出vi:按下`Esc`键,然后输入`:q`即可退出vi编辑器。
如果未保存文件,则需要输入`:q!`来强制退出。
3. 保存文件:在vi中编辑完成后,按下`Esc`键,然后输入`:w`,文件将被保存。
如果要保存为其他文件名,可以输入`:w 文件名`。
4. 插入和编辑文本:进入vi后,默认是命令模式(Command Mode),需要切换到插入模式(Insert Mode)才能编辑文本。
-在命令模式下,按下`i`键可进入插入模式,在光标所在位置开始插入文本。
-按下`a`键可在光标后插入文本。
-按下`o`键可在当前行的下方插入一行,并进入插入模式。
-按下`O`键可在当前行的上方插入一行,并进入插入模式。
5. 移动光标:-在命令模式下,可以使用`h`、`j`、`k`、`l`分别控制光标向左、下、上、右进行移动。
-使用`Ctrl+f`和`Ctrl+b`可以向前和向后翻页。
-使用`gg`命令可以跳转到文件的起始位置,使用`G`命令跳转到文件的末尾。
6. 删除和复制文本:-在命令模式下,可以使用`x`命令删除光标所在位置的字符。
-使用`dd`命令可以删除当前行。
-使用`yy`命令可以复制当前行。
7. 查找和替换:-在命令模式下,按下`/`键可以进行文本查找。
输入要查找的内容并按下回车后,vi会定位到第一个匹配的位置。
-按下`n`可以继续向下查找下一个匹配。
-使用`:%s/原字符串/新字符串/g`可以替换文本中的所有匹配项。
这些是vi的一些基本用法,通过熟练掌握这些操作,可以高效地进行文本编辑。
vi编辑器实验报告
![vi编辑器实验报告](https://img.taocdn.com/s3/m/53aff178c381e53a580216fc700abb68a882ad35.png)
vi编辑器实验报告一、实验目的1、熟悉 vi 编辑器的基本操作和常用命令。
2、掌握在 vi 编辑器中进行文本编辑、查找替换、保存退出等操作。
3、培养使用 vi 编辑器进行高效文本处理的能力。
二、实验环境操作系统:_____终端工具:_____三、实验内容及步骤(一)启动 vi 编辑器在终端中输入以下命令启动 vi 编辑器:`vi filename`其中,`filename`为要编辑的文件名,如果文件不存在,vi 会创建一个新文件。
(二)三种工作模式vi 编辑器有三种工作模式:命令模式、插入模式和底行模式。
1、命令模式刚进入 vi 编辑器时,处于命令模式。
在命令模式下,可以执行各种操作,如移动光标、删除文本、复制粘贴、查找替换等。
常用的光标移动命令有:`h`:向左移动一个字符`j`:向下移动一行`k`:向上移动一行`l`:向右移动一个字符`0`:移动到行首`$`:移动到行尾`G`:移动到文件末尾`gg`:移动到文件开头常用的删除命令有:`x`:删除当前光标所在的字符`dd`:删除当前行`dw`:删除当前光标所在的单词常用的复制粘贴命令有:`yy`:复制当前行`p`:粘贴在当前光标所在位置的下一行2、插入模式在命令模式下,输入`i`、`a`、`o`等命令可以进入插入模式。
在插入模式下,可以输入文本进行编辑。
`i`:在当前光标位置前插入文本`a`:在当前光标位置后插入文本`o`:在当前行的下一行插入新行并进入插入模式3、底行模式在命令模式下,输入`:`进入底行模式。
在底行模式下,可以执行保存、退出、查找替换等操作。
常用的底行命令有:`:w`:保存文件`:q`:退出 vi 编辑器,如果文件有修改但未保存,会提示无法退出`:q!`:强制退出 vi 编辑器,不保存修改`:wq`:保存并退出 vi 编辑器`:/pattern`:查找匹配`pattern`的文本`:%s/old/new/g`:将文件中所有的`old`替换为`new`(三)编辑文本1、打开一个新文件或已存在的文件。
实验二 LINUX 下C语言使用
![实验二 LINUX 下C语言使用](https://img.taocdn.com/s3/m/fe597d96dd88d0d233d46ab1.png)
实验二LINUX 下C语言使用、编译与调试实验实验目的1、复习C语言程序基本知识2、练习并掌握UNIX提供的vi编辑器来编译C程序3、学会利用gcc、gdb编译、调试C程序实验内容1、用vi编写一个简单的、显示"Hello,World!"的C程序,用gcc编译并观察编译后的结果2、利用gdb调试该程序3、运行生成的可执行文件。
实验指导一、C语言使用简介LINUX中包含了很多软件开发工具。
它们中的很多是用于C和C++应用程序开发的。
C是一种能在UNIX的早期就被广泛使用的通用编程语言。
它最早是由Bell实验室的Dennis Ritchie为了UNIX的辅助开发而写的,从此C就成为世界上使用最广泛的计算机语言。
C能在编程领域里得到如此广泛支持的原因有:(1)它是一种非常通用的语言,并且它的语法和函数库在不同的平台上都是统一的,对开发者非常有吸引力;(2)用C写的程序执行速度很快;(3)C是所有版本UNIX上的系统语言;二、文件编辑器vivi是在UNIX 上被广泛使用的中英文编辑软件。
vi是visual editor的缩写,是UNIX 提供给用户的一个窗口化编辑环境。
进入vi,直接执行vi编辑程序即可。
例:$vi test.c显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。
vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。
编辑完成后,使用者可决定是否要取代原来旧有的文件。
1、vi的工作模式vi提供二种工作模式:输入模式(insert mode)和命令模式(command mode)。
使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。
要输入信息,应转换到输入模式。
(1)命令模式在输入模式下,按ESC可切换到命令模式。
命令模式下,可选用下列指令离开vi::q! 离开vi,并放弃刚在缓冲区内编辑的内容:wq 将缓冲区内的资料写入磁盘中,并离开vi:w 将缓冲区内的资料写入磁盘中,但并不离开vi:q 离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用(2)命令模式下光标的移动H 左移一个字符J 下移一个字符K 上移一个字符L 右移一个字符0 移至该行的首$ 移至该行的末^ 移至该行的第一个字符处H 移至窗口的第一列M 移至窗口中间那一列L 移至窗口的最后一列G 移至该文件的最后一列W, W下一个单词 (W 忽略标点)B, B 上一个单词 (B 忽略标点)+ 移至下一列的第一个字符处- 移至上一列的第一个字符处( 移至该句首) 移至该句末{ 移至该段首} 移至该段末NG 移至该文件的第n列N+ 移至光标所在位置之后第n列n- 移至光标所在位置之前第n列(3)输入模式输入以下命令即可进入vi输入模式:a(append) 在光标之后加入资料A 在该行之末加入资料i(insert) 在光标之前加入资料ESC 离开输入模式更多用法见 info vi三、GNU C编译器LINUX上可用的C编译器是GNU C编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。
- 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编译器的时候,我们必须给出一系列必要的调用参数和文件名称。