国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux基礎(chǔ)命令-lsof查看進(jìn)程打開的文件

這篇具有很好參考價值的文章主要介紹了Linux基礎(chǔ)命令-lsof查看進(jìn)程打開的文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Linux基礎(chǔ)命令-uptime查看系統(tǒng)負(fù)載

Linux基礎(chǔ)命令-top實時顯示系統(tǒng)狀態(tài)

Linux基礎(chǔ)命令-ps查看進(jìn)程狀態(tài)

文件目錄

前言

一 命令的介紹

二 語法及參數(shù)

2.1 使用help查看命令的語法信息

2.2 常用參數(shù)

2.2.lsof命令-i參數(shù)的條件

三 命令顯示內(nèi)容的含義

3.1 FD 文件描述符的類型

3.2 文件描述符后內(nèi)容的含義

3.3 TYPE的文件類型

四 參考實例

3.1列出文件存在的進(jìn)程

3.2 列出指定進(jìn)程打開的文件

3.3 列出指定端口號進(jìn)程

3.4 列出占用文件號的進(jìn)程

3.5 列出指定進(jìn)程號打開的文件

3.6 列出指定UID號的進(jìn)程詳情

3.7 列出目錄下打開的文件

3.8 列出遞歸目錄下打開的文件

3.9 顯示幫助信息

3.10?使用lsof恢復(fù)被刪除的文件

總結(jié)

前言

? ? ? ? lsof命令是個比較常用到的系統(tǒng)監(jiān)控命令,不管是用來查看文件的進(jìn)程,或者是查看進(jìn)程打開的文件都是能很好用的一個工具,那么一起來學(xué)習(xí)一下。

一 命令的介紹

? ? ? ? lsof命令來自于英文詞組“l(fā)ist opened files”的縮寫,主要功能是用來查看文件的進(jìn)程信息,此命令能夠能好的幫助用戶了解相關(guān)服務(wù)的運行狀態(tài),是個非常不錯的系統(tǒng)監(jiān)控工具。

? ? ? ? 小提示:只有root用戶可以使用這個命令或獲取超級權(quán)限的普通用戶才能使用。

二 語法及參數(shù)

2.1 使用help查看命令的語法信息

NAME
       lsof - list open files

SYNOPSIS
       lsof [ -?abChlnNOPRtUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D
       D ] [ +|-e s ] [ +|-f [cfgGn] ] [ -F [f] ] [ -g [s] ] [ -i [i] ] [ -k k
       ]  [ -K k ] [ +|-L [l] ] [ +|-m m ] [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r
       [t[m<fmt>]] ] [ -s [p:s] ] [ -S [t] ] [ -T [t] ] [ -u s ] [ +|-w ] [ -x
       [fl] ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names]

語法:lsof 【參數(shù)】

2.2 常用參數(shù)

-a 列出打開(二進(jìn)制文件)存在的進(jìn)程
-c<進(jìn)程名> 列出指定進(jìn)程所打開的文件
-g 列出GID號 進(jìn)程的詳情
-d<文件號> 列出占用該文件號(FD)的進(jìn)程
+d<目錄> 列出目錄下打開的文件
+D<目錄> 遞歸列出目錄下打開的文件
-n<目錄> 列出使用NFS的文件
-i <條件> 列出符合條件的進(jìn)程
-p<進(jìn)程號> 列出指定進(jìn)程號所打開的文件
-u 列出UID號進(jìn)程詳情
-h 顯示幫助信息
-v 顯示版本信息

2.2.lsof命令-i參數(shù)的條件

  • 協(xié)議? ? ? ? ? ? ? 例如: lsof -i tcp
  • :端口? ? ? ? ? ? ?例如: lsof -i :22
  • @+IP? ? ? ? ? ? 例如:lsof -i? @192.168.2.166
  • IPv4? ? ? ? ? ? ? 例如:? lsof -i 4
  • IPv6? ? ? ? ? ? ? 例如: lsof -i 6

三 命令顯示內(nèi)容的含義

