linux文件处理命令-使用chkdsk命令处理文件乱码问题

一 : 使用chkdsk命令处理文件乱码问题

使用chkdsk命令处理文件乱码问题网上只有简短文字说明,却无详细图文教程,

鉴于此我特地制作了本教程供广大网友参考

(作者:sdl592,本文未经本人允许不得转载)

【故障现象】:

U盘文件夹名称出现乱码:佞 愳亠?仠或者@?等等不一,不能删除,删除时提示:无法删除文件,无法读源文件或磁盘。[www.loach.net.cn)右键点击文件夹,发

现乱码文件特别大,几十G。出现了92.8G。。

但是退出U盘 查看大小的时候发现还是正常的,并且无法安全弹出可

移动磁盘

如下图所示

【故障分析】:

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

之前几次发现连接电脑后无法安全删除硬件,所以强行断开MP3与电脑

的连接,导致内部文件出现链接错误,因而出现上面的情况

【我的故障解决步骤】

第一步:打开开始菜单,点击运行,输入cmd 如图所示:

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

第二步:在下图所示位置输入 chkdsk 此命令用来检测并修复多种磁

盘逻辑错误(物理错误是无法修复)

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

第三步:接下会出现磁盘逻辑错误检测信息如下图所示

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

(注这张图片和下一张图片实际上是一个图片由于大小不合适,故而才

见)

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

第四步:如下图所示,输入chkdsk/f

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

第五步:在键盘上输入Y ,然后重启电脑

重启电脑后会进入磁盘自检阶段,如果出现Y/N直接点Y即可,整个检测修复过程大约需要2小时(4G的为例,根据MP3的容量不同,所需

时间也不同)

附上自检过程的txt目录

这个就是windows自检可移动磁盘的相关数据,它将会以BOOTEX.LOG记事本文档存储到你的可移动磁盘当中。(www.loach.net.cn)

最后一步:自检完成电脑自动重启,打开我电脑会发现显示有两个可移动磁盘,其中一个没有文件,总容量也是0。打开另外一个可移动磁盘,

移动硬盘乱码 使用chkdsk命令处理文件乱码问题

发现磁盘内乱码文件全部消失,把我的电脑文件设置为显示全部文件,则可以看到found000这个隐藏文件,按住shift+delete 删除。(www.loach.net.cn]还有一个BOOTEX.LOG的文件,这个也可以删除。它的性质是windows 使用chkdsk/f命令检测修复的记录。

注:本方法适合各种移动硬盘,MP3,MP4,u盘文件乱码问题。

网聚知识提醒您本文地址:

二 : 10条思科IOS文件管理命令

10条思科IOS文件管理命令

本文中,作者David Davis将列举出我们常用的Cisco IOS文件管理命令,帮助我们巩固如何管理好Cisco路由器上flash, nvram或其它文件系统里的文件,并教大家如何简单快速的备份路由器配置,升级路由器,或者仅仅是维护IOS文件系统。

和Windows 或Linux操作系统一样, Cisco IOS 也有自己管理文件的命令,这和DOS/Windows 的命令很类似。这些命令所管理和维护的文件包括IOS 路由器操作系统文件,配置文件或者其它类型的IOS 文件。对于任何Cisco管理员来说,知道这些命令都是必须的。

接下来就让我们看看十条必须知道的Cisco IOS 文件管理命令。

#1 dir

这条指令用来显示文件夹下的文件列表,输入dir ? 可以查看可选参数。如下所示:

/all List all files

/recursive List files recursively

all-filesystems List files on all filesystems

archive: Directory or file name

cns: Directory or file name

flash: Directory or file name

null: Directory or file name

nvram: Directory or file name

system: Directory or file name

tar: Directory or file name

tmpsys: Directory or file name

xmodem: Directory or file name

ymodem: Directory or file name

Router#

以上每一种文件系统(比如flash,nvram等带冒号的)都相当于 DOS系统里的磁盘分区,你需要在其名称后面加冒号。默认情况下,dir会列出路由器flash中的文件,因为默认的当前路径就是flash:

