当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux下查看进程打开的文件与打开文件的进程的方法      在linux系统中,经常要查看一个进程当前打开了哪些文件,有时也需要知道某一个文件正在被哪些进程所读写。 在Linux下有许多有用的工具可以完成这个工作,本文介绍这两个工具:lsof与fuser.........
    ▪linux查进程、杀进程、重启进程的命令 linux常用基础命令大全      1,linux中查看进程,使用ps命令。 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的.........
    ▪Linux删除文件夹rm命令的用法      linux删除目录用rmdir,当目录非空时可以使用rm -rf命令。 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 删除目录、文件 rm(remove) 功能说明:删除文件或目录。 语  法:rm [-dfirv].........

[1]Linux下查看进程打开的文件与打开文件的进程的方法
    来源: 互联网  发布时间: 2013-12-24

在linux系统中,经常要查看一个进程当前打开了哪些文件,有时也需要知道某一个文件正在被哪些进程所读写。
在Linux下有许多有用的工具可以完成这个工作,本文介绍这两个工具:lsof与fuser。

1,fuser工具
fuser find files or sockets' user
格式:fuser [选项] fname
-k 如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择
-signal 用户可以指定使用何种信号去kill进程,如果-k参数指定,则忽略此参数
-m 如果指定一个文件,则所有访问那个文件所在文件系统的进程都会被列出来
-n  type 指定不同的文件类型,默认类型为file,此外还支持tcp和udp类型,此时可以简写作port/tcp
-u  显示进程属主
-v  显示详细进程与打开文件信息
-4/-6 只搜索IPv4/IPv6套接字

例如,查看端口TCP端口9000由哪个进程打开:
fuser -v -u 9000/tcp
查看哪些进程在访问/home挂载分区:
fuser -mv /home
 
2,lsof工具
lsof list open file
格式:lsof  [选项] [names]
单独执行lsof将输出系统中所有打开的文件,可以grep过滤出想要的内容。
不过lsof提供了相应的参数以帮助精确查找。

lsof name 将输出所有使用文件name的进程
-p pid 列出进程pid所打开的所有文件
-d FD_pattern 列出所有已经打开的FD值为FD_pattern的文件FD的值有整数,TXT,MEM等等
-a lsof后可以加多个匹配条件,默认为or连接,此参数将多个条件变成and关系
-i [46] [proto] [@hostname|ip][:service|port] 用来选择占用某个端口的进程
+d/+D dir 非递归或递归的显示打开dir下文件的进程
-c string   显示进程的command中包含string的进程所打开的文件
-u username 显示属于user的进程所打开的文件
-g gid

说明:
以上这两个工具都是读取/proc文件系统中的数据进行工作的。

您可能感兴趣的文章:
lsof命令查看端口、程序及开启文件的进程
有关lsof 命令的一些知识
lsof用法一例

另外,lsof的查找功能,可以对一个删除的文件进行恢复,前提是占用这个文件的进程当前还没有关闭。
通过被删除的文件,找到对应的进程及在进程中的fd-num,然后通过cat /proc/process-num/fd/fd-num即可恢复被删除的文件。


    
[2]linux查进程、杀进程、重启进程的命令 linux常用基础命令大全
    来源: 互联网  发布时间: 2013-12-24

1,linux中查看进程,使用ps命令。
ps命令查找与进程相关的PID号:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。

最常用的方法:
ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat

ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。

2,linux中杀死指定的进程,使用kill命令。
显示CPU使用情况以及部分进程:top
显示连接端口使用进程:netstat -noap/-an |grep NAME
使用kill命令结束进程:kill xxx
常用:kill -9 324
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

3,重启进程,可以进入到进程的执行文件所在的路径下,执行文件 ./文件名。

有关linux进程管理的参考文章:
学习Linux后台进程管理的一些命令
Linux下查看进程的所有子进程和线程的方法
Linux下查看一个进程打开了哪些文件的命令示例
linux 如何找到进程的工作目录

附:linux常用的基础命令大全,包括linux重启命令。

1. 更改档案拥有者
命令 : chown [-cfhvR] [--help] [--version] user[:group] file...
功能 : 更改文件或者文件夹的拥有者
参数格式 :
  user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)
  -c : 若该档案拥有者确实已经更改,才显示其更改动作
  -f : 若该档案拥有者无法被更改也不要显示错误讯息
  -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
  -v : 显示拥有者变更的详细资料
  -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

