Linux-常用命令总结2

1.top
主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出to
显示参数:
PID(Process ID):进程标示号。
USER:进程所有者的用户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME+:该进程启动后占用的总的CPU时间。
Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

2.free

free命令用来显示内存的使用情况,使用权限是所有用户。
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

3.vmstat
procs ———–memory———- —swap– —–io—- –system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
1 观察磁盘活动情况
磁盘活动情况主要从以下几个指标了解:
bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。
bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。
wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。
2 观察cpu活动情况
vmstat比top更能反映出cpu的使用情况:
us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。
sy:系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。
id:cpu空闲的时间比例。
wa:cpu等待未决的磁盘IO的时间比例。

4.bs

计算器

5.man
man是manual的简写
比如,不知道date命令的用法,那么可以输入man date

6.info
除了man之外,Linux中还提供另外一种查询方式,即info,使用方法和man差不多:
[root@test root]# info command
info后面接您要查询的指令名称。通常,鸟哥比较喜欢用man进行查询,您可以互相比
较看看。

7.ps -aux

查看当前运行进程

8.查看命令总结

cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出,tac是cat的倒写
more 一页一页地显示文件内容
less 与more类似,但其优点是,可以往前翻页
head 只看头几行
tail 只看末尾几行
nl 显示时同时输出行号
od 以二进制方式读取文件内容

9.搜寻文件或目录

which 查看可执行文件的位置
whereis 查看文件的位置
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称

10.find

语法:
[root @test /root ]# find [路径] [参数]
参数说明:
1. 时间:
-atime n :将n*24小时内被存取过的文件列出来
-ctime n :将n*24小时内被改变、新增的文件或目录列出来
-mtime n :将n*24小时内被修改过的文件列出来
-newer file :把比file还要新的文件列出来
2. 使用名称:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户名称为name的文件
-name file :寻找文件名为file的文件名称(可以使用通配符)
-type type :寻找文件属性为type的文件,type包含了b, c, d, p, l, s,
这些与前一章的属性相同。例如l为Link而d为目录
范例:
[root @test /root]# find / -name testing <==寻找文件名为testing
[root @test /root]# find / -name ‘test*’ <==寻找文件名包含test的
[root @test /root]# find . -ctime 1
寻找当前目录下一天内新增的目录或文件
[root @test /root]# find /home/test –newer .bashrc
寻找/home/test目录下比.bashrc还要新的文件

11.df

df 查看硬盘的总容量、已用容量与inode等
du 查看文件已用容量

语法:
[root @tsai /root ]# df -[ikm]

参数说明:
-i: 使用 i-nodes 显示结果
-k: 使用 KBytes 显示结果
-m: 使用 MBytes 显示结果
范例:
[root @test root]# df –k

12.sync

语法:
[root @test /root ]# sync
参数说明:
例:
[root @test /root]# sync; sync

13.mount与unmount

14.重定向

注意,1>与2>之间没有空格符。相关使用说明举例如下:
[test @test test]# ls -al > list.txt
将显示结果输出到 list.txt 文件中,若该文件已存在则予以取代
[test @test test]# ls -al >> list.txt
将显示结果累加到list.txt 文件中,该文件为累加的,旧数据保留!
[test @test test]# ls -al 1> list.txt 2> list.err
将显示数据正确输出到 list.txt,错误的数据输出到list.err
[test @test test]# ls -al 1> list.txt 2>&1
将显示数据不论正确或错误均输出到list.txt中。注意,错误与正确信息输出到同一个文件中,则
必须以上面的方法来写,不能写成其他格式
[test @test test]# ls -al 1> list.txt 2> /dev/null
将显示的数据,正确的输出到list.txt,错误的数据予以丢弃!

15.管线命令

  1. 执行last,将这个月的所有人的所有登入数据取出来;
  2. 使用grep将上面的输出数据(stdout)中的root撷取出来,其他的不要;
  3. 使用wc这个可以计算行数的指令对上一步取到的数据计算行数。
    由于last的输出是一行代表一次登入,所以只要计算出几行就代表登入几次,所以,经
    过上面3个步骤,将last数据逐步筛选,就可以得到我们需要的数据了。整个命令可以写成:
    [test @test bin]# last
    [test @test bin]# last | grep root
    [test @test bin]# last | grep root | wc -l
    您可以分别执行last,然后再逐步增加为last | grep root,最后到上面那一行,马上就可
    以清楚地知道为何会这么做。

16.cut
语法:
[root @test /root ]# cut -d “分隔字符” [-cf] fields
参数说明:
-d :后面接的是分隔字符,默认是空格符
-c :后面接的是第几个字符
-f :后面接的是第几个区块
范例:
[root @test /root]# cat /etc/passwd | cut -d “:” -f 1
将 passwd文件中每一行里的“:”用作分隔符,列出第一个区块,也就是姓名所在
[root @test /root]# last | cut -d ” ” -f1
以空格符作为分隔,并列出第一个区块
[root @test /root]# last | cut -c1-20
将 last 之后的数据,每一行的1~20个字符取出来
这个cut实在好用。不过,说真的,除非您常需要分析日志文件,否则使用cut的机会不
多!cut主要的用途在于将同一行里的数据进行分解,最常用在分析一些数据或文字数据的
时候,这是因为有时候我们会以某些字符当作分割参数,然后将数据加以切割,以取得我
们需要的数据。我也很常用这个功能,尤其是在分析日志文件的时候。

