显示目前登入系统的用户信息。
语法
w – [husfV] [user]
命令说明
w命令显示当前的登录人员以及他们正在进行的操作。w命令输出的内容包含两个部分:头信息和用户运行状态信息。
头信息的输出依次是当前时间、系统运行的时长、当前登录用户数、以及系统在之前1,5,15分钟的平均负荷。
用户运行状态输出依次是每个用户的登录名(USER)、tty(TTY),登录机器IP(FROM)、登录时间(LOGIN)、空闲时间(IDLE)、JCPU、PCPU以及当前正在运行的命令(WHAT)。JCPU指的是用户对应tty上所有进程执行的时间。JCPU不包括历史后台任务的执行时间但包括了当前正在运行的后台任务执行时间。
PCUP指的是当前这个进程所使用的时间。
命令参数
-h 不显示头信息
-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u 当列出当前进程和CPU时间时忽略用户名。这主要是用于执行su命令后的情况。
user 显示特定用户的信息。
相关资料
linux命令汇总
vmstat命令用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况。
输出项
| 类别 |
项目 |
含义 |
说明 |
| Procs |
r |
等待执行的任务数 |
展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了 |
| |
b |
|
|
| Memory |
swpd |
正在使用的swap大小单位K |
|
| |
free |
空闲的内存空间 |
|
| |
buff |
已使用的buff大小,对块设备的读写进行缓冲 |
|
| |
cache |
已使用的cache大小,文件系统的cache |
|
| |
inact |
|
|
| |
active |
|
|
| Swap |
si |
交换内存使用,由磁盘调入内存 |
|
| |
so |
交换内存使用,由内存调入磁盘 |
|
| IO |
bi |
从块设备读入的数据总量(读磁盘) (KB/s), |
|
| |
bo |
写入到块设备的数据总理(写磁盘) (KB/s) |
|
| System |
in |
每秒产生的中断次数 |
|
| |
cs |
每秒产生的上下文切换次数 |
上面这2个值越大,会看到由内核消耗的CPU时间会越多 |
| CPU |
us |
用户进程消耗的CPU时间百分比 |
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了 |
| |
sy |
内核进程消耗的CPU时间百分比 |
sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。 |
| |
id |
空闲 |
|
| |
wa |
IO等待消耗的CPU时间百分比 |
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 |
命令比较简单,但涉及到的内存、磁盘、cpu之间的关系还是挺复杂的,需要进一步学习相关的knowledge。
相关资料
linux命令汇总
继上次丢失了mysql的root密码后,这次又丢失了linux的root密码:-(,幸好网上有现成的解决方法就直接转载了,原文地址http://www.enet.com.cn/article/2008/0204/A20080204146481.shtml。
GRUB:在引导装载程序菜单上,键入 [e] 来进入编辑模式。你会面对一个引导项目列表。查找其中类似以下输出 的句行:
kernel /vmlinuz-2.4.18-0.4 ro root=/dev/hda2
按箭头键直到这一行被突出显示,然后按 [e]。你现在可在文本结尾处空一格再添加 single 来告诉 GRUB 引导单用户 Linux 模式。按 [Enter] 键来使编辑结果生效。
你会被带会编辑模式屏幕,从这里,按 [b], GRUB 就会引导单用户 Linux 模式。 结束载入后,你会面对一个与以下相似的 shell 提示:
sh-2.05#
现在,你便可以改变根命令,键入:
bash# passwd root
你会被要求重新键入口令来校验。结束后, 口令就会被改变,你便可以在提示下键入 reboot 来重新引导;然后,象平常一样登录为根用户。
LIL当系统启动到出现LILO引导画面时,对于图形引导方式按TAB键进入文本方式,然后在LILO处输入linux single回车即可进入免密码的控制台,进入以后使用passwd命令修改root的密码即可。
useradd命令用于新增一个linux用户或是更新一些缺省新用户信息
命令语法
//新增用户语法
useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-n] [-o] [-p passwd] [-r] [-l]
[-s shell] [-u uid] login
//修改缺省新用户信息
useradd -D [-g default_group] [-b default_home]
[-e default_expire_date] [-f default_inactive]
[-s default_shell]
新帐号建立
当不加 -D 参数, useradd 指令使用命令列来指定新帐号的设定值 and 使用系统上的预设值. 新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。
-c comment
新帐号password档的说明栏。
-d home_dir
新帐号每次登入时所使用的 home_dir。预设值为 default_home 内 login 名称,并当成
登入时目录名称。
-e expire_date
帐号终止日期。日期的指定格式为 MM/DD/YY 。
-f inactive_days
帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关
闭此功能,预设值为-1
-g initial_group
group 名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在
的名称。群组数字也须为现有存在的群组。预设的群组数字为1。
-G group,[...]
定义此使用者为此一堆 groups 的成员。每个群组使用","区格开来,不可以夹
杂空白字元。
群组名同-g选项的限制。定义值为使用者的起始群组。
-m 使用者目录如不存在则自动建立。如使用-k选项 skeleton_dir 内的档案将复制至
使用者目录下。然而在 /etc/skel 目录下的档案也会复制过去取代。任何在 skele-
ton_dir or /etc/skel 的目录也相同会在使用者目录下一一建立。The-k同-m不建立
目录以及不复制任何档案为预设值。
-M 不建立使用者目录,即使 /etc/login.defs 系统档设定要建立使用者目录。
-n 预设值使用者群组与使用者名称会相同。此选项将取消此预设值。
-r 此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上
/etc/login.defs. 的 UID_MIN 来 的 小。注意useradd此用法所建立的帐号不会建立使用
者目录,也不会在乎纪录在 /etc/login.defs. 的定义值。如果你想要有使用者目录
须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。
-s shell
使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的
登 入shell。
-u uid
使用者的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为
最小不得小于999而逐次增加。0~999传统上是保留给系统帐号使用 。
改变预设值
当 -D 选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。
可 用选项为∶
-b default_home
定义使用者所属目录的前一个目录。使用者名称会附加在default_home后面用来
建立新使用者的目录。当然使用-d后则此选项无效。
-e default_expire_date
使用者帐号停止日期。
-f default_inactive
帐号过期几日后停权。
-g default_group
新帐号起始群组名或ID。群组名须为现有存在的名称。群组ID也须为现有存
在的群组。
-s default_shell
使用者登入后使用的 shell 名称。往后新加入的帐号都将使用此 shell.
如不指定任何参数,useradd 显示目前预设的值。
使用案例
useradd -d /home/username -m username //创建用户并设定用户的home路径(如果没有会自动创建)
useradd -d /home/username -m username -s /bin/bash //创建用户并设定用户的home路径(如果没有会自动,用户使用的shell是/bin/bash
参考资料
man useradd
useradd 命令详解
Creating a New User
相关资料
linux命令汇总
该文的绝大多数内容至Taobao QA Team的linux命令free详解这篇文章,只是做为学习总结特意做的笔记。
free命令介绍
语 法: free [-bkmotV][-s <间隔秒数>]
补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
参 数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息
free命令输出结果
free -t
| |
total |
used |
free |
shared |
buffers |
cached |
Mem 物理内存 |
4147796 物理内存总量 |
3377584 分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用 |
770212 未被分配的内存 |
0 共享内存 |
210416 系统分配但未被使用的buffers 数量 |
860604 系统分配但未被使用的cache 数量 |
-/+ buffers/cache 物理内存的缓存 |
|
2306564 =mem/used-mem/buffers-mem/cached |
1841232 未被使用的buffers 与cache 和未被分配 的内存之和 =mem/free+ mem/buffers+ mem/cached |
|
|
|
Swap 硬盘上交换分区 |
2096440 |
1907580 |
188860 |
|
|
|
| total |
6244236 |
5285164 |
959072 |
|
|
|
参考资料
linux命令free详解
相关资料
linux命令汇总
uname命令用于显示系统信息,根据不同的命令参数,输出不同的系统信息
命令格式如下
uname [OPTION]…
| 参数名称 |
显示内容 |
显示样例 |
| -a,–all |
显示所有内容 |
|
| -s, –kernel-name |
显示内核名称 |
Linux |
| -n, –nodename |
显示主机名 |
test0-32-227.test.com |
| -r, –kernel-release |
显示操作系统的发行编号 |
2.6.9-42.ELsmp |
| -v, –kernel-version |
显示操作系统的版本。 |
#1 SMP Wed Jul 12 23:27:17 EDT 200 |
| -m,–machine |
显示电脑类型 |
i686 |
| -p, –processor |
显示CPU类型 |
i686 |
| -i, –hardware-platform |
显示硬件平台 |
i386 |
| -o,–operating-system |
显示操作系统类型 |
GNU/Linux |
参考资料
man uname
相关资料
linux命令汇总
6月4号依照wiki.ubuntu.org.cn上的申请Ubuntu免费光盘的全程指导申请了Ubuntu9.04的光盘,今天终于到货了,免不了要上图,俗话都说有图有真相呀!
另外Ubuntu9.04硬盘安装的方法网上也有,参考链接如下
http://tech.ccidnet.com/art/302/20090424/1750209_1.html, 这个安装方法我试过OK的!
命令用途
du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。
命令格式
du [OPTION]… [FILE]…
-a, –all
包括了所有的文件,而不只是目录
–apparent-size
print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due
to holes in (’sparse’) files, internal fragmentation, indirect blocks, and the like
-B, –block-size=SIZE use SIZE-byte blocks
-b, –bytes 以字节为计算单位
-k 以千字节(KB)为计算单位
-m 以兆字节(M)为计算单位
-c, –total 最后加上一个总计(系统缺省)
-D, –dereference-args
dereference FILEs that are symbolic links
-H 跟 – -si效果一样。
-h, –human-readable 以比较阅读的方式输出文件大小信息 (例如,1K 234M 2G)。注:该选项在很多其他命令(df, ls)中也有效。
–si 跟-h 效果一样,只是以1000为换算单位
-l, –count-links 计算所有的文件大小,对硬链接文件,则计算多次。
-L, –dereference 显示选项中所指定符号连接的源文件大小。
-P, –no-dereference 不跟随任何的符号连接(缺省)
-S, –separate-dirs 计算目录所占空间时不包括子目录的大小。
-s, –summarize 只显示工作目录所占总空间
-x, –one-file-system 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X FILE, –exclude-from=FILE 排除掉指定的FILE
–exclude=PATTERN 排除掉符合样式的文件,Pattern就是普通的Shell样式,?表示任何一个字符,*表示任意多个字符。
–max-depth=N
只列出深度小于max-depth的目录和文件的信息 –max-depth=0 的时候效果跟–s是 一样
使用案例
[weijun.hu@test0-32-227]$ pwd
[weijun.hu@test0-32-227] /home/weijun.hu/demo
[weijun.hu@test0-32-227]$ ll
drwxrwxr-x 4 weijun.hu weijun.hu 4096 Apr 21 16:00 auto-conf
drwxrwxr-x 3 weijun.hu weijun.hu 4096 May 19 16:24 bin
drwxrwxr-x 3 weijun.hu weijun.hu 4096 Apr 21 15:59 build
-rwxrwxr-x 1 weijun.hu weijun.hu 2202 Apr 21 15:27 build.xml
drwxrwxr-x 5 weijun.hu weijun.hu 4096 Apr 21 15:59 classes
drwxrwxr-x 8 weijun.hu weijun.hu 4096 May 19 16:31 conf
drwxrwxr-x 4 weijun.hu weijun.hu 4096 Apr 21 15:25 htdocs
drwxrwxr-x 5 weijun.hu weijun.hu 4096 Apr 21 15:23 java
drwxrwxr-x 3 weijun.hu weijun.hu 4096 Apr 21 16:07 jboss
drwxrwxr-x 2 weijun.hu weijun.hu 4096 May 18 20:29 jboss-conf
drwxrwxr-x 4 weijun.hu weijun.hu 4096 Apr 21 15:26 lib
drwxrwxr-x 3 weijun.hu weijun.hu 4096 May 19 19:27 logs
drwxrwxr-x 6 weijun.hu weijun.hu 4096 Apr 21 16:45 mail_group
drwxrwxr-x 3 weijun.hu weijun.hu 4096 Apr 21 15:30 project
drwxrwxr-x 9 weijun.hu weijun.hu 4096 Apr 21 15:23 sql
drwxrwxr-x 3 weijun.hu weijun.hu 4096 Apr 21 16:30 synclogs
drwxrwxr-x 4 weijun.hu weijun.hu 4096 Apr 21 15:27 templates
[weijun.hu@test0-32-227]$ du -s
793832 .–不指定FILE名字计算出当前目录所占用的空间大小。
[weijun.hu@test0-32-227]$ du -sh
776M .–不指定FILE名字计算出当前目录所占用的空间大小。-h选项使得输出结果跟容易阅读(跟上例比较)
[weijun.hu@test0-32-227]$ du –max-depth=1 -h
–输出当前目录下各个子目录所使用的空间
83M ./java
87M ./build
197M ./jboss
128M ./lib
1.1M ./bin
52K ./synclogs
4.8M ./sql
920K ./conf
52K ./logs
20K ./mail_group
56K ./.svn
144M ./htdocs
56K ./jboss-conf
2.7M ./auto-conf
8.0K ./.mule
23M ./classes
43M ./templates
144K ./project
776M .
找出大文件
磁盘空间被耗尽的时候,免不了要清理一下,比如说/home目录太大,就可以使用下面命令看看到底是谁:
du -s /home/* | sort -nr