Linux操作系统是一个非常流行的开源系统,被越来越多的用户和开发者使用。它不仅具有出色的安全性和稳定性,还拥有丰富的命令行工具,大幅度提高了用户的工作效率。在本文中,我们将介绍如何使用Linux查看当前未关闭的文件,以及如何进行管理。
当程序结束时,应该关闭它创建的所有文件。如果文件没有被正确地关闭,这可能导致文件系统资源的浪费,影响系统的稳定性。因此,在Linux中查看当前未关闭的文件可以是一个好的习惯。
查看未关闭的文件
在Linux中,有多种方法可以查看当前未关闭的文件。以下是最常用的两种方法:
1.使用lsof命令
lsof(list open files)是一个强大的命令行工具,可以列出当前系统中所有打开的文件和进程。可以使用以下命令来查看当前未关闭的文件:
“`
sudo lsof | grep -i “deleted”
“`
这条命令将返回所有未关闭的已删除的文件,其中“deleted”表示该文件被删除,但仍然在进程中被打开。我们可以使用这个命令来检查哪些程序没有正确地关闭它们创建的文件。
2.使用fuser命令
另一个命令是fuser,它是一个查看进程使用文件或套接字的命令行工具。使用以下命令可以查看当前所有未关闭的文件:
“`
sudo fuser -v / | grep -e “[[:digit:]]\+u”
“`
这个命令将返回所有已打开的,但未关闭的文件,其中“u”表示文件被使用,在括号里的数字表示文件的文件描述符(file descriptor)。如果文件被多个进程打开,这个命令会显示所有的进程。
管理未关闭的文件
一旦查找到未关闭的文件,我们需要采取措施来关闭它们。以下是一些可用的方法:
1.使用proc文件系统
proc文件系统是内核使用和操作的一种虚拟文件系统。每个运行的进程都在proc文件系统上有一个目录,可以使用以下命令找到一些有用的信息,并尝试关闭文件:
“`
sudo ls -l /proc/[pid]/fd | grep deleted
sudo rm -rf /proc/[pid]/fd/[fd]
“`
其中,[pid]是进程的进程ID,[fd]是该进程打开文件的文件描述符。我们使用ls命令来找到由进程打开但已删除的文件,然后使用rm命令强制删除该文件的文件描述符,这将关闭该文件。
2.使用lsof命令
可以使用lsof命令查找所有未关闭的文件,并显示相应的进程ID。然后可以使用kill命令杀死相应的进程ID,强制关闭未关闭的文件。例如:
“`
sudo lsof | grep -i “deleted” | awk ‘{print $2;}’ | sort | uniq | xargs kill -9
“`
这个命令使用grep命令查找所有未关闭的已删除文件,然后使用awk命令提取进程ID,使用sort和uniq命令去除重复项,最后使用xargs和kill命令来强制杀死进程并关闭文件。
在本文中,我们介绍了,并提供了一些管理这些文件的策略。当您发现系统中存在未关闭的文件时,请尽早采取措施,以确保系统的稳定性和安全性。记住,Linux是一个强大的系统,拥有大量的工具和命令可用于管理和维护。
相关问题拓展阅读:
Linux常用命令手册
NO
分类
PS1
命令名
用法及参数
功能注解
对应章节
文件管理
#
ls
ls -a
列出当前目录下的所有文件,包括以.头的隐含文件
文件管理
#
ls
ls -l或ll
列出当前目录下文件的详细信息
文件管理
#
pwd
pwd
查看当前所在目录的绝对路经
文件管理
#
cd
cd ..
回当前目录的上一级目录
文件管理
#
cd
cd –
回上一次所在的目录
文件管理
#
cd
cd ~ 或 cd
回当前用户的宿主目录
文件管理
#
cd
cd ~用户名
回指定用户的宿主目录
文件管理
#
mkdir
mkdir 目录名
创建一个目录
文件管理
#
mkdir
mkdir –p
递归式去创建一些嵌套目录
文件管理
#
rmdir
Rmdir 空目录名
删除一个空目录
文件管理
#
rm
rm 文件名 文件名
删除一个档或多个档
文件管理
#
rm
rm -rf 非空目录名
递归删除一个非空目录下的一切,不让提式-f
文件管理
#
cat
cat文件名
一屏查看档内容
文件管理
#
more
more文件名
分页查看档内容
文件管理
#
less
less 文件名
可控分页查看档内容
文件管理
#
grep
grep字符 文件名
根据字符匹配来查看文件部分内容
文件管理
#
mv
mv 路经/文件 /经/文件
移动相对路经下的文件到绝对路经下
文件管理
#
mv
mv 文件名 新名称
在当前目录下改名
文件管理
#
cp
cp /路经/文件 ./
移动绝对路经下的文件到当前目录下
文件管理
#
find
find 路经 -name “字符串”
查找路经所在范围内满足字符串匹配的文件和目录
文件管理
#
ln
ln 源文件 链接名
创建当前目录源文件的硬链接
ln /home/test /usr/test1
在/usr下建立/home/test的硬链接
文件管理
#
ln
Ln -s a b
创建当前目录下a的符号链接b
文件管理
#
touch
touch file1 file2
创建两个空文件
磁盘管理
#
df
df
用于报告文件系统的总容量,使用量,剩余容量。
磁盘管理
#
du
du -b /home
查看目前/HOME目录的容量(k)及子目录的容量(k)。
磁盘管理
#
fdisk
fdisk -l
查看系统分区信息
磁盘管理
#
fdisk
fdisk /dev/sdb
为一块新的SCSI硬盘进行分区
磁盘管理
#
mkfs.ext3
Mkfs.ext3 /dev/sdb1
为之一块SCSI硬盘的之一主分区格式化成
ext3的文件系统
mkfs.ext2
Mkfs.ext2/dev/sdb2
格式化成ext2文件系统
磁盘管理
#
mount
mount -t 文件系统类型 设备路经 访问路经
磁盘管理
#
文件系统类型
Iso9660
光驱文件系统
vfat
Fat文件系统(windows)
挂载光驱
#
mount –t iso9660 /dev/cdrom /mnt/cdrom
挂载FAT
#
mount –t vfat /dev/hda5 /mnt/cdrom
挂之一个ide的第五个逻辑分区
磁盘管理
#
Umount /mnt/cdrom
卸载/mnt/cdrom为空
文件权限
#
chmod
chmod u+s file
为file的属主加上特殊权限
chmod g+r file
为file的属组加上读权限
chmod o+w file
为file的其它用户加上写权限
chmod a-x file
为file的所有用户减去执行权限
chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限
文件权限
#
chown
chown root /home
把/home的属主改成root用户
文件权限
#
chgrp
chgrp root /home
把/home的属组改成root组
打印管理
#
redhat-config-printer-tui
进入安装打印机接口
打印管理
#
lp
lp –d hptr file
打印file到hptr的打印机上
打印管理
#
lpq
Lpq –P 打印机名
查看打印机的状态
打印管理
#
lprm
Lprm –P 打印机名 a
删除打印机内的打印作业
打印管理
#
disable
Disable –r “changing paper” HPtr
禁用打印机并提示原因
打印管理
#
enable
Enable HPtr
重新启用被禁用的
用户管理
#
useradd
Useradd
创建一个新的用户
用户管理
#
groupadd
Groupadd 组名
创建一个新的组
用户管理
#
passwd
Passwd 用户名
为用户创建密码
用户管理
#
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组名 先应删它的用户
删除组
用户管理
#
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服务器包
软件管理
#
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软件包名称
验证软件包的大小,类型等
软件管理
#
tar
-c 创建包 –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
非压缩包的档恢复
软件管理
#
tar –zxvf
tar –zxvf benet.tar.gz
压缩包的档解压恢复
软件管理
#
tar -jxvf
tar –jxvf benet.tar.bz2
软件管理
#
diff
diff file1 file2 > 补丁名.patch
为新旧档生成补丁档
软件管理
#
diff
diff file1 file2
比较两个文件的区别
软件管理
#
Patch
Patch file补丁名.patch
打补丁
软件管理
#
./configure –prefix=/usr/local/
编译前配置
软件管理
#
make
编译
软件管理
#
make install
安装编译好的源码包
启动管理
#
reboot
Init 6
重启LINUX系统
启动管理
#
Halt
Init 0
Shutdown –h now
关闭LINUX系统
启动管理
#
runlevel
显示系统运行级
启动管理
#
Init
改变系统运行级,7种
启动管理
#
Chkconfig –-list
查看服务的状态
启动管理
#
Chkconfig –-level on|off|set
设置服务的启动状态
启动管理
#
Chkconfig on|off|set
设置非独立服务启状态
进程管理
#
Top动态
Ps-aux静态
进程树pstree
查看系统进程
进程管理
#
程序名 &
后台运行程序
进程管理
#
fg
把后台运行的进程调回前台
进程管理
#
bg
把前台运行进程调到后台
进程管理
#
renice
Renice +1 180
把180号进程的优先级加1
进程管理
#
kill
Kill PID
终止某个PID进程
进程管理
#
at
at 5pm + 3 days
/bin/ls
指定三天后下午5:00执行/bin/ls
进程管理
#
crontab
Crontab -e
用VI的形式来编辑自动周期性任务
进程管理
#
crontab
Crontab -l
查看自动周期性任务
进程管理
#
crontab
Crontab -r
删除自动周期性任务
进程管理
#
crond
Service crond
马上启动自动周期
Service crond
实现磁盘配额
(注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录#umount /home
3. 挂接/home目录#mount /home
4、增加用户zhao#useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息# quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息#repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、#wq!
12.开启/home上的磁盘配额功能 #quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su – zhao
$touch myfile
useradd命令的常用选项如下:
-c comment:用户全名或描述。l
-d home-dir:指定用户主目录。l
-e date:禁用账户的日期,格式为:YYYY-MM-DD。l
-f days:口令过期后,账户禁用前的天数。l
-g group-name:用户所属主组群的组群名称或GID。l
-G group-list:用户所属的附属组群列表,多个项目用逗号分隔。l
-m:若主目录不存在则创建它。l
-M:不创建用户主目录。l
-n:不要为用户创建用户私人组群。l
-r:创建UID小于500的不带主目录的系统账户。l
-p:加密的口令。l
-s:指定用户登录 Shell,默认为 /bin/bash。l
-u UID:指定用户的 UID,它必须是唯一的,且大于499。l
用history命令就行,具体格式:
# history
# history
# history histfiles
参数:
n :数字,意思是‘要列出最近的 n 笔命令列表’的意思!
-c :将目前的 shell 中的所有 history 内容全部消除
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,
则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
linux常用命令及用法如下:
pwd 显示工作路径
shutdown -h now 关闭系统 /halt 关闭系统
shutdown -r now 重启 / reboot 重启
systemctl stop firewalld 关闭防火墙
ip addr 查看ip地址
1、cd命令:这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:
cd /home 进入根目录下面的home目录
cd home 进入当前目录下的home目录
cd .. 返回上一层目录
cd ../.. 返回上两级目录
cd / 返回跟目录
cd返回上次所在的目录
2、ls命令:这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:
ls 查看目录中的文件
ls -a 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
ls -l 显示文件和目录的详细资料
3、mkdir命令:创建
mkdir dir1 创建一个叫做 ‘dir1′ 的目录’
mkdir dir1 dir2 同时创建两个目录
4、rm命令:删除
rm -f file1 删除一个叫做 ‘file1′ 的文件’
rmdir dir1 删除一个叫做 ‘dir1′ 的目录’ (空目录才能删除)
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
5、mv命令:该命令用于移动文件、目录或更名,move之意,它的常用参数如下:-f 如果目标文件已经存在,不会询问而直接覆盖
mv file1 file2 把文件file1重命名为file2
mv file1 file2 dir 把文件file1、file2移动到目录dir中
6、cp命令:该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下, 它的常用参数如下:
cp -a file1 file2 连同文件的所有特性把文件file1复制成文件file2
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
7、find命令:find是一个基于查找的功能非常强大的命令
find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name \*.bin 在目录 ‘/ home/user1′ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
linux查看未关闭的文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux查看未关闭的文件,如何使用Linux查看未关闭的文件,Linux那些命令操作,linux常用命令及用法的信息别忘了在本站进行查找喔。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联——四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,高电服务器托管,算力服务器租用,可选线路电信、移动、联通机房等。
分享名称:如何使用Linux查看未关闭的文件(linux查看未关闭的文件)
链接URL:http://www.csdahua.cn/qtweb/news26/351076.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网