18.系统知识-Linux常用命令

1.1linux系统概述


Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年9 月发布,当时仅有 10 000 行代码。Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与UNIX 非常类似。系统命令是在用户编程接口之上,它实际上是一个可执行程序,内部是引用了用户编程接口(API)来实现相应的功能。

1.2 linux系统与Windows系统的区别

1.3 linux系统目录结构概述

/bin
存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。
/etc
存放系统管理和配置文件
/home
存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表

/usr
用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这
是最庞大的目录,要用到的应用程序和文件几乎都在这个目录
/opt
额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里 

/proc
此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空
间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root
系统管理员root的家目录。
/sbin、/usr/sbin、/usr/local/sbin
放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系
统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp
一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登
录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

在正式学习linux系统之前需要学习一些在linux中的基本操作:
linux系统终端
命令基础知识
进出目录
查看目录内的信息

1.3.1 linux系统终端

1.3.2 linux系统命令基础知识

使用命令的注意事项:
• 在Linux系统中命令区分大小写
• 在命令行中,可以使用Tab键来自动补齐命令,即可以只输入命令的前几个字母,然后按Tab键,系统将自动补齐该命令,若命令不止一个,则显示出所有和输入字符相匹配的命令
• 按Tab键时,如果系统只找到一个和输入字符相匹配的目录或文件,则自动补齐;如果没有匹配的内容或有多个相匹配的名字,系统将发出警鸣声,再按一下Tab键将列出所有相匹配的内容,以供用户选择

1.3.3 进出目录命令

cd命令用来在不同的目录中进行切换。如果用户想切换到其他的目录中,就可以使用cd命令,后跟想要切换的目录名。
在Linux系统中,用“.”代表当前目录;用“..”代表当前目录的父目录;用“~”代表用户的个人主目录。
命令格式: cd [目录名]
常用选项:
~进入当前用户主目录
-返回进入此目录之前所在的目录
!$把上个命令的参数作为cd参数使用

可以操作进出目录之后,需要了解目录和路径
• 绝对路径就是从根目录一直到目标文件的目录的完整路径
• 相对路径是指从当前路径开始的路径
pwd命令可以用来查看当前的绝对路径,如果用户不知道自己当前所处的目录,就可以使用这个命令获得当前
所在目录。

 1.3.4 查看目录信息

ls命令用来列出文件或目录信息。
命令格式:ls [参数] [目录或文件]
常用参数选项有:
-a:显示所有文件,包括以“.”开头的隐藏文件。
-A:显示指定目录下所有的子目录及文件,包括隐藏文件。但不显示“.”和“..”。
-c:按文件的修改时间排序。
-C:分成多列显示各行。
-d:如果参数是目录,只显示其名称而不显示其下的各个文件。往往与“c-l”选项一起使用,以得到目录
的详细信息。
-l:以长格形式显示文件的详细信息。
-i:在输出的第一列显示文件的i节点号
-h 以更容易理解形式显示文件大小

2.1linux系统文件概述

2.2 cat 

cat命令主要用于滚屏显示文件内容。
命令格式:cat [参数] 文件名
常用参数选项:
-b:对输出内容中的非空行标注行号。
-n:对输出内容中的所有行标注行号。

2.3 more 

使用cat命令时,如果文件太长,用户只能看到文件的最后一部分。这时可以使用more命令,一页一页的分屏显示文件的内容。按【Enter】键可以向下移动一行,按【space】键可以向下移动一页;按【q】键可以退出
more命令。
命令格式: more [参数] 文件名
more命令的常用参数选项有:
-num:这里的num是一个数字,用来指定分页显示时每页的行数。
+num:指定从文件的第num行开始显示

2.4 less

