/ eller inte - det är frågan...

Permalänk
Medlem

/ eller inte - det är frågan...

Jag höll på att bli galen i mitt senaste försök att bekanta mig med Linux. Denna gång har jag valt Mint 15.
Jag installerade både en Cinnamon och en KDE i Vmware för att jämföra, men när jag skulle installera vmware tools i KDE-disten så upptäckte jag en märklig inkonsekvens som inte existerade när jag installerade vmware tools i Cinnamon-versionen.

Kolla screenshoten: för att komma in i tmp måste jag ha en / men för att sen komma vidare in i vmware-tools-distrib måste jag sända kommandot utan /. Vad sjutton, finns det en logik i detta som en nybörjare som jag missar?

Permalänk
Medlem
Skrivet av guermantes:

Jag höll på att bli galen i mitt senaste försök att bekanta mig med Linux. Denna gång har jag valt Mint 15.
Jag installerade både en Cinnamon och en KDE i Vmware för att jämföra, men när jag skulle installera vmware tools i KDE-disten så upptäckte jag en märklig inkonsekvens som inte existerade när jag installerade vmware tools i Cinnamon-versionen.

Kolla screenshoten: för att komma in i tmp måste jag ha en / men för att sen komma vidare in i vmware-tools-distrib måste jag sända kommandot utan /. Vad sjutton, finns det en logik i detta som en nybörjare som jag missar?

http://i44.tinypic.com/2q1rzw7.jpg

Ja, ett inledande / innebär rotkatalogen, utan inledande / blir det relativt till nuvarande katalog.

Vad jag förstår låg alltså grejerna du sökte i katalogen /tmp/vmware-tools-distrib. Du stod från början i någon katalog i stil med /home/peter.

Med /home/peter som utgångspunkt så betyder cd tmp att du ska till /home/peter/tmp. cd /tmp betyder att du ska till /tmp.

På samma sätt så när du står i /tmp så betyder cd vmware-tools-distrib att du ska till /tmp/vmware-tools-distrib men cd /vmware-tools-distrib att du ska till /vmware-tools-distrib.

(Om du är van vid Windows så fungerar det på exakt samma sätt där bara att du i princip har en rotkatalog per enhet istället för en rotkatalog för hela systemet.)

Visa signatur

Desktop: Ryzen 5800X3D || MSI X570S Edge Max Wifi || Sapphire Pulse RX 7900 XTX || Gskill Trident Z 3600 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Proxmox server: Ryzen 5900X || Asrock Rack X570D4I-2T || Kingston 64GB ECC || WD Red SN700 1TB || Blandning av WD Red / Seagate Ironwolf för lagring || Fractal Node 304

Permalänk
Medlem

/ är root
tmp är en mapp som ligger i / och har sökvägen /tmp. Om du ska in i den och står i / räcker "cd tmp", annars behöver du skriva "cd /tmp"
vmware-tools-distrib verkar ligga i /tmp och har då sökvägen /tmp/vmware-tools-distrib. Om du ska in i den och står i /tmp skriver du "cd vmware-tools-distrib" och om du står någon annan stans skriver du "cd /tmp/vmware-tools-distrib".

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem

Hej! Det är helt som det ska vara. tmp-katalogen ligger i roten (= "/" ) och därför skriver du in det i din sökväg, "cd /tmp". Katalogen vmware-tools-distrib ligger under tmp och hierarkiskt ser det alltså ut så här:
/tmp/vmware-tools-distrib
Du hade lika gärna kunnat skriva allt på en gång, alltså: "cd /tmp/vmware-tools-distrib" eller ta det i två steg som du försökte med:
1. "cd /tmp" - nu är du i katalogen "/tmp"
2. "cd vmware-tools-distrib" - nu är du i katalogen "/tmp/vmware-tools-distrib"

Under roten, alltså / finns det fler kataloger. Tänk på / som en sorts motsvarighet till exvis c:\ i windows-världen.

Återkom om jag var otydlig och lycka till!

Permalänk
Medlem

