linux系统常用命令使用说明

linux上的命令很丰富,但时常记不住,有时候虽然记住了一个命令,过段时间就忘了,因此在这里做个笔记,方便查阅。

常用的命令:

uname, ifconfig, ps, df, top, ulimit, free, tail, netstat

系统状态查看与设置

uname - 显示电脑以及操作系统的相关信息

ifconfg - 可设置网络设备的状态,或是显示目前的设置

ps -命令用于显示当前进程 (process) 的状态

df -命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

top - 命令用于实时显示 process 的动态

ulimit -可用来控制shell执行程序的资源,为shell内建指令

free - 用于显示内存状态。

tail - 用于查看文件的内容

netstat -用于显示网络状态。


 

系统状态查看与设置

uname - 显示电脑以及操作系统的相关信息

uname [-amnrsv][--help][--version]

参数说明

  • -a或--all  显示全部的信息。
  • -m或--machine  显示电脑类型。
  • -n或-nodename  显示在网络上的主机名称。
  • -r或--release  显示操作系统的发行编号。
  • -s或--sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • --help  显示帮助。
  • --version  显示版本信息。

举例说明:

显示系统所有信息

# uname -a

Linux localhost.domain 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

 显示操作系统名称

# uname -s

Linux

显示操作系统发行编号

uname -r
2.6.32-754.el6.x86_64

ifconfg - 可设置网络设备的状态,或是显示目前的设置

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

 

参数说明

  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
  • io_addr<I/O地址> 设置网络设备的I/O地址。
  • irq<IRQ地址> 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

举例:

配置IP地址

给eth0网卡配置IP地址
ifconfig eth0 192.168.1.202

给eth0网卡配置IP地址,并加上子掩码
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 

给eth0网卡配置IP地址,加上子掩码,加上个广播地址
ifconfig eth0 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255

显示网络设备信息

