Topp 10 knep för terminalen

1. Utför det sista kommandot med !!

Titeln säger allt, skriv bara in följande i en terminal...

!!

...för att köra det senaste kommandot igen. Det här tricket är väldigt användbart när vi glömmer att gå in sudo i början. I så fall måste du ange:

sudo !!

För att upptäcka mer komplexa sätt att få ut det mesta av detta trick rekommenderar jag att du läser det här gammalt inlägg.

2. Kör det sista kommandot men korrigera ett stavfel

Det här tricket är verkligen användbart när vi anger ett kommando med ett enkelt stavfel. Om vi ​​till exempel kör:

eka"desdelinuxz"

Det är möjligt att korrigera det genom att ange följande:

^z

3. Anropa en textredigerare för att ange ett långt kommando

Ibland är det nödvändigt att ange oändliga kommandon i terminalen. I det här fallet kan hjälp av en enkel textredigerare, som nano eller emacs, vara användbar.

För att öppna redigeraren, tryck bara på Ctrl+x+e i en terminal. Texten du har skrivit hittills kommer att kopieras till textredigeraren när den öppnas.

För sin del kommer den editor som används att vara den som anges i variabeln $EDITOR. För att ändra den här inställningen kan du köra...

export PUBLISHER=nano

...ersätter nano med din föredragna editor.

4. Utför ett kommando utan att spara det i historiken

En riktig hacker kan inte ignorera detta trick. Som alla vet sparar bash historiken för utförda kommandon, vilket är mycket lätt att komma åt med hjälp av tangentbordspilarna eller Ctrl + R (att göra en omvänd sökning i historien).

I det här fallet, vad du måste göra för att det inmatade kommandot inte sparas i historiken är att sätta ett mellanslag framför:

kommando

5. Placera automatiskt den sista parametern i ett kommando

Antag att det tidigare utförda kommandot var

cp file.txt /var/www/wp-content/uploads/2009/03/

För att komma åt katalogen i fråga är det möjligt att ange kommandot cd följt av Alt +. o Esc+. :

cd 'ALT+.'

Detta är bara ett kortfattat sätt att skriva in:

cd /var/www/wp-content/uploads/2009/03/
Genom att fortsätta att trycka på ovannämnda kortkommando är det möjligt att bläddra i historiken för de senast utförda kommandona.

6. Kör ett kommando vid en angiven tidpunkt

Ja, ja, det är vad den finns till för cron. Men ibland vill vi köra ett kommando som körs vid en viss tidpunkt men bara en gång.

Anta att vi vill utföra kommandot ls-l vid midnatt. I så fall måste vi utföra det enligt följande:

eko "ls -l" | vid midnatt

7. Skaffa din externa IP

Tack vare tjänsten från http://ifconfig.me/ Det är möjligt att veta olika data om din Internetanslutning, direkt från terminalen:

curl ifconfig.me/ip // IP-adress curl ifconfig.me/host // Remote Host curl ifconfig.me/ua // User Agent curl ifconfig.me/port // Port

8. Lär dig hur du använder Ctrl+u och Ctrl+y

Hur många gånger hände det dig att du började skriva ett kommando och kom ihåg att du var tvungen att göra något annat innan? Jo, det går att göra en sorts klipp-klistra så att det senare är lättare att skriva in kommandot som lämnades halvvägs igen.

Anta att du började skriva...

cd /hem/användarnamn

och du kom ihåg att innan du var tvungen att kontrollera något i den aktuella katalogen. Tryck i så fall Ctrl + U (Det skulle vara något i stil med ett "snitt").

Ange kommandot som behövde köras först. Anta…

ls-l

...och tryck sedan Ctrl + y (fungerar som en "klistra").

9. Rengör terminalen enkelt

med ctrl+l det går att rengöra terminalen i en handvändning.

10. Gå till en katalog, kör ett kommando och återgå till den aktuella katalogen

Det här tricket är en fröjd. För att utföra en serie kommandon utan att lämna den aktuella katalogen, gruppera dem bara mellan parenteser. Som de flesta vet, för att utföra en serie kommandon, måste du sammanfoga dem med &&. Med hjälp av dessa koncept kan vi utföra något i stil med följande:

(cd /tmp && ls)

Utdata från detta kommando (observera parenteserna) kommer att vara en lista över filerna och katalogerna i mappen / Tmp. Allt utan att lämna vår nuvarande katalog. En juvel!

Yapa. Lista de mest använda kommandona

Att se dem mest använda kommandon kör bara följande:

historia | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sortera -rn | huvud

I mitt fall var vinnarna:

450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top

Terminalfans, som den här servern, rekommenderar jag att besöka kommandoradfu. Dessutom, varför inte, sluta inte titta på arkiv från vår blogg.

