tricks command line

Rispondi
Avatar utente
openresource
Administrator
Administrator
Messaggi: 382
Iscritto il: mar gen 28, 2020 9:52 pm
Reactions score: 4
Località: varese
Contatta:
giu 2020 09 07:53

tricks command line

Messaggio da openresource

Conta il numero di file all'interno di una directory in Linux (non usando wc)
ls -l. | egrep -c '^ -'

  1. Prendi i primi n file in una cartella / directory e quindi i file m successivi in una nuova directory
    ls dir1 | capo -n 10 | xargs -IX cp dir1 / X dir2
    ls dir1 | tail -n +11 | capo -n 5 | xargs -IX cp dir1 / X dir2
  2. Spostare i file da una posizione a un'altra
    mv -v ~ / dir1 / * ~ / dir2 /
  3. Spostare un sottoinsieme casuale casuale di file in un altro percorso
    shuf -zen200 source / * | xargs -0 mv -t dest
  4. Salva l'elenco dei file in un file di testo
    ls> filenames.txt
  5. Trova file specifici in base all'elenco dei nomi di file e spostali
    xargs -a file_list.txt mv -t / path / to / dest
  6. Trova i file comuni a due directory
    comm -12 <(ls dir1) <(ls dir2)
    L'output sarà differenziato da 0, 1 o 2 schede iniziali come:
    file solo nei
    file dir1 solo nei
    file dir2 in entrambe le directory
  7. Utilizzo dello schermo
    screen -S <qualsiasi nome> # Per creare uno schermo
    screen -ls # Per visualizzare un elenco di quelli che hai creato
    screen -d -r <nome di uno schermo separato> # Per ripristinare lo
    schermo separato -X -S [sessione # tu voglio uccidere] quit  # Per uccidere uno schermo
  8. Trovare i file più grandi
    ls -lSrh
    ls -lSrh *. <estensione del formato file come txt o mp3>
  9. Cerca le directory più grandi
    du -kx | egrep -v "\ ./.+/" | ordina -n
  10. descrizioni delle pagine man per una determinata parola chiave
    man -k <inserisci parola chiave> # usa / e cerca un termine digitandolo
  11. Elenco solo dei file di oggi
    ls -al --time-style = +% D | grep data +% D
  12. Unione di colonne nei file
    #! / bin / sh
    length = wc -l $ 1 | awk '{print $ 1}'
    count = 1
    [-f $ 3] && echo" Facoltativamente rimozione di $ 3 "&& rm -i $ 3
    mentre [" $ count "-le" $ length "]; fare
          a = head - $ count $ 1 | tail -1
          b = head - $ count $ 2 | tail -1
          echo "$ a $ b" >> $ 3
          count = expr $ count + 1
    fatto
    chmod u + x merge.sh # per rendere eseguibile il file
    /path/to/merge.sh file1 file2 file3
  13. Trova ed esegui
    trova . -name '* .gz' # trova tutti gli archivi gzip nella
    ricerca pwd . -name '* .gz' | xargs gunzip -vt
  14. Rinomina e ridimensiona le immagini
    #! / bin / sh
    counter = 1
    root =
    risoluzione mypict = 400x300
    per i in ls -1 $ 1 / *. jpg; Non
            echo "Ora lavorare su $ i"
            convertire -resize risoluzione $ $ i $ {} radice _ $ {contatore} .jpg
            contatore = expr $ counter + 1
    done
    chmod u + x picturename.sh # per renderlo eseguibile
    picturename.sh / path / to / pictdir
  15. htop
    Una volta htopinstallato, è possibile eseguirlo digitando htopsulla riga di comando. Quando lo fai, otterrai una panoramica completa di tutti i processi in esecuzione sul tuo sistema insieme a dettagli come ID di processo, utilizzo di CPU e RAM e da quanto tempo sono in esecuzione

Immagine

  1. ranger

Una volta installato, digita rangerla riga di comando e il tuo terminale si trasformerà in un'interfaccia che semplifica la navigazione dell'intero filesystem usando solo una tastiera (anche se puoi usare anche il mouse, se vuoi).

Immagine

  1. tmux
    Per dividere gli schermi in verticale o in orizzontale
    Ctrl + B e poi Maiusc + 5 # Divisione verticale
    Ctrl + B e poi Maiusc + "# Divisione orizzontale
    Ctrl + B e poi tasti di direzione # Per navigare tra le schermate
    Ctrl + B e quindi X # Per uccidere
    Ctrl + B e poi [# A ottenere la modalità di scorrimento, premere q per uscire

Immagine

  1. Tasti di scelta rapida sul terminale
    Alt + Backspace : elimina la parola precedente.
    Alt + F : passa allo spazio successivo.
    Alt + B : torna allo spazio precedente.
    Ctrl + U : taglia tutto il testo fino al cursore.
    Ctrl + K : taglia tutto il testo dopo il cursore fino alla fine della riga.
    Ctrl + A : sposta il cursore all'inizio della riga.
    Ctrl + E : sposta il cursore alla fine della riga.
  2. A proposito
    apropos <parola chiave>
    Ciò corrisponderà alla stringa "parola chiave" con la stringa della guida di detto comando e visualizzerà un elenco di tali comandi
  3. Trasferimento di file senza ftp o scp Esegui sul server di destinazione nc -l -p 1234 | decomprimere -c | tar xvfp -  Esegui sul server di invio tar cfp - / some / dir | comprimere -c | nc -w 3 [destinazione] 1234
  4. Crea alias per accessi SSH
    vim ~ / .bash_aliases
    Digita il tuo elenco di alias nel formato
    │alias <nome> = 'ssh user @ hostaddress'
    source ~ / .bash_aliases Se si ottiene un proprietario o permessi errati sull'errore /Users/username/.ssh/config, digitare chmod 600 ~ / .ssh / config
    ora digita ssh <alias-name>
  5. Accesso SSH senza password
    ssh-keygen
    ssh-copy-id -i root @ indirizzo_ip # inserire la password di accesso quando richiesto
    Quindi digita ssh root @ ip_address e accedi automaticamente
    24 cmatrix
    Una volta cmatrixinstallato, è possibile eseguirlo digitando cmatrixsulla riga di comando. Quando lo fai, otterrai una schermata come questa. È solo un effetto interessante. Puoi usarlo come screensaver per il tuo terminale quando lo lasci inattivo

Immagine

  1. Cronologia dei comandi
    export HISTTIMEFORMAT = "% d /% m /% y% T" # Aggiungi questo a ~ / .bashrc
    source ~ / .bashrc
    storia

Immagine

  1. Controlla i primi n file che stanno esaurendo il tuo spazio
    du -hsx * | ordina -rh | head - <inserisci numero n>
    du -hsx * | ordina -rh | testa -11
  2. Ottieni statistiche relative a un file
    stat nomefile.eestensione

stato

  1. Impara un comando Linux casuale
    man $ (ls / bin | shuf | testa -1)
  2. Esecuzione condizionale
    Per eseguire due comandi, uno dopo aver completato con successo l'altro, inserisci entrambi i comandi sulla stessa riga, separati da un &&, o doppia e commerciale
    È possibile utilizzare il comando sleep con fa un conto alla rovescia dal numero di secondi indicati per il completamento, come ritardo per un secondo comando
    sleep 100 && <inserisci secondo comando>
  3. Affrontare lavori e processi
    Supponiamo che tu abbia un processo che richiede tempo per il completamento e che non ti consente di fare nient'altro nel terminale. Puoi premere Ctrl + z e sospenderlo temporaneamente.
    bg # Questo farà funzionare il processo sospeso in background
    fg # Per riportarlo ai
    lavori in primo piano # Questo fornirà un elenco di processi con un ID intero
    fg% <number> # se si desidera mettere in primo piano un processo precedente
    bg% < numero> # se si desidera un processo precedente in background
  4. Ripeti l'argomento precedente
    ! $ o "Esc +."
  5. Esegui comandi in un momento specifico
    Con il atcomando, è possibile specificare una data e un'ora. In questo modo si aprirà un prompt di input in cui è possibile immettere una sequenza di comandi da eseguire alla data e all'ora fornite. Al termine, digitare Ctrl + D per uscire dal prompt di input.
    alle 23:30 08/10/17
    Se si verifica questo errore quando si tenta di impostare nuovi lavori:
    Impossibile aprire /var/run/atd.pid per segnalare atd. Nessun atd in esecuzione?
    sudo service atd start
  6. xargs
    xargs è uno strumento essenziale che migliora la funzionalità dei comandi di prima linea come find, grep o cut e dà più potenza al tuo script shell
    Questo comando può essere utilizzato con qualsiasi comando che genera un lungo elenco di input. Inizialmente veniva usato per evitare errori "Elenco argomenti troppo lungo" e usando xargs si invia un sotto-elenco a qualsiasi comando più corto di "ARG_MAX" ed è così che xargs evita l'errore "Elenco argomenti troppo lungo"
    Non gestisce file con newline o spazi bianchi nel suo nome e per evitare questo problema si dovrebbe sempre usare "xargs -0". xargs -0 (Zero) cambia il separatore in carattere null, quindi è importante che il feed di input per xargs sia anche null come separatore.
    Il comando predefinito eseguito da xargs è / bin / echo e visualizzerà semplicemente i nomi dei file.
    Per impostazione predefinita, la fine della stringa di file è "_" e se questa stringa si presenta in input, il resto dell'input viene ignorato da xargs. Sebbene sia possibile modificare la fine della stringa di file utilizzando l'opzione "-eof".
    Possiamo forzare xargs a usare al massimo argomenti max-args per riga di comando con -n <numero> dopo xargs
    <comando precedente> | xargs -0 -IX <un altro comando> X
  7. Download della playlist di YouTube utilizzando youtube-dl
    installazione pip -upgrade youtube-dl

youtube-dl -i --yes-playlist --playlist-start 1 --write-thumbnail --write-auto-sub --sub-format srt --format mp4 -o "% ( playlist_index) s -% (titolo) s.% (ext) s " < inserisci collegamento playlist>

  1. Dividi cartella con molti file in piccole sottocartelle in ordine
    Supponiamo che tu abbia una directory con 101.834 file e li desideri in set più piccoli di 20.000 ciascuno in modo da non incorrere in errori di memoria quando usi i dati per alcuni algoritmi.
    È possibile utilizzare quanto segue per raggrupparlo ed eseguirlo su piccoli sottoinsiemi
    In questo esempio la directory principale si chiama dir e i batch saranno chiamati subdir1, subdir2, ..., subdir5.
    ls dir | head -n 20000 | xargs -IX cp dir / X subdir1
    ls dir | tail -n +20001 | capo -n 20000 | xargs -IX cp dir / X subdir2
    ls dir | tail -n +40001 | capo -n 20000 | xargs -IX cp dir / X subdir3
    ls dir | tail -n +60001 | capo -n 20000 | xargs -IX cp dir / X subdir4
    ls dir | tail -n +80001 | capo -n 20834 | xargs -IX cp dir / X subdir5
  2. Untar a file
    tar file xvzf .tar.gz
    x: questo dice a tar di estrarre i file.
    v: questa opzione elencherà tutti i file uno per uno nell'archivio. La "v" sta per "verbose".
    z: L' opzione z è molto importante e dice alcomando tar di decomprimere il file ( gzip ).
    f: Questa opzione dice a tar che gli stai per assegnare un nome file con cui lavorare.
    sudo apt- get install
    dtrx file
    dtrx .tar.gz file dtrx .tar.bz2
Immagine
Rispondi