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/
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.
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.
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
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.
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'.
Och med 'bg' skickar du dem till bakgrunden 🙂
Titta på dig... bra knep! Tack för att du delar med dig.
Kram! Paul.
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.
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!!
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».
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.
Mycket bra!
Egentligen borde ls /tmp vara tillräckligt för att lista katalogen utan att lämna den nuvarande.
Du kan också sammanfoga kommandot med ";" Som i exempel 10 skulle det se ut så här:
(cd /tmp;ls)
hälsningar
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.
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.
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.
Det fungerade för mig i raspbian och inte i arch.
Merveilleux!!
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
Förlåt för att jag inte läser alla inlägg.
Testet görs också i cent.
Bra med Ctrl + U och Ctrl + Y.
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
Mycket bra bidrag! Tack för att du hälsade på.
Kram! Paul.
Grattis till artikeln.
Mycket praktiskt och jag har lärt mig några kommandon.
Även om jag redan är något "erfaren" i dessa frågor så uppskattas alltid dessa tricks, så... för trickstammen!!!
bra, tack för tricken, de är verkligen användbara 😀
Konsolvägar är outgrundliga 😉
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!
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..!!
Alla verkligen mycket användbara. Tack.