Router# dir

Directory of flash:/

2 -rwx 18929780 Aug 29 2006 15:49:57 +00:00 c870-advipservicesk9-mz.124-15.T5.bin

3 -rwx 2143 Aug 29 2006 16:42:14 +00:00 running-config

23482368 bytes total (4544512 bytes free)

Router#

每个路由器至少都会包含flash内存和nvram 内存。

#2 cd

改变路径。你可以使用 cd 命令改变当前所在的路径。在下面的例子里,我将路径改到了nvram文件系统下,并通过dir命令列出了nvram内存中的文件。我还可以使用mkdir建立一个文件夹,并用 cd 命令进入该文件夹。

Router#cd nvram:

Router#dir

Directory of nvram:/

126 -rw- 2143 startup-config

127 —- 5 private-config

128 -rw- 2143 underlying-config

1 —- 49 persistent-data

2 -rw- 0 ifIndex-table

131072 bytes total (116584 bytes free)

Router#

#3 copy

这个命令用来将 IOS 或一个配置文件拷贝到某处。你可以用这个命令将路由器配置文件拷贝到 TFTP服务器上,或者拷贝到路由器里的某个文件夹中作为备份。你还可以用 copy 命令将新的IOS 文件从TFTP服务器拷贝到路由器里,实现路由器升级。

这里我使用copy命令为路由器建立一个本地的配置备份:

Router#copy running-config davids-backup-before-upgrade

Destination filename [davids-backup-before-upgrade]?

2181 bytes copied in 3.052 secs (715 bytes/sec)

Router#

#4 delete 和 rm

这两个命令都很简单 delete 用来删除文件, rm 用来删除文件夹。比如我用delete命令删除我刚刚创建的配置备份文件:

Router#delete davids-backup-before-upgrade

Delete filename [davids-backup-before-upgrade]?

Delete flash:/davids-backup-before-upgrade? [confirm]

Router#

#5 show flash

这个命令用来显示flash中的文件。show flash 命令和 dir flash 命令类似,但是前者比后者显示出的信息更丰富一些,即多出了flash内存大小和类型信息

Router#show flash

24576K bytes of processor board System flash (Intel Strataflash)

Directory of flash:/

2 -rwx 18929780 Aug 29 2006 15:49:57 +00:00 c870-advipservicesk9-mz.124-15.T5.bin

3 -rwx 2181 Oct 4 2006 04:03:00 +00:00 mybackup-today

23482368 bytes total (4544512 bytes free)

Router#

#6 erase 和 format

要弄懂为什么要erase 一种文件系统,而format 另一种系统,可能会比较麻烦。所以你只需要知道应该format flash中的文件系统,而erase nvram里的文件系统。其余文件则根据其类型既可以erase又可以format。erase 命令大多数时候都是用在清除路由器配置,恢复出场配置的情况。具体的命令就是 erase startup-configuration 。

Router# erase ?

/all Erase all files(in NVRAM)

/no-squeeze-reserve-space Do not reserve space for squeeze operation

flash: Filesystem to be erased

nvram: Filesystem to be erased

startup-config Erase contents of configuration memory

Router# format ?

flash: Filesystem to be formatted

Router#

#7 more

这个命令可以显示文本/配置文件的内容。比如你想查看一个备份的配置文件,就可以使用more 命令来查看该文件的内容:

Router# more my-backup-config

!

version 12.4

parser config cache interface

parser config interface

{config truncated}

#8 verify

这个命令用来核查或者计算一个文件的MD5校验和。

Router#verify flash:c870-advipservicesk9-mz.124-15.T5.bin

Verifying file integrity of flash:c870-advipservicesk9-mz.124-15.T5.bin………………. Done!

Embedded Hash MD5 : CA8AEC573B197AEC6BD5892DE23C4754

Computed Hash MD5 : CA8AEC573B197AEC6BD5892DE23C4754

