Linux入门经典_第1页
Linux入门经典_第2页
Linux入门经典_第3页
Linux入门经典_第4页
Linux入门经典_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

linux基础知识简介Linux是多用户操作系统,也是网络操作系统。Linux主要应用于服务器、桌面和嵌入式系统。Linux文件系统采用带链接的树形结构。启动过程1. 加载BIOS的硬件信息,并获取第一个启动设备的代号。2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息。3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。4. 核心执行init程序并获得运行信息。5. init执行/etc/rc.d/rc.sysinit文件。6. 启动核心的外挂模块(/etc/modprobe.conf)。7. init执行运行的各个批处理文件(Script)8. init执行/etc/rc.d/rc.local文件。9. 执行/bin/login程序,等待用户登录。10. 登录之后开始以shell控制主机。系统服务linux的系统服务包括两部分,第一种是独立运行的系统服务,他们常驻内存中,自开机一直启动着,具有很快的响应速度;第二种是由xinet设定的服务。xinet能够监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程处理这些用户的请求。独立运行的服务独立运行的系统服务的启动脚本都放在目录/etc/rc.d/init.d中。为了指定特定运行级别服务的开启或关闭,系统的各个不同运行级别都有不同的脚本文件,其目录为/etc/rc.d/rcN.d,其中N分别对应不同的运行级别。查看服务状态时,可以看到对应的服务都已K或S开头,K代表关闭,S代表开启。在执行完响应的rcN.d目录下的脚本文件后,INIT最后会执行rc.local来启动本地服务,因此,用户若想把某些非系统服务设置为自启动,可以编辑rc.local脚本文件,加上相应的执行语句即可。xinetd设定的服务xinetd管理系统中不经常使用的服务,这些服务程序只有再有请求时才由xinetd服务负责启动,一旦运行完毕服务自动结束。xinetd的配置文件为/etc/xinetd.conf,它对xinet的默认参数进行了设置。设定服务命令常用方法service service_name start/stop/restart/statuschkconfig 能够为不同的系统级别设置不同的服务。chkconfig -list 查看系统服务设定chkconfig -level N 服务名称 指定状态 :对指定级别指定系统服务eg:#chkconfig -list | grep ntpd#chkconfig -level 3 ntpd on常用操作命令用户系统相关su 更换用户ps 显示当前系统中由该用户运行的进程列表ps主要参数:-ef 查看所有进程及其PID、系统时间、命令详细目录、执行者等。-aux 除可显示-ef的内容外,还可显示CPU及其内存占用率、进程状态top 动态显示系统中运行的程序(一般每隔5s)kill 输出特定的信号给指定PID的进程uname 显示系统信息shutdown 关闭或重启linux系统uptime 显示系统已经运行了多长时间clear 清楚屏幕上的信息文件目录相关cd改变工作目录./当前目录 ./上级目录 cd 可回到前次工作目录pwd 查看当前目录ls 列出目录的内容常见参数:-l 一行列出一个文件-a 列出目录中的所有文件-d 将目录名和其他文件一样列出,而不是列出目录的内容-t 用文件和目录的更新时间排序-c 以更改时间排序,显示文件和目录mkdir创建一个目录cat连接并显示指定的一个和多个文件的有关信息。cp 将给出的文件或目录复制到另一个文件或目录中mv 为文件或目录改名或将文件由一个目录转入另一个目录中rm 删除一个目录中的一个或对个文件或目录rmdir 删除目录 rmdir不能删除安装文件系统的根目录。chmod命令的功能是改变文件或目录的存取权限。eg: chmod 773/+x/a+r,u+x filenamegrep在指定文件夹中搜索特定的内容,并将含有这些内容的行标准输出。grep 选项 格式 文件及路径其中的格式是指要搜索的内容格式常见参数:-c 只输出匹配行的计数-n 显示匹配行及行号注:在缺省情况下,grep只搜索当前目录。一明确要求搜索子目录:grep r二忽略子目录:grep d skip当预料到有许多输出,可以通过管道将其转到less分页器上阅读,如grep “h” ./ -r less 分页阅读grep特殊用法:grep pattern1 | pattern2 files 显示匹配pattern1或 pattern2的行grep pattern1 files | grep pattern2 显示匹配pattern1和 pattern2的行find在指定目录中搜索文件,它的使用权是所有用户 eg: find /etc name *.c locate用于查找文件。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需要查询这个数据库,而不必实际深入档案系统之中了,因此其速度比find快很多。eg:locate 选项-u从根目录开始建立数据库-U 指定开始的位置建立数据库实例:#locate issue U ./#updatedb#locate r issue*示例首先在当前目录下建立了一个数据库,并且在更新了数据库之后进行正则匹配查找。通过运行可以发现locate的运行速度非常快。ln为某一个文件在另外一个位置建立一个符号链接。用-s选项则建立软链接,否则建立硬链接,但都能保持文件的同步。压缩打包相关现在主要使用的是*.tar.gz压缩文件。打包命令:tar zvcf file.tar.gz file解压命令:tar zvxf file.tar.gz选项的含义:v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。z用gzip来压缩/解压缩文件f使用档案文件或设备,这个选项通常是必选的。-c 创建新的档案文件。-x 从档案文件中释放文件。其中zvf是tar命令的辅助选项。网络相关netstat 显示网络连接、路由表和网络接口信息nslookup查询一台机器的IP地址和其对应的域名finger查询用户的信息ping用于查看网络上的主机是否在工作ifconfig查看和配置网络接口的参数ftp利用ftp协议上传和下载文件telnet利用telnet协议浏览信息ssh 利用ssh登录到对方主机磁盘相关free 查看当前系统内存的使用情况df 查看文件系统的磁盘空间占用情况du 统计目录(或文件)所占磁盘空间的大小fdisk 查看磁盘分区情况及对硬盘进行分区管理fdisk -l:列出文件系统的分区情况(使用fdisk必须有root权限)vi与vim简介Vi有三种模式,分别为命令行模式、插入模式以及底行模式。命令行模式:用户在用vi编辑文件时,最初进入的为一般模式,在该模式中可以通过上下移动光标进行删除字符或删除行等操作,也可以进行复制和粘贴等操作,但无法编辑文字。用户可以通过按i,o,a进入插入模式。插入模式:只有在该模式下,用户才能进行文字编辑输入,用户可按ESC键回到命令行模式。底行模式:在该模式下,光标位于屏幕的底行。用户可以进行文件的保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号等。vim 是vi的升级版本,兼容vi的所有指令。vim的优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可以用不同的颜色来加亮你的代码。4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。5、对vi的完全兼容某些情况下,你可以把vim当成vi来使用。常用命令a (append) 进入编辑状态I (insert) 进入编辑状态O (open) 进入编辑状态ESC 进入命令行状态:! Command 在vi中执行外部命令command,按回车键可以返回vi继续工作Ctrl+f屏幕向下移动一页Ctrl+b屏幕向上移动一页0或Home移动到这一行的最前面字符处$或End移动到这一行的最后面字符处H光标移动到这个屏幕的最上方那一行的第一个字符M光标移动到这个屏幕的中央那一行的第一个字符L光标移动到这个屏幕的最下方那一行的第一个字符G光标移动到文件最后一行gg移动到文件第一行,相当于1GNEnterN为数字,光标向下移动N行/word 向下查找word字符串?word 向上查找word字符串n 重复上一个查找操作N 与上一个查找操作的方向相反: N 将光标移动到第N行,N待定: set number 设置显示行号: set nonumber 设置取消行号:q! 强制退出,且不保存修改过的地方:w! 强制保存文件,但不退出:wq! 强制保存文件,退出:w file 另存为file给出的文件名,不退出:w! file 强制另存为file给出的文件名,不退出dd 删除光标所在的哪一行ndd 删除光标所在的向下n行d1G 删除从光标到第一行的数据dG 删除从光标到最后一行的数据yy 复制光标所在的哪行nyy 复制光标所在行向下n行y1G 复制从光标到第一行的数据yG 复制从光标到最后一行的数据p,P p将复制的数据粘贴到光标下一行,P粘贴到上一行u 取消前一个操作Ctrl+r 重做上一个操作. 重复前一个操作: n1,n2s/old/new/g 在第n1与n2行之间寻找old字符串,并替换为new字符串: 1,$s/old/new/g 在第1与最后一行之间寻找old字符串,并替换为new字符串: n1,n2s/old/new/gc 在n1与n2行之间寻找old字符串,并替换为new字符串,但在替换之前提醒用户并确认是否替换gccgcc可以使程序员灵活地控制编译过程。编译过程一般可以分为四个阶段(预处理、编译、汇编、链接),每个阶段分别调用不同的工具进行处理。一般来说,系统安装后就已经安装和设定好了gcc。在shell的提示符下键入gcc v,屏幕上就会显示出目前正在使用的gcc的版本,同时这可以确定系统所支持的是ELF还是a.out可执行文件格式。a.out来自于Unix C编译程序默认的可执行文件名。当使用共享库时,a.out格式就会发生问题。ELF(可执行和连接的格式)很容易实现共享库。ELF格式已经被Linux系统作为标准的格式采用。gcc编译程序产生的所有的二进制文件都是ELF格式的文件(即使可执行文件的默认名仍然是a.out)。较旧的a.out格式的程序仍然可以运行在支持ELF格式的系统上。v gcc的使用格式如下:v $ gcc optionsfilenamesv 其中filenames为所要编译的程序源文件。当使用gcc时,gcc会完成预处理、编译、汇编和连接。前三步分别生成目标文件,连接时,把生成的目标文件链接成可执行文件。gcc可以针对支持不同的源程序文件进行不同处理,文件格式以文件的后缀来识别。gcc总体选项如下:-c 只是编译不链接,生成目标文件.o-S 只是编译不汇编,生成汇编代码-E 只是进行编译,不进行其他处理-g 在可执行程序中包含标准调试信息-o file 把输出文件输出到file里-v 打印出编译器内部编译各过程的命令行信息和编译器的版本-I dir 在头文件的搜索路径列表中添加dir目录-L dir 在库文件的搜索路径列表中添加dir目录-static 链接静态库-Ilibrary 连接名为library的库文件有很多选项可用于告诉gcc,在耗费更多编译时间和牺牲易调试性的基础上,产生更小更快的可执行文件。这些选项中最典型的是-O和-O2选项。-O选项告诉gcc对源代码进行基本优化。-O2选项告诉gcc产生尽可能小和尽可能快的代码。-O2选项将使编译的速度比使用-O 时慢。但通常产生的代码执行速度会更快。GCC 支持数种调试和剖析选项。在这些选项里最常用的是-g和-pg选项。-g选项告诉gcc产生能被GNU调试器使用的调试信息以便调试程序。在gcc里能使-g和-O(产生优化代码)连用,这一点非常有用,因为能在与最终产品尽可能相近的情况下调试代码,同时使用这两个选项时必须清楚所写的某些代码已经在优化时被gcc作了改动。 -pg选项告诉gcc在程序里加入额外的代码,执行时,产生gprof用的剖析信息以显示程序的耗时情况。gdbLinux系统中包含了GNU 调试程序gdb,它是一个用来调试C和 C+ 程序的调试器。可以使程序开发者在程序运行时观察程序的内部结构和内存的使用情况。gdb程序调试的对象是可执行文件,而不是程序的源代码文件。然而,并不是所有的可执行文件都可以用gdb调试。如果要让产生的可执行文件可以用来调试,需在执行gcc指令编译程序时,加上-g参数,指定程序在编译时包含调试信息。调试信息包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb 利用这些信息使源代码和机器码相关联。gdb 所提供的一些功能如下所示:1. 运行程序,设置所有的能影响程序运行的参数和环境;2. 控制程序在指定的条件下停止运行; 3. 当程序停止时,可以检查程序的状态;4. 修改程序的错误,并重新运行程序; 5. 动态监视程序中变量的值; 6. 可以单步执行代码,观察程序的运行状态。gdb支持很多的命令且能实现不同的功能。这些命令从简单的文件装入到允许你检查所调用的堆栈内容的复杂命令, 下面列出了在使用gdb 调试时会用到的一些命令。1. file命令:装入想要调试的可执行文件。 2. cd命令:改变工作目录。 3. pwd命令:返回当前工作日录。 4. run命令:执行当前被调试的程序。 5. kill命令:停止正在调试的应用程序。 6. list命令:列出正在调试的应用程序的源代码。 7. break命令:设置断点。 8. tbreak命令;设置临时断点。它的语法与break相同。区别在于用tbreak设置的断点执行一次之后立即消失。 9. watch命令:设置监视点,监视表达式的变化。10. awatch命令:设置读写监视点。当要监视的表达式被读或写时将应用程序挂起。 11. rwatch命令:设置读监视点,当监视表达式被读时将程序挂起,等侍调试。此命令的语法与watch相同。 12. next命令:执行下一条源代码,但是不进入函数内部。13. step命令:执行下一条源代码,进入函数内部。14. display命令:在应用程序每次停止运行时显示表达式的值。15. info break命令:显示当前断点列表,包括每个断点到达的次数。 16. info files命令:显示调试文件的信息。 17. info func命令:显示所有的函数名。 18. info local命令:显示当前函数的所有局部变量的信息。 19. info prog命令:显示调试程序的执行状态。 20. print命令;显示表达式的值。 21. delete命令:删除断点。指定一个断点号码,则删除指定断点。不指定参数则删除所有的断点。 22. Shell命令:不离开gdb而执行shell 23. make命令:不退出gdb而重新编译生成可执行文件。 24. quit命令:退出gdb。25. whatis 命令可以显示某个变量的类型26. ptype:比whatis的功能更强,他可以提供一个结构的定义27. set variable:将值赋予变量28. finish 如果已经进入了某函数,而想退出该函数返回到它的调用函数中,可使用命令finish注:watch查看变量时只要变量的值有变化就停止,使用c,程序会自动在watchpoint停住。makefile简介要使用make,必须编写一个叫做makefile的文件,这个文件描述了软件包中文件之间的关系,提供更新每个文件的命令。一般在一个软件包里,通常是可执行文件靠目标文件来更新,目标文件靠编译源文件来更新。makefile写好之后,每次改变了某些源文件,只要执行make命令:# make所有必要的重新编译将执行。Make程序利用makefile中的数据和每个文件的最后修改时间来确定那个文件需要更新,对于需要更新的文件,make程序执行makefile数据中定义的命令来更新。GNU make的主要功能是读进一个文本文件makefile并根据makefile的内容执行一系列的工作。makefile的默认文件名为GNUmakefile、makefile或Makefile,当然也可以在make的命令行中指定别的文件名。如果不特别指定,make命令在执行时将按顺序查找默认的makefile文件。规则一个makefile文件主要含有一系列的规则,每条规则包含以下内容。1. 一个目标(target),即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。2. 一个或多个依赖文件(dependency)列表,通常是编译目标文件所需要的其他文件。3. 一系列命今(command),是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,且每个命令行的起始字符必须为TAB字符。 4. 以#开头的为注释行5. 目标从每行的最左边开始写,后面跟一个冒号(:),如果有与这个目标有依赖性的其他目标或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论