巧用find命令管理文件名为乱码的文件

原创 2007年09月16日 23:15:00

巧用find命令管理文件名为乱码的文件

 

当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用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节点号找到的文件名替换掉“{}”。
 

《Linux命令行与shell脚本》笔记--第7章:管理文件系统.md

7.1 探索Linux的文件系统7.1.1 基本的Linux文件系统 ext文件系统:扩展文件系统,Linux系统最早引入的系统。 使用虚拟目录来操作硬件设备,在物理设备上按定长的快来存储数据 采用...

linux之基本命令二の管理文件和目录

一:linux命令行格式     命令字  [选项]  [参数]     ----------------------------------------------------------...

在Linux中用chattr和lsattr命令管理文件和目录属性

原文:http://www.linuxtechi.com/file-directory-attributes-in-linux-using-chattr-lsattr-command/ 作者: Pr...

Linux常用命令(一)Linux管理文件和目录的命令

1.Linux管理文件和目录的命令      命令  功能 pwd  显示当前目录 ls  查看目录下的内容 cd  改变所在目录,转到目标目录 cat  显示文件的内容 g...

Linux(一)--rht-vmctl命令/Linux中的帮助使用/Linux中如何执行命令/Linux系统结构/利用通配符批量管理文件

rht-vmctl命令1.用途:rht-vmctl用来控制desktop或者sever这两台虚拟机。2.运行格式:rht-vmctl 参数 虚拟机名称 ...

Mac连接远程Linux管理文件(samba)

痛点 最近需要在Mac上远程连接一台Linux服务器,管理一些文件。不仅需要进行常规的本地文件操作,还需要上传、下载、编辑。 虽然有一些付费或免费的App,也可以完成类似工作。但其实Mac OS X自...

Mac连接远程Linux管理文件(samba)

Mac上通过vmware fusion8上安装了ubuntu16.04 现在通过sabma建立ubuntu和mac的共享目录: linux ubuntu配置: 安装samba: apt-get ...

NSFileManager管理文件和目录

1、访问文件属性和内容: // // main.m // NSFileManager // // Created by xxt-imac on 16/2/3. // Copyright © 2...

管理文件输入输出

管理输入输出在linux系统中,正确输出的编号为1,错误输出编号为2在系统中用普通用户执行 “student” find /etc -name passwd 因为student用户权限问题会有以...

Linux系统如何管理文件

硬盘中的静态文件和inode(i节点) (1)文件平时都在存放在硬盘中的,硬盘中存储的文件以一种固定的形式存放的,我们叫静态文件。 (2)一块硬盘中可以分为两大区域:一个是硬盘内容管理表项,另一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:巧用find命令管理文件名为乱码的文件
举报原因:
原因补充:

(最多只允许输入30个字)