less命令是more命令的改进版,比more命令的功能强大。more命令只能向下翻页,而less命令可以向下、向上翻页,甚至可以前后左右的移动。
执行less命令后,进入了less状态,
• 按【Enter】键可以向下移动一行,
• 按【space】键可以向下移动一页;
• 按【b】键可以向上移动一页;
• 用光标键向前、后、左、右移动;
• 按【q】键可以退出less命令。
less命令还支持在一个文本文件中进行快速查找。先按下斜杠键【/】,再输入要查找的单词或字符。less命令
会在文本文件中进行快速查找,并把找到的第一个搜素目标高亮度显示。如果希望继续查找,就再次按下斜杠
键【/】,再按【Enter】键即可。

2.6 head

head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。
命令格式:head [参数] 文件名
常用参数选项:
-n num:显示指定文件的前num行。
-c num:显示指定文件的前num个字符。

2.7 tail


tail命令用于显示文件的末尾部分,默认情况下只显示文件的末尾10行内容。
命令格式:tail [参数] 文件名
tail命令的常用参数选项有:
-n num:显示指定文件的末尾num行。
-c num:显示指定文件的末尾num个字符。
+num:从第num行开始显示指定文件的内容 

3.1 linux系统查找文件和目录命令 

查找目录和文件的命令主要使用以下两个命令:
find
grep

3.3 find

 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
该命令的语法为:find <目录> <参数>
find命令的常用参数选项有:
-name <表达式>: 根据文件名查找文件
-user <用户名>: 按归属用户查找文件
-type <文件类型>: 根据文件类型查找文件。(b块设备、 c字符设备、d目录、p管道文件、f普通文件、
l链接、s端口文件)
-size <大小> :根据文件大小查找,单位b c w k M G
加上|xargs tar cvzf <文件名> :可以将查询的结果压缩

3.4 grep

grep命令用于查找文件中包含有指定字符串的行。
该命令的语法为:grep [参数] 要查找的字符串 文件名
grep命令的常用参数选项有:
-v:列出不匹配的行。
-c:对匹配的行计数。
-l:只显示包含匹配模式的文件名。
-h:抑制包含匹配模式的文件名的显示。
-n:每个匹配行只按照相对的行号显示。
-i:对匹配模式不区分大小写。

3.5 扩展


在了解上述命令之后,还想了解对目录和文件的操作命令
• mkdir
• rmdir
• cp
• mv
• rm
• df 

3.6.1 mkdir

mkdir命令用于创建一个目录。
命令格式:mkdir [参数] 目录名
常用参数
–p:如果父目录不存在,则同时创建该目录及该目录的父目录。

3.6.2 rmdir


rmdir命令用于删除空目录。
命令格式:rmdir [参数] 目录名
常用参数
-p:在删除目录时,一起删除父目录,但父母录中必须没有其他目录及文件。 

3.6.3 cp


cp命令主要用于文件或目录的复制。
命令格式:cp [参数] 源文件 目标文件
常用参数选项:
-f:如果目标文件或目录存在,先删除它们再进行复制(即覆盖),并且不提示用户。
-i:如果目标文件或目录存在,提示是否覆盖已有文件。
-R:递归复制目录,即包含目录下的各级子目录。 

3.6.4 mv


mv命令主要用于文件或目录的移动或改名。
命令格式:mv [参数] 源文件或目录 目标文件或目录
常用参数选项:
-i:如果目标文件或目录存在时,提示是否覆盖目标文件或目录。
-f:无论目标文件或目录是否存在,直接覆盖目标文件或目录,不提示 

3.6.5 rm


rm命令主要用于文件或目录的删除。
命令格式:rm [参数] 文件名或目录名
常用参数选项:
-i:删除文件或目录时提示用户。
-f:删除文件或目录时不提示用户。
-R:递归删除目录,即包含目录下的文件和各级子目录。 

3.6.6 df


df命令主要用来查看文件系统的各个分区的占用情况。 该命令列出了系统上所有已挂载的分区大小、
已占用的空间、可用空间以及占有率。
命令格式:df [选项]
常用参数选项:
空间大小的单位是K(df –h,单位为M)

3.6.7 du