CCO Hash MD5 : 9D39672246853C0F31533B6BCB21DFE5

Embedded hash verification successful.

File system hash verification failed for file flash:c870-advipservicesk9-mz.

124-15.T5.bin(No such file or directory).

Router#

#9 mkdir

和DOS环境一样,你也可以在路由器中使用 mkdir 命令创建文件夹。一般我用这个命令来创建备份文件夹,用来存储配置文件或者ISO文件的备份。

Router# mkdir backup-configs

Create directory filename [backup-configs]?

Created dir flash:backup-configs

Router#

#10 fsck

FAT 文件系统检测主要是用来检测flash文件系统的完整性。如果你感觉ISO文件有损坏,可以通过这个命令对文件系统进行检查。

Router# fsck

Fsck operation may take a while. Continue? [confirm]

…………

Fsck of flash: complete

Router#

以上介绍的命令都是最常用的IOS命令,如果要从中再选出三个最常用的命令,那就是以下这三种情况所使用的命令了:

1. 浏览 Cisco IOS 文件系统 — 查看路由器中的配置文件以及IOS文件都需要使用这个命令,尤其是在升级路由器之前。

2. 将配置导入路由器,或将配置从路由器中导出到TFTP服务器上,备份时最常用的命令。

3. 将ISO文件从TFTP服务器拷贝到路由器上,这是在升级Cisco IOS 时必须要用到的命令。

记住以上列出的全部IOS 文件管理命令非常重要,你应该知道这些命令的作用,以及如何使用这些命令。如果路由器ISO损坏,而你却不知道该如何恢复,那就太丢人了。

三 : 使用chkdsk命令处理文件乱码问题

使用chkdsk命令处理文件乱码问题网上只有简短文字说明,却无详细图文教程,

鉴于此我特地制作了本教程供广大网友参考

(作者:sdl592,本文未经本人允许不得转载)

【故障现象】:

U盘文件夹名称出现乱码:佞 愳亠?仠或者@?等等不一,不能删除,删除时提示:无法删除文件,无法读源文件或磁盘。右键点击文件夹,发

现乱码文件特别大,几十G。出现了92.8G。。

但是退出U盘 查看大小的时候发现还是正常的,并且无法安全弹出可

移动磁盘

如下图所示

【故障分析】:

之前几次发现连接电脑后无法安全删除硬件,所以强行断开MP3与电脑

的连接,导致内部文件出现链接错误,因而出现上面的情况

【我的故障解决步骤】

第一步:打开开始菜单,点击运行,输入cmd 如图所示:

第二步:在下图所示位置输入 chkdsk 此命令用来检测并修复多种磁

盘逻辑错误(物理错误是无法修复)

第三步:接下会出现磁盘逻辑错误检测信息如下图所示

(注这张图片和下一张图片实际上是一个图片由于大小不合适,故而才

见)

第四步:如下图所示,输入chkdsk/f

第五步:在键盘上输入Y ,然后重启电脑

重启电脑后会进入磁盘自检阶段,如果出现Y/N直接点Y即可,整个检测修复过程大约需要2小时(4G的为例,根据MP3的容量不同,所需

时间也不同)

附上自检过程的txt目录

这个就是windows自检可移动磁盘的相关数据,它将会以BOOTEX.LOG记事本文档存储到你的可移动磁盘当中。

最后一步:自检完成电脑自动重启,打开我电脑会发现显示有两个可移动磁盘,其中一个没有文件,总容量也是0。打开另外一个可移动磁盘,

发现磁盘内乱码文件全部消失,把我的电脑文件设置为显示全部文件,则可以看到found000这个隐藏文件,按住shift+delete 删除。还有一个BOOTEX.LOG的文件,这个也可以删除。它的性质是windows 使用chkdsk/f命令检测修复的记录。

注:本方法适合各种移动硬盘,MP3,MP4,u盘文件乱码问题。

四 : Linux curl命令中 HTTP 302处理

