前言

以前不会用winscp, 上传后的文件名都乱码了. winscp如果没设置,编码是随windows走的。
看到convmv有这个功能,先试一下.
如果文件内容乱码,可以用iconv.

实验

sudo apt-get install convmv

为了保险起见,先备份一下要转换的文件夹

cp -arv ./my_doc ./my_doc.org
// cp命令没有进度指示,都不知道拷贝到啥程度了?apt-get install gcp
export DISPLAY=:0.0root@lsserver:/media/data0/ftp_data0# gcp -r ./LsDocument/ ./LsDocument.org
Copying 413.71 GiB   1% |#                                      本地都拷贝的这么慢,等不及了,杀掉,直接用convmv来转文件名,先用已经拷贝了一些文件的./LsDocument.org目录试试。

convmv帮助

root@lsserver:/media/data0/ftp_data0/LsDocument.org# convmv --help
convmv 1.12 - converts filenames from one encoding to another
Copyright (C) 2003-2008 Bjoern JACKE <bjoern@j3e.de>This program comes with ABSOLUTELY NO WARRANTY; it may be copied or modified
under the terms of the GNU General Public License version 2 or 3 as published
by the Free Software Foundation.USAGE: convmv [options] FILE(S)
-f enc     encoding *from* which should be converted
-t enc     encoding *to* which should be converted
-r         recursively go through directories
-i         interactive mode (ask for each action)
--nfc      target files will be normalization form C for UTF-8 (Linux etc.)
--nfd      target files will be normalization form D for UTF-8 (OS X etc.)
--qfrom    be quiet about the "from" of a rename (if it screws up your terminal e.g.)
--qto      be quiet about the "to" of a rename (if it screws up your terminal e.g.)
--exec c   execute command instead of rename (use #1 and #2 and see man page)
--list     list all available encodings
--lowmem   keep memory footprint low (see man page)
--nosmart  ignore if files already seem to be UTF-8 and convert if posible
--notest   actually do rename the files
--replace  will replace files if they are equal
--unescape convert%20ugly%20escape%20sequences
--upper    turn to upper case
--lower    turn to lower case
--parsable write a parsable todo list (see man page)
--help     print this help

convmv支持的字符集转换列表

root@lsserver:/media/data0/ftp_data0/LsDocument.org# convmv --list
7bit-jis
AdobeStandardEncoding
AdobeSymbol
AdobeZdingbat
ascii
ascii-ctrl
big5-eten
big5-hkscs
cp1006
cp1026
cp1047
cp1250
cp1251
cp1252
cp1253
cp1254
cp1255
cp1256
cp1257
cp1258
cp37
cp424
cp437
cp500
cp737
cp775
cp850
cp852
cp855
cp856
cp857
cp858
cp860
cp861
cp862
cp863
cp864
cp865
cp866
cp869
cp874
cp875
cp932
cp936
cp949
cp950
dingbats
euc-cn
euc-jp
euc-kr
gb12345-raw
gb2312-raw
gsm0338
hp-roman8
hz
iso-2022-jp
iso-2022-jp-1
iso-2022-kr
iso-8859-1
iso-8859-10
iso-8859-11
iso-8859-13
iso-8859-14
iso-8859-15
iso-8859-16
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-ir-165
jis0201-raw
jis0208-raw
jis0212-raw
johab
koi8-f
koi8-r
koi8-u
ksc5601-raw
MacArabic
MacCentralEurRoman
MacChineseSimp
MacChineseTrad
MacCroatian
MacCyrillic
MacDingbats
MacFarsi
MacGreek
MacHebrew
MacIcelandic
MacJapanese
MacKorean
MacRoman
MacRomanian
MacRumanian
MacSami
MacSymbol
MacThai
MacTurkish
MacUkrainian
MIME-B
MIME-Header
MIME-Header-ISO_2022_JP
MIME-Q
nextstep
null
posix-bc
shiftjis
symbol
UCS-2BE
UCS-2LE
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
UTF-7
utf-8-strict
utf8
viscii

先测试一下好使不

convmv -f cp936 -t utf8 --notest -r ./LsDocument.org
好使开始转换实际的目录
convmv -f cp936 -t utf8 --notest -r ./LsDocument
转换的速度真快啊, 一分钟不到.

debian - 文件名转码相关推荐

  1. 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码

    窗口句柄取进程文件名系统结构:句柄取进程文件名,CreateToolhelp32Snapshot,GetWindowThreadProcessId,CloseHandle,Module32First, ...

  2. Debian系统源码安装usb网卡驱动

    系统为debian 9.6 64位版本,安装网卡驱动为asix的 AX88772B芯片 1. 安装系统build模块 apt-get install linux-image-$(uname -r) l ...

  3. 下载文件流 文件名转码

    下载文件,后端返回文件流,前端下载并读取后端返回文件名content-disposition 后端接口返回content-disposition: 前端读取文件名并下载 1.axios返回请求响应全部 ...

  4. debian源码编译安装mysql5.6_MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL

    安装所需依赖和工具apt-get install make gcc g++ libncurses5-dev cmake bison 配置cmake编译参数cmake . -DCMAKE_INSTALL ...

  5. linux c 文件描述符 得到 文件名

    在linux中每个被打开的文件都会在/proc/self/fd/目录中有记录,其中(/proc/self/fd/文件描述符号:这个文件是符号文件)的文件就是文件描述符所对应的文件. 而readlink ...

  6. FATFS文件系统框架及源码分析

    FATFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块.FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开.因此,它独立(不依赖)于硬件 ...

  7. Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法

    Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法 文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码 不 ...

  8. ThinkPHP-保存生成的二维码

    通过TP框架引入Qrcode插件,然后调用插件生成二维码,并保存 1.引入qrcode插件: 2.功能页面-生成二维码按钮: 3.生成二维码-代码: 4.后台代码-通过vendor方法引入: //下载 ...

  9. 【华为云技术分享】Linux内核源码结构(1)

    在上一期中,我们介绍了Linux内核发展的历史,也介绍了与其相关的UNIX和GNU的相关知识.从这一期开始,我们将介绍Linux内核的源码结构.我们将先根据Linux源码的目录结构进行分析,到本文章发 ...

最新文章

  1. 二.Springboot 常用注解
  2. java整形超过,Java整形溢出处理机制。
  3. 教师节html源码,教师节_实用电脑小技巧:通俗解答html 自己动手建一个非常简单的网页_沪江英语...
  4. 三阶魔方还原步骤图_研究人员开发的AI成功在1.2秒内还原三阶魔方
  5. 4.navicat11激活教程,亲测可用哦!
  6. 西门子plm_好事连连 西门子PLM新品多项合作并举
  7. 又是绩效考核时,KPI 和 OKR 到底怎么考?
  8. 写文件 追加到开始_文件和流
  9. 帅帅什么意思_为什么99%的花艺师都害怕创作?
  10. 超详细带你用Java实现QQ的聊天功能
  11. 适合外贸建站的wordpress模板
  12. ADI超声解决方案 和系统成像设计
  13. AI人工智能知识图谱Neo4j关联查询人物关系cypher查询
  14. 在excel中如何筛选重复数据_如何将Excel表中重复数据筛选出来?
  15. CVE-2018-1273漏洞复现
  16. DDR 6 内存已经投入研发
  17. 如何在linux系统下使用百度云盘上传下载文件?
  18. 农村产权交易服务平台二次开发html源码
  19. JavaSE-Adventure(III): Generics 泛型程序设计
  20. 一个极简操作系统的代码实现

热门文章

  1. 「技术综述」人脸脸型分类研究现状
  2. Word2016(2013)页码、分节符
  3. JavaScript基础之基础
  4. Android经典的大牛博客推荐
  5. 三大web服务器比较
  6. RFID第一期——各种IC卡ID卡详解
  7. 我的世界服务器修改神兽几率,我的世界神奇宝贝mod神兽刷新率调整方法 神兽刷新率怎么增加...
  8. B. Alyona and a Narrow Fridge( Codeforces Global Round 2)二分
  9. Java 数组(三)二维数组
  10. 连续复利 continuous compounding