du命令主要用来查看某个目录中的各级子目录所使用的硬盘空间数。
命令格式:du [选项] [参数]
常用选项参数:
-a:显示目录中个别文件的大小。
-c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k:以KB(1024bytes)为单位输出。
-m:以MB为单位输出。
-s:仅显示总计,只列出最后加总的值。
-h:以K,M,G为单位,提高信息的可读性 

 4.1linux常用命令概述


在linux运维时,主要查看系统的网络和性能方面。
网络方面:ping,iptables,netstat,ifconfig,route,tcpdump,ethtool,iperf,telnet
性能方面:df,free,ps,top,kill

4.2.1 ping


ping命令是常用的网络命令,它通常用来测试与目标主机的连通性。它通过发送ICMP ECHO_REQUEST数据包
到网络主机,并显示响应情况。
命令格式: ping [参数] [主机名或IP地址]
常用选项参数:
-c 数目:在发送指定数目的包后停止
-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-t 存活数值:设置存活数值TTL的大小。

 4.2.2ifconfig


ifconfig命令用来配置或查看网卡接口.
命令格式:ifconfig [网络设备] [参数]
常用参数选项:
up:启动指定网络设备/网卡。
down:关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一
个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
-a:显示全部接口信息
-s:显示摘要信息(类似于 netstat -i)
add: 给指定网卡配置IPv6地址
del :删除指定网卡的IPv6地址
注意:单独使用ifconfig时,只显示激活状态的网络设备信息

 4.2.3 netstat


netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报
告。
命令格式:netstat [参数]
常用参数选项有:
-a:显示所有连线中的Socket。
-n:直接使用IP地址,而不通过域名服务器。
-t:显示TCP传输协议的连线状况。
-u:显示UDP传输协议的连线状况。
-p:显示正在使用Socket的程序识别码和程序名称。
-c:持续列出网络状态

 4.2.4 route


route命令用于显示和操作IP路由表.
命令格式:route [选项] [参数]
常用参数选项有:
add:添加一条路由规则
del :删除一条路由规则
-net :目的地址是一个网络
-host :目的地址是一个主机
target :目的网络或主机
netmask :目的地址的网络掩码
gw :路由数据包通过的网关
dev :为路由指定的网络接口

4.2.5 tcpdump


tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络
或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
命令格式:tcpdump [参数]
常用参数选项有:
-i :指定监听的网络接口;
-v :输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv :输出详细的报文信息;
-c :在收到指定的包的数目后,tcpdump就会停止;
-e :在输出行打印出数据链路层的头部信息,包括源mac和目的mac,以及网络层的协议;
-f :将外部的Internet地址以数字的形式打印出来;
-w :直接将包写入文件中,并不分析和打印出来;
-X :告诉tcpdump命令,需要把协议头和包内容都原原本本的显示出来(tcpdump会以16进制和ASCII的形式显示),这在进行协议分析时是绝对的利器。 

命令:tcpdump -i eth1
说明:监视指定网络接口的数据包
命令:tcpdump host 210.27.48.3
说明:截获210.27.48.3主机收到的和发出的所有数据包
命令:tcpdump host 210.27.48.4 and (210.27.48.5 or 210.27.48.6)
说明:截获210.27.48.3主机和210.27.48.5或者210.27.48.6主机进行通信的所有数据包
命令:tcpdump tcp port 23 and host 210.27.48.3
说明:获取主机210.27.48.3上端口为23的应用发出和接收的所有TCP协议包
命令:tcpdump src host 10.126.1.222 and dst net 10.126.1.0/24
说明:截获源主地址为10.126.1.222,目的地址是10.126.1.0/24整个网络
命令:tcpdump -i eth0 -s0 -C 1 -Z root -w eth0Packet.pcap
说明:抓取报文后按照指定报文大小保存;-C选项后接文件大小,单位为MB;上述命令就是每抓包文件达到
1MB时就使用一个新的文件保存新抓的报文

