Come posso aggiungere un file usando dd?

3

Sui sistemi Linux, posso aggiungere un file di sistema come questo:

echo "# New data" | sudo dd of=/etc/config_file conv=notrunc oflag=append

Ma il comando dd sotto OS X non ha l'opzione oflag . È possibile sotto OS X?

Note:

  1. Ho bisogno di un accesso root.
  2. Non sto chiedendo soluzioni alternative, sto chiedendo se dd ha le capacità.
posta danorton2 28.03.2017 - 00:51
fonte

3 risposte

3

Puoi seek alla fine del file di destinazione:

sudo echo "# New data" |
    dd of=/etc/config_file conv=notrunc bs=1 seek=$(stat -f "%z" /etc/config_file)
    
risposta data 29.03.2017 - 20:14
fonte
1

C'è qualche ragione per cui stai usando dd piuttosto che il reindirizzamento dell'output?

Quanto segue funzionerà:

echo "# New data" >> /etc/config_file

Il >> significa aggiungere alla fine del file, se esiste, altrimenti creare un nuovo file.

    
risposta data 28.03.2017 - 05:35
fonte
0

Ho anche provato quello che hai menzionato sopra, purtroppo non aggiunge il file di output come previsto. Ma puoi fare sotto il metodo,

Prima crea un file temporaneo e successivamente usa il comando dd

Crea un temp_file e reindirizza tutti i dati / output che desideri scrivere su quel file e in seguito puoi farlo

sudo dd if=/temp_file_path of=/etc/config_file conv=notrunc
    
risposta data 28.03.2017 - 05:40
fonte

Leggi altre domande sui tag