17.sort

语法:
[root @test /root ]# sort [-t 分隔符] [(+起始)(-结束)] [-nru]
参数说明:
-t 分隔符:使用分隔符隔开不同区块,默认是 tab
+start -end:由第 start 区块排序到end区块
-n: 使用纯数字排序(否则会以字母方式排序)
-r: 反向排序
-u: 相同出现的一行,只列出一次
范例:
[root @test /root]# cat /etc/passwd | sort
将列出来的个人账号排序!
[root @test /root]# cat /etc/passwd | sort -t: +2n
将个人账号以用户ID排序(以 : 作分隔符,第三个为ID,但第一个代号为 0)
[root @test /root]# cat /etc/passwd | sort -t: +2nr
反相排序
sort同样是很常用的指令,因为我们常常需要比较一些信息。举上面的第二个例子来说
明,假设您有很多账号,而且您想知道最大的用户ID目前是哪一号,sort一下就可以知道答
案了。当然其用法不止于此,有空的话不妨试一试。

18.wc
语法:
[root @test /root ]# wc [-lmw]
参数说明:
-l :多少行
-m :多少字符
-w :多少字
范例:
[root @test /root]# cat /etc/passwd | wc -l
这个文件里有多少行
[root @test /root]# cat /etc/passwd | wc -w
这个文件里有多少字
wc是相当有用的计算文件内容的一个工具组。举个例子来说,当您要知道目前您的账
号文件中有多少个账号,就使用上面的wc –l,因为/etc/passwd里一行代表一个用户,所以
知道行数就知道有多少账号了。如果要计算一个文件里有多少个字符时,需要使用wc -w。

19.grep

语法:
[root @test /root ]# grep “word” filename
参数说明:

范例:
[root @test /root]# grep root /var/log/secure
将 /var/log/secure 这个文件中有 root 的那一行显示出来
[root @test /root]# grep “[a-d]” /var/log/secure
输出含有a-d的行
在上面的第一个例子中,我们知道系统的登入信息文件都记录在 /var/log/secure这个登
录文件中,那么要将这个文件里关于 root 的数据取出来,可以使用grep。很简单吧!但它
是很有用的信息。
例题:我想知道 /var/log/messages 这个文件里所有跟kernel 有关的文字。
答:
想知道的是kernel,找这个关键词即可,所以:
grep kernel /var/log/messages
例题:我想知道某个文件里含有boot的字眼,而这个文件在/etc/下,我要如何找出这个
文件?
答:
知道这个字眼就好办了,可以直接输入:
grep boot /etc/*
例题:我想找出在/etc下文件内容含有*的文件名称?
答:
由于*是特殊字符,在变量命名法则里曾经提过要将特殊字符移除,需要使用跳转字符,
即\符号,所以可以这样输入指令:
grep * /etc/*
此外,除了正规表示法之外,我们还可以通过搭配通配符进行字符串的搜索与其他应
用。下面列出几个常见的通配符及其含义。

^ 句首字符相符
$ 句尾相同的字符
? 任何一个单一字符
* 随意几个任意字符
\ 跳转符号,将特殊字符变成普通字符
[list] 列表中的字符
[range] 列表中范围内的字符
[^list] 反向选择,与 [list] 相反
[^range] 反向选择,与 [range]相反
{n} 与前一个相同字连续n个
{n,m} 与前一个相同字连续n-m个

系统
  # uname -a # 查看内核/操作系统/CPU信息
  # head -n 1 /etc/issue # 查看操作系统版本
  # cat /proc/cpuinfo # 查看CPU信息
  # hostname # 查看计算机名
  # lspci -tv # 列出所有PCI设备
  # lsusb -tv # 列出所有USB设备
  # lsmod # 列出加载的内核模块
  # env # 查看环境变量
  资源
  # free -m # 查看内存使用量和交换区使用量
  # df -h # 查看各分区使用情况
  # du -sh # 查看指定目录的大小
  # grep MemTotal /proc/meminfo # 查看内存总量
  # grep MemFree /proc/meminfo # 查看空闲内存量
  # uptime # 查看系统运行时间、用户数、负载
  # cat /proc/loadavg # 查看系统负载
  磁盘和分区
  # mount | column -t # 查看挂接的分区状态
  # fdisk -l # 查看所有分区
  # swapon -s # 查看所有交换分区
  # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
  # dmesg | grep IDE # 查看启动时IDE设备检测状况
  网络
  # ifconfig # 查看所有网络接口的属性
  # iptables -L # 查看防火墙设置
  # route -n # 查看路由表
  # netstat -lntp # 查看所有监听端口
  # netstat -antp # 查看所有已经建立的连接
  # netstat -s # 查看网络统计信息
  进程
  # ps -ef # 查看所有进程
  # top # 实时显示进程状态
  用户
  # w # 查看活动用户
  # id # 查看指定用户信息
  # last # 查看用户登录日志
  # cut -d: -f1 /etc/passwd # 查看系统所有用户
  # cut -d: -f1 /etc/group # 查看系统所有组
  # crontab -l # 查看当前用户的计划任务
  服务
  # chkconfig –list # 列出所有系统服务
  # chkconfig –list | grep on # 列出所有启动的系统服务
  程序
  # rpm -qa # 查看所有安装的软件包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值