linux学习笔记
- 格式:doc
- 大小:35.50 KB
- 文档页数:6
郑重声明:未经本人允许,不得用于商业或非商业的转载和使用,如有需要请联系:yrj1978@hotmail.com引子为什么要写这个笔记:1,这本书的中文版翻译了太垃圾,没法阅读。
阅读英文原版,可以很好的理解作者的思路。
作此笔记备忘2,一直以来学习LINUXkernel的知识缺乏系统化,借对这本书的学习,系统化的学习一下LINUXkernel。
3,自己一直在做一个toosmall,toosimple的单进程,特权模式,64bit保护模式的称不上OS的OS,已经做完了bootloader,构思kernel的实现的时候,困惑在内存管理的实现上,阅读这本书,希望能有利于自己的OS的编写。
4,克服惰性,多读书,希望一天能阅读5页,争取半年内阅读完这本原版700多页的巨著。
不足:我不可能完全理解LINUX内存管理的精髓,肯定有很多地方理解错误。
希望大家能够指正,以便提高,谢谢。
学习方法:可能您第一次阅读的时候很多地方都不理解,不用担心。
那您可能需要阅读一些文件系统的知识。
或者阅读全部笔记后,再回头阅读,有些地方您就理解了。
言归正传:一、概要可用工具CodeViz:生成代码调用关系图的工具,这个工具我现在还没有去使用,有兴趣的可以自己试试去建立调用关系图。
http://www.csn.ul.ie/ ̄mel/projects/codeviz/Linuxcrossreference(LXR):以web的方式阅读和查找LINUX内核源代码的工具。
这个工具安装相当麻烦,我建议直接到它的官方网站直接读代码。
http://lxr.linux.no/linux+v2.6.24/模块LINUX内存管理代码模块主要分为4个部分:1.Outofmemory代码在mm/oom_kill.c貌似用于杀进程的时候对内存的操作2.虚拟内存的分配代码在mm/vmalloc.c3.物理内存页面分配代码在mm/page_alloc.cVMA(virtualmemoryaddresses)的创建和进程内的内存区域的管理4.这些模块,贯穿与其他kernel代码之中,形成更复杂的系统模块,如页面替换策略,buffer的输入输出等中间插段广告Linux文化T恤,淘宝销售,有兴趣的可以购买。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系Linux netfilter 学习笔记之三ip层netfilter的table、rule、match、
target结构分析
2014/06/22 4306
上一节分析了ip层hook回调函数的注册以及调用流程,本节我们就开始分析每一个模块的具体实现。
工欲善其事必先利其器,一个功能模块的代码实现与其数据结构的设计有很大的关系,因此我们本节主要是分析table、rule、match、target相关的数据结构,争取本节能把数据结构的定义以及数据结构之间的关系分析明了。
1. table、rule、match、target等相关数据结构分析在分析table、rule、match、target之前,先把它们之间的联系图贴出来,看了这个图以后,我们基本上就知道xt_table里rule、match、target之间的关联了。
总体框架图
对于一个xt_table表,通过其private指针,指向了xt_table_info结构,而xt_table_info中的entries指针数组的每一个指针成员指向xt_table表在相应cpu中的rule的首地址。
一个表中的所有rule在一个连续的内存块中,让所有rule在一个连续的内存块中,使对rule规则的遍历寻址成为了可能,因为一个规则相对于下一个规则并没有使用链表的形式连接在一起。
而一个完整的rule规则,包括了ipt_entry、ipt_entry_match、ipt_standard_target 组成(其实ipt_entry就代表了一个规则,通过ipt_entry- elems即可找到该规则对应的match)。
下面我们一一分析上图提到的数据结构。
linux系统基础知识Linux系统基础知识Linux是一种自由和开放源代码的类Unix操作系统,它是由Linus Torvalds在1991年首次发布的。
Linux系统具有高度的可定制性和灵活性,因此在服务器、超级计算机、移动设备等领域得到了广泛的应用。
本文将介绍Linux系统的基础知识,包括Linux的发行版、文件系统、用户和权限、命令行和图形界面等方面。
一、Linux的发行版Linux系统有许多不同的发行版,每个发行版都有自己的特点和用途。
常见的Linux发行版有Ubuntu、Debian、Fedora、CentOS、Red Hat等。
这些发行版都是基于Linux内核开发的,但它们的软件包管理、安装方式、默认桌面环境等方面有所不同。
选择适合自己的Linux发行版可以提高工作效率和使用体验。
二、文件系统Linux系统的文件系统采用树形结构,根目录为/。
在根目录下有许多子目录,如bin、etc、home、usr等。
其中,/bin目录存放系统命令,/etc目录存放系统配置文件,/home目录存放用户的主目录,/usr目录存放系统软件和库文件等。
Linux系统支持多种文件系统,如ext4、NTFS、FAT32等。
文件系统的选择取决于使用场景和需求。
三、用户和权限Linux系统是一个多用户系统,每个用户都有自己的用户名和密码。
用户可以通过命令行或图形界面登录系统,并执行各种操作。
Linux 系统采用权限控制机制,每个文件和目录都有自己的权限。
权限分为读、写、执行三种,分别对应数字4、2、1。
文件和目录的权限可以通过chmod命令进行修改。
Linux系统还有超级用户root,拥有系统的最高权限,可以执行任何操作。
四、命令行Linux系统的命令行界面是其最基本的界面,也是最强大的界面。
通过命令行可以执行各种操作,如创建文件、修改权限、安装软件等。
Linux系统的命令行界面有许多命令,如ls、cd、mkdir、rm、chmod等。
linux笔记全(⽆图版)1、ls 查看当前⽬录下的所有内容⿊⾊的是⽂件,蓝⾊的是⽂件夹,也就是⽬录2、rm -f anaconda-ks. cfg 彻底删除⽂件(如不确定,则需要先保存备份,也就是快照)3、ifconfig 查看⽹卡的配置信息(ip地址等)4、ifconfig ens33 192.168.18. 201 /24(⽹络地址/⼦⽹掩码)更改ip地址5、systemctl restart network 重启⽹络服务6、桥接模式,直接可以进⾏通信(同⼀⽹段,配置ip)7、能不能通信的2个条件:在同⼀个物理⽹络内,ip地址也在同⼀⽹段内8、仅主机模式,虚拟机和物理机不能进⾏通信,相当于虚拟机和物理机进⾏了隔离与笔记本(真机)通信截图9、NAT模式,⾃动分配⽹络地址和⽹关,以及dns,可以直接上⽹可以访问互联⽹内的主机,但互联⽹内的主机不能访问本机(max特点)10、route -n 查看⽹关11、cat /etc/resolv. conf 查看dns(注意cat后⾯有⼀个空格,空格不可少)12、验证nat模式可以直接上⽹13、shell:通常指linux的字符界⾯,图形界⾯和字符界⾯都属于shell,但图形界⾯的shell常称为gui,字符界⾯的shell常称为cli14、cat /etc/shells 查看⽂件内容(linux⾥⾯提供的所有的shell)15、linux默认使⽤的shell是bash的shell16、echo $SHELL 查看当前使⽤的shell17、shell默认指的是bash,它的应⽤是最⼴泛的18、linux是彻底的多⽤户多任务,它可以直接多个⽤户同时进⾏操作19、ctrl+alt+f2-f6 对应5个shell ctrl+alt+f1 开始图形界⾯shell 作⽤:如何开始shell(也就是如何打开命令界⾯)20、虚拟终端的缩写为tty, 在字符界⾯下执⾏“tty"命令就可以显⽰⽤户⽬前所在的终端编号(终端名称)。
学习笔记:《KaliLinux2⽹络渗透测试实践指南第2版》之漏洞扫描及渗透(Nmap+M。
本章重点内容:1、使⽤Nmap扫描漏洞2、使⽤Metasploit进⾏渗透接下来针对本章内容展开详细说明扫描漏洞需要⼀个⽬标主机,在此我们使⽤Metasploitable这个测试环境⾄于这个测试环境是什么以及如何安装,可以参考以下这篇⽂章:1、使⽤Nmap扫描漏洞⾸先,我们获取⽬标的IP地址,在Metasploitable环境中,通过ifconfig来查看IP地址,如下:从中看到IP地址是192.160.220.132,然后在kali的系统下⾯,通过Nmap来扫描⽬标端⼝,如下:通过扫描发现有众多的开发端⼝,这些开发的端⼝就是练习渗透测试的⽬标之前⽂章中有说明Nmap扫描主机,其实Nmap也可以扫描⽬标是否存在漏洞检查⽬标系统是否有漏洞,需要通过特定的脚本来实现,⽽Nmap集成了很多现有的脚本,可以检查⽬标是否存在漏洞通过Nmap扫描特定漏洞的格式是:Nmap 【--script】+脚本名称+⽬标IP,以脚本”ftp-vsftpd-backdoor.nse“为例,如下:从扫描结果看,第⼆个标注红框的位置,会看到”VULNERABLE“这样的标⽰,表⽰存在安全漏洞Nmap⾥的漏洞检查脚本都在vuln分类下⾯,可以通过所有的脚本来检查可能存在的安全漏洞,如下:因为是⽤所有脚本来检查⽬标可能存在的漏洞,所以在实际运⾏中,⽤的时间会⽐较久⼀些:上⾯的截图只是⼀部分,还有很多,通过扫描结果可以看到很多可以利⽤的漏洞,接下来对于漏洞的渗透获得⽬标系统权限,在此以第⼀个可被利⽤漏洞为例:vsFTPD2、使⽤Metasploit进⾏渗透在kali系统下⾯启动Metasploit,如下:进⼊后,我⾸先搜索可被利⽤的漏洞,通过search搜索,如下:通过搜索结果我们可以看到,有⼀个可被利⽤的漏洞程序,通过use来使⽤该漏洞,如下:看到红字后,就表⽰进⼊该漏洞的利⽤,在利⽤漏洞程序前,要进⾏相关配置,通过show options来查看要配置的选项,如下:在此,我们主要配置”RHOSTS“这个选项,就是设定⽬标系统的IP,通过前⾯Nmap的扫描可以知道IP为192.168.220.132,通过set 来设定,如下:设定后,可以重新查看,发现RHOSTS已经是我们设定的⽬标IP,此时就可以启⽤该漏洞进⾏攻击,获得⽬标权限来,通过run来进⾏,如下:看到最下⾯⼀⾏的字眼,就表⽰已经成功获得⽬标IP的权限,如何验证呢,通过pwd来查看当前所在⽬录,如下:从结果看,只有⼀个斜杠,没有可⽤的信息,可以再尝试使⽤ls命令,该命令表⽰,列出当前所在⽬录的所有⽂件,结果如下:我们看到很多列表明细,说明我们能有权限查看⽬标系统中的⽂件,为了进⼀步验证,可以在⽬标系统中通过ls查看,看两者的结果是否⼀致系统切换到Metasploitable中,通过ls查看如下:可以对⽐以下上⾯两个结果,可以看到,内容都是⼀样的,说明从kali系统中,可以查看Metasploitable中⽂件的内容。
Linux学习笔记常见错误之账户密码正确但是登录不进去系统前⾔:
笔者今⽇由于Linux版本的原因,需要Linux内核版本不能太⾼的系统,⽽⽇常使⽤的ubuntu系统不能满⾜需求,于是新建了⼀个虚拟机,选⽤的系统是Ubuntu16的,配置了⼀下午的各种依赖环境以及需要使⽤的软件之后,最后修改配置⽂件/etc/profile,本想万事⼤吉,于是安⼼关闭虚拟机去吃饭了。
结果回来再次打开虚拟机就悲剧了:密码输⼊是正确的,但是登不进去,⼀直在登录页⾯循环输⼊密码这样的过程,⼀番操作⽆果之后,在⽹上搜集解决⽅案,最终在多次尝试之后成功排错,发现是环境变量写错,虽然过程很艰⾟,不过总算是把问题解决了!这⼀篇就围绕笔者此次遇到的情况,做⼀个⼩⼩的总结:
问题:账号密码输⼊正确但是登陆不进去系统。
原因:改错了系统的环境变量或者覆盖了系统的环境变量。
⽅法1:
1. 按ctrl+alt+f1 进⼊恢复模式,输⼊⽤户名密码
2. 输⼊ /usr/bin/sudo /usr/bin/vim /etc/profile
3. 将出错的环境变量修改正确,保存
4. 按ctrl+alt+f7进⼊登录界⾯,输⼊密码即可完美登录
⽅法2:
1. 按ctrl+alt+f1 进⼊恢复模式,输⼊⽤户名密码
2. 输⼊ export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
3. 输⼊ source /etc/profile
4. 将出错的环境变量修改正确,保存
5. 按ctrl+alt+f7进⼊登录界⾯,输⼊密码即可完美登录。
Linux 操作系统基础知识概览以下是一些关于Linux 操作系统的常见知识点:1.Linux 基础:●Linux 的起源和发展历史●Linux 的主要组成部分:内核、Shell、文件系统等●常见的Linux 发行版(如Ubuntu、Debian、CentOS 等)●常用的命令行工具和基本命令(如ls、cd、mkdir、rm 等)2.用户和权限管理:●用户账户的创建和管理●用户组的概念和使用●文件和目录的权限设置和管理●sudo 权限和root 用户的重要性3.文件系统:●Linux 文件系统的层级结构●常见的文件系统类型(如ext4、XFS、Btrfs 等)●挂载和卸载文件系统●磁盘和分区管理工具(如fdisk、parted 等)4.进程管理:●进程的概念和属性●进程的创建、终止和管理●进程状态的了解和监控●进程间通信的方式(如管道、信号、共享内存等)5.网络和安全性:●网络配置和网络接口管理●网络命令和工具(如ifconfig、ping、ssh 等)●防火墙和安全性措施(如iptables、SELinux 等)●远程访问和远程管理(如SSH、SCP、rsync 等)6.软件包管理:●软件包管理系统(如apt、yum、dnf 等)●软件包的安装、升级和卸载●软件包的依赖关系和解决依赖问题●软件源和仓库的管理7.Shell 脚本编程:●Shell 脚本的基础语法和结构●变量、条件语句、循环和函数的使用●Shell 命令和管道的组合●脚本的调试和错误处理以上只是Linux 操作系统知识的一些常见方面,涵盖了基础知识、用户和权限管理、文件系统、进程管理、网络和安全性、软件包管理以及Shell 脚本编程等。
要深入学习Linux,建议进一步学习和实践这些知识点,并探索更多高级主题,如网络服务配置、系统性能优化等。
【Linux】学习笔记:(⼆)⽤户和组群账户管理⽬录前⾔在Linux系统中,⽤户账户是登录系统的唯⼀凭证,其中root⽤户是系统的最⾼管理者,该⽤户的UID是0,与⽤户和组群账户相关的配置⽂件有/etc/passwd,/etc/shadow,/etc/group和/etc/gshadow。
⼀、⽤户账户简介1、⽤户账户分类root⽤户root⽤户UID为0。
root⽤户的权限是最⾼的,普通⽤户⽆法执⾏的操作,root⽤户都能完成,所以也称之为超级⽤户系统⽤户系统⽤户的UID为1~999这类⽤户不具有登录Linux的能⼒,但却是系统运⾏不可缺少的⽤户。
普通⽤户系统⽤户的UID为1000~60000在Linux系统上进⾏普通操作,其使⽤系统的权限受限制。
2、 /etc/passwd⽂件假设以账户zhangsan登录系统时,系统⾸先会检查/etc/passwd⽂件,存在zhangsan账户,然后确定⽤户zhangsan的UID,通过UID确认⽤户⾝份,如果存在,则读取/etc/shadow⽂件中对应的密码,核实⽆误,则登录系统,读取⽤户的配置⽂件[root@centos83 home]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin..............(省略)..........sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinrngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologinzhangsan:x:1000:1000::/home/zhangsan:/bin/bash字段字段含义⽤户名在系统中⽤户名应该具有唯⼀性密码存放加密⽤户的密码,看到的是⼀个x,其实密码已经被映射到/etc/shadow⽂件中⽤户标识号(UID)每个⽤户的UID都是唯⼀的,root⽤户的UID是0,普通⽤户的UID默认从1000开始组群标识号(GID)在系统内⽤⼀个整数标识⽤户所属的主要组群ID号,每个组群ID都是唯⼀的⽤户名全称⽤户名描述,可以不设置主⽬录⽤户登录系统后⾸先进⼊的⽬录登录shell⽤户使⽤的Shell类型,Linux系统默认使⽤的Shell是/bin/bash2、 /etc/shadow⽂件/etc/shadow⽂件内容包括⽤户及被加密的密码以及其他/ect/passwd不能包括的信息,⽐如账户有效期等/etc/shadow⽂件只有root⽤户可以读取和操作,确保系统安全[root@centos83 home]# cat /etc/shadowroot:$6$Uq9EeN5GfNDLF83M$csUva0exzO/n3PIvhKv5D1Xs3Ga06G2whjfagtEtJUW1wlQbREEd6HkOjTRCTqGuZCXvg2WQ1wdyzqY.qfAzE1::0: 99999:7:::bin:*:18397:0:99999:7:::..............(省略)..........sshd:!!:18625::::::rngd:!!:18625::::::zhangsan:$6$HMTy.raoMPbhboQn$71FPRHyRycVf3AcenfNW1n7/qD7ep.x5vSeBSSxzJdWmvjoQ98oDhfA8Kz/6PlOgKe/ksj58AXeWBPOGAm/dl1 :18625:0:99999:7:::字段字段含义⼆、 ⽤户账户设置1、useradd :创建⽤户创建⽤户useradd moon创建⽤户并设置UID 为1010useradd -u 1010 moon创建⽤户并设置⽤户所属群组为rootuseradd -g root moon创建系统⽤户mysql 并设置所属组群useradd -r -g mysql mysql2、 usermod :修改⽤户账户修改⽤户pp 的登录名为moonusermod -l moon pp修改⽤户moon 账户过期时间为2028年11⽉23⽇usermod -e 11/23/2028 moon修改⽤户moon 的主⽬录到/home/oopp ,并⾃动创建⽬录usermod -d /home/oopp -m moon ⽤户名这⾥的⽤户名和/etc/passwd 中的相同加密密码密码已经加密,如果由⽤户显⽰"!!",则表⽰这个⽤户还没有设置密码,⽆法登录到系统⽤户最后⼀次更改密码的⽇期从1970年1⽉1⽇算起到最后⼀次修改密码的时间间隔天数密码允许更换前的天数如果设置为0,则禁⽤此功能。
Linux中select函数学习及实例笔记Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准备好数据,那么应用程序必须进行阻塞,不能继续执行,直到内核的数据准备好!应用程序取到数据返回后,阻塞过程结束!但返回的结果也并不一定是正确的!这里只是举一个简单的例子!也许情况会更加的复杂!非阻塞I/O,例如在和内核交换数据时,如果内核的数据没有准备好,那么应用程序不会一真等待,会有一个返回信息,以判断是那里出了问题!这样有助于确认是在那个阶段出了问题!I/O复用,我们就可以调用系统调用select和poll!在这两个系统调用中的某一个阻塞,而不是真正的阻塞I/O系统调用!下面主要介绍I/O复用中的select函数!select函数可以指示内核等待多个事件中的任一个发生,仅在一个或多个事件发生,或者等待一个足够的时间后才唤醒进程!select函数的原型如下:#include <sys/types.h>#include<sys/time.h>int select (int maxfdp1,fd_set *readset,fd_set * writeset,fd_set excpetset,const struct timeval *timeout);返回值:准备好的描述符的正数目 0---超时 -1---出错!其中最后一个参数是一个结构体的指针,它表示等待内核中的一组描述符任一个准备好需要花费多久的时间!其中timeval指定了秒数和微秒数。
struct timeval{long tv_sec;//秒数long tv_usec;//微秒数};将 timeout设置为空指针时,会永远等待下去,等待固定的时间:如果timeout指向的timeval中的具体的值时,会等待一个固定的时间,不等待立刻返回,这时timeval中的tv_sec和tv_usec为0.select有三个可能的返回值。
什么叫SCSI硬盘,什么叫IDE硬盘磁盘文件系统FAT32 NTFS??sda sdb sdc IDE硬盘hda hdb,当电脑中有多块硬盘时,用a,b,c来编号硬盘linux文件系统与windows不一样,所有目录都在根目录(root)下根目录用'/'表示文件路径区别linux /home/alexwindows c:\programs\vmware分区规划根分区'/'swap分区(叫虚拟内存分区)其他的根据需要windows系统叫划分C,D,E,F盘linux叫挂载点(不叫CDEF分区),linux文件系统有ext2,ext3,vfat,swap,windows的引导程序叫NTloader,linux的叫GRUBLinux下全是文件,包括硬盘,各种设备切换到根目录su - root查看ip地址ifconfiglinux文件名前带'.'表示该文件属性为隐藏linux常用命令1文件处理命令2权限管理命令3文件搜索命令4帮助命令5压缩解压命令6网络通信命令7系统关机命令8shell应用技巧1 文件处理命令1 ls(list) 执行权限:所有用户f:显示目录文件-a all -l long 详细信息文件类型d(目录directory) -表示二进制文件-l(link)软链接文件drwxr-xr-x 第一个是文件的类型第二(rwx)规定了权限读权限,写权限。
r-read w-write x-execute文件的访问权限-u user(用有者) -g group(所属组)-o(others)rwx r-x r-x-u -g -o2表示硬链接数root 所有者是rootroot 所属组是rootroot切换到普通用户,不需要密码,普通用户普通用户要密码2 cd(change directory)切换目录3pwd(print working directory)知道当前目录4创建新目录mkdir(make directory)5创建新文件touch6 cp(copy) cp file1 file2 (i)7rm(remove)删除文件linux 内核处理对象都需要有一个数字标识,因为内核不认识字母,用户要有用户ID,用户组要有组ID。
ls -i查看文件的i节点硬链接和源文件,具有相同的i节点,软连接则不是假设windows系统也能硬链接,那么C盘下的文件不能硬连接到其他盘,而软连接可以,跨文件系统,既可以连接到其他盘文件的umask 默认是022(是掩码值)就是777-022=755才是用户的权限chmod 755 filenamewhich找的是命令路径whereis 找的是命令的路径加帮助文档的路径find命令查找文件时如果不记得完整的文件名,可以使用通配符*匹配任意个任意的字符?匹配单个任意字符可以根据size查找,但是得换成数据块(block)的大小,1block=0.5kBfind / +204800在根目录下查找大于100M的文件+大于-小于没有表等于根据文件的所有者-user根据文件的时间比如说系统招黑客攻击,像对刚2个小时被修改过的文件,进行处理cmin aminmminchage access modify修改文件属性文件内容find /etc -min -120 找该目录下在2小时内被修改过的文件-a 表示逻辑与-o 表示逻辑或find /etc -size +204800 -a -size -409600f 表示2进制文件 d 表示目录l表示软连接文件连接符\表示使用该命令本身的含义如让-ls不分颜色显示,\ls,本来是ls -color连接符-exec 执行后面的命令find . -inum 61 -exec rm {} \;grep ftp filename找文件里的字符串grep filenameman 获得命令或配置文件的帮助whatis 找出命令最基本的用途压缩解压命令gzizp (GNU zip)压缩后文件格式.gz但只能压缩文件,不能压缩其他的不保留源文件解压缩文件(gunzip)或gzip -d帮助文件时有很多种的,第一种是命令的帮助,第5种是配置文件的帮助man 5 passwd.tar.gz 源代码包(即别人发行了的程序的源代码如C代码,系统如果有C编译器,就可产生程序)-tar(打包)-zcf newdir.tar.gz newdir解包tar -xcf newdir.tar.gz newdirzip是win和linux通用的压缩格式,即是没有装winrar软件,还是可以压缩解压zip会保留源文件可用file 文件名查看文件类型网上下载的大型文件一般压缩格式都是bzip2,因为其压缩比很惊人,bzip2是gz的升级版,bzip2 -k就可保留源文件,bunzip2 解压能ping通,不一定是网络连通,还要检查丢包率,ping 10000次,网线或者往卡等硬件设备工作不正常可能造成丢包ping -c 10000 192.168.4.3网络通信命令1 write user名this is a test2 wall write all broadcast包3 ping前台是操作窗口,后台是服务器吧数据录入数据库,UDP的服务会和TCP比较多的丢包ping 127.0.0.1 (TCP/IP协议安装没有问题)本地回环测试,没有网卡也可以ping通先ping 对方的IP,如果通了,检查丢包率,如果不通,ping自己的IP,可能是自己的网络设备有问题,不是网络设置有问题,可能是网络连接的设备有问题,也可能是对方主机有问题在实际的网络测试环节中64byte的包太小,一般ping较大的包,为了测试网落延时的情况,ping -s 60000(<65507)192.168.1.1ifconfig -a查看所有的网卡信息ctrl+l可以清屏ctrl+u删除当前行的信息history 吧我每个桥过的命令都列出来rm -rf 不确认输入输出重定向输出重定向(当执行命令不懂时,将重定向后的文件发给老师看)ls -l /temp >temp.msgdate /temp >>temp.msg(表示追加当前日期)输入重定向(做计划任务是用),每到一个节日,发送个祝节日快乐的信息,这些都写在任务里wall < happymessage错误输出重定向cp -R /user/bakeup>bake.errkentomson发明linux系统,很重要一点就是管道(将前面命令的输出,作为下一个命令的输入)符号就一竖ls -l /etc |more格式comman1|command2|.....|command n命令连接符1 ;(类似于C)一次写多个命令,中间用;分开2&& 逻辑与,前面失败,后面也失败,前面成功,后面也成功|| 逻辑或只有一个成功3 命令替换付将一个命令输出做位另一个命令的输入ls -l `which touch`vi编辑器3中工作模式I(插入模式) C(command模式)E(edit模式)刚进入vi,缺省进入C模式,按I,进入I模式,按ESC,进入C模式,再按:号,进入E 模式,再按:wq会回车退出vi编辑器用vi进行文本编辑,a在光标后插入,i在光标前插入,o在光标下插入一行,A在行尾插入文本,I在行首插入,O在光标上插入一行,可以说,a,i,o,A,I,O是6种小模式,要切换到另一个模式,按esc定位命令上k,下j,左h,右l $行尾0行首H屏首M屏中L屏尾设置行号:set nu 取消:set nonu gg到第一行G到最后一行ng到底n行:n到第n行删除命令x删除光标所在处字符nx删除光标后n个字符dd删除本行ndd删除贯标后n行dG光标后内容全删光D删除光标后的该行字符:n1,n2d删除n1 to n2 的行复制粘贴命令yy 复制当前行nyy复制当前一下n行dd剪切当前行(删除)后按p就可粘贴替换命令r(replace) 替换光标所在处的字符R替换光标后字符,知道按esc终止,u(undo)取消上一步操作搜索命令(忽略大小写:set ic关闭set noic)/string 搜FTP /ftp 按n(next),往后找下一个和ftp相关的,N往前找替换命令:%s/old/new/g保存退出shift+zz或者:wq也可以写到其他文件里:w /etc/tst导入文件:r filename :r /etc/issuse也可以导入命令执行的结果:r !date在vi中执行命令:!命令在shell脚本里#表注释添加快捷键ctrl+v ctrl+pmap ctrlp I<esc>#^尖角号表示行首,多行注释:n1,n2s/^/#g替换命令ab mymail 1147644413@将长的命令,用短的替换,可以用unab 来取消让vi的配置信息永久保存,vi ~/.vimrc进行编辑~表宿主目录linux引导流程windows早期的服务器版叫windowsNT,现在主流的windows服务器用的都是NT内核固件加电自检(POST)-->载入内核-->驱动硬件MBR(master boot record)包括bootloader,partion table, magic numberlinux2.6.18 2是主版本号,6是次版本号(如果是奇数则是测试版,是偶数就是正式版)内核里装的最多的是硬件驱动程序内核先驱动硬件后启动init进程(PID=1,PPID=0(内核调度器kernel schedualer),),init进程读取/etc/inittable文件查看当前运行级别runlevel运行及的切换init number vi /etc/inittabinit文件中的文件格式id:runlevel:actions:processactions:initdefault:指定系统缺省运行级别sysinit:系统启动时process指定的命令/etc/rc.d/rc.sysinit该启动脚本,加载系统环境变量,字体,系统时钟,检查加载文件系统,生成系统启动日志,如果你有程序想一开机就执行的,就将改程序,粘贴到该脚本的末尾判断默认的运行级别,调用/etc/rc.d/rc,执行相应运行级别目录里的服务程序,完成相应级别的初始化设置,调用/etc/rc.d/rcn.d,完成该运行级别的初始化服务加载ls /etc/rc.d/rcn.d /etc/rc.d/rcn.d/sshd stop终止该进程设置自启动程序chkconfig ntsysv --level n检查引导期间的错误dmesg| grep eth0查找可能被dmesg忽略的应用程序错误检查系统日志,/var/log/messagesGRUB 配置文件在boot/grub/grub.conf案例:root密码忘记开机进入grub界面,按e进入编辑行模式,选中kernel行,按e,在新进入的界面最后一行,按l或s软件包的管理安装rpm -ivh 软件包名称i install v 详细信息h hash符号#rpm -e 软件名当提示存在依赖关系是,rpm -e --nodeps 软件名挂载光盘1 先创建空目录(习惯临时挂载的设备在mnt目录下)2 mount /dev/cdrom/mnt/cdromlinux习惯在CentOS目录下存放所有二进制软件包rpm -qa | grep samba安装rpm软件包不需要设定安装路径,因为改变不了,也无需担心,卸载不干净,linux没有注册表概念--test 值进行测试,并不实际进行安装rpm -ivh --replacepkgs name覆盖安装升级rpm -Uvh namerpm -qf 可以查找该文件属于哪个软件包rpm -ql 列出一个软件包安装哪些文件到系统文件校验rpm -V,md5校验安装源代码包tar -xcvf name./configure --prefix==/user/local/proftpd(配置)查找系统信息,这正是源代码包的适用性强的原因安装C编译器yum install gccmake(编译)make install(安装)脚本安装(webmin,openoffice)tar -xzvf webmin...tar.gzcd webmin1.530 vi readme./setup sh。