Tack för mycket bra förklaringar! Vad smidigt att kunna genväga ner till root och sen upp till annan mapp bara genom att ange / !

Permalänk
Medlem
Skrivet av guermantes:

Tack för mycket bra förklaringar! Vad smidigt att kunna genväga ner till root och sen upp till annan mapp bara genom att ange / !

Det tog ett tag för mig att förstå detta själv

En annan smidig grej är ~/
som betyder hemkatalogen. Dvs

cd ~/Downloads

är samma som

cd /home/dinanvändare/Downloads

Visa signatur
Permalänk
Medlem

Fler tips:

. är katalogen man står i
.. är upp en nivå från katalogen man står i
pwd visar vilken katalog man befinner sig i

Så om du står i /tmp/vmware-tools-distrib och vill gå till /tmp kan man skriva

cd ..

Ja det där kanske du redan kan. Men en lurig sak kan vara om man ska starta ett program eller skript i den katalogen man befinner sig i. Då räcker det inte med att bara skriva filnamnet (om inte den katalogen ligger i PATH) utan man får skriva

./filnamn

alternativt hela sökvägen till filen.
Detta hade jag stora problem med i början om jag gjorde ett eget skript. Och det kanske ändå inte funkade om man inte hade gjort skriptet exekverbart.

chmod +x filnamn

Permalänk
Medlem

Eller bara

cd

för att komma till hemmappen

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Medlem
Skrivet av guermantes:

Tack för mycket bra förklaringar! Vad smidigt att kunna genväga ner till root och sen upp till annan mapp bara genom att ange / !

Mjo, precis... Skall man förklara för en gammal Windowsanvändare kan man förenklat säga att / mostvarar c:\ typ.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem
Skrivet av Schrimp:

Eller bara

cd

för att komma till hemmappen

cd ~

gäller för hemmappen

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem
Skrivet av inquam:

cd ~

gäller för hemmappen

http://en.wikipedia.org/wiki/Cd_%28command%29
https://help.ubuntu.com/community/UsingTheTerminal

Citat:

"cd" by itself or cd ~ will always put you in your home directory.

Men jag ska låta det vara osagt om det är vedertaget eller bara inom vissa distar

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Medlem
Skrivet av Schrimp:

http://en.wikipedia.org/wiki/Cd_%28command%29
https://help.ubuntu.com/community/UsingTheTerminal

Men jag ska låta det vara osagt om det är vedertaget eller bara inom vissa distar

Att ~/ är den egna hemkatalogen och ~user/ är godtycklig användares hemkatalog är iaf vedertaget i Unixliknande OS.

Vad cd gör utan argument kan nog möjligen variera.

Skickades från m.sweclockers.com

Visa signatur

Desktop: Ryzen 5800X3D || MSI X570S Edge Max Wifi || Sapphire Pulse RX 7900 XTX || Gskill Trident Z 3600 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Proxmox server: Ryzen 5900X || Asrock Rack X570D4I-2T || Kingston 64GB ECC || WD Red SN700 1TB || Blandning av WD Red / Seagate Ironwolf för lagring || Fractal Node 304

Permalänk
Hedersmedlem
Skrivet av inquam:

Ett liknande kommando är
cd -
som hoppar tillbaka till den katalog man var i innan man bytte till den nuvarande.

Permalänk
Hedersmedlem
Skrivet av Schrimp:

Eller bara

cd

för att komma till hemmappen

Skrivet av inquam:

cd ~
gäller för hemmappen

Skrivet av Schrimp:

http://en.wikipedia.org/wiki/Cd_%28command%29
https://help.ubuntu.com/community/UsingTheTerminal

Men jag ska låta det vara osagt om det är vedertaget eller bara inom vissa distar

Skrivet av evil penguin:

Att ~/ är den egna hemkatalogen och ~user/ är godtycklig användares hemkatalog är iaf vedertaget i Unixliknande OS.

Vad cd gör utan argument kan nog möjligen variera.

Tydligare utdrag från Wikipediaartikeln:

Skrivet av Wikipedia:

