私は基本的なLinuxコマンドを学ぶためにデフォルトのCファイルを作成しています。 tarバックアップ機能を実装しようとしています。私のシェルで動作するようにC(まだCを学んでいる)として実装しようとしています。
私の質問は、Cでディレクトリバックアップを作成する方法です。
これが私が今まで持っているすべてです(Linuxコマンドのみ)
パスワード
#define ROOT /home/network
#define DESTIN /home/network/backups
int shell_backUp(char **args)
{
printf("Backing Up....");
rsync -avu $ROOT $DESTIN;
printf("Back Up complete");
}
答え1
次のように試すことができます。
#include<stdio.h>
#define ROOT "/home/network"
#define DESTINY ROOT"/backups"
int main()
{
printf("Backing Up....\n");
system("rsync -avu " ROOT " " DESTINY);
printf("Back Up complete\n");
}
プログラムで呼び出される最初の関数は名前付き関数なので、名前を変更しましたが、名前をmain
変更してから関数を呼び出すことができますmain
。
あなたの用語に引用符がありませんdefine
。このsystem
関数は、文字列を引数として受け取り、文字列を渡すシェルを呼び出します。
C / C ++では、文字列には文字列の間にスペース/タブ/改行のみが含まれています。たとえば、次のように書くことができます。
const char* str = "The " "quick "
"brown "
"fox.";
あなたは最終的にそれを得るでしょうstr = "The quick brown fox."
。