十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在Linux中输入命令man tcpdump给出的定义如下所示:
成都创新互联公司是专业的斗门网站建设公司,斗门接单;提供成都网站设计、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行斗门网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpdump:
常用选项如下所示:
1、第一个抓包示例
-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效
-nn : 不转换协议和端口号,当tcpdump遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH
-X : 将协议头和包内容原原本本的显示出来,tcpdump会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。
'port 22' : 告诉tcpdump要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。
-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。
2、-e 增加数据链路层的头部信息
通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。
3、-l 将输出变为行缓冲模式
-l的作用是将tcpdump的输出行为变为 行缓冲 方式,这样可以保证tcpdump遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。
在Linux的标准I/O中提供了 全缓冲 、 行缓冲 、 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。
在该例中,将tcpdump输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpdump才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。
4、-t 输出不加时间戳
在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpdump默认情况下是按微秒来计时,因此最一个时间精确到了第6位。
5、 -v 显示详细信息
在增加 -v 选项后,会在输出的内容中增加 tos 、 ttl 、 id 、 offset 、 协议编号 、 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。
6、-F 指定过滤表达式所在的文件
在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpdump只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。
7、 -w 将原始数据包信息保存到文件中
当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。
7、 -r 从文件中读取原始数据包
通过-w和-r选项即可实现抓包的录制回放功能。
Linux文件系统操作命令大全
Linux命令有很多,那么Linux文件系统操作命令又有哪些呢?下面我为你介绍!
文件系统操作命令:
1. cat:可以显示文件的内容(经常和more搭配使用),或将多个文件合并成一个文件。
2. chgrp:用来改变文件或目录所属的用户组,命令的参数以空格分开的要改变属组的文件列表,文件名支持通配符,如果用户不是该文件的所有者,则不能改变该文件的所属组。
3. chmod:用于改变文件或目录的访问权限,该命令有两种用法:一种是使用图形化的方法,另一种是数字设置法。
4. chown:用来将指定用户或组为特定的所有者。用户可以设置为用户名或用户ID,组可以是组名或组ID。特定的文件是以空格分开的可以改变权限的文件列表,文件名支持通配符。
5. clear:用来清除终端屏幕。
6. cmp:用来比较两个文件的大小。
7. cp:(copy)可以将文件或目录复制到其他目录中,就如同Dos下的copy命令一样,功能非常强大。在使用cp命令时,只需要指定源文件名或目标目录即可。
8. cut:用来移除文件的部分内容。
9. diff:用来找出两个文件的不同之处。
10. du: 用来显示磁盘的剩余空间的大小。
11. file:用来显示文件的类型。
12. find:用来在目录中搜索文件,并执行指定的操作。
13. head:只查看文件的头几行内容,而不必浏览整个文件。
14. ln:可以在文件之间创建链接,实际上是给某个文件指定一个访问它的别名。
15. less:用法与more类似,可以查看超过一屏的文件内容,不同的是less除了可以按空格键向下显示文件外,还可以利用方向键来滚动显示文件,要结束浏览,只要在less的提示符“:”后按Q即可。
16. locate:可用于查找文件,且比find命令的搜索速度快。
17. ls(list):用来显示当前目录中的文件和子目录列表。
18. mkdir(make directory):建立子目录。
19. more:用于显示内容超过一屏的文件,为了避免文件内容显示瞬间就消失,可以使用more命令让文件显示满一屏时暂停,在按下任意键的时候继续显示下一屏的内容。
20. rmkdir(remove directory):用来删除“空”的子目录或无用的目录文件。
21. mv(move):可以将文件以及目录移到其他位置,或更改文件以及目录的名称。
22. pico:可指定文本的编辑方式。
23. pwd(print working directory):可显示用户当前所在的目录。
24. rm:用来删除系统中过时或无用的文件,可以删除目录中的文件或目录本身,对于链接文件,原有文件保持不变。
25. sort:将文本文件自动分类。
26. stat:用于显示文件或文件系统的状态。
27. Strings:显示文件中要打印的字符串。
28. tail:输出文件的结尾。
29. touch:改变文件的时间戳。
30. umask:用于启动bash shell。
31. uniq:移除已分类文件中的重复文本行。
32. vi:启动vi文本编辑器。
33. wc:显示文件中字节、词组合文本行的数目。
34. whereis:查找特定目录下的原始程序,二进制程序或用户手册等文件的位置。
35. man:如果用户对某个命令想了解更详细的话,可使用此命令。
36. dd:复制一个文件。
37. df:查看一个文件系统的磁盘空间使用情况。
38. edquoat:设置用户与用户组的磁盘空间限制,即Windows系统中的配额。
39. fdformat:格式化软盘。
40. fdisk:执行Linux下的`磁盘分区。
41. mkfs:建立一个Linux文件系统。
42. mkswap:创建一个Linux交换分区。
43. mount:挂载一个文件系统。
44. quota:限制和显示用户可用的磁盘空间。
45. swapon,swapoff:启用或取消设备和文件的交换页。
46. quotaon,quotaoff:启用或取消quota限制。
47. umount:取消文件系统的装备。
系统管理命令
1. finger:查询用户信息,也能查看默认的用户环境。
2. ftp:标准的文件传输协议的用户接口,是在网络上传输文件最简单有效的方法。
3. host:用于DNS查询。
4. hostname:用于显示或设置系统的主机名。
5. ifconfig:用于配置网卡接口。(可以使用down或up参数来禁用或启用某个网卡接口)
6. mail:发送和接收邮件。
7. netstat:显示网络连接、路由表和网络接口信息,用户可以知道目前那些网络连接正在运行。
8. ping:此命令用于测试本计算机和网络上其它的计算机是否相连。
9. rlogin:远程登陆命令,该命令与telnet命令很相似,允许用户启动远程系统的交互会话。
10. rcp:rcp(remote file copy)命令是远程文件复制命令,该命令用于在计算机之间复制文件,有两中格式,一种格式用于文件动文件的复制,另一种用于把文件或目录复制到其他文件目录中。
11. route:此命令用于显示或设置IP路由表。
12. tcpdump:此命令用于测试网络的通信量。
13. talk:此命令可用于事项网络用户的适时交谈,但是必须将双方系统的信息加入各自的/etc/hosts文件中,以相互识别。
14. telnet:此命令用于通过网络登陆远程计算机,如同操作本地计算机一样。
15. wall:wall(write all)命令可以用于发送消息给登陆本机的用户。在发送消息时,可直接输入要发送的消息,也可以把文件当成消息发送。
16. wget:此命令用于Linux环境下从Internet上下载文件,支持http和ftp协议,支持代理服务器和断点连续传功能,能够递归远程主机上的目录,查找合乎要求的的文件并下载到本地硬盘上。Wget命令可以在后台运行,截获并忽略hantfup信号,因此用户退出登陆后,仍可继续运行。
17. ,bg:,bg命令是后台执行命令,有时候用户执行的程序可能要话很多时间,如果放在前台执行,可能无法继续其他操作,最好将他放在后台执行。
18. fg:fg命令是前台执行命令,如果用户有程序在后台运行,可以通过fg命令将程序从后台移到前台执行。
19. jobs:此命令用于显示正在后台执行的任务清单。Bg,fg,jobs命令都属于bash命令,
20. kill:此命令用于终止一个程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用于显示程序的状态。
22. top:此命令用于显示当前CPU进程。
23. at batch atp atrm:这些命令用于排序,检查或删除后台运行的任务。
Linux与用户有关的命令:
1. passwd命令:更改用户口令。
格式:passwd [用户名]
2. su命令:可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级拥护以普通用户的身份做一些事情。
格式:su[选项][?][使用者账号]
说明:若没有指定的使用者账号,则系统预设值为超级用户root。该命令中个选项的含义分别为:
-c:执行一个命令后就结束。
-:加了这个减号的目的是使环境变量和欲转换的用户相同。
-m:保留环境变量不变。
Linux系统管理命令:
1. wall命令:对全部以登陆的用户发送信息。
2. write命令:向系统中某一用户发送信息。
格式:write 用户账号 [终端名称]
3. mesg命令:设定是否允许其他用户用write命令给自己发送信息。
如果允许输入命令:mesg y
如果不允许输入命令:mesg n
4. sync命令:在关闭Linux系统是使用的。Sync是强制把内存中的数据写回硬盘,以免数据丢失。
5. shutdown命令:可以安全的关闭或重启Linux它在系统关闭之前给系统上的所有登陆用户提示一条警告信息。
格式:shutdown [选项][时间][警告信息]
命令中选项的含义:
-k:并不真正关机,而只是发出警告信息给所有用户。
-r:关机后立即重新启动。
-h:关机后不重新启动。
-f快速关机,重新启动时跳过fsck。
-n:快速关机,不经过init程序。
-c:取消一个已经运行的shutdown。
6. free命令:查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
格式:free [-b | -k |-m]
命令中各个选项的含义:
-b:以字节为单位显示。
-k:以K字节为单位显示。
-m:以兆字节为单位显示。
7. uptime命令:显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
8. df命令:检查文件系统的磁盘空间占用情况。
格式:df [选项]
说明:df命令可显示所有文件系统对I节点和磁盘块的使用情况。
命令中各个选项的含义:
-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统。
-k:以k字节为单位显示。
-i:显示i节点信息,而不是磁盘块。
-t:显示各指定类型的文件系统的磁盘空间使用情况。
-x:列出不是某一指定类型文件系统的磁盘空间使用情况。
-T:显示文件系统类型。
9. du命令:显示磁盘空间的使用情况。统计目录(或文件)所占磁盘的大小。
格式:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
命令中各个选项的含义:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归的显示指定目录中各文件及子孙目录中个文件占用的数据块数。若既不指定-s,也不指定-a,则显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k:以1024字节为单位列出磁盘空间的使用情况。
-c:最后再加上一个总计(系统缺省设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
10. dd命令:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。
格式:dd [选项]
命令中各个选项的含义:
if = 输入文件(或设备名称)。
of = 输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,及读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,及写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs).
cbs = byte 一次转换bytes字节。
count = blocks 只拷贝输入的block块。
conv = ASCⅡ 把EBCDIC码转换为ASCⅡ。
conv = ebcdic 把ASCⅡ码转换为EBCDIC码。
conv = ibm ibm把ASCⅡ码转换为alternate EBCDIC码。
conv = block 把变动位转换成固定字符。
conv = ublock 把固定位转换成变动位。
conv = ucase 把字母由小写转换为大写。
conv = lcase 把字母由大写转换为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错是不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。
11. fdformat命令:低级格式化软盘。
格式:format [-n] device
说明:-n 软盘格式化后不作检验。
12. echo命令:在显示器上显示一段文字,一般起到一个提示作用。
格式:echo [-n] 字符串
13. cal命令:显示某年某月的日历。
格式:cal [选项] [月 [年]]
命令中各个选项的含义:
-j:显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
-y:显示出整年的日历。
14. date命令:显示和设置系统日期和时间。
格式:date [选项] 显示时间格式 (以 + 开头,后面接格式)
date [选项] 设置时间格式
命令中各个选项的含义:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移动光标:
Ctrl + b:上滚一屏
Ctrl + f:下滚一屏
Ctrl + d:下滚半屏
Ctrl + u:上滚半屏
G: 移到文件最后
W:移到下个字的开头
B:跳至上个字的开头
2. 删除
x:删除当前光标所在后面一个字符
#x:删除当前光标所在后面#个字符。例如,5x表示删除5个字符。
dd:删除当前光标所在行
#dd:删除当前光标所在后面#行。例如,5dd表示删除字光标算起的5行。
:l,#d:例如,:1,12d表示删除自行1至行12的文字
X:删当前光标的左字符
D:删至行尾
3. 更改
cw:更改光标处的字到此单字的字尾处
c#w:例如,c3w表示更改3个字
cc:修改行
c:替换到行尾
4. 取代
r:取代光标处的字符
R:取代字符直到按ESC为止
5. 复制
yw:拷贝光标处的字到字尾只缓冲区
P:把缓冲区的资料贴上来
yy:拷贝光标所在之行至缓冲区
#yy:例如:5yy,拷贝光标所在之处以下5行至缓冲区
Linux文件的复制,删除和移动命令
1.cp命令:该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的COPY命令一样,功能十分强大。
语法:cp[选项]源文件或目录,目标文件或目录
说明该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各项选项含义如下:
-a:该选项通常在拷贝目录是使用。他保留链接,文件属性,并递归地拷贝目录,其作用等于dpr选项的组合。
-d:拷贝是保留链接
-f:删除已经存在的目标文件而不提示。
-I:和 f选项相反,在覆盖目标文件之前将给出提示要求拥护确认。回答y时目标文件将被覆盖,是交互式拷贝。
-p:此时cp除复制源文件的内容外,还将把其修改时间和反问权限也复制到新文件中。
-r;若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-L:不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp 命令拷贝文件后,这个文件酒会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用I选项。
2.mv命令:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MS-DOS下的ren 和 move 的组合。
语法:mv[选项]源文件或目录 目标文件或目录。
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),他将所给的源文件或目录重命名为给顶的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参加参数可以有很多个,mv命令将个参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
-I:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
-f:禁止交互操作。在mv操作要覆盖某已有的目标文件是不给任何指示,指定此选项后,I选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用I选项。
3.rm命令:用户可以用rm命令删除不需要的文件。该命令的功能问删除一个目录中的一个或多个文件或目录,他也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,源文件保持不变。
Rm命令的一般形式为:
Rm [选项]文件……
如果没有使用-r选项,则rm不会删除目录。
该命令的各选项含义如下:
-f:忽略不存在的文件,从不给出提示。
-r:指示rm将参数中列出的全部目录和子目录均递归地删除。
-I:进行交互式删除。
使用rm命令要小心。因为一旦文件被删除,他是不能被恢复的。为了防止这种情况的发生可以使用I选项俩逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
Linux目录的创建与删除命令:
1. mkdir命令
功能:创建一个目录(类似MS-DOS下的md命令)。
语法:mkdir[选项]dir-name
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中个选项的含义为:
-m:对新建目录设置存取权限。也可以用chmod命令设置。
-p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
2. rmdir命令
功能:删除空目录。
语法:rmdir[选项]dir-name。/
说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。Rm-r dir 命令可代替rndir,但是有危险性。删除某目录时也必须具有对父目录的、写权限。
命令中个选项的含义为:
-p递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
3. cd命令
功能:改变工作目录。
语法:cd[directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
该命令可以使用通配符(如”*,_”这样的通配符号)。
4. pwd命令
在Linux层次结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
5. ls命令
ls是list的简写,其功能为列出目录的内容。这是拥护最常用的一个命令之一,因为用户需要不时地查看某个目录的内容,该命令类似于DOS下的dir命令
语法:ls[选项][目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。但未给出目录名或是文件名时,就显示当前目录的信息。
命令中各个选项的含义:
-a:显示指定目录下所有子目录与文件,包括隐藏文件。
-A:显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和“..”.
-b:对文件名中的不可显示字符用把禁止
linux中所有设备都是以文件的形式显示
linux下文件的后缀名无实际意义
命令
pwd 显示路径
man +命令 列出操作说明
ls -l/-help列出 文件目录
cd / 目录做实验
安装步骤 configure make make install?
rm -r dl 递归删除目录
rm -rf 删除所有目录
rm -f 加文件名 删除文件
rmdir +文件地址 删除文件夹所有和rm -rf功能差不多
touch 加名字 创建新文件
cp 复制 mv 移动 rm 删除
vi 文本编辑器 输入a将从命令格式变成输入格式
head tail 查看前面和后面
find 加位置 加文件名 查找
echo $PATH 查询路径
useradd 加名字 添加用户
userdel 加名字 删除用户
su 加用户名 切换用户
chmod +x/-x 加文件名 修改文件权限
chmod 755 加文件名 改变权限在安装程序时
grep 加文本字符 加在那个文件 查找字符存在那行
fdisk -l 查看磁盘信息
命令1|命令2|命令三... 管道
ps -ef查看进程
ifconfig linux查看ip
重定向
linux和其它机器之间共享文件vsftp Windows和linux传输文件15-17
putty远程登录软件ssh
gzip 压缩和解压缩 -d解压 21
service iptables off防火墙关闭
tar -xvf 第二层解压缩
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz ./DirName
压缩:tar zcvf FileName.tar.gz DirName
.tar.bz2
解压:tar xjf FileName.tar.bz2 ./DirName
压缩:tar cjf FileName.tar.bz2 DirName
rpm -ivh 加.rpm文件 安装
安装sudo apt-get install 软件名
;
命令格式: 命令 [-选项] [参数]
如:ls -la /usr
**说明: **
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a à ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a
作用:切换用户身份
语法:su [选项] 用户名
-c 仅执行一次命令,而不切换用户身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目录的CRUD
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录] / 切换到根目录
.. 回到上一级目录
. 当前目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
2,,绝对路径 cp –R / ect/service /root/test/aa/bb
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
扩展点 :删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
eg:cat /etc/services
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
eg:head -20 /etc/services head –n 3 /etc/services
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接
eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13链接文件的长度
格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
2,- 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
1,相当于 cp -p +同步更新
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
扩展:man的级别 (帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)
[图片上传失败...(image-6718d2-1624438708895)]
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令
命令名 --help 列举该命令的常用选项
eg: cp --help
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件类型查找
f 二进制文件l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find****查找的基本原则 :
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
命令路径:/usr/bin/which 执行权限:所有用户
作用: 显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
命令路径:/usr/bin/bzip2 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
**shutdown **[选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令
**reboot **重启系统 reboot -h now立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
《大碗》编辑器版
周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
:
[图片上传失败...(image-a08366-1624438708894)]
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光标后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光标前插入文本
|
|
I(shift+i)
|
在本行开始插入文本 行首
|
|
o
|
在光标下插入新行
|
|
O(shift+o)
|
在光标上插入新行
|
|
命令
|
作用
|
|
:set nu
|
设置行号
|
|
:set nonu
|
取消行号
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存为指定文件
|
|
:w a.txt
|
内容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷键,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只读属性)
|
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
|
命令
|
作用
|
|
x
|
删除光标所在处字符 nx 删除光标所在处后n个字符
|
|
dd
|
删除光标所在行,ndd删除n行
|
|
:n1,n2d
|
删除指定范围的行(eg :1,3d 删除了123这三行)
|
|
dG
|
删除光标所在行到末尾的内容
|
|
D
|
删除从光标所在处到行尾
|
|
命令
|
作用
|
|
yy、Y
|
复制当前行
|
|
nyy、nY
|
复制当前行以下n行
|
|
dd
|
剪切当前行
|
|
ndd
|
剪切当前行以下n行
|
|
p、P
|
粘贴在当前光标所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光标所在处字符
|
|
R(shift + r)
|
从光标所在处开始替换字符,按Esc结束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索时忽略大小写 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一个出现位置,与搜索顺序相同
|
|
N(Shift + n)
|
搜索字符串的上一个出现位置,与搜索顺序相反
|
|
:%s/old/new/g
|
全文替换指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范围内替换指定字符串
|
% 指全文,s 指开始,g 指全局替换
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp
v 可视字符模式
V****(shift+v) 可视行模式,选择多行操作
**ctrl+v **可视块模式(列模式),操作列
I或者O进入插入模式。
1,图形化界面
2,setup 命令虚拟界面
3,修改配置文件(以网络方式为NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络生效:
service network restart
命令路径:/bin/ping 执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
netstat –antpl
临时生效:
hostname 主机名
[图片上传失败...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[图片上传失败...(image-2b9d9e-1624438708893)]
修改主机名和ip地址之间的映射关系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置别名
[图片上传失败...(image-ec86cf-1624438708893)]
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
查看系统中所有进程
ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息
作用: 查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
添加用户
语法:useradd [选项] 用户名
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
删除用户
-r 删除账号时同时删除宿主目录(remove)
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息 -a 显示所有分区包括大小为0 的分区
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 /proc/sys/vm/drop_caches