ifconfig 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:B1:1E  
          inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fef1:b11e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1293373230 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2107665223 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:120328224874 (112.0 GiB)  TX bytes:2719895591173 (2.4 TiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:39816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39816 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2013714 (1.9 MiB)  TX bytes:2013714 (1.9 MiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:6C:A5:51  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

启动关闭指定网卡

ifconfig eth0 down
ifconfig eth0 up

修改MAC地址

ifconfig eth0 hw ether 00:A1:B2:C3:D4:E5

ps -命令用于显示当前进程 (process) 的状态

ps [options] [--help]

参数说明

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的行程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • au(x) 输出格式 :
  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
  • D: 无法中断的休眠状态 (通常 IO 的进程)
  • R: 正在执行中
  • S: 静止状态
  • T: 暂停执行
  • Z: 不存在但暂时无法消除
  • W: 没有足够的记忆体分页可分配
  • <: 高优先序的行程
  • N: 低优先序的行程
  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

举例:

查看nginx进程
ps -A | grep nginx
显示root进程用户信息

ps -u root
显示所有命令,连带命令行

ps -ef

UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Jan13 ?        00:00:05 /sbin/init
root          2      0  0 Jan13 ?        00:00:00 [kthreadd]
root          3      2  0 Jan13 ?        00:00:02 [migration/0]
root          4      2  0 Jan13 ?        00:07:38 [ksoftirqd/0]
root          5      2  0 Jan13 ?        00:00:00 [stopper/0]
root          6      2  0 Jan13 ?        00:00:01 [watchdog/0]
root          7      2  0 Jan13 ?        00:00:08 [migration/1]
root          8      2  0 Jan13 ?        00:00:00 [stopper/1]
root          9      2  0 Jan13 ?        00:22:20 [ksoftirqd/1]

 

df -命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

df [选项]... [FILE]...

参数说明: 

  • 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
  • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
  • 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
  • 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
  • 文件-k, --kilobytes 就像是 --block-size=1024
  • 文件-l, --local 限制列出的文件结构
  • 文件-m, --megabytes 就像 --block-size=1048576
  • 文件--no-sync 取得资讯前不 sync (预设值)
  • 文件-P, --portability 使用 POSIX 输出格式
  • 文件--sync 在取得资讯前 sync
  • 文件-t, --type=TYPE 限制列出文件系统的 TYPE
  • 文件-T, --print-type 显示文件系统的形式
  • 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
  • 文件-v (忽略)
  • 文件--help 显示这个帮手并且离开
  • 文件--version 输出版本资讯并且离开

举例:

显示文件系统的磁盘使用情况统计

df

Filesystem           1K-blocks     Used Available Use% Mounted on
/dev/mapper/vg_localhost-lv_root
                      51475068 20616580  28237048  43% /
tmpfs                  1953704       80   1953624   1% /dev/shm
/dev/sda1               487652    41437    420615   9% /boot
/dev/mapper/vg_localhost-lv_home
                      46983544    53188  44537064   1% /home
/dev/sr0               3897932  3897932         0 100% /media/CentOS_6.10_Final

top - 命令用于实时显示 process 的动态

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明

  • d : 改变显示的更新速度,或是在交互式指令列( interactive command)按 s
  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换显示模式,共有两种模式,一是只显示执行进程的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将互式式指令取消, 避免潜在的危机
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

举例:

显示进程信息

top

 

显示完整命令
top -c
设置信息更新时间

top -d 5

 

ulimit -可用来控制shell执行程序的资源,为shell内建指令

ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]

参数说明

  • -a  显示目前资源限制的设定。
  • -c <core文件上限>  设定core文件的最大值,单位为区块。
  • -d <数据节区大小>  程序数据节区的最大值,单位为KB。
  • -f <文件大小>  shell所能建立的最大文件,单位为区块。
  • -H  设定资源的硬性限制,也就是管理员所设下的限制。
  • -m <内存大小>  指定可使用内存的上限,单位为KB。
  • -n <文件数目>  指定同一时间最多可开启的文件数。
  • -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
  • -s <堆叠大小>  指定堆叠的上限,单位为KB。
  • -S  设定资源的弹性限制。
  • -t <CPU时间>  指定CPU使用时间的上限,单位为秒。
  • -u <程序数目>  用户最多可开启的程序数目。
  • -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

举例:

显示系统资源的设置

ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15151
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10240
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
设置单一用户程序数目上限

ulimit -u 200

free - 用于显示内存状态。

free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

free [-bkmotV][-s <间隔秒数>]

参数说明

  • -b  以Byte为单位显示内存使用情况。
  • -k  以KB为单位显示内存使用情况。
  • -m  以MB为单位显示内存使用情况。
  • -h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:

    B = bytes
    K = kilos
    M = megas
    G = gigas
    T = teras
  • -o  不显示缓冲区调节列。
  • -s<间隔秒数>  持续观察内存使用状况。
  • -t  显示内存总和列。
  • -V  显示版本信息。
显示内存使用情况

free
以总和的形式查询内存的使用信息

free -t
每10s 执行一次命令

free -s 10

tail - 用于查看文件的内容

tail 有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

tail [参数] [文件]  

参数说明:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
要显示 notes.log 文件的最后 10 行

tail notes.log
显示文件 notes.log 的最后 10 个字符

tail -c 10 notes.log

netstat -用于显示网络状态。

利用netstat指令可让你得知整个Linux系统的网络情况。

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

 

参数说明

  • -a或--all 显示所有连线中的Socket。
  • -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
  • -c或--continuous 持续列出网络状态。
  • -C或--cache 显示路由器配置的快取信息。
  • -e或--extend 显示网络其他相关信息。
  • -F或--fib 显示FIB。
  • -g或--groups 显示多重广播功能群组组员名单。
  • -h或--help 在线帮助。
  • -i或--interfaces 显示网络界面信息表单。
  • -l或--listening 显示监控中的服务器的Socket。
  • -M或--masquerade 显示伪装的网络连线。
  • -n或--numeric 直接使用IP地址,而不通过域名服务器。
  • -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或--timers 显示计时器。
  • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或--route 显示Routing Table。
  • -s或--statistice 显示网络工作信息统计表。
  • -t或--tcp 显示TCP传输协议的连线状况。
  • -u或--udp 显示UDP传输协议的连线状况。
  • -v或--verbose 显示指令执行过程。
  • -V或--version 显示版本信息。
  • -w或--raw 显示RAW传输协议的连线状况。
  • -x或--unix 此参数的效果和指定"-A unix"参数相同。
  • --ip或--inet 此参数的效果和指定"-A inet"参数相同。

举例:

显示详细的网络状况

netstat -a

显示当前户籍UDP连接状况

netstat -nu

显示监听的套接口
netstat -l

显示UDP端口号的使用情况

netstat -apu

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值