Linux系统中使用curl命令时,偶尔会遇到一些URL跳转到新的URL,即HTTP中的3XX(redirection,重定向,如HTTP 302)。

$curl -s -I $URL > log

这时在返回的报文中,有Location字段标明了新的URL。

$cat log HTTP/1.1 302 Found Expires: -1 Cache-Control: private, max-age=0Pragma: no-cache Location: http://182.118.2.11/youku/5571865A52945820CFCE162719/03000811074CDDB614769602996C24421AE8D8-C2A3-1BD9-74AC-F5B071A94E33.MP4 Content-type: text/html Connection: close Date: Tue, 05 Apr 2011 08:37:07 GMT Server: F_LIGHTY_TJ8

当我试图获取这个新的URL,再进行curl时,总是报HTTP 400 (Bad Request,错误的请求)。

$URL=`cat log | grep '^Location' | cut -f2 -d ' ' ` $curl -s -I $URL > log $cat log HTTP/1.1 400 Bad RequestContent-Type: text/html Content-Length: 349 Connection: close Date: Tue, 05 Apr 2011 08:32:04 GMT Server: YOUKU.ZZ

直接将新的URL打印出来,复制粘贴再curl,却没有问题 。

$curl -s -I http://182.118.2.11/youku/5571865A52945820CFCE162719/03000811074CDDB614769602996C24421AE8D8-C2A3-1BD9-74AC-F5B071A94E33.MP4 HTTP/1.1 200 OK Content-Type: video/MP4 Accept-Ranges: bytes ETag: "392853628"Last-Modified: Fri, 12 Nov 2010 21:48:23 GMT Content-Length: 19971197 Connection: close Date: Tue, 05 Apr 2011 08:41:18 GMT Server: YOUKU.ZZ

百思不得其解!

最后。发现这个新的$URL中和“http://182.118.2.11/youku/5571865A52945820CFCE162719/03000811074CDDB614769602996C24421AE8D8-C2A3-1BD9-74AC-F5B071A94E33.MP4”并不完全相同,$URl的结尾多了一个‘0A’换行符。

$echo $URL > url_1 $echo http://182.118.2.11/youku/5571865A52945820CFCE162719/03000811074CDDB614769602996C24421AE8D8-C2A3-1BD9-74AC-F5B071A94E33.MP4 > url_2 $hexdump url_10000000 7468 7074 2f3a 312f 3238 312e 3831 322e
0000010 312e 2f31 6f79 6b75 2f75 3935 3337 4538
0000020 3244 4637 3335 3834 3831 4239 4144 4336
0000030 4533 3941 302f 3033 3030 3138 3031 3437
0000040 4443 4244 3136 3734 3936 3036 3932 3639
0000050 3243 3434 3132 4541 4438 2d38 3243 3341
0000060 312d 4442 2d39 3437 4341 462d 4235 3730
0000070 4131 3439 3345 2e33 706d 0d34 000a
$hexdump url_2
0000000 7468 7074 2f3a 312f 3238 312e 3831 322e
0000010 312e 2f31 6f79 6b75 2f75 3935 3337 4538
0000020 3244 4637 3335 3834 3831 4239 4144 4336
0000030 4533 3941 302f 3033 3030 3138 3031 3437
0000040 4443 4244 3136 3734 3936 3036 3932 3639
0000050 3243 3434 3132 4541 4438 2d38 3243 3341
0000060 312d 4442 2d39 3437 4341 462d 4235 3730
0000070 4131 3439 3345 2e33 706d 0a34

去掉这个换行符,一切OK

URL=`cat log | grep '^Location' | cut -f2 -d ' ' |sed 's/\r//' ` Been dazed and confused for so long

五 : 总结Linux中用于文本处理的awk、sed、grep命令用法