lsof顯示打開的文件及其其它內(nèi)容解讀

lsof查看進(jìn)程打開的文件,基礎(chǔ)命令,linux,運維,服務(wù)器

圖上對應(yīng)的內(nèi)容以表格形式展現(xiàn):?

狀態(tài)欄 含義
COMMAND 進(jìn)程的名稱
PID 進(jìn)程的標(biāo)識符號
USER 進(jìn)程的所有者
FD 文件描述符
TYPE 文件類型
DEVICE 指定磁盤的名稱
SIZE/OFF 文件的大小
NODE 文件的索引
NAME 打開文件的位置

3.1 FD 文件描述符的類型

lsof查看進(jìn)程打開的文件,基礎(chǔ)命令,linux,運維,服務(wù)器

  • cwd ????????表示應(yīng)用程序當(dāng)前的工作目錄
  • txt? ? ? ? ? ? 表示它是一個可執(zhí)行程序
  • mem ???????指的是內(nèi)存的映射文件
  • 0? ? ? ????????表示標(biāo)準(zhǔn)輸出
  • 1? ? ? ????????表示標(biāo)準(zhǔn)輸入
  • 2? ? ? ????????標(biāo)準(zhǔn)錯誤
  • Lnn? ? ? ? ? 庫引用
  • err? ? ? ? ? ?監(jiān)獄目錄(FreeBSD)
  • ltx? ? ? ? ? ? 共享庫文本(代碼和數(shù)據(jù))
  • Mxx? ? ? ? ?十六進(jìn)制內(nèi)存映射類型
  • m86? ? ? ? ?DOS合并映射文件
  • mmap? ? ?內(nèi)存映射設(shè)備
  • pd? ? ? ? ? ? 父目錄
  • rtd? ? ? ? ? ? 根目錄
  • tr? ? ? ? ? ? ? 內(nèi)核跟蹤文件
  • v86? ? ? ? ? ?VP/ix映射文件

3.2 文件描述符后內(nèi)容的含義

lsof查看進(jìn)程打開的文件,基礎(chǔ)命令,linux,運維,服務(wù)器

  • ?r : 表示打開文件為只讀模式
  • w : 表示打開文件為寫入模式
  • u :? 表示打開文件是可讀可寫模式
  • ?- :? 表示當(dāng)前狀態(tài)被鎖定
  • 空格:表示當(dāng)前狀態(tài)未被鎖定

3.3 TYPE的文件類型

lsof查看進(jìn)程打開的文件,基礎(chǔ)命令,linux,運維,服務(wù)器

  • DIR:表示目錄類型
  • CHR:表示字符類型
  • BLK:表示設(shè)備類型
  • REG:表示注冊表文件

四 參考實例

3.1列出文件存在的進(jìn)程

[root@localhost ~]# lsof -a /usr/bin/vim
COMMAND   PID USER  FD   TYPE DEVICE SIZE/OFF      NODE NAME
vim     10065 root txt    REG  253,0  2337208 102492147 /usr/bin/vim
vim     11403 host txt    REG  253,0  2337208 102492147 /usr/bin/vim

3.2 列出指定進(jìn)程打開的文件

[root@localhost ~]# lsof -c systemd | head
COMMAND   PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd     1 root  cwd       DIR              253,0      224         64 /
systemd     1 root  rtd       DIR              253,0      224         64 /
systemd     1 root  txt       REG              253,0  1632960       2630 /usr/lib/systemd/systemd
systemd     1 root  mem       REG              253,0    20064      78153 /usr/lib64/libuuid.so.1.3.0
systemd     1 root  mem       REG              253,0   265576     222563 /usr/lib64/libblkid.so.1.1.0
systemd     1 root  mem       REG              253,0    90248       1780 /usr/lib64/libz.so.1.2.7
systemd     1 root  mem       REG              253,0   157424       1788 /usr/lib64/liblzma.so.5.2.2
systemd     1 root  mem       REG              253,0    23968      78215 /usr/lib64/libcap-ng.so.0.0.0
systemd     1 root  mem       REG              253,0    19896      78205 /usr/lib64/libattr.so.1.1.0

