新聞中心
Linux操作系統(tǒng)是一個非常流行的開源系統(tǒng),被越來越多的用戶和開發(fā)者使用。它不僅具有出色的安全性和穩(wěn)定性,還擁有豐富的命令行工具,大幅度提高了用戶的工作效率。在本文中,我們將介紹如何使用Linux查看當(dāng)前未關(guān)閉的文件,以及如何進(jìn)行管理。

當(dāng)程序結(jié)束時,應(yīng)該關(guān)閉它創(chuàng)建的所有文件。如果文件沒有被正確地關(guān)閉,這可能導(dǎo)致文件系統(tǒng)資源的浪費(fèi),影響系統(tǒng)的穩(wěn)定性。因此,在Linux中查看當(dāng)前未關(guān)閉的文件可以是一個好的習(xí)慣。
查看未關(guān)閉的文件
在Linux中,有多種方法可以查看當(dāng)前未關(guān)閉的文件。以下是最常用的兩種方法:
1.使用lsof命令
lsof(list open files)是一個強(qiáng)大的命令行工具,可以列出當(dāng)前系統(tǒng)中所有打開的文件和進(jìn)程??梢允褂靡韵旅顏聿榭串?dāng)前未關(guān)閉的文件:
“`
sudo lsof | grep -i “deleted”
“`
這條命令將返回所有未關(guān)閉的已刪除的文件,其中“deleted”表示該文件被刪除,但仍然在進(jìn)程中被打開。我們可以使用這個命令來檢查哪些程序沒有正確地關(guān)閉它們創(chuàng)建的文件。
2.使用fuser命令
另一個命令是fuser,它是一個查看進(jìn)程使用文件或套接字的命令行工具。使用以下命令可以查看當(dāng)前所有未關(guān)閉的文件:
“`
sudo fuser -v / | grep -e “[[:digit:]]\+u”
“`
這個命令將返回所有已打開的,但未關(guān)閉的文件,其中“u”表示文件被使用,在括號里的數(shù)字表示文件的文件描述符(file descriptor)。如果文件被多個進(jìn)程打開,這個命令會顯示所有的進(jìn)程。
管理未關(guān)閉的文件
一旦查找到未關(guān)閉的文件,我們需要采取措施來關(guān)閉它們。以下是一些可用的方法:
1.使用proc文件系統(tǒng)
proc文件系統(tǒng)是內(nèi)核使用和操作的一種虛擬文件系統(tǒng)。每個運(yùn)行的進(jìn)程都在proc文件系統(tǒng)上有一個目錄,可以使用以下命令找到一些有用的信息,并嘗試關(guān)閉文件:
“`
sudo ls -l /proc/[pid]/fd | grep deleted
sudo rm -rf /proc/[pid]/fd/[fd]
“`
其中,[pid]是進(jìn)程的進(jìn)程ID,[fd]是該進(jìn)程打開文件的文件描述符。我們使用ls命令來找到由進(jìn)程打開但已刪除的文件,然后使用rm命令強(qiáng)制刪除該文件的文件描述符,這將關(guān)閉該文件。
2.使用lsof命令
可以使用lsof命令查找所有未關(guān)閉的文件,并顯示相應(yīng)的進(jìn)程ID。然后可以使用kill命令殺死相應(yīng)的進(jìn)程ID,強(qiáng)制關(guān)閉未關(guān)閉的文件。例如:
“`
sudo lsof | grep -i “deleted” | awk ‘{print $2;}’ | sort | uniq | xargs kill -9
“`
這個命令使用grep命令查找所有未關(guān)閉的已刪除文件,然后使用awk命令提取進(jìn)程ID,使用sort和uniq命令去除重復(fù)項(xiàng),最后使用xargs和kill命令來強(qiáng)制殺死進(jìn)程并關(guān)閉文件。
在本文中,我們介紹了,并提供了一些管理這些文件的策略。當(dāng)您發(fā)現(xiàn)系統(tǒng)中存在未關(guān)閉的文件時,請盡早采取措施,以確保系統(tǒng)的穩(wěn)定性和安全性。記住,Linux是一個強(qiáng)大的系統(tǒng),擁有大量的工具和命令可用于管理和維護(hù)。
相關(guān)問題拓展閱讀:
- Linux那些命令操作
- linux常用命令及用法
Linux那些命令操作
Linux常用命令手冊
NO
分類
PS1
命令名
用法及參數(shù)
功能注解
對應(yīng)章節(jié)
文件管理
#
ls
ls -a
列出當(dāng)前目錄下的所有文件,包括以.頭的隱含文件
文件管理
#
ls
ls -l或ll
列出當(dāng)前目錄下文件的詳細(xì)信息
文件管理
#
pwd
pwd
查看當(dāng)前所在目錄的絕對路經(jīng)
文件管理
#
cd
cd ..
回當(dāng)前目錄的上一級目錄
文件管理
#
cd
cd –
回上一次所在的目錄
文件管理
#
cd
cd ~ 或 cd
回當(dāng)前用戶的宿主目錄
文件管理
#
cd
cd ~用戶名
回指定用戶的宿主目錄
文件管理
#
mkdir
mkdir 目錄名
創(chuàng)建一個目錄
文件管理
#
mkdir
mkdir –p
遞歸式去創(chuàng)建一些嵌套目錄
文件管理
#
rmdir
Rmdir 空目錄名
刪除一個空目錄
文件管理
#
rm
rm 文件名 文件名
刪除一個檔或多個檔
文件管理
#
rm
rm -rf 非空目錄名
遞歸刪除一個非空目錄下的一切,不讓提式-f
文件管理
#
cat
cat文件名
一屏查看檔內(nèi)容
文件管理
#
more
more文件名
分頁查看檔內(nèi)容
文件管理
#
less
less 文件名
可控分頁查看檔內(nèi)容
文件管理
#
grep
grep字符 文件名
根據(jù)字符匹配來查看文件部分內(nèi)容
文件管理
#
mv
mv 路經(jīng)/文件 /經(jīng)/文件
移動相對路經(jīng)下的文件到絕對路經(jīng)下
文件管理
#
mv
mv 文件名 新名稱
在當(dāng)前目錄下改名
文件管理
#
cp
cp /路經(jīng)/文件 ./
移動絕對路經(jīng)下的文件到當(dāng)前目錄下
文件管理
#
find
find 路經(jīng) -name “字符串”
查找路經(jīng)所在范圍內(nèi)滿足字符串匹配的文件和目錄
文件管理
#
ln
ln 源文件 鏈接名
創(chuàng)建當(dāng)前目錄源文件的硬鏈接
ln /home/test /usr/test1
在/usr下建立/home/test的硬鏈接
文件管理
#
ln
Ln -s a b
創(chuàng)建當(dāng)前目錄下a的符號鏈接b
文件管理
#
touch
touch file1 file2
創(chuàng)建兩個空文件
磁盤管理
#
df
df
用于報告文件系統(tǒng)的總?cè)萘?,使用量,剩余容量?/p>
磁盤管理
#
du
du -b /home
查看目前/HOME目錄的容量(k)及子目錄的容量(k)。
磁盤管理
#
fdisk
fdisk -l
查看系統(tǒng)分區(qū)信息
磁盤管理
#
fdisk
fdisk /dev/sdb
為一塊新的SCSI硬盤進(jìn)行分區(qū)
磁盤管理
#
mkfs.ext3
Mkfs.ext3 /dev/sdb1
為之一塊SCSI硬盤的之一主分區(qū)格式化成
ext3的文件系統(tǒng)
mkfs.ext2
Mkfs.ext2/dev/sdb2
格式化成ext2文件系統(tǒng)
磁盤管理
#
mount
mount -t 文件系統(tǒng)類型 設(shè)備路經(jīng) 訪問路經(jīng)
磁盤管理
#
文件系統(tǒng)類型
Iso9660
光驅(qū)文件系統(tǒng)
vfat
Fat文件系統(tǒng)(windows)
掛載光驅(qū)
#
mount –t iso9660 /dev/cdrom /mnt/cdrom
掛載FAT
#
mount –t vfat /dev/hda5 /mnt/cdrom
掛之一個ide的第五個邏輯分區(qū)
磁盤管理
#
Umount /mnt/cdrom
卸載/mnt/cdrom為空
文件權(quán)限
#
chmod
chmod u+s file
為file的屬主加上特殊權(quán)限
chmod g+r file
為file的屬組加上讀權(quán)限
chmod o+w file
為file的其它用戶加上寫權(quán)限
chmod a-x file
為file的所有用戶減去執(zhí)行權(quán)限
chmod 765 file 為file的屬主設(shè)為完全權(quán)限,屬組設(shè)成讀寫權(quán),其它用戶具有讀和執(zhí)心權(quán)限
文件權(quán)限
#
chown
chown root /home
把/home的屬主改成root用戶
文件權(quán)限
#
chgrp
chgrp root /home
把/home的屬組改成root組
打印管理
#
redhat-config-printer-tui
進(jìn)入安裝打印機(jī)接口
打印管理
#
lp
lp –d hptr file
打印file到hptr的打印機(jī)上
打印管理
#
lpq
Lpq –P 打印機(jī)名
查看打印機(jī)的狀態(tài)
打印管理
#
lprm
Lprm –P 打印機(jī)名 a
刪除打印機(jī)內(nèi)的打印作業(yè)
打印管理
#
disable
Disable –r “changing paper” HPtr
禁用打印機(jī)并提示原因
打印管理
#
enable
Enable HPtr
重新啟用被禁用的
用戶管理
#
useradd
Useradd
創(chuàng)建一個新的用戶
用戶管理
#
groupadd
Groupadd 組名
創(chuàng)建一個新的組
用戶管理
#
passwd
Passwd 用戶名
為用戶創(chuàng)建密碼
用戶管理
#
Passwd -d
Passwd -d用戶名
刪除用戶密碼也能登陸
用戶管理
#
Passwd -l
Passwd -l用戶名
鎖定賬號密碼
用戶管理
#
Passwd -u
Passwd -u用戶名
解鎖賬號密碼
用戶管理
#
Passwd -S
Passwd -S用戶名
查詢賬號密碼
用戶管理
#
Usermod -l
Usermod -l 新用戶名 老用戶名
為用戶改名
用戶管理
#
Usermod -L
Usermod -L 要鎖定用戶名
鎖定用戶登陸
用戶管理
#
Usermod -U
Usermod –U解鎖用戶名
解鎖用戶登陸
用戶管理
#
Usermod -u
Usermod –u 501用戶名
改變用戶UID
用戶管理
#
Userdel
Userdel–r 用戶名
刪除用戶一切
用戶管理
#
Groupmod -n
Groupmod –n新用戶名 老用戶名
為組改名
用戶管理
#
Groupmod -g
Groupmod –g 501 組名
改變組GID
用戶管理
#
groupdel
Groupdel組名 先應(yīng)刪它的用戶
刪除組
用戶管理
#
gpasswd -a
gpasswd -a 用戶名 組名
增加用戶到組
用戶管理
#
Id
id 用戶名
查用戶信息
軟件管理
#
rpm -qa
rpm –qa | less
查詢已安裝RPM
軟件管理
#
rpm –qa | grep ftp
查詢指定RPM
軟件管理
#
rpm -q
rpm -q 已安裝的RPM包
查是否安裝
軟件管理
#
rpm -q telnet-server
查看telnet服務(wù)器包
軟件管理
#
rpm -qi
rpm –qi 軟件包名稱
查看軟件的描述信息
軟件管理
#
rpm -ql
rpm –ql軟件包名稱
查詢軟件包的文件列表
軟件管理
#
rpm -qf
rpm –qf軟件包名稱
查詢某個文件所屬的軟件包
軟件管理
#
rpm -qp
rpm –qp軟件包全名
查詢未安裝的軟件包信息
軟件管理
#
rpm -e
rpm –e 軟件包名稱
刪除具體的軟件包
軟件管理
#
rpm -U
rpm –Uvh軟件包全名
升級軟件包并顯示過程
軟件管理
#
rpm -ivh
rpm –ivh 軟件包全名
安裝軟件包并顯示過程
軟件管理
#
rpm -V
rpm –V軟件包名稱
驗(yàn)證軟件包的大小,類型等
軟件管理
#
tar
-c 創(chuàng)建包 –x 釋放包 -v 顯示命令過程 –z 代表壓縮包
軟件管理
#
tar -cf
tar –cvf benet.tar /home/benet
把/home/benet目錄打包
軟件管理
#
tar -czf
tar –zcvf benet.tar.gz /mnt
把目錄打包并壓縮
軟件管理
#
tar –tf
tar –tf benet.tar
看非壓縮包的檔列表
軟件管理
#
tar –tzf
tar –tf benet.tar.gz
看壓縮包的檔列表
軟件管理
#
tar –xf
tar –xf benet.tar
非壓縮包的檔恢復(fù)
軟件管理
#
tar –zxvf
tar –zxvf benet.tar.gz
壓縮包的檔解壓恢復(fù)
軟件管理
#
tar -jxvf
tar –jxvf benet.tar.bz2
軟件管理
#
diff
diff file1 file2 > 補(bǔ)丁名.patch
為新舊檔生成補(bǔ)丁檔
軟件管理
#
diff
diff file1 file2
比較兩個文件的區(qū)別
軟件管理
#
Patch
Patch file補(bǔ)丁名.patch
打補(bǔ)丁
軟件管理
#
./configure –prefix=/usr/local/
編譯前配置
軟件管理
#
make
編譯
軟件管理
#
make install
安裝編譯好的源碼包
啟動管理
#
reboot
Init 6
重啟LINUX系統(tǒng)
啟動管理
#
Halt
Init 0
Shutdown –h now
關(guān)閉LINUX系統(tǒng)
啟動管理
#
runlevel
顯示系統(tǒng)運(yùn)行級
啟動管理
#
Init
改變系統(tǒng)運(yùn)行級,7種
啟動管理
#
Chkconfig –-list
查看服務(wù)的狀態(tài)
啟動管理
#
Chkconfig –-level on|off|set
設(shè)置服務(wù)的啟動狀態(tài)
啟動管理
#
Chkconfig on|off|set
設(shè)置非獨(dú)立服務(wù)啟狀態(tài)
進(jìn)程管理
#
Top動態(tài)
Ps-aux靜態(tài)
進(jìn)程樹pstree
查看系統(tǒng)進(jìn)程
進(jìn)程管理
#
程序名 &
后臺運(yùn)行程序
進(jìn)程管理
#
fg
把后臺運(yùn)行的進(jìn)程調(diào)回前臺
進(jìn)程管理
#
bg
把前臺運(yùn)行進(jìn)程調(diào)到后臺
進(jìn)程管理
#
renice
Renice +1 180
把180號進(jìn)程的優(yōu)先級加1
進(jìn)程管理
#
kill
Kill PID
終止某個PID進(jìn)程
進(jìn)程管理
#
at
at 5pm + 3 days
/bin/ls
指定三天后下午5:00執(zhí)行/bin/ls
進(jìn)程管理
#
crontab
Crontab -e
用VI的形式來編輯自動周期性任務(wù)
進(jìn)程管理
#
crontab
Crontab -l
查看自動周期性任務(wù)
進(jìn)程管理
#
crontab
Crontab -r
刪除自動周期性任務(wù)
進(jìn)程管理
#
crond
Service crond
馬上啟動自動周期
Service crond
實(shí)現(xiàn)磁盤配額
(注安裝LINUX時建立/home分區(qū))
目標(biāo):對用戶zhao在/home目錄上實(shí)現(xiàn)soft limit為5k,hard limit 為10k的磁盤配額
實(shí)現(xiàn)步驟:
1. 修改包含/home的行, #vi /etc/fstab, 改為:defaults,usrquota。也就是增加usrquota項(xiàng)。然后保存退出。
2、卸載/home目錄#umount /home
3. 掛接/home目錄#mount /home
4、增加用戶zhao#useradd zhao
5、修改密碼 #passwd zhao
6、生成關(guān)于/home目錄的quota信息# quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用戶的信息#repquota -au
8、設(shè)置配額 #edquota -u zhao
將soft 和hard 分別改為5和10
9、保存并退出 #wq!
10、修改時間 #edquota -t
11、#wq!
12.開啟/home上的磁盤配額功能 #quotaon /home
13.查詢配額 #quota -u zhao
14.驗(yàn)證配額 #su – zhao
$touch myfile
useradd命令的常用選項(xiàng)如下:
-c comment:用戶全名或描述。l
-d home-dir:指定用戶主目錄。l
-e date:禁用賬戶的日期,格式為:YYYY-MM-DD。l
-f days:口令過期后,賬戶禁用前的天數(shù)。l
-g group-name:用戶所屬主組群的組群名稱或GID。l
-G group-list:用戶所屬的附屬組群列表,多個項(xiàng)目用逗號分隔。l
-m:若主目錄不存在則創(chuàng)建它。l
-M:不創(chuàng)建用戶主目錄。l
-n:不要為用戶創(chuàng)建用戶私人組群。l
-r:創(chuàng)建UID小于500的不帶主目錄的系統(tǒng)賬戶。l
-p:加密的口令。l
-s:指定用戶登錄 Shell,默認(rèn)為 /bin/bash。l
-u UID:指定用戶的 UID,它必須是唯一的,且大于499。l
用history命令就行,具體格式:
# history
# history
# history histfiles
參數(shù):
n :數(shù)字,意思是‘要列出最近的 n 筆命令列表’的意思!
-c :將目前的 shell 中的所有 history 內(nèi)容全部消除
-a :將目前新增的 history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預(yù)設(shè)寫入 ~/.bash_history
-r :將 histfiles 的內(nèi)容讀到目前這個 shell 的 history 記憶中;
linux常用命令及用法
linux常用命令及用法如下:
pwd 顯示工作路徑
shutdown -h now 關(guān)閉系統(tǒng) /halt 關(guān)閉系統(tǒng)
shutdown -r now 重啟 / reboot 重啟
systemctl stop firewalld 關(guān)閉防火墻
ip addr 查看ip地址
1、cd命令:這是一個非?;?,也是大家經(jīng)常需要使用的命令,它用于切換當(dāng)前目錄,它的參數(shù)是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如:
cd /home 進(jìn)入根目錄下面的home目錄
cd home 進(jìn)入當(dāng)前目錄下的home目錄
cd .. 返回上一層目錄
cd ../.. 返回上兩級目錄
cd / 返回跟目錄
cd返回上次所在的目錄
2、ls命令:這是一個非常有用的查看文件與目錄的命令,list之意,它的參數(shù)非常多,下面就列出一些我常用的參數(shù)吧,如下:
ls 查看目錄中的文件
ls -a 列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來
ls -l 顯示文件和目錄的詳細(xì)資料
3、mkdir命令:創(chuàng)建
mkdir dir1 創(chuàng)建一個叫做 ‘dir1′ 的目錄’
mkdir dir1 dir2 同時創(chuàng)建兩個目錄
4、rm命令:刪除
rm -f file1 刪除一個叫做 ‘file1′ 的文件’
rmdir dir1 刪除一個叫做 ‘dir1′ 的目錄’ (空目錄才能刪除)
rm -rf dir1 刪除一個叫做 ‘dir1’ 的目錄并同時刪除其內(nèi)容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內(nèi)容
5、mv命令:該命令用于移動文件、目錄或更名,move之意,它的常用參數(shù)如下:-f 如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋
mv file1 file2 把文件file1重命名為file2
mv file1 file2 dir 把文件file1、file2移動到目錄dir中
6、cp命令:該命令用于復(fù)制文件,copy之意,它還可以把多個文件一次性地復(fù)制到一個目錄下, 它的常用參數(shù)如下:
cp -a file1 file2 連同文件的所有特性把文件file1復(fù)制成文件file2
cp dir/* . 復(fù)制一個目錄下的所有文件到當(dāng)前工作目錄
cp -a /tmp/dir1 . 復(fù)制一個目錄到當(dāng)前工作目錄
cp -a dir1 dir2 復(fù)制一個目錄
7、find命令:find是一個基于查找的功能非常強(qiáng)大的命令
find / -name file1 從 ‘/’ 開始進(jìn)入根文件系統(tǒng)搜索文件和目錄
find / -user user1 搜索屬于用戶 ‘user1’ 的文件和目錄
find /home/user1 -name \*.bin 在目錄 ‘/ home/user1′ 中搜索帶有’.bin’ 結(jié)尾的文件
find /usr/bin -type f -atime +100 搜索在過去100天內(nèi)未被使用過的執(zhí)行文件
find /usr/bin -type f -mtime -10 搜索在10天內(nèi)被創(chuàng)建或者修改過的文件
linux查看未關(guān)閉的文件的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux查看未關(guān)閉的文件,如何使用Linux查看未關(guān)閉的文件,Linux那些命令操作,linux常用命令及用法的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機(jī)房等。
文章標(biāo)題:如何使用Linux查看未關(guān)閉的文件(linux查看未關(guān)閉的文件)
分享路徑:http://fisionsoft.com.cn/article/ccdddhj.html


咨詢
建站咨詢
