GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi di accesso ai file in Linux:trova, ordina, testa, coda

I seguenti comandi di accesso ai file sono comandi UNIX, non comandi shell specifici.

Comando Remakr
trova Trova la posizione di un file
ordina Legge un file e ordina l'output
ascoltare o accodare Guarda solo all'inizio o alla fine di un file

Il comando trova

Il comando trova consente di cercare file e directory e di eseguire comandi su tali file. La sintassi del comando find ha tre sezioni di argomenti generali. La sezione dei percorsi è un elenco di nomi di percorsi (directory) da cercare. La sezione criteri_ricerca è un elenco di opzioni considerate espressioni booleane (vere o false). Ogni opzione (condizione) viene verificata a turno e se il risultato è vero, viene eseguita l'azione indicata.

Alcuni dei possibili criteri di ricerca sono:

  • -nome – Se il nome del file corrisponde
  • -utente – Se il file appartiene a un utente (nome di accesso)
  • -tempo – Se è stato eseguito l'accesso al file il numero specificato di giorni fa
  • -mtime – Se il file è stato modificato l'ultima volta il numero specificato di giorni fa
  • -dimensione – Se il file ha la dimensione del blocco specifica

Alcune delle azioni possibili sono:

  • -stampa – Visualizza il nome del percorso del file
  • -exec – Esegue il comando
  • -ok – Esegue il comando solo dopo aver ricevuto y da stdin

Esempi di utilizzo del comando trova

Non è necessario conoscere l'intero nome del file per trovarlo. Ad esempio, i file di registro tendono a crescere piuttosto rapidamente. In qualità di amministratore di sistema, potresti voler controllare la dimensione dei file di registro. Per cercare i file di registro amministrativi (file in /var/log directory), utilizzare il seguente comando:

# find /var/log -name "*.log" -print
/var/log/audit/audit.log
/var/log/tuned/tuned.log
/var/log/cloud-init.log
/var/log/pm-powersave.log
/var/log/awslogs-agent-setup.log
/var/log/awslogs.log
/var/log/boot.log
/var/log/wpa_supplicant.log
/var/log/amazon/ssm/amazon-ssm-agent.log
/var/log/amazon/ssm/errors.log
/var/log/amazon/ssm/hibernate.log
/var/log/dpkg.log
/var/log/yum.log
/var/log/auth.log

Come parte di una pulizia del file system, potresti voler cercare i file principali ed eliminarli. I due comandi seguenti trovano qualsiasi file denominato core. Il primo comando esegue il comando rm senza l'input dell'operatore. Il secondo comando stampa il comando rm e richiede l'input dell'operatore.

$ find / -name core -exec rm -f {} \;
$ find / -name core -ok rm -f {} \;

Per trovare file di dimensioni superiori a 1000 blocchi, utilizzare il comando seguente:

$ find / -size +1000 -print

Il comando di ordinamento

Un file, come il file della password, viene spesso creato aggiungendo nuovi utenti alla fine del file. Il file non è in un ordine particolare; tuttavia, quando stai cercando qualcosa o qualcuno nel file, sarebbe utile se il file fosse ordinato in un certo ordine. Il comando sort fornisce un modo per ordinare il file.

Alcune delle opzioni di ordinamento più comunemente utilizzate sono:

  • -r – Ordina in ordine inverso (z in a, invece di a in z)
  • -n – Ordina i campi numericamente, invece che solo come stringhe ASCII (American Standard Code for Information Interchange)
  • -t [ch] – Imposta il carattere separatore di campo
  • + num – Imposta il numero del campo da cui iniziare l'ordinamento (i campi sono numerati da 0 [zero])
  • – num – Imposta il numero del campo per interrompere l'ordinamento prima (questo è il primo campo che non viene considerato per l'ordinamento)
  • -b – Ignora gli spazi iniziali (normalmente sono considerati parte dei campi specificati durante gli ordinamenti con chiave)
  • -r – Ordina in ordine inverso (z in a, invece di a in z)
  • -o – file Imposta il file da utilizzare per contenere l'output dell'ordinamento (che potrebbe essere lo stesso file che contiene l'input originale)
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
...

Per ordinare il file in base al nome di accesso, utilizzare il seguente comando:

# sort /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
cloud_user:x:1002:1003::/home/cloud_user:/bin/bash
colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
...

Per ordinare il file in base al 5° campo (il commento), dove i campi sono separati dai due punti, usa il seguente comando:

# sort -t: -k5 /etc/passwd
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
...

Puoi inserire l'output di un ordinamento in un file. Puoi anche produrre l'ordinamento nel file originale; ad esempio:

# cat names
Big Ape 415
Roger Rabbit 408
Jessica Rabbit 510
Easter Rabbit 408
Doctor Doom 415
Easter Rabbit 408
Peter Wolf 510
Roger Rabbit 408
Peter Rabbit 510
# sort names -o names

Verifica di nuovo il file:

# cat names
Big Ape 415
Doctor Doom 415
Easter Rabbit 408
Easter Rabbit 408
Jessica Rabbit 510
Peter Rabbit 510
Peter Wolf 510
Roger Rabbit 408
Roger Rabbit 408

Se hai più file, già ordinati, che vuoi unire in un unico file, usa il seguente comando:

# sort file1 file2 file3 -o file4

L'unione di file potrebbe darti voci duplicate. Per generare solo le righe univoche del file, utilizzare il comando seguente:

# sort -u names
Big Ape 415
Doctor Doom 415
Easter Rabbit 408
Jessica Rabbit 510
Peter Rabbit 510
Peter Wolf 510
Roger Rabbit 408

Lettura di parte di un file

Spesso non si desidera rivedere un intero file. Potresti voler sfogliare l'inizio del file per determinare se è quello corretto o guardare alla fine di un file per rivedere ciò che è stato inserito l'ultima volta nel file.

Il comando principale

Per rivedere l'inizio di un file, usa il comando head:

# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

Il comando di coda

Durante la revisione dei file di registro, probabilmente sei interessato solo alle ultime voci di quel file. Puoi usare il comando tail per guardare la fine del file.

# tail -5 /etc/passwd
systemd-network:x:995:991:systemd Network Management:/:/sbin/nologin
geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin
cloud_user:x:1002:1003::/home/cloud_user:/bin/bash
ssm-user:x:1003:1004::/home/ssm-user:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin


Linux
  1. Comandi Head and Tail in Linux spiegati con esempi

  2. Monitoraggio dell'accesso ai file Linux?

  3. Trova il file di registro di Firefox?

  4. Esempi di comandi tail di Linux

  5. Comandi di ricerca di Linux

8 Esempi di comandi principali in Linux

Comando coda di Linux

Comando Tail Linux con esempi

Come trovare un file in Linux

Configurazione di logrotate in Linux

accesso simultaneo al file linux