3.3 列出指定端口號進(jìn)程

可以先用netstat查看服務(wù),再用這個查看端口號進(jìn)程。

[root@VM-12-17-centos ~]# netstat -antup |grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      3609/mysqld         
[root@VM-12-17-centos ~]# lsof -i :3306
COMMAND  PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  3609 mysql   29u  IPv6 62681253      0t0  TCP *:mysql (LISTEN)

3.4 列出占用文件號的進(jìn)程

由于顯示的內(nèi)容實在太多,加上wc -l顯示一共有多少行

[root@localhost ~]# lsof -d mem |wc -l
7388

3.5 列出指定進(jìn)程號打開的文件

若要查看進(jìn)程號打開的文件信息,可以先用ps搜索指定的指令信息,復(fù)制進(jìn)程號后到這里使用-p參數(shù)查看進(jìn)程號存在的文件。

[root@localhost ~]# ps aux | grep vim
root      10065  0.0  0.1 149752  5448 pts/2    S+   19:19   0:00 vim a.sh
host      11403  0.0  0.1 149568  5204 pts/3    S+   20:05   0:00 vim 1.txt
root      11642  0.0  0.0 112824   968 pts/1    R+   20:15   0:00 grep --color=auto vim
[root@localhost ~]# lsof -p 10065 
COMMAND   PID USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
vim     10065 root  cwd    DIR  253,0      4096  67144897 /root
vim     10065 root  rtd    DIR  253,0       224        64 /
vim     10065 root  txt    REG  253,0   2337208 102492147 /usr/bin/vim

3.6 列出指定UID號的進(jìn)程詳情

lsof -u參數(shù)后接UID號和用戶名都是顯示一樣的內(nèi)容。

[root@localhost ~]# lsof -u 1000
COMMAND   PID USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
bash    11312 host  cwd    DIR  253,0       145 101340405 /home/host
bash    11312 host  rtd    DIR  253,0       224        64 /
bash    11312 host  txt    REG  253,0    964536 100664820 /usr/bin/bash
[root@localhost ~]# lsof -u host
COMMAND   PID USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
bash    11312 host  cwd    DIR  253,0       145 101340405 /home/host
bash    11312 host  rtd    DIR  253,0       224        64 /

3.7 列出目錄下打開的文件

[root@localhost ~]# lsof +d /home/host 
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
bash    11312 host  cwd    DIR  253,0      145 101340405 /home/host
vim     11403 host  cwd    DIR  253,0      145 101340405 /home/host
vim     11403 host    3u   REG  253,0    12288 101364386 /home/host/.1.txt.swp

3.8 列出遞歸目錄下打開的文件

[root@localhost ~]# lsof +D /root
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
gnome-ses  1945 root  cwd    DIR  253,0     4096  67144897 /root
dbus-laun  1954 root  cwd    DIR  253,0     4096  67144897 /root
dbus-daem  1955 root  cwd    DIR  253,0     4096  67144897 /root
imsetting  1984 root  cwd    DIR  253,0     4096  67144897 /root

3.9 顯示幫助信息

[root@localhost ~]# lsof -h
lsof 4.87
 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
 usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[gG]] [+|-e s]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [-Z [Z]] [--] [names]

3.10?使用lsof恢復(fù)被刪除的文件

此命令的恢復(fù)原理是當(dāng)打開一個文件,這個文件就一直是打開狀態(tài)的,并且有存在于磁盤、內(nèi)存當(dāng)中的;直接刪除文件,但進(jìn)程是還在持續(xù)運行中的,在這個過程中可以嘗試使用文件描述符做文件的恢復(fù)。

思路步驟

  • 1)創(chuàng)建一個文件
  • 2)在另外一個窗口打開文件保持一直運行的狀態(tài)
  • 3)刪除這個運行的文件
  • 4)使用lsof進(jìn)行恢復(fù)
#測試環(huán)境centos7.6
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

