A. linux 沒有lsof 怎麼辦
任何命令CMD 假若沒有。
1) yum provides *bin/CMD //查看安裝包名字
2) yum install [name] // name 是步驟1查出來的名字
B. linux操作系統lsof good.txt命令不顯示進程
因為你編輯的並不是good.txt。而是你vi 的那個當前目錄下隱藏的.good.txt.swp文件。
vi 並不會直接修改當前文件,而是先生成一個臨時文件讓你編輯,當你編輯完以後
比如輸入:w 才會寫回good.txt文件。
C. Linux下用 lsof 命令查找指定埠被哪個進程佔用
1)使用lsof命令lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。具體方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。
下面以1521埠來看怎麼查找到該程序,我們使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在這里使用awk來匹配第4個欄位的模式是為了避免誤判。
D. linux常用的命令有哪些
Linux所能提供的功能通常是通過繁多的各類命令來實現的,每個命令又會有很多細分功能的選項,而每個命令後接的作用對象參數也有所不同,因此有必要詳細闡述一下Linux命令的常見分類方式。
常見的命令分類方式包括:1、按照命令所在系統中的位置,2、按照命令所能提供的功能。
按照命令所在系統中的位置,Linux命令可以分為內部命令和外部命令。內部命令是在磁碟目錄中找不到的命令是shell解釋器的一部分,當用戶連接登錄系統時就會運行系統與用戶的交互程序shell,我們常用的命令如:cd、pwd、jobs、kill等幾十個內部命令就會調入到內存中供登錄用戶使用;而外部命令是放置於磁碟中的命令,如果一個命令能在磁碟中找到其存放路徑,該命令就是外部命令。
按照命令所能提供的功能,Linux常用命令可以分為目錄操作命令、文件操作命令、文件內容查看命令、登錄用戶查看命令、歸檔壓縮命令、系統管理命令等等。例如常見的目錄操作命令有cd、pwd、ls、mkdir、rmdir等;常見的文件操作命令有touch、cp、mv、rm等;文件內容查看命令有cat、tac、more、less、head、tail等,也包括查看文件屬性信息的file和stat等命令;常見的登錄用戶查看命令有w和who;常見的歸檔壓縮命令有zip、unzip、tar、gzip、gunzip、bzip2、bunzip2等;系統管理命令常見有關機命令shutdown、系統重啟命令reboot等。
E. Linux查看進程打開多少文件描述符命令
可用lsof命令,可以列出被進程所打開的文件的信息。被打開的文件可以是:
1普通的文件,2.目錄 3.網路文件系統的文件,4.字元設備文件 5.(函數)共享庫 6.管道,命名管道 7.符號鏈接 8.底層的socket字流,網路socket,unix域名socket 各個命令的詳細介紹可看下「Linux命令大全」
F. 怎麼用命令查看linux上本機的某個埠是否被佔用
linux系統下,查看埠佔用情況的命令:lsof -i
1 [root@www ~]# lsof -i
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 nginx 2333 root 6u IPv4 6242 TCP *:http (LISTEN)
5 nginx 2334 www 6u IPv4 6242 TCP *:http (LISTEN)
6 sshd 2349 root 3u IPv6 6283 TCP *:ndmp (LISTEN)
7 sshd 2349 root 4u IPv6 6286 TCP *:ssh (LISTEN)
這里返回了Linux當前所有打開埠的佔用情況。第一段是進程,最後一列是偵聽的協議、偵聽的IP與埠號、狀態。如果埠號是已知的常用服務(如80、21等),則會直接顯示協議名稱,如http、ftp、ssh等。
查看某一埠的佔用情況: lsof -i:埠號
1 [root@www ~]# lsof -i:21
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 pure-ftpd 2651 root 4u IPv4 7047 TCP *:ftp (LISTEN)
5 pure-ftpd 2651 root 5u IPv6 7048 TCP *:ftp (LISTEN)
這里顯示出21號埠正在被pure-ftpd使用,狀態是listen。
結束佔用埠的進程:killall 進程名
雖然我們不建議用這種本末倒置的方法來解決沖突問題,但某些情況下還是可以直接結束掉佔用進程的(比如重啟Apache時進程沒有完全退出,導致重啟失敗)
1 [root@www ~]# killall pure-ftpd
這樣,所有的pure-ftpd進程都會被結束掉。
G. 利用lsof去查看Unix/Linux進程打開了哪些文件
# lsof -p 11737
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 11737 mysql cwd DIR 202,1 4096 1078036 /usr/local/mysql/var
mysqld 11737 mysql rtd DIR 202,1 4096 2 /
mysqld 11737 mysql txt REG 202,1 47766471 1071606 /usr/local/mysql/bin/mysqld
mysqld 11737 mysql mem REG 202,1 93320 262198 /lib64/libgcc_s-4.4.7-20120601.so.1
mysqld 11737 mysql mem REG 202,1 989840 1057166 /usr/lib64/libstdc++.so.6.0.13
H. 關於LINUX最基本的一些命令
Linux常用命令大全
系統信息
arch 顯示機器的處理器架構(1)
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 羅列一個磁碟的架構特性
hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗內存使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
lspci -tv 羅列 PCI 設備
lsusb -tv 顯示 USB 設備
date 顯示系統日期
cal 2007 顯示2007年的日歷表
date 041217002007.00 設置日期和時間 - 月日時分年.秒
clock -w 將時間修改保存到 BIOS
關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷
文件和目錄
cd /home 進入 '/ home' 目錄'
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄
pwd 顯示工作路徑
ls 查看目錄中的文件
ls -F 查看目錄中的文件
ls -l 顯示文件和目錄的詳細資料
ls -a 顯示隱藏文件
ls *[0-9]* 顯示包含數字的文件名和目錄名
tree 顯示文件和目錄由根目錄開始的樹形結構(1)
lstree 顯示文件和目錄由根目錄開始的樹形結構(2)
mkdir dir1 創建一個叫做 'dir1' 的目錄'
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除一個叫做 'file1' 的文件'
rmdir dir1 刪除一個叫做 'dir1' 的目錄'
rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 復制一個文件
cp dir/* . 復制一個目錄下的所有文件到當前工作目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄
cp -a dir1 dir2 復制一個目錄
ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接
ln file1 lnk1 創建一個指向文件或目錄的物理鏈接
I. 關於linux lsof命令
這是很自然的,
jar「文件」是linux操作系統裡面的概念
class則是jvm虛擬機的概念
要查看應用載入的class你應該用jvisualvm(在jdk的bin目錄下)
J. linux 查看進程 lsof 哪個硬碟
查看那個進程佔用了xxx埠 lsof -i:xxx 查看進程號為xxx的進程在哪裡 ps -ef|grep xxx 個人建議你去看一下linux基礎資料-- 先掌握一些常用的命令,多學些總歸是好的! 希望能幫到你!