判斷方法:1、利用netstat命令查看指定端口是否開啟,語法為“netstat -an | grep '22'”;2、利用ps命令查看進程信息,若顯示進程信息表示sftp已經(jīng)開啟,語法為“ps -ef | grep sftp”。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux怎么判斷是否開啟了sftp
rpm 指令能夠檢測到的只有通過 rpm 或者 yum 進行安裝的軟件包,如果是通過其他方式安裝的軟件,是查不到的。
通過 rpm 指令檢測 vsftpd 是否安裝:rpm -qa | grep vsftpd
。
因為服務(wù)器拿到之后就可以用 sftp 上傳文件了,所以肯定是存在這樣一個 sftp 服務(wù)的,且該服務(wù)已開啟。在確認(rèn)不是通過包管理器安裝的情況下,可以通過查詢進程或端口來查看服務(wù)。
具體操作
1、查看下端口是不是開啟
netstat -an | grep '22'
22 端口其實查的是 ssh 服務(wù),所以也可以用 netstat -an | grep 'ssh' 查詢。
2、查看進程:
ps -ef | grep sftp
值得注意的是,這兩種方法都需要在開啟一個 sftp 客戶端并已經(jīng)連接了服務(wù)器的情況下才能查出來。除非是以 vsftpd 形式運行。
[notice]vsftpd 以 daemon 形式運行,可以通過 service 進行控制,所以可以直接通過進程或端口查到。[/notice]
ps -ef 是用標(biāo)準(zhǔn)的格式顯示進程的、其格式如下
其中各列的內(nèi)容意思如下
UID //用戶ID、但輸出的是用戶名
PID //進程的ID
PPID //父進程ID
C //進程占用CPU的百分比
STIME //進程啟動到現(xiàn)在的時間
TTY //該進程在那個終端上運行,若與終端無關(guān),則顯示? 若為pts/0等,則表示由網(wǎng)絡(luò)連接主機進程。
CMD //命令的名稱和參數(shù)
推薦學(xué)習(xí):Linux視頻教程