Note that executing cd from the command line with no arguments has different effects in different operating systems. For example, if cd is executed without arguments in DOS, OS/2, or Windows, the current working directory is displayed. If cd is executed without arguments in Unix, the user is returned to the home directory.

I alla *nix-lika system kan man utgå ifrån att `cd` utan argument går till sökvägen definierad i miljövariabeln `HOME` — det är definierat i POSIX. Det är skalet och inte `chdir()`-anropets uppgift att sköta detta (det kan också nämnas att eftersom *nix startar subprocesser för att utföra kommandon så kan inte `cd` vara ett externt kommando, utan måste hanteras inifrån den miljö där man vill byta katalog — dvs vara en "shell built-in").

Detsamma kan sägas om `cd ~`: det är skalet som expanderar detta till `HOME`-variabeln enligt POSIX.

`~` kan ju dock till skillnad från "inget argument" kombineras för att direkt specificera t ex katalogen `.local` i hemkatalogen via `~/.local`. Dessutom är ju beteendet för `~` detsamma för andra verktyg, till skillnad från "inget argument". `mv fil` flyttar ju exempelvis inte `fil` till hemkatalogen, vilket `mv fil ~" skulle göra.

I skript är det ofta enklare att använda `$HOME` direkt istf `~` då det har mer uppenbart beteende när man blandar in citationstecken och annat.

I interaktivt läge skulle jag aldrig skriva enbart `cd ~` — det är ju längre än `cd`, och gör definitionsmässigt samma sak .

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av phz:

Tackar för den ypperliga informationen

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Entusiast

Liknande regler gäller DOS / Windows:

Fast här gäller omvänt snedstreck istället, men principen är densamma, frånsett ett par undantag:

Istället för pwd, så kan man använda kommandot "cd" i sig för att ta reda på den aktuella sökvägen.

cd

För att ta sig till roten i den aktuella enheten, kan man enkelt ange:

cd \

Till skillnad från *nix system, man kan ange punkter utan mellanslag för att navigera (Både och fungerar givetvis)

cd..

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Hedersmedlem
Skrivet av SysGhost:

Fast här gäller omvänt snedstreck istället

Om man tycker att sådana är jobbigare att skriva, krånglar till textsträngar eller liknande fungerar väl dock snedstreck lika bra i så gott som alla situationer?

Permalänk
Entusiast
Skrivet av Elgot:

Om man tycker att sådana är jobbigare att skriva, krånglar till textsträngar eller liknande fungerar väl dock snedstreck lika bra i så gott som alla situationer?

Varför DOS använder omvänt snedstreck beror på att det ordinarie snedstrecket används för kommandoväxlar.
Huruvida man kan använda ordinarie snedstreck som sökvägsavskiljare i senare versioner av Windows vet jag inte (Kan inte testa just nu i alla fall), men jag misstänker att det skulle krocka med kommandoväxlarna.

Jag får i alla fall följande felmeddelande under Windows XP's kommandoprompt när jag försöker med det ordinarie Snedstrecket som sökvägsavskiljare:

cd /Windows Invalid switch. - /Windows

EDIT:
Efter lite Googlande, fick jag fram följande information: http://stackoverflow.com/questions/199792/lost-use-of-forward...
Varför jag fick felmeddelandet kan dock bero på modifieringar jag utfört i någon av systemvariablerna som styr vad som accepteras som skiljetecken. Exakta detaljer minns jag dock inte.

Hursomhelst så avråder jag från att använda det ordinarie snedstrecket under Windows / DOS, av den anledning att det är så oerhört lätt att ställa till det när man inte kan skilja kommandoväxlar från sökvägar.

Exempel:

dir /w /Windows

Lista filerna i båda sökvägarna "w och "Windows" ?

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av Elgot:

Om man tycker att sådana är jobbigare att skriva, krånglar till textsträngar eller liknande fungerar väl dock snedstreck lika bra i så gott som alla situationer?

Oftast (åtminstone i Windows 7), jepp, men det funkar inte helt friktionsfritt med tab-completion (eller vad det nu egentligen heter).

Visa signatur

5950X, 3090