例如:chown -R oracle:oinstall /oracle/u01/app/oracle 
  更改目录拥有者为oracle

2. 修改权限
命令:chmod (change mode)
功能:改变文件的读写和执行权限。有符号法和八进制数字法。
选项:(1)符号法:
  命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
  u (user)表示用户本人。
  g (group)  表示同组用户。
  o (oher)表示其他用户。
  a (all)表示所有用户。
  +  用于给予指定用户的许可权限。
  -  用于取消指定用户的许可权限。
  =  将所许可的权限赋给文件。
  r (read)读许可,表示可以拷贝该文件或目录的内容。
  w (write)  写许可,表示可以修改该文件或目录的内容。
  x (execute)执行许可,表示可以执行该文件或进入目录。
 
  (2)八进制数字法:
  命令格式:chmod abc file
  其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。
  4 (100)表示可读。
  2 (010)表示可写。
  1 (001)表示可执行。
  若要rwx属性则4+2+1=7;
  若要rw-属性则4+2=6;
  若要r-x属性则4+1=5。

例如:# chmod a+rx filename
让所有用户可以读和执行文件filename。
# chmod go-rx filename
取消同组和其他用户的读和执行文件filename的权限。
# chmod 741 filename
让本人可读写执行、同组用户可读、其他用户可执行文件filename。
# chmod -R 755 /home/oracle
递归更改目录权限,本人可读写执行、同组用户可读可执行、其他用户可读可执行

3. 修改文件日期
命令:touch
格式:touch filenae
功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
例如:% touch file

4. 链接文件
命令:ln (link)
格式:ln [option] filename linkname
  ln [option] directory pathname
功能:为文件或目录建立一个链。其中,filename和directory是源文件名和
  源目录名;linkname和pathname分别表示与源文件或源目录名相链接的
  文件或目录。
选项:-s  为文件或目录建立符号链接。不加-s表示为文件或目录建立硬链接
注释:链接的目地在于,对一个文件或目录赋予两个以上的名字,使其可以出
  现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
例如:% ln -s filename linkname

5. 显示日期
命令:date
例如:% date

6. 显示日历
命令:cal (calendar)
格式:cal [month] year
功能:显示某年内指定的日历
例如:% cal 1998 

7. 显示文件头部
命令:head
格式:head [option] filename
功能:显示文件的头部
选项:缺省  显示文件的头10行。
  -i显示文件的开始 i行。
例如:% head filename

8. 显示文件尾部
命令:tail
格式:tail [option] filename
功能:显示文件的尾部
选项:缺省  显示文件的末10行。
  -i显示文件最后 i行。
  +i从文件的第i行开始显示。
例如:% tail filename

9. 显示用户标识
命令:id
格式:id [option] [user]
功能:显示用户标识及用户所属的所有组。
选项:-a 显示用户名、用户标识及用户所属的所有组
注释:
例如:% id username

10. 查看当前登录的用户
命令:users

11. 显示都谁登录到机器上
命令:who
格式:who
功能:显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。
例如:% who

12. 显示当前终端上的用户名
命令:whoami
格式:whoami
功能:显示出当前终端上使用的用户。
例如:% whoami

13. 寻找文件
命令:find
格式:find pathname [option] expression
功能:在所给的路经名下寻找符合表达式相匹配的文件。
选项:-name 表示文件名
  -user 用户名,选取该用户所属的文件
  -size 按大小查找,以block为单位,一个block是512B
  -mtime n  按最后一次修改时间查找,选取n天内被修改的文件
  -perm 按权限查找
  -type 按文件类型查找
  -atime按最后一次访问时间查找

例如:% find ./ -name '*abc*' -print

14. 搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:-i匹配时忽略大小写
  -v 找出模式失配的行

例如:% grep -i 'java*' ./test/run.sh

15. 统计文件字数
命令:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:-l 统计文件的行数
-w 统计文件的单词数
-c 统计文件的字符数
注释:若缺省文件名则指标准输入
例如:% wc -c ./test/run.sh

16. 显示磁盘空间
命令:df (disk free)
格式:df [option]
功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总
  字节数、已用字节数、剩余字节数占用百分比。
选项:
-a:显示全部的档案系统和各分割区的磁盘使用情形
-i:显示i -nodes的使用量
-k:大小用k来表示 (默认值)
-t:显示某一个档案系统的所有分割区磁盘使用量
-x:显示不是某一个档案系统的所有分割区磁盘使用量
-T:显示每个分割区所属的档案系统名称
-h: 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
注释:
例如:% df -hi