Saknas det något knep? Glöm inte att dela och kommentera nedan. 🙂

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   fox sade

    Det var en som jag använde som utelämnade versaler i min inputrc, för ärligt talat så gled många filer som började så genom mitt huvud.

  2.   Jesus Perales sade

    Jag tror att en av de viktigaste är historikkommandot där det returnerar en numrerad lista.
    av de kommandon du har använt och om du vill använda något av dem, använd bara följande rad
    ! 22

    som kommer att utföra kommandot som finns i din historik i siffran 22 😀

    Att söka efter något kommando med automatisk komplettering är
    Ctrl + r

    1.    Xurxo sade

      Jag använder också alltid Ctrl+r för att upprepa det sista kommandot; när den sista visas kan du bläddra bakåt genom historiken genom att trycka på Page Re (uppåtpil).

      Hälsningar.

  3.   Rodrigo bravo sade

    Bra artikel. Tack för att du delar med dig av dessa tips.
    Jag vill dela med mig av en som jag använder dagligen som är 'fg', som låter dig öppna de applikationer som du stoppade tidigare med 'Ctrl+z'.

    1.    giskard sade

      Och med 'bg' skickar du dem till bakgrunden 🙂

    2.    låt oss använda Linux sade

      Titta på dig... bra knep! Tack för att du delar med dig.
      Kram! Paul.

  4.   Gabriel sade

    Utmärkt inlägg, de får dig alltid att komma ihåg saker som man visste och med tiden glömde, men som är riktigt användbara.

  5.   Qvic sade

    Terminalfusk är alltid välkomna.
    Otroligt nog visste jag inte att det utelämnades från historiken att lägga till ett mellanslag i kommandot.
    Tack så mycket, Hälsningar!!

  6.   ezekiel sade

    för att använda autoslutförandefiltrering lägg till i filen $HOME/.inputrc
    "\e[5~": historia-sökning-bakåt
    "\e[6~": historia-sök-framåt

    och till exempel någon gång hade du använt:
    $ cd /a/path/longer/than/shit

    och nu vill du använda den igen måste du göra:
    $ cd
    och tryck sedan på tangenterna «Page Up» eller «Page Down» för att navigera genom alla kommandon i historiken som började med «cd».

    1.    giskard sade

      ANTINGEN…. Utan att redigera något, trycker du på Ctrl+R och sedan på cd (om du vill söka efter något med 'cd') och trycker du på Ctrl+R upprepade gånger kommer du att se alla kommandon som innehåller det tills du kommer till det du vill ha. Uppenbarligen om det är den omedelbart innan den ska komma ur en.

    2.    låt oss använda Linux sade

      Mycket bra!

  7.   antc sade

    Egentligen borde ls /tmp vara tillräckligt för att lista katalogen utan att lämna den nuvarande.

  8.   slayerkorn sade

    Du kan också sammanfoga kommandot med ";" Som i exempel 10 skulle det se ut så här:

    (cd /tmp;ls)

    hälsningar

    1.    RudaMale sade

      Han ";" fungerar annorlunda än "&&" (och), när vi gör kommando-1 && kommando-2 exekveras det andra kommandot endast om utdata från det första är "0", det vill säga utan fel. När det gäller semikolon, exekveras det andra kommandot oavsett utdata från det första. För att utöka finns operatorn "||" (eller), i detta fall exekveras det andra kommandot endast om det första kommandot matar ut ett fel. Hälsningar.

  9.   anonym sade

    För att varje rad som historien kommer ihåg ska ha ett datum och en tid, måste en miljövariabel ställas in i ~.bashrc för den normala användaren eller roten.

    # nano .bashrc
    export HISTTIMEFORMAT="%F%T"

    #historia
    492 2014-09-02 14:25:57 revdep-rebuild -i -v
    493 2014-09-02 14:31:14 eclean-dist -d
    494 2014-09-02 14:31:23 localepurge -v
    495 2014-09-02 14:31:29 etc-uppdatering
    496 2014-09-02 14:31:54 emerge –depclean –låtsas
    497 2014-09-02 14:39:08 uppdateradb

    Det finns fler alternativ, som är för antalet rader det sparar, jag testar dem.

  10.   chuckT sade

    Mycket bra inlägg. Verkligen väldigt användbar. Knep nummer 4, att köra ett kommando utan att spara det i historiken, har bara fungerat för mig i ubuntu, inte i debian eller i centos.

    1.    Azureus sade

      Det fungerade för mig i raspbian och inte i arch.

  11.   Chaparral sade

    Merveilleux!!

  12.   erjuak sade

    Hej,
    Det där med att sätta ett mellanslag innan man kör ett kommando så att det inte registreras i historiken, eftersom det inte fungerar...
    [användare@värd /]$ ls -l
    totala 104
    dr-xr-xr-x. 2 rotrot 4096 21 aug 03:55 bin
    dr-xr-xr-x. 5 root root 3072 20 aug 17:26 start
    drwxr-xr-x. 2 root root 4096 9 dec 2013 cgroup

    [användare@värd /]$historia
    1024 ls
    1025 ls
    1026 historia
    1027 ls -l
    1028 historia

    intressant artikel..

    hälsningar

  13.   erjuak sade

    Förlåt för att jag inte läser alla inlägg.
    Testet görs också i cent.

  14.   eliotime3000 sade

    Bra med Ctrl + U och Ctrl + Y.

  15.   NauTiluS sade

    På mitt system fungerade listan över mest använda kommandon för mig genom att ändra variabeln till $5.

    Exempel på utdata:

    1122 sudo
    362 ls
    279 klart
    214 cd
    142 gräva
    141 år
    130 vnstat
    122 mv
    112 såg
    112-historia

    Detta beror på att jag har följande rad i min .bashrc-fil:
    # Skriv ut datumet till historikkommandot
    export HISTTIMEFORMAT='%F %T : '

    Jag är nästan säker på att många här omkring har använt flera terminaler samtidigt.
    Nu vet jag inte om jag ska berätta att detta är ett terminaltrick, men eftersom jag vanligtvis har många fönster eller använder skärmen för att ha flera terminaler öppna, gör detta att alla kommandon som skrivs i en av dessa terminaler kan återspeglas i alla dem. .

    Detta går i .bashrc-filen:

    HISTSIZE = 90000
    HISTFILESIZE=$HISTSIZE
    HISTCONTROL=ignorespace:ignoredups

    historia() {
    _bash_history_sync
    inbyggd historik "$@"
    }

    _bash_history_sync() {
    inbyggd historia -a #1
    HISTFILESIZE=$HISTSIZE #2
    inbyggd historia -c #3
    inbyggd historia -r #4
    }

    PROMPT_COMMAND=_bash_history_sync

    1.    låt oss använda Linux sade

      Mycket bra bidrag! Tack för att du hälsade på.
      Kram! Paul.

  16.   Roy sade

    Grattis till artikeln.
    Mycket praktiskt och jag har lärt mig några kommandon.

  17.   linuXgirl sade

    Även om jag redan är något "erfaren" i dessa frågor så uppskattas alltid dessa tricks, så... för trickstammen!!!

  18.   icke namngiven sade

    bra, tack för tricken, de är verkligen användbara 😀

  19.   vinsuk sade

    Konsolvägar är outgrundliga 😉

  20.   desikoder sade

    Tricket att trycka på kontroll + u och kontroll + y beror inte på skalet, utan på konfigurationen som tty har. Idag, under Linux, är ttys mycket komplexa enheter. Jag har faktiskt undersökt hur de fungerar och jag kan försäkra er att de har många fler krångligheter än det verkar. Den tty har några kontrolltecken som ändrar sin status, till exempel har det hänt mig ibland att jag kat en binär fil, och efter att ha lämnat allt "skräp" på skärmen förblir prompten konstig eller med en annan kodning. Detta beror på att det i en slumpmässig fil är stor sannolikhet att stöta på tty kontrolltecken.

    Kör till exempel detta i ett skal:

    skriv ut '33c'

    Det kommer att rensa skärmen (som om du körde clear ).

    Andra kombinationer, som kontroll + L för att rensa skärmen, kommer från skalet som används, de klassiska /bin/sh-skalen har vanligtvis inte denna funktion.

    Dessutom finns det idag många komplexa fil- och sockethanteringsalternativ under linux. Till exempel, om du öppnar en tty-enhet med open(), i AIO-läge (Asynchronous Input / Output) kommer processen att ta emot en SIGIO varje gång det finns data tillgänglig i ingångsbufferten.

    Om till exempel bash fungerade genom att helt enkelt läsa raderna och köra kommandon (som det gör när man kör ett skript), skulle en tryckning på kontroll + L helt enkelt inkludera denna sekvens av tecken som en del av kommandona, men eftersom bash har kontroll över skriptets buffertinmatning kan upptäcka det.

    Till exempel, ibland vid programmering har jag kommit att använda fcntl för att få en icke-blockerande ingångsbuffert, som jag har använt även med ncurses-biblioteken (manipulera kontrollen tty innan du startar ncurses i programmet).

    Saludos!

  21.   Lautaro sade

    För de som inte fick utrymmet först, och kanske för att lägga till noteringen, finns en variabel som heter HISTIGNORE där tecknet som läggs till före ett kommando är inställt på att ignoreras i historiken.
    I vissa installationer kommer inte denna variabel från
    Hälsningar och bra inlägg! direkt till favoriter!

    Notera att jag i kommentarerna också såg flera intressanta saker..!!

  22.   ramon hidalgo sade

    Alla verkligen mycket användbara. Tack.