GNU/Linux >> Linux Esercitazione >  >> Linux

Come affrontare i nomi dei file con gli spazi in Linux

L'unica cosa che noterai è che i file in Linux di solito non contengono nomi. Il tuo insegnante o collega usa il trattino basso invece degli spazi nei nomi di file e directory.

Non è che non puoi usare gli spazi nei nomi dei file nel terminale Linux. È solo che crea ulteriore dolore ed è per questo che dovresti evitarlo ove possibile.

Come mai? Lascia che lo mostri con esempi. Conosci la sintassi generica per i comandi Linux:

command [options] argument1 argument2

Qui, gli argomenti sono separati da spazi. Se provi a utilizzare direttamente i nomi dei file con spazi, verranno trattati come argomenti separati anziché come un solo argomento.

Nello screenshot sopra, quando provo a usare cat agatha books comando, non capisce che agatha books è un unico argomento. Tratta agatha e books come nomi di file diversi.

Come gestisci gli spazi nel nome del file, quindi? Ci sono due modi:

Racchiudi l'intero nome del file tra virgolette:

"file name withn spaces"

Esci da ogni spazio usando il tasto barra rovesciata:

file\ name\ with\ spaces

Lo mostrerò in dettaglio.

Il completamento delle schede spesso funziona anche con gli spazi. Il tuo terminale potrebbe mostrare il nome del file con lo spazio preceduto da una barra rovesciata se premi il tasto tab per il nome del file.

Leggi un file con spazi in filename

Per utilizzare un nome file con spazi al suo interno, puoi racchiuderlo tra virgolette come questa:

cat "file name with spaces"

Puoi anche sfuggire a ogni spazio con una barra rovesciata, ma è più faticoso e confuso rispetto al metodo precedente:

cat file\ name\ with\ spaces

Fondamentalmente, metti un \ prima di ogni spazio nel nome del file.

Potresti anche usare virgolette singole invece di virgolette doppie.

cat 'file name with spaces'
Le virgolette singole ignorano i caratteri speciali. Le virgolette doppie ignorano tutto tranne $, le virgolette e le barre incrociate. Maggiori informazioni in qualche altro tutorial.

Crea un file con spazio in filename

Ora, devi digitare lo spazio nel terminale per creare il nome del file qui. Usa di nuovo la barra rovesciata o le virgolette.

Simile alla sezione precedente, puoi creare nuovi file con spazi nel nome del file usando le virgolette:

touch "file name with spaces"

O anche la barra rovesciata:

touch file\ name\ with\ spaces

Gestire lo spazio nel nome della cartella

Puoi creare una directory con uno spazio nel nome nello stesso modo in cui crei un file.

mkdir "new dir"

Ora, se vuoi passare a questa directory, avrai un percorso con spazi.

Ma questo non dovrebbe più essere un problema per te. Per cd in una directory con spazio, usa di nuovo le virgolette o la barra rovesciata.

cd "new dir"
cd new\ dir

Fondamentalmente, ogni volta che hai a che fare con spazi nei nomi, usi le virgolette o i tasti backslash.

Supponiamo di dover copiare un file my file da questa new dir . Ecco cosa puoi fare:

cp new\ dir/my\ file

Ora inizia a fare un po' di confusione, giusto? Ci sono barre inverse e barre in avanti. Potrebbe intimidire un nuovo utente o anche un esperto se ci sono troppi di quei tagli.

Diventa ancora più disordinato quando ci sono barre inverse nel nome del file. Quindi vedrai doppi alzatine.

Questo è il motivo per cui dovresti cercare di evitare di usare spazi o altri caratteri speciali nei nomi dei file. Per separare le parole in un nome di file, usa il trattino basso.

touch a_very_long_file_name_with_too_many_words

Questo rende i nomi dei file più facili da leggere e non dovrai fare lo sforzo extra per gestire quegli spazi nei nomi dei file.


Linux
  1. Come manipolare nomi di file con spazi e caratteri speciali in Linux

  2. Come rinominare un file in Linux?

  3. Come creare un file con una determinata dimensione in Linux?

  4. Come scrivere un file con C in Linux?

  5. Come sostituire un file in jar con la riga di comando in Linux?

Come utilizzare il comando Linux rm con esempi

Come leggere un file con spazi in Linux

Come sostituire gli spazi nei nomi dei file con i caratteri di sottolineatura sulla shell di Linux

Come collegare simbolicamente un file in Linux

Come rimuovere gli spazi dai nomi dei file in Linux

Come pianificare i lavori con Cron in Linux