1.1Linux的定义:Linux是一种UNIX操作系统的克隆,它由LinusTorvalds以及网络上组织松散的黑客队伍一起从零开始编写而成,Linux的目标是保持和POSIX的兼容.
1.2Linux特征:Linux具备现代一切功能完整的UNIX系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP网络支持等;1.3Linux特点:免费、开源
高效安全稳定
可移植、平台无关、支持多种硬件平台用户界面丰富网络功能强大
支持多任务、多用户开发者众多、社区活跃
1.4Linux版本:内核版本和发行版本
其中内核版本命名规则:“主版本号.次版本号.修正号”
1.5Linux发行版本:(1)RedHat/FedoraLinux
(2)SuSeLinux(3)DebianLinux(4)UbuntuLinux(5)SlackwareLinux(6)红旗Linux(7)CoreOS
1.6Linux应用:个人桌面应用
红帽中科红旗Ubuntu
企业服务应用
虚拟化平台(KVM、Docker)应用服务平台
嵌入式平台(物联网平台)uClinux
NMTRT-Linux
1.7Linux安装:(1)Vmvareworkstation安装
(2)SSH安装(3)Linux安装(4)Linux配置网络的配置
进入Linux,并打开控制台切换目录:
cd/etc/sysconfig/network-scripts/对ifcfg-eth0文件进行vi编辑
设置IP地址,10.21.3.103/255.255.255.0/
SSHD服务
输入:servicesshdstart
Iptables配置
方法一:关闭防火墙
Serviceiptablesstop
方法二:允许SSH通过
规则一:iptables-AINPUT–ptcp--dport22–jACCEPT规则二:iptables-AOUTPUT–ptcp--sport22–jACCEPT
(5)测试
SSH连接测试
输入目标主机IP、用户名、密码后,点击连接1.8Linux组成
内核、文件系统、外壳程序(Shell)、网络通讯、文字处理、编程环境、系统管理、在线文档、图形环境1.9Linux核心
1.10关闭和重启系统
命令行界面:
#shutdownnow关机#shutdown-rnow重启#halt关机#reboot重启
在桌面点击“关机”按钮关闭和重启系统。在控制台按Ctrl+Alt+Del键重启系统。1.11文件管理
Cat命令:
格式:cat[选项]…[文件]…常用选项:
-b从1开始对所有非空输出行进行编号-n从1开始对所有输出行编号
-s将连续两行以上的空白行合并成一行空白行
1.12man命令
功能:显示联机手册页格式:man命令常用操作键:q:退出
Enter:一行行地下翻
Space:一页页地下翻b:往上翻一页
/string:寻找字符串n:寻找下一个字符串1.13Linux文件类型:
d:目录
b:块特殊设备c:字符特殊设备p:有名管道s:信号灯
m:共享存储器
1.14linux文件权限:
权限由三个字符串组成,这三个字符串分别表示:
该文件所有者的权限、组中其他人的权限、系统中其人的权限每个字符串又由三个字符组成文件的读(用字符r表示)、写(用字符W表示)和执行权限(用字符x表示)当用户没有相应的权限时,该权限的对应位置用短线“-”来表示
r、w、x分别对应数字4、2、1,换算:rwx=7;---=0;rw-=6;r-x=5;-wx=3;r--=4;-w-=2;--x=11.15Linux目录
树形目录
Linux系统以文件目录的方式来组织和管理系统中所有文件与目录整个文件系统有一个“根”(root),然后在根上分“杈”(文件夹),任何一个分杈上都可以再分杈,杈上也可以长出“叶子”(文件)用户工作目录
用户进入系统后当前所处的当前工作目录,本目录随着用户目录切换而改变路径
绝对路径:指从“根”开始的路径
相对路径:从用户工作目录开始的路径
目录组成:
/bin:存放系统命令存放目录
/boot:存放系统启动时要用到的程序,如引导程序/dev:存放系统中使用的所有外部设备文件
/etc:存放系统管理时要用到的各种配置文件和子目录/sbin:存放系统管理员系统管理程序/home:存放各用户的主目录/lib:存放系统连接共享库文件
/mnt:用于挂接其他文件系统,如U盘或CD盘,本目录平时为空/proc:存放系统状态信息,这些信息由系统产生,放置于内存中/root:用于超级用户的主目录
/tmp:存放不同程序执行时产生的临时文件
/usr:用于存放用户应用程序、配置库、共享库等
Usr目录:
创建目录:
mkdir–n+目录名创建文件
touch+文件名参数列表
用途:
用于改变文件或目录的时间,也可用做创建新文件删除目录:rmdir+目录名参数列表:
删除文件:rm+文件名参数列表:
文件/目录拷贝
cp源文件目标文件参数列表
文件/目录属性修改chmod+文件或目录参数列表:
说明:
[mode]是有[<权限范围>+/-/=<权限设置...>]构成。
其中+表示增加权限、-表示取消权限、=表示唯一设定权限权限范围
示例:
设定文件test为所有都可以写Chmoda+wtest
设定文件test,只有该文件的拥有者才可以执行它Chmodu+xtest
修改当前目录所有文件与子目录,允许任何人都有读操作权限Chmod–ra+rChownuserfile
修改文件或目录的拥有者或所属群组参数列表:
文件/目录重命名
mv源地址目的地址mv当前名称新名称
参数列表:
说明:
根据mv命令中第二个参数类型的不同(是文件还是目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失
More:分屏显示文件内容
格式:more[选项]文件选项:
-p:不滚屏,清屏。
-s:将连续的空白行压缩为一个空白行。+n:由第n行开始显示。
+/str:由含有str字符串的地方开始显示。
说明:Enter键向下换行,Space键向下翻页,b向上翻页,/查找,q退出。less:交互式浏览文件内容
格式:less[选项]文件选项:与more相似。
说明:Pageup、PageDown键上下翻页,↑、↓键上下滚行。不自动退出。其它同more。
Wc:统计文件的字节数、字数和行数
格式:wc[选项][文件]选项:
-c:统计字节数。-l:统计行数。-w:统计字数。
说明:未指定文件时,读标准输入文件。sort:对文件的内容按行排序并显示
格式:sort[选项][文件]选项:
-b:忽略开始的空白。-f:忽略大小写。
-kn:按从第n个字段开始的内容排序。-r:逆序排列。
说明:未指定文件时,读标准输入文件
Find:find命令在指定的范围内查找符合条件的文件或者目录,然后执行相应的动作。find的功能很强,描述“条件”和“动作”选项很多。关于“条件”的选项
-name文件名的匹配-type类型f-size+-n[c]-mtime+-n-atime+-n等关于“动作”的选项
-printf-exec,-ok
Grep:在文本文件中查找字符串
格式:grep[选项][匹配模式]文件选项:
-v:列出不包含匹配字符串的行。-c:只列出匹配的行数。-r:递归地查询所有子目录。
-n:在每个匹配行前加行号显示。-i:不区分大小写。
1.16输入输出重定向:
输入重定向:改变命令输入的来源;输出重定向:改变命令输出的去向;
管道:连接一个命令的输入到另一个命令的输出
输入重定向:cat 标准输出重定向:命令>文件 标准错误输出重定向:命令2>文件合并输出重定向:命令&>文件附加输出重定向:命令>>文件 1.17管道 管道(pipe)的功能是将一个程序或命令的输出作为另一个程序或命令的输入,其中,管道线前一个命令的输出会传递给后一个命令,作为它的输入,在屏幕上显示的是管道线中最后一个命令的输出。 管道的形式为:命令1|命令2 命令1|tee文件|命令2 管道举例: 显示当前目录下的文件个数: ls|wc–l 看看root是否登录 who|greproot翻屏查看文件列表 Ls/bin/usr/bin/more 将/bin下的文件列表存入save文件,并显示文件个数 find/bin–typef|teesave|wc 1.18Linux文本编辑器编辑模式 Vi编辑器: 命令模式参数列表: 插入模式参数列表: 移动模式参数列表: 搜索与替换: 删除,复制,粘帖 Gedit编辑器 是GNOME桌面环境下兼容UTF-8的文本编辑器,提供可视化的编辑方式,简单易用,有良好的语法高亮,对中文也有很好的支持。 支持包括多语言拼写检查和一个灵活的插件系统,可以动态地添加新特性 包括一些小特性,包括行号显示、括号匹配、文本自动换行、当前行高亮以及自动文件备份等功能Emacs编辑器 一款综合性的开发环境,提供了程序的编译及调试接口 Emacs采取的编辑方式是对不同类型的文本进入相应的编辑模式,即“主模式”(majormode)。Emacs针对多种文档定义了不同的主模式,包括普通文本文件、各种编程语言的源文件、HTML文档、TEX与LaTeX文档,以及其他类型的文本文件等等。Kdevelop编辑器 KDevelop是在GNU/Linux和其它类Unix操作系统上运行的自由的集成开发环境(IDE) 支持多种不同语言,其中包括C、C++、Perl、Python、PHP、Java、Fortran、Ruby、Ada、Pascal、SQL和Bash脚本。支持的构建系统包括GNU(automake)、cmake、qmake和自定义项目的make(如果用户想使用自己的Makefile,KDevelop不会破坏它们的)以及不需要Makefile的脚本项目 Java开发工具:Eclipse JDK下载与安装TomcatMySQL 中间件:weblogic、Jboss Python 是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议[1]Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起C/C++开发工具: EclipseForCDT 一款面向C/C++的集成开发环境,界面风格与Eclipse一致。 GCC编辑器: GCC是Unix/Linux系统中最为著名的开源编译器,由RichardStallman在1984年编写。支持C/C++、Ada、Java、Pascal等。 GCC基础 GCC指令的一般格式为: gcc[选项]源文件名[选项]目标文件名 GCC编译方式: 默认,生成a.out可执行文件; 先编译成目标文件,再编译成可执行文件;直接编译成可执行文件,-o选项;GCC编译流程:预处理》》编译》》汇编》》链接GCC的使用 GCC命令:总体选项参数列表 目录选项:用于搜索编译时头文件、库文件或编辑器其他参数的路径 警告选项:用于显示程序在编译时的警告信息 调试选项:用于用户程序的调试 优化选项:对可执行代码进行优化操作。-o优化:主要进行线程跳转与延时退栈二种优化,能够有效减少目标代码空间以及程序的执行时间。 -o0优化:这个参数是指不进行优化。 o1优化:在o优化的基础上,进一步加强大函数优化。 -o2优化:除涉及空间和速度交换的优化选项外,它几乎执行所有优化工作。-o3优化:除打开o2的所有优化外,还加强程序对于处理器特性的优化,同时也进行循环展开的优化。一般在程序发布时,添加该选项进行编译GDB的使用:功能: 调试程序。支持程序代码级调试。 动态断点设置。动态设置断点,甚至是条件表达式。 检查运行状态。丰富的检查机制,能够查看变量、内存等资源的使用状况。执行环境动态改变。支持动态改变程序的执行环境。GDB启动: 输入:gdbfilename 启动GDB后,输入:filefilenameGDB退出: 退出GDB的命令是quit。 如需只终止被调试的可执行程序,输入kill命令GDB命令 运行环境与查看: 断点设置与恢复: 源码查看: 程序数据查看: 运行参数设置: Make的使用: Make的意义; Make是一种用于多文件编译的脚本。Make程序可以维护具有相互依赖的源文件,当某些文件发生改变时,它能自动识别出,并只对相应文件进行自动编译。 Make命令的执行原理是利用Makefile中文件依赖关系以及源文件的最后修改时间来确定哪些文件需要重新编译 Makefile文件组成:显式规则、隐含规则、变量定义、指示符和注释Makefile基本规则 由目标文件、依赖文件、响应命令三部分组成。规则原型: Target…:Prerequisites… Command…… Target代表目标文件,Prerequisites是生成上述目标文件所需要的依赖文件。Command是响应命令。 注意:规则中的命令必须以Tab键开头,即Command之前要有一个Tab键。Make工具会将所有以Tab键开头的行当成命令交给shell执行。 通配符:shell中的通配符“*”、“?”和“[…]”也可以在Makefile中使用,且使用方法与含义也完全相同。 伪目标:执行make时指定一个伪目标用来执行其所在的规则中定义的命令Make也提供了一个内置的宏定义RM:RM=rm–f 因篇幅问题不能全部显示,请点此查看更多更全内容