Använda rör på kommandoraden, en grundläggande översikt

En av de viktigaste funktionerna i kommandoraden i Mac OS X, Linux eller någon Unix, är att förstå några grunder om hur man använder rör. I huvudsak kan rör leda utmatningen från ett kommando till ingången till ett annat kommando, vilket gör att följande kommando kan manipulera, justera eller arbeta med tidigare kommandon returnerar. Att veta hur och när man ska använda rör är avgörande för effektiv kommandoradsanvändning, och det är en viktig del av kunskapen för terminalanvändare.

Utan ytterligare introduktion finns här lite information om kommandoradsrör, vad de gör, och viktigast av allt, hur man använder rören för att styra kommandoradsutgången, effektivt "pipar" den till någon annanstans:


Rörsymbolen ser ut som |, (det är samma nyckel som din \ -tangent, om du är förvirrad) och är oerhört användbar när du arbetar på kommandoraden. Här är några exempel:

ls -la | more

Det här tar listkommandot (med långa och alla flaggor) och "pipar" det till mer kommandot, så att du kan visa utmatningen en sida i taget.

ps aux | grep user

Detta kommando tar utmatningen från processkommandot och rapporterar bara tillbaka processinstanser som tillhör "användaren"

Du kan använda rör med nästan vad som helst, så använd din fantasi.

En annan vanlig användning för rören är att kombinera med "mindre" för att förbättra läsbarheten hos långa utgångar, när man använder "katt" eller något liknande:

cat /etc/passwd | less

Rör kan också användas på mycket avancerade sätt, ta utmatningen av något kommando och omdirigera den kommandotillgången till inmatningen av en annan kommandosträng och sedan ta den utmatningen och omdirigera den än en gång i en lång rad kommandon och rör, det här kan se ut så här:

cat /etc/OSXDaily.txt | grep "osxdaily test" '\n' | sort | uniq | less

Rör kan också kombineras med omdirigeringar, och bara om någon annan metod att manipulera någonting i terminalen.

Vi täcker Mac OS X-kommandoraden relativt ofta här på OS X Daily, men vår senaste artikelkommandon för användbarhet för Command Line: Omdirigering borde troligen också ha inkluderat lite om rör, så här är vi. Mer avancerade syften skulle bäst omfattas av en annan djupt handledning för att utforska bortom grunderna, så håll dig stillad.