17. 查询档案或目录的磁盘使用空间
命令:du (disk usage)
格式:du [option] [filename]
功能:以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小
选项:
-a:显示全部目录和其次目录下的每个档案所占的磁盘空间
-b:大小用bytes来表示 (默认值为k bytes)
-c:最后再加上总计 (默认值)
-s:只显示各档案大小的总合
-x:只计算同属同一个档案系统的档案
-L:计算所有的档案大小
-h: 表示档案系统大小使用 GB、MB 等易读的格式。
例如:% du -a
% du -sh /etc 只显示该目录的总合
% du /etc | sort -nr | more 统计结果用sort 指令进行排序,
sort 的参数 -nr 表示要以数字排序法进行反向排序。

18. 显示进程
命令:ps
格式:ps [option]
功能:显示系统中进程的信息。包括进程ID、控制进程终端、执行时间和命令。
选项:
  -a 显示所有进程信息
  -U uidlist 列出这个用户的所有进程
  -e 显示当前运行的每一个进程信息
  -f 显示一个完整的列表
  -x 显示包括没有终端控制的进程状况 。
注释:
例如:% ps -ef
  % ps -aux 然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

19. 终止进程
命令:kill
格式:kill [option] pid
功能:向指定的进程送信号或终止进程。kill指令的用途是送一个signal给某一个process,
因为大部份送的都是用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 
选项:-9  强行终止进程
注释:pid标示进程号,可由ps命令得到。
例如:% kill -9 pid
你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形请参阅 man kill。

20. 查看自己的IP地址
命令:ifconfig
格式:ifconfig -a

21. 查看路由表
命令:netstat
格式:netstat -rn

22. 远程登录
命令:telnet
格式:telnet hostname

23. 文件传输
命令:ftp (file transfer program)
格式:ftp hostname
功能:网络文件传输及远程操作。
选项:ftp命令:
cd [dirname]  进入远程机的目录
lcd [dirname] 设置本地机的目录
dir/ls显示远程的目录文件
bin以二进制方式进行传输
asc以文本文件方式进行传输
get/mget  从远程机取一个或多个文件
put/mput  向远程机送一个或多个文件
prompt打开或关闭多个文件传送时的交互提示
close 关闭与远程机的连接
quit  退出ftp
!/exit ftp登陆状态下,!表示暂时退出ftp状态回到本地目录,exit表示返回ftp状态
注释:
例如:% ftp hostname


    
[3]Linux删除文件夹rm命令的用法
    来源: 互联网  发布时间: 2013-12-24

linux删除目录用rmdir,当目录非空时可以使用rm -rf命令。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字

删除目录、文件 rm(remove)

功能说明:删除文件或目录。
语  法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。
参  数:
 -d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
 -f或–force  强制删除文件或目录。
 -i或–interactive  删除既有文件或目录之前先询问用户。
 -r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 -v或–verbose  显示指令执行过程。

1,删除文件夹
de>rm -rf  fileNamede>

-删除文件夹实例:
 

代码示例:
rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的

2,删除文件
de>rm -f  fileNamede>
使用 rm -rf 的时候一定要格外小心,linux没有回收站的

创建目录:mkdir(make directories)

功能说明:建立目录
语  法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]
补充说明:mkdir可建立目录并同时设置目录的权限。
参  数:
  -m<目录属性>或–mode<目录属性>   建立目录时同时设置目录的权限。
  -p或–parents   若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
例:mkdir  test
创建文件 touch

功能说明:改变文件或目录时间。
语  法:touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [--help]   [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时 间][文件或目录...]
补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。
参  数:
 -a或–time=atime或–time=access或–time=use  只更改存取时间。
 -c或–no-create  不建立任何文件。
 -d<时间日期>  使用指定的日期时间,而非现在的时间。
 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
 -m或–time=mtime或–time=modify  只更改变动时间。
 -r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
 -t<日期时间>  使用指定的日期时间,而非现在的时间。
例:touch test.txt
说明:Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件)

您可能感兴趣的文章:
Linux删除文件rm命令的用法举例
Linux下命令rm -rf误删除文件后的补救方法
Linux命令之hdparm-测试硬盘速度
简明Linux命令行笔记(5):rm


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
网络技术 iis7站长之家
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3