awk
基础概念
Awk把文件(或其他方式的输入流, 如重定向输入)看作一个记录集, 把每一行看作一条记录, 把每一行中以空格(或t,或用户自己指定的分隔符)分割的字符串看作一个字段.  这似乎把文件记录看成数据库. 但是, awk仍然以行为单位逐行处理. 本例子以下面的文件(命名为s.txt)内容做演示:


zhangsan 1977 male computer 83
lisi 1989 male math 99
wanglijiang 1990 female chinese 78
xuliang 1977 male economic 89
xuxin 1986 female english 99
wangxuebing 1978 male math 89
lichang 1989 male math 99
wanglijiang 1990 female chinese 78
zhangsansan 1977 male computer 83
langxuebing 1978 male math 89
lisibao 1989 male math 99
xiaobao 1990 female chinese 78


一行中的5个字段分辨表示姓名, 出生年, 性别,科目,分数, 是一个很传统很典型的报表文件.
Awk基本语法: awk ‘pattern1 {command1;command 2…; command 3}pattern2 { command …}’
pattern表示用来过滤记录的模式, 可是是正则表达式, 关系运算表达式, 也可以什么也没有(表示选中所有记录);
每个pattern选中的行记录会被花括号括起来的命令command操作一遍, command之间用;分割. 花括号里面可以什么也没有, 则默认为print输出整行记录. Comamnd可以是输出, 可以是算术运算, 逻辑运算, 循环控制等等.
先看几个例子, 以建立对awk的命令直观的了解.


awk ‘/1990/’ s.txt #//直接输出1990年出生的同学;
awk ‘/chinese/{print “语文”; print “语文”}’s.txt #// 对chinese的课程的行输出两行”语文 +”;
awk ‘20>1{print “Yes”}’ s.txt #//因为20>0,所以每行输出Yes;
awk 'BEGIN{print "Result of the quiz:n"}{print}END{print"---------------------------"}' s.txt


结果:
本例有3个花括号,分别对应3个模式, BEGIN和END是特殊模式,分别作用在记录开始前和记录结束后.
变量: 上面说到command可以是算术运算, 所及运算等, 则既然有运算, 就有常量变量, awk可以自定义变量(不需要提前声明, 但最好在BEGIN里面给它初始化).  Awk也维护了一组程序变量:

变量

说明

$0

当前记录;

$1, $2, … $n

当前记录的字段

FILENAME

当前的文件名

FS

输入字段的分隔符, 可通过-F修改. 如: 先通过sed把空格替换为|,然后管道输送给awk:
sed 's/ /|/g' s.txt | awk -F '|' '/chinese/{print FILENAME, $1, $5}'

NF

当前记录的字段数

NR

当前记录编号

OFS

输出字段分隔符

ORS

输出记录分隔符

RS

记录分隔符, 默认为换行符


给一些例子来说明这些变量的用法:


awk ‘$4==”chinese”{print NR, $1, $4, $5}’ s.txt #//第四个字段科目为chinese的记录编号, 学生姓名, 科目和成绩.
awk ‘$2~/1990/{print $1}’ s.txt #//找出1990年出生的学生姓名, ~表示匹配正则表达式
awk ‘$2!~/1990/{print $1}’ s.txt #//找出不是1990年出生的学生姓名, !~表示不匹配正则表达式
awk ‘$2>”1985”{print $1, $2}’ s.txt #//找出大于1985年出生的学生姓名,年龄
awk ‘END{print “total: ” NR ”n----------------” }’ s.txt
awk ‘BEGIN{goodChinese=0; goodMath=0}($4==”chinese”||$5>90){goodChinese++}END{print“”}

