简单易控为主。
1、程序/进程管理命令____________________________________________________________
su切换用户
切换回来用su - river("-"后面也有空格,和其他的ls -l不同。)
认证失败时用sudo passwd重新设置下密码,即可su了
sudo: 是当前命令按照su的root权限来执行,执行完后,还是当前用户的权限
reboot/shutdown 重启/关机
uname显示系统信息
who/whoami登录的用户,一个账号可以登录多个
root pts/0 2013-01-30 19:33 (192.168.22.113)//ssh登录
river tty7 2013-01-30 19:39 (:0)//gnome登录
river pts/1 2013-01-30 19:40 (:0)//shell Terminal
river pts/2 2013-01-30 19:40 (:0)//shell Terminal,即使su到root,还是river
系统进程/任务管理命令: fg, bg, jobs, &, ctrl + z
1, & 用在一个命令的最后, 把这个命令放到后台执行
2, ctrl + z 将一个正在前台执行的命令放到后台,并且暂停stopped.
3, jobs/josbs -l 查看后台远行的任务
4, fg %jobnumber(jobs 显示的命令序号) 将后台中的命令调至前台继续运行
5, bg 将一个在后台暂停的命令,变成继续执行
linux进程状态:
R (TASK_RUNNING),可执行状态。
S (TASK_INTERRUPTIBLE)可中断的睡眠状态。(等待socket连接、信号量),当这些事件发生时(由外部中断触发、或由其他进程触发),对应的等待队列中的一个或多个进程将被唤醒。
用ps命令这个是最多的状态,因为cpu有限。
D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。
不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号。
read系统调用最终执行到对应设备驱动的代码,并与对应的物理设备进行交互,需要特殊保护,避免进程与设备交互的过程被打断,造成设备陷入不可控的状态
T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态
向进程发送一个SIGSTOP信号-->STOPPED
Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。
X (TASK_DEAD - EXIT_DEAD),退出状态,进程即将被销毁
参考http://hi.baidu.com/shining_pc/item/21abcb32a4d2d484c3cf2950
processes snapshot(进程快照)
ps - report a snapshot of the current processes.
ps -aux | more ,显示部分,按回车下一行,按q退出
TOP 动态显示CPU,内存,执行时间等,独占前台,接受用户按键指令,
load average: 0.06, 0.60, 0.48//1,5,15分钟系统平均负荷
22052k buffers: 用作内核缓存的内存量
大写P, 按cup使用率排序
大写M, 按内存使用率排序
大写NR,按PID排序,降序升序,切换到P/M/T排序
大写T, CPU时间累积排序
f键可以选择显示的内容和简写的全称。按a-z即可显示或隐藏对应的列,按回车键确定。
free命令,内存查看,比top更精准
total used free shared buffers cached
Mem: 4049424 3006472 1042952 0 239800 1763188
-/+ buffers/cache: 1003484 3045940
Swap: 1046524 25116 1021408
##解释:
Mem:物理内存统计; used:已分配的内存; free:未被分配的内存(操作系统可用); buffers:系统分配但未被使用的buffers; cached:系统分配但未被使用的cache
buffers(be "written" to disk),cached(been "read" from the disk),为了提供I/O性能。
-/+ buffers/cached:物理内存的缓存统计; used实际使用的内存; free实际(应用程序)可用内存=第一行的free+buffers+cached.
Swap:硬盘上交换分区统计(虚拟内存),
vmstat (Virtual Memory status)
查询 进程、内存、内存分页、堵塞IO、traps及CPU活动的信息
lsof(list open files) linux下任何事物都以文件的形式存在:常规数据,网络连接和硬件。
略
2、文件系统管理____________________________________________________________
mkdir/rmdir
mount/umount
chmod 变更文件或目录的权限。
chown 变更文件或目录的拥有者或所属群组
cp copy
mv move /a.txt ./
rm -rf dirName //删除非空目录, r目录,f强制, -R递归(通用多个命令)
touch 创建文件,改变文件或目录时间
find find / -name "ker"
whereis 查找文件,不能用模糊搜索,通配符,速度快
| 管道,会把输出到console的东西(不再输出),传递给下一个命令,输出最终结果到console
unzip 解压zip格式的
tar解压/压缩tar/tar.gz格式的,
tar czvf usr.tar.gz /home 目录
tar -zxvf soft.tar /home
cat/tac/more/less/head/tail 查看文本
cat -n t1.txt > ta.txt,显示并把t1的内容加上行号,输入到ta.txt中(">"类似"|"管道)
按"/"键,底行搜索,按enter/n键,more不支持
more ctrl+f 翻页,ente键r下一行,q键退出,=显示行号
sort 将文本内容加以排序
-k 2//第二列,-n //numerical value, -r //降序
wc word calculator
ls-ll命令
ls -ild //ls -i -l -d//
ll | grep "^d" // ll<==>ls -al, a隐藏文件(.开头的文件),d目录
ls -l | grep "^-" | wc -l//统计普通文件数(wc是行数)
ll输出详解:
total 12 (12*1024字节)
drwx------ 3 root root 4096 Apr 12 10:51 ./ (当前目录,父目录,子目录各占用4096B)
drwxr-xr-x 19 root root 4096 Apr 12 10:43 ../
-rw-r--r-- 1 root root 0 Apr 12 10:54 .yincang .隐藏文件
-rw-r--r-- 1 root root 0 Apr 12 10:50 a.txt (空文件占用4096B)
drwxr-xr-x 2 root root 4096 Apr 12 10:51 bin/
du(disk usage)查看文件大小,对比ll的total
du [OPTION]... [FILE]...
du -sm * | sort -n //统计当前目录内各文件的大小,单位M(sk单位K) 并安大小排序
du -sk //统计当前目录的大小
du -sm jdk
” du -h --max-depth=1 .“查看当前目录下的子目录大小
32K ./.mylyn
694M ./.plugins
694M . .
df -h (disk filesystem)
查看硬盘信息,/dev/sda1挂载media。
grep (globally search for a regexp and print)
cat squid.conf.default | grep -v ^$ | grep -v ^# //-v 排除
Awk 样式扫描和处理语言
ps -ef | grep "root" | awk '{print $1, $2}' //print只显示第一二列(域)
xargs 构造参数列表并运行命令,避免参数列表过长的问题.
1,ls | xargs -n 10 rm -fr
ls输出所有的文件名(用空格分割),xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数
1.统计demo目录下,js文件数量:
find demo/ -name "*.js" |wc -l
2.统计demo目录下所有js文件代码行数:
find demo/ -name "*.js" |xargs cat|wc -l //文件连接
find demo/ -name "*.js" |cat|wc -l //文件名连接,等同于没有"|cat"
3.统计demo目录下所有js文件代码行数,过滤了空行:
find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l //-v invert-match