システムコール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);
 }