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

简介: 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系统查找文件和目录命令

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中显示出

的命令行。


相关文章
|
1天前
|
Web App开发 监控 Unix
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
|
1天前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
8 0
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(下)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
9 2
|
1天前
|
Linux Shell Python
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(上)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
13 2
|
1天前
|
存储 Unix Linux
【Linux系统编程】基础指令(三)
【Linux系统编程】基础指令(三)
|
1天前
|
Linux
【Linux系统编程】基础指令(二)(下)
【Linux系统编程】基础指令(二)
|
1天前
|
Linux C语言
【Linux系统编程】基础指令(二)(上)
【Linux系统编程】基础指令(二)
|
1天前
|
Linux
【Linux系统编程】基础指令(一)(下)
【Linux系统编程】基础指令(一)
|
1天前
|
人工智能 Unix Linux
【Linux系统编程】基础指令(一)(上)
【Linux系统编程】基础指令(一)
|
1天前
|
弹性计算 Shell Linux