Koulussa kun kirjoittaa cd .. jotain niin se tulostaa hakemiston missä ollaan, esim:
# cd ..
/home/df/mika/public_html/
# cd ~
/home/df/mika/
# cd /etc
/etc/
#
jne... Miten se on tehty?
# cd ..
/home/df/mika/public_html/
# cd ~
/home/df/mika/
# cd /etc
/etc/
#
jne... Miten se on tehty?
Vastaukset 6
Vanhimmat
"# cd ..
/home/df/mika/public_html/ "
Täh, siis mikä on tehty?
Todennäköisesti httpd eli www-palvelin määrittelee käyttäjän kotisivut tuonne ~/public_html -hakemistoon.
Ihan perusasioita niin Unix kuin Linux-käyttäjille ovat käyttäjä, ryhmät ja muut sekä niiden oikeudet tiedostoihin, hakemistoihin tai vaikkapa laitetiedostoihin.
PS. pwd on komento todeta, missä hakemistossa ollaan.
Tehty se, että cd -komento kertoo hakemiston missä ollaan vaihdon jälkeen.
Vaihdan hakemiston vaikka käskyllä "cd .."
Ja se kertoo, että nyt ollaan hakemistossa: "/joku/joku/joku/joku/".
Ainakaan oletuksena cd ei tulosta aina vaihdettua hakemistoa. Jos cd tulostaa aina jotain, niin ehkä cd on alias jollekin skriptille. Komennot "alias cd" ja "type cd" voivat antaa vihjeitä.
cd - vaihtaa siihen hakemistoon, missä oltiin aiemmin. Tämä lienee ainut tapaus, mikä tulostaa hakemiston ruudulle. cd ~ on turhaa, sillä cd pelkästään vaihtaa oletuksena kotihakemistoon.
% alias cd
cd !* >/dev/null; echo $cwd
Mielenkiintoisa...
Ongelma on siis selvitetty: ylläpito on laittanut jonnekin systeemitason shellin käynnistysskripteihin tuollaisen aliaksen. Ensimmäinen osa vaihtaa annettuun hakemistoon ja toinen osa tulostaa ympäristömuuttujan cwd arvon. Ilmeisesti shelli päivittää cwn:n arvoa itse joka kerta vaihdettaessa hakemistosta toiseen.
Voit poistaa aliaksen käytöstä väliaikaisesti komennolla unalias cd. Voit myös tehdä oman aliaksen, esim. bash-shellissä (ks. echo $SHELL, tai echo $shell shellistä riippuen) yleisesti alias joku=jotain, tai alias joku="jotain ja paljon muuta mitkä vaativat lainausmerkkien käyttöä". Esimerkiksi alias l="ls -l" helpottaa elämää kummasti.
http://www.tldp.org/LDP/abs/html/aliases.html
Siis, pelkkä cd vaihtaa kotihakemistoon; so jos olet roottina mennään roottin kotiin, jos käyttäjä mennään käyttäjän kotihakemistoon. Komento cd .. vie pykälän kohti juurta. Oletuksena tulostetaan missä ollaan ja kuka on.