[root@localhost ~]# mkdir test     #創(chuàng)建文件
[root@localhost ~]# cd test
[root@localhost test]# cp /etc/passwd ./

#在另外一個窗口打開文件
[root@localhost test]# vim passwd
#原窗口繼續(xù) 刪除文件
[root@localhost test]# rm -f passwd
[root@localhost test]# lsof | grep passwd   #看到文件描述符為10r的信息
cupsd      6758                 root   10r      REG              253,0      2576   17470125 /etc/passwd
vim       13101                 root    4u      REG              253,0     12288   51866124 /root/test/.passwd.swp

#在proc目錄下查找PID 6758并且文件描述符為10的文件
[root@localhost test]# head -5 /proc/6758/fd/10
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

#將文件導(dǎo)入一個新文件
[root@localhost test]# cat !$ > passwd.txt
cat /proc/6758/fd/10 > passwd.txt
[root@localhost test]# wc -l < passwd.txt   #顯示行數(shù)
51 
[root@localhost test]# md5sum /etc/passwd passwd.txt  #inode與源文件一致,恢復(fù)成功
b1a03b88bac575860f616d09756f78d0  /etc/passwd
b1a03b88bac575860f616d09756f78d0  passwd.txt

?在文件的進(jìn)程還存在的情況下,文件恢復(fù)需要知道文件名或相關(guān)信息才有很大的把握可以進(jìn)行恢復(fù)。

總結(jié)

? ? ? ? 這個命令要記的參數(shù)是挺多的,用來監(jiān)控進(jìn)程打開的文件信息,亦可通過這個命令來了解相關(guān)服務(wù)的運行狀態(tài)等,若覺得以上內(nèi)容還不錯的,可以點贊支持一下!

????????lsof查看進(jìn)程打開的文件,基礎(chǔ)命令,linux,運維,服務(wù)器

????????文章來源地址http://www.zghlxwxcb.cn/news/detail-578428.html

