学网站开发怎么样,常州网站建设工作室,编程网站排名,教务系统登录入口linux下删除乱码文件、目录
由于编码原因#xff0c;在linux服务器上上传、创建中文文件或目录时#xff0c;会产生乱码#xff0c;如果想删除它#xff0c;有时候发现用rm命令是删除不了的 这种情况下#xff0c;用find命令可以删除乱码的文件或目录。 首先进入乱码文件…linux下删除乱码文件、目录
由于编码原因在linux服务器上上传、创建中文文件或目录时会产生乱码如果想删除它有时候发现用rm命令是删除不了的 这种情况下用find命令可以删除乱码的文件或目录。 首先进入乱码文件或目录所在的目录 使用ls -i命令找到文件或目录的inod
[rootVM-4-6-centos yum.repos.d]# ll -i
total 16
263772 -rw-r--r-- 1 root root 614 Aug 14 20:50 CentOS-Base.repo
263807 -rw-r--r-- 1 root root 230 Aug 14 20:50 CentOS-Epel.repo
263947 -rw-r--r-- 1 root root 2081 Aug 14 20:50 docker-ce.repo
263761 -rw-r--r-- 1 root root 70 Aug 14 20:37 test.repo文件或目录前面的数字字符串就是inode 接下来使用find命令查询并且删除此文件或目录
[rootk8s-m1 ~]# find -inum 917947 -delete注意此方法只适用于删除文件或空的文件夹。 非空文件夹怎么删除呢 首先也是先查inode, 然后用如下命令即可
[rootk8s-m1 ~]# find -inum 2348437 -exec rm -rf {} \;会提示找不到此文件或文件夹但再次查看会发现其实已经删除了。
Linux下乱码转换
在windows上使用ftp上传文件到Linux上中文名称在Linux系统中显示为乱码。虽然将Linux的env设置了LANGen_US.UTF-8并且本地的Shell客户端编码也设置成UTF-8但在Shell中或通过http访问仍是乱码…… 原因在于Windows 的文件名中文编码默认为GBK压缩或者上传后文件名还会是GBK编码而Linux中默认文件名编码为UTF8由于编码不一致所以导致了文件名乱码的问题解决这个问题需要对文件名进行转码。
yum install convmv -y
convmv -f gbk -t utf-8 -r --notest /home/要操作的文件常用参数 -r 递归处理子文件夹 –notest 真正进行操作默认情况下是不对文件进行真实操作 –list 显示所有支持的编码 –unescap 可以做一下转义比如把%20变成空格 -i 交互模式询问每一个转换防止误操作
linux下有许多方便的小工具来转换编码 文本内容转换 iconv 文件名转换 convmv
更多关于Linux的知识请前往博客主页查看。