Linux下命令删除乱码文件

当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。

但是每个文件都有一个i节点号,可以通过i节点号来管理文件。首先,要取得文件的i节点号。这个可以通过ls命令的-i选项获得得。

-bash-3.00$ ls -i
41697812 a     32983551 di      32983554 ethnet.c 32983543 hard_link
32983542 de.c 32983544 ethnet 32983541 ethnet.h 32983543 kstat

每个文件名前面的数字就是文件的i节点号。有了文件的i节点号,我们就可以利用find命令的-inum选项配合
常用的文件管理命令进行文件管理了。例如,如果要删除di文件,命令如下:

-bash-3.00$ find . -inum 32983551 -exec rm {} \;
-bash-3.00$ ls
a de.c ethnet ethnet.c ethnet.h hard_link kstat

看di文件被删除了。因为这个例子是在unix-center的机子上运行的,暂时没有文件名为乱码的文件做为示例,
但是道理是一样的,不影响我们的理解。

要重命名一个文件,命令也很简单,如下:

-bash-3.00$ ls -i
32983542 de.c    32983554 ethnet.c 32983543 hard_link 32983545 kstat.c
32983544 ethnet 32983541 ethnet.h 32983543 kstat      32983681 sys_link
-bash-3.00$ find . -inum 32983542 -exec mv {} di.c \;
-bash-3.00$ ls -i
32983542 di.c    32983554 ethnet.c 32983543 hard_link 32983545 kstat.c
32983544 ethnet 32983541 ethnet.h 32983543 kstat      32983681 sys_link

看看,de.c文件被重命名为di.c了。特别要提一下的是,在find命令中的“{}”表示find命令找到的文件,在
-exec选项执行mv命令的时候,会利用按i节点号找到的文件名替换掉“{}” 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。

但是每个文件都有一个i节点号,可以通过i节点号来管理文件。首先,要取得文件的i节点号。这个可以通过ls命令的-i选项获得得。

-bash-3.00$ ls -i
41697812 a     32983551 di      32983554 ethnet.c 32983543 hard_link
32983542 de.c 32983544 ethnet 32983541 ethnet.h 32983543 kstat

每个文件名前面的数字就是文件的i节点号。有了文件的i节点号,我们就可以利用find命令的-inum选项配合
常用的文件管理命令进行文件管理了。例如,如果要删除di文件,命令如下:

-bash-3.00$ find . -inum 32983551 -exec rm {} \;
-bash-3.00$ ls
a de.c ethnet ethnet.c ethnet.h hard_link kstat

看di文件被删除了。因为这个例子是在unix-center的机子上运行的,暂时没有文件名为乱码的文件做为示例,
但是道理是一样的,不影响我们的理解。

要重命名一个文件,命令也很简单,如下:

-bash-3.00$ ls -i
32983542 de.c    32983554 ethnet.c 32983543 hard_link 32983545 kstat.c
32983544 ethnet 32983541 ethnet.h 32983543 kstat      32983681 sys_link
-bash-3.00$ find . -inum 32983542 -exec mv {} di.c \;
-bash-3.00$ ls -i
32983542 di.c    32983554 ethnet.c 32983543 hard_link 32983545 kstat.c
32983544 ethnet 32983541 ethnet.h 32983543 kstat      32983681 sys_link

看看,de.c文件被重命名为di.c了。特别要提一下的是,在find命令中的“{}”表示find命令找到的文件,在
-exec选项执行mv命令的时候,会利用按i节点号找到的文件名替换掉“{}”

时间: 2024-10-10 09:59:48

Linux下命令删除乱码文件的相关文章

Linux下的删除过期文件操作

在实际的软件开发项目中,经常会有实现删除过期文件的需求.即要求程序能够自动删除多长时间之前生成的文件.本文提供了一个示例代码,为相关的开发工作提供了参考. 程序如下(本程序用makefile进行编译): /*********************************************************************** 版权所有 (C)2014, Zhou Zhaoxiong.* * 文件名称: TestFileDelete.c* 内容摘要: 用于演示Linux下过期

如何将Linux rm命令删除的文件放入垃圾箱

因为rm命令删除的文件是不会放入垃圾箱的,所以无法恢复,下面小编就给大家介绍一种方法,通过替换Linux rm命令的方法,从而将rm命令删除的文件放入垃圾箱. 方法: 1. 在/home/username/ 目录下新建一个目录,命名为:.trash 2. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh PARA_CNT=$# TRASH_DIR="/home/username/.trash" for i in $*; do ST

linux下定期删除指定文件夹下2天前的文件

vi编脚本delete-log.sh内容如下:find /home/ctbackup/ -mtime +2 -name orabackup- -exec rm -rf {} \;find /home/ctbackup/ -mtime +2 -name OilDaQingAllinoneM- -exec rm -rf {} \; 设定执行脚本时间:每天3点执行脚本命令crontab -e0 3 * /home/delete-log.sh 原文地址:https://blog.51cto.com/su

Linux下删除乱码文件

Linux下删除乱码文件: 1. ls -i 列出文件的节点ID, 如: 123456789 2. find ./ -inum 123456789 -print -exec rm -rf {} \; 批量删除: for n in 123456789 987654321;do find . -inum $n -exec rm -f {} \;;done

Linux服务器删除乱码文件和文件夹的方法

Linux服务器删除乱码文件和文件夹的方法 首页进入乱码文件所在文件夹由于php大势所趋,所以接触Linux服务器的机会越来越多.不同于Windows服务器,Linux服务器只支持数字.英文等字符,对中文字符没办法识别.所以导致我们打包上传文件解压之后出现中文乱码文件和文件夹.网上有很多解决的办法,但是今天亲测用find命令能快速删除乱码的文件和文件夹,所以跟大家分享一下. 使用ls -i命令找到文件或文件夹的节点编号 前面的就是节点号了,接下来使用find命令查询并且删除 -inum指根据节点

[转载] linux下打开windows txt文件中文乱码问题

原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv命令,如乱码文件名为shujujiegou.txt,那么在终端输入如下命令: iconv -f gbk -t

Linux删除乱码文件或者目录

Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. 方法一: 使用rm -rf 删除上一级目录,当然前提是需要备份你需要备份的数据. 一种思路: 1. 比如/home下文件夹内含有乱码的文件 2. mkdir tmp 3. 将所有的文件首先移动到 mv * tmp/ 4.到tmp下 把所有有正常的显示字符的文件移动出来 cd tmp ; mv [a

Linux下查看文件大小、文件占磁盘大小等详解(du 和df )使用命令

一.查看文件占磁盘大小一般使用du或df命令 df命令:用于显示磁盘分区上的可使用的磁盘空间.默认显示单位为KB.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. du命令:查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.  df命令:显示磁盘分区上的可使用的磁盘空间. df[选项][参数] 选项: 1 -a或--all:包含全部的文件系统: 2 --block-size=<区块大小>:以指定的区块大

Linux利用i节点删除乱码文件

Linux删除乱码文件 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了.但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件.首先,我们要取得文件的i节点号.这个可以通过ls命令的-i选项获得得,也可以通过ll -i 来获得.第二步,使用find命令将文件名传递给rm命令.e.g:删除节点为12345的乱码文件夹可以使用如下命令find ./ -inum 12345 -print -exec rm {} -rf \;注意\;