sed
sed   '2,5d' file 显示文件file,除去2-5行,但行数超过文件实际行数时不会报错。
sed '/10[1-4]/d'     file 显示文件file,除去包含101-104的行。
sed '2,$d' file 显示文件,只显示第一行。sed '2,$!d' file则只显示除第一行外的其它行。
sed '/^ *$/d file 删除文件中的空行。
sed -n '/10[1-4]/p' file
只显示文件file中包含101-104的行。(n和p必须同时使用,否则只有p时显示全部文件并多显示一次找到的行)
sed -n '5p' file 只显示文件的第5行
sed 's/moding/moden/g' file 将moding替换为moden
sed -n 's/^west/north/p' file 将west开头的行替换为north并显示出来。
sed 's/[0-9][0-9][0-9]$/&.5/' file 将file文件中以3个数字结尾的行替换为原数字加".5",&代表搜索到的字符串。
sed 's/moding/1en/g file 将mod做为模式1封装在括号里,然后替换。
sed 's/...$//' file 删除每一行的最后三个字符。
sed 's/^...//' file 删除每一行的头三个字符。
sed 's#moding#moden#g'   file将moding替换为moden,s后面的#代表搜索串和替换串之间的分界符。
sed -n '/101/,/105/p' file 显示从101的匹配行到105的匹配行。如果只找到101的匹配行,则从101的匹配行到文件末。
sed -n '2,/999/p' file 显示从第2行到匹配行。
sed'/101/,/105/s/$/  20050119/' file将从101的匹配行到105的匹配行的行末增加"       20050119"内容。
sed -e '1,3d' -e 's/moding/moden/g'file 先删除文件的1-3行,再进行替换。
sed -e '/^#/!d'         file 显示文件以#开头的行。
sed '/101/r newfile' file 在每个匹配行增加文件newfile的内容
sed '/101/w newfile'    file 把匹配行写入newfile。
sed '/101/a new text' file 在匹配行后增加一新行。
sed '/101/i' new text' file 在匹配行前增加一新行。
sed '/101/c new text' file 用新行替换匹配行。
sed 'y/abcd/ABCD/' file 将a、b、c、d分别替换为ABCD。
sed '5q' file 显示到第5行时退出。
sed '/101/{ n; s/moding/moden/g; }' file在文件中找到匹配行的后一行(n)再进行替换。
sed '/101/{ s/moding/moden/g; q; }' file在文件中找到第一个匹配行后进行替换后再退出。
sed -e '/101/{ h; d; }' -e '/104/{ G; }'file 在文件中找到与101匹配行后先存在一个缓存中,再放在与104匹配行后。
sed -e '/101/{ h; d; }' -e '/104/{ g; }'file 在文件中找到与101匹配行后先存在一个缓存中,再替代104的匹配行。
sed -e '/101/h' -e '$G' file 将最后一个匹配行放在文件末。
sed -e '/101/h' -e '$g' file 将最后一个匹配行替换文件末行。
sed -e '/101/h' -e '/104/x' file 在文件中找到与101匹配行后先存在一个缓存中,再与104的匹配行进行互换。
echo –ltr 1.txt | sed‘s/^.* //’ 找出文件名

grep
常用的grep选项
-c 只输出匹配行的计数。// 这条有时候很有用, 不需要再 | wc -l
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
例子

grep -v "Sort" tab2

     显示不包含匹配文本的所有行

grep -n "Sort" tab2

     显示匹配行及行号

grep -c "Sort" tab2

     只输出匹配行的计数
精确匹配:

grep "01">" tab2



grep -in "code" tab2

    忽略大小写
多次过滤

grep -in "code" tab2 | grep "02"


补充说明,grep 家族还包括fgrep和egrep。fgrep是fix grep, 允许查找字符串而不是一个模式,运算速度快,适合于从大量数据中进行检索;egrep是扩展grep,支持基本及扩展的正则表达式,可用()及|等,但不支持q模式范围的应用及与之相对应的一些更加规范的模式。

echo aAA123bbb |egrep '[0-9]*'



echo AAA123bbb | egrep -i '^a'

下页更精彩: 1 2 3 4 5 下一页
上一篇: 过去分词作宾语补足语-形容词短语作主语补足语or过去分词作状语()andafraid, 下一篇: 魔兽世界巨龙之魂单刷-魔兽世界6.0前夕盗贼通刷10H巨龙之魂心得分享

优秀文章