4.2.6 iptables


Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核
中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。
命令格式:iptables [选项] [参数]
常用选项:
-A :在指定链的末尾添加(append)一条新的规则
-D :删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I :在指定链中插入(insert)一条新的规则,默认在第一行添加
-R :修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L :列出(list)指定链中所有的规则进行查看
-E : 重命名用户定义的链,不改变链本身
-F : 清空(flush)
-N :新建(new-chain)一条用户自己定义的规则链
-X :删除指定表中用户自定义的规则链(delete-chain)
-P :设置指定链的默认策略(policy)
-Z :将所有表的所有链的字节和数据包计数器清零
-n :使用数字形式(numeric)显示输出结果
-v :查看规则表详细信息(verbose)的信息

4.2.7 iperf


Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据
需要调整,可以报告带宽、延迟抖动和数据包丢失。
命令格式:iptables [选项] [参数]
常用选项:
-l :设置读写缓冲区的长度
-s : 在服务器模式下运行iPerf
-c : 在客户端模式下运行iPerf,连接到在主机上运行的iPerf服务器。
-p :设置端口,与服务器端的监听端口一致
-o :重定向输出到指定文件
-t :设置传输的总时间 

4.2.8 ethtool


ethtool是用于查询及设置网卡参数的命令。
命令格式:ethtool [选项] [参数]
常用选项:
ethtool –i ethX :查询ethX网口的相关信息
ethtool –d ethX :查询ethX网口注册性信息
ethtool –r ethX :重置ethX网口到自适应模式
ethtool –S ethX :查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] :设置网口速率10/100/1000M

4.2.9 telnet


telnet命令通常用来远程登录,但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放
telnet服务,而改用更安全的ssh方式了。telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远
程服务器的某个端口是否能访问。
命令格式:telnet [选项] [主机名]
常用选项:
telnet [主机名] [端口] :确认主机端口是否可以访问

4.3.1 free


free命令主要用来查看系统内存,虚拟内存的大小及占用情况。
命令格式:free [选项]
常用选项参数:
-b:以Byte为单位显示内存使用情况。
-k :以KB为单位显示内存使用情况。
-m :以MB为单位显示内存使用情况。
-g :以GB为单位显示内存使用情况。
-s<间隔秒数> :持续观察内存使用状况。
-t :显示内存总和列。

4.3.2 ps


ps命令主要用于查看系统的进程
命令格式:ps [参数]
常用参数选项有:
-a:显示当前控制终端的进程(包含其他用户的)。
-u:显示进程的用户名和启动时间等信息。
-w:宽行输出,不截取输出中的命令行。
-l:按长格形式显示输出。
-x:显示没有控制终端的进程。
-e:显示所有的进程。
-t n:显示第n个终端的进程。 

4.3.3 kill


前台进程在运行时,可以用【ctrl+c】键来终止它,后台进程可以使用kill命令向进程发送强制终止信号,以
达到终止进程的目的 。
命令格式::kill [参数] 进程号
常用参数选项:
HUP 1 : 终端断线
INT 2 :中断(同 Ctrl + C)
QUIT 3 : 退出(同 Ctrl + \)
TERM 15 : 终止
KILL 9 :强制终止
CONT 18 :继续(与STOP相反, fg/bg命令)
STOP 19 :暂停(同 Ctrl + Z) 

4.3.4 top


top命令可以实时监控进程的状况 。
top屏幕自动每5秒钟刷新一次,也可以用“top –d 20”,使得top屏幕每20秒钟刷新一次。

4.4 扩展


shutdown命令用于在指定时间关闭系统,-h关闭计算机,-r重新启动。
立即关机 shutdown –h now
10分钟后关机 shutdown –h +10
23:30分关机 shutdown –h 23:30
立即重启 shutdown –r now
reboot命令用于重新启动系统,相当于“shutdown –r now”。
poweroff命令用于立即停止系统,并关闭电源,相当于“shutdown –h now”
clear命令用于清除字符终端屏幕内容。
uname命令用于显示系统信息 。
man命令用于列出命令的帮助手册。
history命令用于显示用户最近执行的命令。只要在命令编号前加“!”,就可以重新运行history中显示出
的命令行。

猜你喜欢

转载自blog.csdn.net/weixin_49765221/article/details/124253991