医療系の仕事をしています。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。
システムコールrename(2)を用いたmvコマンドの作成
unixコマンドで比較的頻繁に使用するmvコマンド。
ファイルの名前を変更したり、ディレクトリを移動させたりするのに使用します。
mvを実装するには、ファイルを移動するためのAPIであるrename(2)を使用します。
//mymv.c
#include<stdio.h> /* fprintf, perror */
#include<stdlib.h> /* exit */
#include<unistd.h>
int main(int argc, char * argv[])
{
//エラー処理
if(argc !=3){
fprintf(stderr, "%s: wrong arguments\n", argv[0]);
exit(1);
}
if(rename(argv[1], argv[2])<0){
perror(argv[1]);
exit(1);
}
exit(0);
}