使用node文件系统完成命令行实现,以作练习:
* * * * *
#### addfile的实现:
~~~
var fs = require("fs");
function addfile(filename){
fs.open(filename,"wx",function(err,fd){
if(err){
return console.error(err);
}
console.log("文件创建成功");
fs.close(fd,function(err){
if(err){
return console.error(err);
}
});
});
}
function main(argv){
addfile(argv[0]);
}
main(process.argv.slice(2));
//创建文件
~~~
* * * * *
#### delfile的实现:
~~~
var fs = require("fs");
function delfile(filename){
fs.unlink(filename,function(err){
if(err){
return console.error(err);
}
console.log("文件成功删除");
})
}
function main(argv){
delfile(argv[0]);
}
main(process.argv.slice(2));
~~~
* * * * *
#### rename的实现:
~~~
var fs = require("fs");
function rename(oldFileName,newFileName){
fs.rename(oldFileName,newFileName,function(err){
if(err){
return console.error(err);
}
console.log("重命名成功");
});
}
function main(argv){
rename(argv[0],argv[1]);
}
main(process.argv.slice(2));
~~~
* * * * *
cat的实现:
~~~
var fs = require("fs");
var buf = new Buffer(1024);
function cat(filename){
fs.readFile(filename,function(err,data){
if(err){
return console.error(err);
}
console.log(data.toString());
});
}
function main(argv){
cat(argv[0]);
}
main(process.argv.slice(2));
~~~
* * * * *
echo的实现:
~~~
var fs = require("fs");
function echo(filename,data){
fs.open(filename,"a",function(err,fd){
if(err){
return console.error(err);
}
fs.write(fd,data+"\n",0,(data+"\n").length,function(err,written,buffer){
if(err){
return console.error(err);
}
console.log("bytes: "+written);
console.log("写入的数据:\n"+buffer.toString());
});
});
}
function main(argv){
echo(argv[0],argv[1]);
}
main(process.argv.slice(2));
~~~
* * * * *
copy的实现:
~~~
var fs = require("fs");
function copy(src,dst){
fs.createReadStream(src).pipe(fs.createWriteStream(dst));
}
function main(argv){
copy(argv[0],argv[1]);
}
main(process.argv.slice(2));
~~~
* * * * *
dir的实现:
~~~
var fs = require("fs");
function dir(){
fs.readdir(".",function(err,files){
if(err){
return console.error(err);
}
files.forEach(function(file){
console.log(file);
});
});
}
function main(){
dir();
}
main();
~~~
* * * * *
mkdir的实现:
~~~
var fs = require("fs");
function mkdir(dirname){
fs.mkdir(dirname,function(err){
if(err){
return console.error(err);
}
console.log("目录创建成功");
});
}
function main(argv){
mkdir(argv[0]);
}
main(process.argv.slice(2));
~~~
* * * * *
rmdir的shixian:
~~~
var fs = require("fs");
function rmdir(dirname){
fs.rmdir(dirname,function(err){
if(err){
return console.error(err);
}
console.log("目录删除成功");
});
}
function main(argv){
rmdir(argv[0]);
}
main(process.argv.slice(2));
~~~