用于过滤/搜索的特定字符,可用正则表达式能多种命令配合使用。
1 | grep [-option] pattern file |
统计指定文件中的行数、字数、字节数,并将统计结果显示输出。
1 | wc [-option] 文件… |
该命令统计指定文件中的行数、字数、字节数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数
1 | $ wc testfile # testfile文件的统计信息 |
1 | kill -stop PID //将进程挂起(redhat) |
需要重新执行当前被挂起的任务时,使用 bg %num 即可将挂起的 job 的状态由 stopped 改为 running,仍在后台执行。需要改为在前台执行时,执行fg %num 即可。
也可以使用[ctrl]+[z]
1 | pstree -p //可以显示进程树 |
1 | lsof [参数][文件] //需要root执行(因为要访问核心内存和各种文件) |
功能: 用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
找回/恢复删除的文件。
lsof打开的文件可以是:
1.普通文件
2.目录
3.网络文件系统的文件
4.字符或设备文件
5.(函数)共享库
6.管道,命名管道
7.符号链接
8.网络文件(例如:NFS file、网络socket,unix域名socket)
9.还有其它类型的文件,等等
lsof 菜鸟教程
Linux 命令神器:lsof
1 | ps [options] [--help] //用来显示当前进程的状态 |
ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程。
如果想要动态的显示进程信息,就可以使用top命令。
1 | root@ubuntu:~# ps |
1 | jobs[选项][参数] //用于显示Linux中的任务列表及任务状态,包括后台运行的任务。 |
该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。
1 | root@ubuntu:~# jobs |
fg、bg、jobs、&、ctrl + z都是与系统任务有关的常用命令
1 | command& 或者 ctrl + z 让进程在后台运行 |
1 | kill[参数][进程号] |
功能: 发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
1 | //通过 jobs 命令查看 job 号(假设为 jobnumber) |
1 | killall[参数][进程名] //用来结束同名的的所有进程(kill processes by name) |
killall命令用于杀死指定名字的进程。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
1 | top [参数] |
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
1 | free [参数] |
功能: free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略
1 | root@ubuntu:~# free |
功能: 用来显示虚拟内存的信息
1 | root@ubuntu:~# vmstat |
虚拟内存的原理:
在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。
在Linux内存管理中,主要是通过“调页Paging”和“交换Swapping”来完成上述的内存调度。调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。
分页(Page)写入磁盘的过程被称作Page-Out
,分页(Page)从磁盘重新回到内存的过程被称作Page-In。当内核需要一个分页时,但发现此分页不在物理内存中(因为已经被Page-Out了),此时就发生了分页错误(Page Fault)。
当系统内核发现可运行内存变少时,就会通过Page-Out来释放一部分物理内存。经管Page-Out不是经常发生,但是如果Page-out频繁不断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降。这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作thrashing(颠簸)
。
1 | iostat[参数][时间][次数] |
功能: 通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。
1 | watch[参数][命令] |
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令(也就是说定个具体时间或者隔一段时间执行一次)
watch命令
1 | watch -n 1 -d 'pstree|grep http' # 每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。 |
1 | at[参数][时间] |
功能:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig –level 2345 atd on)
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
##文件传输
1 | rcp [参数] [源文件] [目标文件] |
功能:rcp命令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
rcp(远程文件拷贝)命令用于在计算机之间拷贝文件。rcp命令有两种格式。第一种格式用于文件到文件的拷贝;第二种格式用于把文件或目录拷贝到另一个目录中。
1 | scp [参数] [源路径] [目标路径] |
功能:
1 | wget [参数] [URL地址] |
用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。
Update your browser to view this website correctly. Update my browser now