到了這里,關(guān)于Linux基礎(chǔ)命令-lsof查看進(jìn)程打開的文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux基礎(chǔ)命令-du查看文件的大小

    Linux基礎(chǔ)命令-du查看文件的大小

    du 命令介紹 語法格式 基本參數(shù) 參考實例 1)以人類可讀形式顯示指定的文件大小 2)顯示當(dāng)前目錄下所有文件大小 3)只顯示目錄的大小 4)顯示根下哪個目錄文件最大 5)顯示所有文件的大小 6)只顯示目錄下的文件,不顯示目錄下的子目錄 ll -h與du -h命令的區(qū)別? 命令總結(jié)

    2024年02月08日
    瀏覽(29)
  • linux lsof命令(lsof指令)

    linux lsof命令(lsof指令)

    lsof 是一個用于列出當(dāng)前系統(tǒng)打開的文件的命令行工具,它可以顯示系統(tǒng)中所有打開的文件,包括網(wǎng)絡(luò)連接、管道、設(shè)備、目錄和普通文件等。 lsof 命令的基本語法如下: 其中, options 是可選參數(shù),可以用來指定 lsof 的輸出格式、過濾條件等。 下面是一些常用的 lsof 命令選項

    2024年02月02日
    瀏覽(13)
  • 【Linux查看進(jìn)程和日志的命令】

    Linux 中可以使用以下命令來查看進(jìn)程和日志: 可以使用 ps 和 top 命令來查看正在運行的進(jìn)程,兩者的區(qū)別在于 ps 命令是一次性顯示所有進(jìn)程信息,而 top 命令可以實時顯示進(jìn)程信息,包括 CPU 使用率、內(nèi)存占用率等。 例如,使用 ps aux 命令可以顯示所有進(jìn)程的詳細(xì)信息,包括

    2024年02月13日
    瀏覽(33)
  • Linux 查看進(jìn)程ps命令詳解

    ps 命令是 Linux 系統(tǒng)中常用的進(jìn)程查看工具,它可以查看當(dāng)前系統(tǒng)中正在運行的進(jìn)程信息。ps 命令可以顯示進(jìn)程的 ID、狀態(tài)、執(zhí)行命令、占用內(nèi)存等信息,對于系統(tǒng)管理員來說,使用 ps 命令可以方便地監(jiān)控和管理系統(tǒng)中的進(jìn)程。 ps 命令的基本語法如下: 常用的選項包括: 選

    2024年02月14日
    瀏覽(122)
  • Linux  -- 查看進(jìn)程  top命令 詳解

    Linux -- 查看進(jìn)程 top命令 詳解

    我們上篇介紹了, Linux 中的進(jìn)程等概念,那么,在Linux 中如何查看進(jìn)程呢 ?? 我們常用到的有兩個命令, PS 和 top 兩個命令,今天先來介紹下 top 命令~! 主要是 交互式的,動態(tài) 的顯示 進(jìn)程信息~!?。?語法 : top [ -d 數(shù)字 ] [ 選項 ] 選項 : -d : 后面可以接秒數(shù),就是整個

    2024年02月07日
    瀏覽(93)
  • Linux ps命令:查看正在運行的進(jìn)程

    ps 命令是最常用的監(jiān)控進(jìn)程的命令,通過此命令可以查看系統(tǒng)中所有運行進(jìn)程的詳細(xì)信息。 ps 命令的基本格式如下: [root@localhost ~]# ps aux #查看系統(tǒng)中所有的進(jìn)程,使用 BS 操作系統(tǒng)格式 [root@localhost ~]# ps -le #查看系統(tǒng)中所有的進(jìn)程,使用 Linux 標(biāo)準(zhǔn)命令格式? 選項: a:顯示一

    2024年02月09日
    瀏覽(24)
  • 【Linux 】 ps命令詳解,查看進(jìn)程pid

    【Linux 】 ps命令詳解,查看進(jìn)程pid

    ps 命令是最常用的監(jiān)控進(jìn)程的命令,通過此命令可以查看系統(tǒng)中所有運行進(jìn)程的詳細(xì)信息。 ps 命令有多種不同的使用方法,這常常給初學(xué)者帶來困惑。在各種 Linux 論壇上,詢問 ps 命令語法的帖子屢見不鮮,而出現(xiàn)這樣的情況,還要歸咎于 UNIX 悠久的歷史和龐大的派系。在不

    2024年02月12日
    瀏覽(29)
  • 【Linux】命令lsof使用詳解

    【Linux】命令lsof使用詳解

    ?? ? 個人主頁 ——??開著拖拉機回家_大數(shù)據(jù)運維-CSDN博客?????? ???????????????? ?????????????? ???????????????????????? 感謝點贊和關(guān)注 ,每天進(jìn)步一點點!加油! 目錄 一、lsof命令介紹 二、lsof命令功能 三、lsof命令輸出說明 四、lsof常見命

    2024年02月05日
    瀏覽(14)
  • Linux下lsof命令詳解

    lsof(list open files) 是一個列出當(dāng)前系統(tǒng)打開文件的工具, lsof 意義 LiSt Open Files 用于 找出哪些文件被哪個進(jìn)程打開 。眾所周知 Linux/Unix 將所有內(nèi)容都視為文件( pipes,sockets,directories,devices 等等)。使用的原因之一 lsof 命令是當(dāng)磁盤無法卸載時,因為它表示正在使用文件。借

    2024年02月16日
    瀏覽(12)
  • Linux 查看占用資源cpu、內(nèi)存最大的進(jìn)程命令

    Linux 查看占用資源cpu、內(nèi)存最大的進(jìn)程命令

    1、詳細(xì)查詢命令: 查看cpu最大進(jìn)程,或者內(nèi)存最大進(jìn)程。 命令解析:該命令組合實際上是下面兩句命令組合。 其中: 以上組合獲得cpu或者內(nèi)存最大的進(jìn)程。 2、簡單查詢命令: 根據(jù)以上,也可以簡化命令為 命令: 按下交互命令快捷鍵M(按內(nèi)存排序),P(按cpu占用排序)

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包