Linux培训教材
- 格式:doc
- 大小:372.00 KB
- 文档页数:23
Linux操作系统培训教材一、Linux 操作系统简介Linux 操作系统是一种开源的、多用户、多任务的操作系统,它在服务器领域、嵌入式系统、个人电脑等多个领域都有着广泛的应用。
与 Windows 操作系统不同,Linux 具有高度的可定制性、稳定性和安全性。
Linux 的内核由林纳斯·托瓦兹(Linus Torvalds)在 1991 年首次发布。
从那时起,它不断发展壮大,吸引了全球无数开发者的贡献,形成了众多的发行版,如 Ubuntu、CentOS、Red Hat 等。
二、Linux 操作系统的特点1、开源免费Linux 操作系统的源代码是公开的,任何人都可以自由获取、修改和分发。
这不仅降低了使用成本,还促进了技术的创新和发展。
2、稳定性高Linux 系统在长时间运行的情况下,很少出现崩溃或死机的情况。
这使得它非常适合作为服务器操作系统,为企业提供稳定可靠的服务。
3、安全性强由于其开源的特性,Linux 系统的漏洞能够被及时发现和修复。
而且,Linux 系统的用户权限管理非常严格,有效防止了恶意软件和病毒的入侵。
4、可定制性强用户可以根据自己的需求,对 Linux 系统进行定制,包括选择不同的桌面环境、安装特定的软件包等。
三、Linux 操作系统的安装1、准备工作在安装 Linux 操作系统之前,需要准备好安装介质,如光盘、U盘等。
同时,还需要备份好重要的数据,以防安装过程中数据丢失。
2、选择安装方式Linux 操作系统的安装方式有多种,常见的有图形化安装和命令行安装。
对于初学者,建议选择图形化安装,操作相对简单直观。
3、分区设置在安装过程中,需要对硬盘进行分区。
一般来说,至少需要创建根分区(/)和交换分区(swap)。
4、安装过程按照安装向导的提示,逐步进行操作,包括选择语言、时区、用户名和密码等。
四、Linux 操作系统的基本命令1、文件和目录操作命令`ls`:列出目录中的文件和子目录。
Linux开发入门必读书单推荐给每个新手的经典书籍Linux是一种操作系统,被广泛用于服务器和嵌入式设备中。
对于想要从事Linux开发的新手们来说,选择一本合适的书籍是非常重要的。
本文将为大家推荐几本经典的Linux开发入门书籍,帮助新手们快速了解并掌握Linux开发技能。
1. 《鸟哥的Linux私房菜》-作者:鸟哥这本书被誉为Linux界的经典之作,是Linux爱好者的必读书籍。
作者通过通俗易懂的语言,深入浅出地介绍了Linux的基本概念、常用命令以及系统管理等内容。
适合初学者入门学习,帮助他们构建Linux的基础知识框架。
2. 《Linux Shell脚本攻略》-作者:志刚、殷蓝天Shell脚本是Linux开发中非常重要的一环,可以自动化完成一些重复性的工作。
这本书从简单入门到深入应用,详细介绍了Shell脚本的基本语法、文件处理、正则表达式等内容,同时还提供了大量实例供读者练习和参考。
3. 《深入理解Linux内核》-作者:谢希仁对于想要从事Linux内核开发的初学者来说,这本书是一本非常重要的参考资料。
作者以清晰的语言和丰富的实例,剖析了Linux内核的各个组成部分,包括进程管理、内存管理、文件系统等。
读者通过学习这本书可以深入理解Linux内核的工作原理,为进一步深入研究打下基础。
4. 《Linux设备驱动开发详解:基于最新的Linux 4.0内核》-作者:周立功这本书适合想要从事Linux设备驱动开发的新手们阅读。
作者通过详细的讲解和实例演示,帮助读者了解Linux设备驱动的基本原理、开发流程和调试技巧。
对于想要深入研究Linux设备驱动的读者来说,这本书是一本难得的宝藏。
5. 《Linux网络编程》-作者:Richard Stevens, Bill Fenner, Andrew M. Rudoff对于想要从事网络编程的开发人员来说,这本书是必读的经典之作。
作者通过深入浅出的方式,介绍了Linux系统的网络编程接口、套接字编程、多线程编程等内容。
一、远程登录Linux服务器开发中,我们经常会登录到Linux服务器进行工作,比如我们的19服务器,或者远程的机器等。
那么我们首先就需要登录上去。
有些现场服务器不能直接连接上去,需要通过跳转机进行跳转。
那么我们需要先登录跳转机,再从跳转机跳转到我们想要的服务器上。
使用SecureCRT终端仿真程序进行连接远程服务器。
(1)(2)(3)从一台机器telnet到另外一台机器使用telnet命令可以从一台服务器登录到另外一台的服务器。
命令如:telnet 192.168.168.182 ,输入用户名、密码即可登录。
使用exit命令可以退出登录。
我们可以使用telent --help查看telnet命令的使用方法或者man telnet命令查看更详细的帮助说明。
Linux系统的所有命令都可以通过help和man命令获取到帮助,以后大家要多使用这两个帮助命令。
登录过程如下图开启和关闭Linux系统中的虚拟机有时我们需要在Linux系统中安装一个虚拟机,例如19服务器上的虚拟机17。
可以使用virsh 命令来开启和关闭虚拟机,改名了必须在root用户下才能使用。
输入virsh命令进入虚拟化交互式终端,标题会变成virsh #,这时就可以输入其它的交互命令了。
可以使用help命令查看帮助。
list --all 查看有哪些虚拟机,并可以查看到虚拟机所处的状态,是运行中还是停止。
上图只有一个虚拟机,处于运行状态,redhat47.17就是这个虚拟机的名称start 虚拟机名可以开始虚拟机shutdown 虚拟机名可以关闭虚拟机该提示标识虚拟机已经在运行状态了。
二、文件和目录的操作1、lsls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。
通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。
ls –help或man help获取ls的帮助信息◇命令格式:ls [选项] [目录名◇应用场景:需要列出目录的详细信息,包括隐藏的文件ls –alh-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-l 列出文件的详细信息。
-h 以容易理解的格式列出文件大小(例如1K 234M 2G)第一位表示文件类型,-表示文件,d表示目录2-4位表示文件所有者的权限,u权限5-7位表示文件所有者所属组成员的权限,g权限8-10位表示所有者所属组之外的用户的权限,o权限修改权限的例子:将文件test的权限修改为所有者和组成员具有读写的权限,其他人只有读权限chmod 664 test文本表示法用4个字母表示不同的用户:u:所有者g:组成员o:其他成员a:所有人权限仍用r、w和x表示和数字表示法不同,文本表示法不仅可以重新指定权限,也可以在原来权限的基础上增加或减少权限,如下:-:对目前的设置减少权限+:对目前的设置增加权限chmod u+x,g-x,o=x test当文件比较多且想找出最大的前10个文件ls –lhS | head -10ls –lht | head -10-S 根据文件大小排序-t 根据时间排序head -10 取前面10行内容如果想找时间最新的10个文件也同样道理。
ls还可以用于查看系统有哪些消息队列ls –li /msg如何查看消息队列里面是否有消息呢?可以使用ipcs –q命令2、cd、pwd变换工作目录至dirName。
其中dirName 表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录)。
另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
绝对路径:相对于根目录/的路径;cd /home/cattsoft/BuzCollect相对路径:相对于所处当前目录的路径。
cd MM1pwd 命令来查看”当前工作目录“的完整路径。
命令格式: cd [dirName]命令格式: pwd应用场景:每个用户都有自己的用户目录,即home directory,刚登录就会默认自自己的home directory里面。
使用cd ~ 或直接cd 可以快速回到自己的home directory进入目录的上上一级的MM7目录cd ../../MM73、cplinux下的cp命令的功能是将给出的文件或目录拷贝到另一文件或目录中命令格式:cp [选项] 源文件或目录目标文件或目录应用场景:我们在操作某个文件的时候,通常会拷贝一份备份文件,以便可以还原回原来的文件将文件test1.c拷贝到/usr/cpp 这个目录下,并改名为test2.c。
cp test1.c /usr/cpp/test2.c如果不希望重新命名,可以使用下面的命令:cp test1.c /usr/cpp/将所有的log日志文件拷贝至bak 子目录中cp *.log ./bak如果要拷贝目录,必须加上-r选项了,将目录dir1拷贝一份,拷贝的那份命名为dir2cp –r dir1 dir2- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件至目的地。
4、mv用户可以使用mv命令来为文件或目录重命名或将文件由一个目录剪切到另一个目录中。
命令格式:mv[选项] 源文件或目录目标文件或目录应用场景:我们经常要将文件移动到某个指定的地方,这时就可以用MV命令了将MM1中的所有文件移到当前目录(用”.”表示)中mv ../MM1/* .将文件test.txt重命名为wbk.txtmv test.txt wbk.txt加了-i选项的效果- i 交互方式操作。
如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
如果加-i选项的话,遇到重名就会提示是否覆盖,没有-i选项则直接覆盖不提示5、rmrm命令用于删除不需要的文件或目录命令格式:rm [选项] 文件…应用场景:删除所有log后缀文件rm *.log删除MM2 目录rm -r MM2- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
如果没有使用- r选项,则rm不会删除目录。
有时删除目录时,会逐一提示是否删除目录里面的文件,我们确定要删除,并不希望有提示,可以加上-f选项禁掉所有的提示。
将MM2 子目录及子目录中所有档案删除,并且不用确认rm -rf MM2- f 忽略不存在的文件,从不给出提示。
rm */*.d */*.o6、mkdir、touchmkdir命令新建文件夹,touch可以新建一个空文件,可以修改文件的创建时间命令格式:mkdir [-p] 目录名命令格式:touch 文件名应用场景:mkdir DIRAmkdir -p DIRC/hello-p: 可以是一个路径名称。
此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;touch run.sh7、cat、more、tail、headcat把文件传到基本输出(屏幕或加> fileName 到另一个档案)。
或结合管道使用将文件内容重定向到管道more类似cat,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b 键就会往回(back)一页显示,按enter滚动一行。
tail 类似cat,但输出文件尾的若干行,tail默认是输出文件的最后10行,也可以指定输出多少行,或加-f选项实时输出文件的内容。
head 是打印前面部分,默认是打印前面10行命令格式:cat fileName命令格式:more fileName命令格式:tail [-f] fileName应用场景:提取cdr文件中的源IP和目的IP,并重定向到a.logcat cdr_Mm1_20120329085500.log | awk –F …##‟…{print $5,$6}‟ > a.logawk是提取字段的命令,各个字段用‘##’分开,且源目的IP在第5和第6个字段cdr文件比较多时,只想查看最后的5个文件,可以使用ls –lh | tail -5查看文件前面或后面5行的内容tail -5 cdr_Mm1_20120329085500.loghead -5 cdr_Mm1_20120329085500.log其它应用ls –lhS | tail -5tail –f cdr_Mm1_20120329085500.log加-f选项实时输出文件的内容8、wcwc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
命令格式:wc [选项] 文件…应用场景:统计文件cdr_Mm1_20120329085500.log的行数wc -l cdr_Mm1_20120329085500.log- l 统计行数;一共是14280行。
统计29号一天所有文件个数和所有文件加起来的行数ls –lh cdr_Mm1_20120329* | wc –lcat cdr_Mm1_20120329* | wc -l统计29号8点中生成文件的总字节数cat cdr_Mm1_2012032908* | wc –c- c 统计字节数;- w 统计字数;三、系统常用操作1、top显示系统当前的进程和其他状况;top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。
q 退出。
命令格式:top [-] [d] [p] [u]应用场景:只显示cattsoft用户的动态进程状况top –u cattsoft-u 只显示cattsoft用户的进程只显示PID为8114的进程状况top –p 5342-p 通过指定监控进程ID来仅仅监控某个进程的状态。
每个10秒记录一次程序的内存与CPU情况,并输出到文件中top –d10 | grep –i mm7 >> a.log-d 指定每两次屏幕信息刷新之间的时间间隔-i的意思是忽略大小写输出的文件2、psps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用top 工具。
ps一般与grep一起使用,用于查看某进程的状态或查看某进程是否存在。
命令格式:ps -[选项]应用场景:显示进程mm7的状态或者可用与判断mm7进程是否存在ps –ef | grep –i mm7-e 显示所有进程,环境变量-f 全格式3、kill用来终止一个进程命令格式:kill –[sig] [pid]kill -9 [pid] 表示强制杀死进程应用场景:强迫杀死进程ID为5432的进程Kill -9 54324、du、dfdu统计目录(或文件)所占磁盘空间的大小。