Terminaldeki dizinleri nasıl değiştirebilirim ve hangi dizinde olduğumu nasıl bilebilirim?


15

Ben Ubuntu topluluk Yardım yönlerini takip ediyorum ; ancak, hala birkaç şey hakkında kafam karıştı. Araştırdım ve bu yazıyı buldum: dizini değiştirmek için terminali kullanma , ama üstümde ve hala nasıl gideceğimi bilmiyorum. Ben yeniyim ve biraz ekstra yöne ihtiyacım var, bu yüzden benimle kal! ;-) Terminalimdeki komut dosyası aşağıdadır:

christy@ubuntu:~$ ls
Desktop    examples.desktop     install-tl-unx.tar.gz  Pictures  Templates
Documents  install-pkgs.log     libnautilus-gksu.so    Projects  Videos
Documents  install-pkgs.log     libnautilus-gksu.so    Projects  Videos
christy@ubuntu:~$ cd/
bash: cd/: No such file or directory

Hangi dizinde ne olduğunu ve dizinde nasıl gezineceğimi nasıl anlarım. Basit bir şey bırakmam gerektiğini biliyorum.


4
Komuttan sonra daima "cd" gibi bir boşluğa ihtiyacınız vardır. Komutunuz "cd /" girerseniz çalışır ve kök dizine taşınır.
Marty Fried

Harika, Marty! Yardımınız büyük beğeni topluyor. ;-)
user74713

Yanıtlar:


19

Oturumunuzda lsgeçerli dizinin içeriği görüntülenir (ancak dosya adında bir nokta ile başlayan gizli dosyalar değil). Yazarak başka bir dizine geçersiniz cd dirname. Burada, "dirname" yerine, değiştirmek istediğiniz dizinin adını yazmalısınız. Normalde ana dizininizle geçerli çalışma dizini olarak başlarsınız. Sizin durumunuzda bu büyük olasılıkla /home/christy. Eğer lsgösterileri siz "Şablon" siz "Şablon" dönüşür (= o anki çalışma dizini olun) yazarak (boşluk mind) komut adı verilen bir dizin:

cd Templates

geçerli çalışma dizininizi "Şablonlar" olarak değiştirir veya geçerli adınızdaki dizininizde bu adın bir dizini yoksa "Böyle bir dosya veya dizin yok" yazdırırsınız. Yazma pwdher zaman veliler de dahil olmak üzere mevcut çalışma dizininize tam yama verecektir.

Her komut için isteğe bağlı bağımsız değişkenler sağlayabilirsiniz. İçin cddize "Şablonlar" Böyle bir isteğe bağlı argüman oldu. Örneğin yazarsanız ls -a, lskomut gizli dosyaları da yazdırır. Ya da ls Templatesbununla birlikte geçerli çalışma dizininizin içeriği yerine Tempaltes dizininin içeriğini yazdırır. Bağımsız değişkenler komut adından ve birbirinden en az bir boşlukla ayrılmalıdır. İkisi arasında boşluk olmaması, emrinizin çalışmamasının sebebiydi.

Boşluk karakterinin özel bir anlamı olduğundan, bir argümanın parçasıysa, onu alıntılamanız veya kaçmanız gerekir. Örneğin, geçerli çalışma dizininizi "Kaynak Dosyaları" olarak değiştirmek istiyorsanız, aşağıdaki komutlardan birini yazmanız gerekir:

cd Source\ Files
cd "Source Files"

Üst satır "kaçar", alt satır "alıntılanır".

Daha fazla bilgi edinmek isterseniz sizin için daha iyi bir kılavuz olabilir: Linux'a Giriş ( pdf ) ( html )


Düzenle :

Tamam şimdi, üzgünüm bağlantını orada görmedim. Gönderiniz biraz yanıltıcıydı, şimdi sanırım seni yakaladım:

Böylece , yayınladığınız "Başlarken" kılavuzuna bağlanan kaynak arşivden tex-live yüklemek istersiniz . Bunu yapmak için önce önceden var olan tex-live kurulumunu kaldırmanız gerekir. Bunu, bunu yapan bir terminal açarak yaparsınız:

christy@ubuntu:~$ pwd 
/home/christy # <---- This is the directory you are working in
christy@ubuntu:~$ sudo apt-get remove texlive-*
[sudo] password for christy: 

Bu noktada size şifre girmeniz gerekiyor ve burada atlayacağım birkaç sıkıcı mesajla ödüllendirileceksiniz. Sonra adlı arşivi indirmek zorunda kalacaksınız install-tl-unx.tar.gz(bunu zaten yaptınız ve tekrar indirmek zorunda değilsiniz, ancak nasıl yapılacağını size göstereceğim)

christy@ubuntu:~$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

--2012-07-09 15:08:23--  http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
Resolving mirror.ctan.org... 80.237.159.15
Connecting to mirror.ctan.org|80.237.159.15|:80... connected.
HTTP request sent, awaiting response... 302 Found
# ... some more stuff like this ...
Saving to: `install-tl-unx.tar.gz'

100%[=====================================>] 2,530,831   --.-K/s   in 0.1s    

2012-07-09 15:08:23 (17.3 MB/s) - `install-tl-unx.tar.gz' saved [2530831/2530831]

Artık arşivi indirdiğinize göre ambalajından çıkarabilirsiniz

christy@ubuntu:~$ tar xvf install-tl-unx.tar.gz
install-tl-20120701/
install-tl-20120701/readme-txt.dir/
install-tl-20120701/readme-txt.dir/README.RU-cp1251
# ... bla bla skipping over some more messages like this ...
install-tl-20120701/readme-html.dir/readme.sr.html
install-tl-20120701/readme-html.dir/readme.ru.html
install-tl-20120701/readme-html.dir/readme.de.html

Artık arşivi açtığınıza göre, açılmış olan dizine geçebilirsiniz.

christy@ubunut:~$ ls | grep install-tl-  # <---- with this line you find out the number
install-tl-20120701                      # <---- in this case "20120701"
install-tl-unx.tar.gz                    # <---- if just this is present with no number you did something wrong
christy@ubuntu:~$ cd install-tl-20120701 # <---- enter this number here
christy@ubuntu:~$ pwd
/home/christy/install-tl-20120701/       # <--- this is your new working directory

"20120701" sayısı, tex-live'ın hangi sürümüne sahip olduğunuzu belirten bir zaman damgasıdır. Bu sayı sizin için farklı olabilir, ancak komut ls | grep install-t1-size bunun yerine ne kullanacağınızı söyleyecektir. Tüm bunlar işe yaradıysa, kurulum komut dosyasını buradan çalıştırabilirsiniz:

christy@ubuntu:~$ sudo ./install-tl
[sudo] password for jan: 
Loading http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet/tlpkg/texlive.tlpdb
Installing TeX Live 2012 from: http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet
Platform: x86_64-linux => 'x86_64 with GNU/Linux'
# ... bla bla and so on bla ...
Actions:
  <I> start installation to hard disk
  <H> help
  <Q> quit

Enter command: I
# ... and so on ...

Buradan sadece yükleme komut dosyası tarafından sorulan soruları yanıtlayın ve iyi olmalısınız.


@ con-f-use: Harika bilgi! Şimdi, orijinal yazımdaki terminal komut dosyasına bakalım: install-tl-unx.tar.gz dizini nedir ve nasıl çalıştırırım? İnstall komutlarını tanıyorum ama sanırım paketleri kurmam gerekiyor mu? Tarball'ı açma komutları @ ubuntu-manual.org/getinvolved/editors'tır . Beni doğru yönde gösterebilirsen ... Çok teşekkür ederim; son derece bilgilendirici oldunuz.
user74713

Sorun değil. Sonunda hedefinizin tam olarak ne olduğundan emin değilim, bu yüzden daha fazla bilgi almadan size yardımcı olmak biraz zor. Görünüşe göre TeX-Live'ı 'install-tl-unx.tar.gz' arşivinden kurmaya çalışıyorsunuz. Bunu yapmak için önce yükleme komut dosyasını çalıştırmak yerine arşivi paketinden çıkarmanız gerekir. Yakında bunu yapmak için yukarıdaki talimatımı bazı talimatlarla düzenleyeceğim.
con-f-use

10

Yönetici Özeti (TL; DR)

  • pwdNerede olduğunuzu bilmek için kullanın (veya bilgi isteminde :ve ile arasına bakın $).
  • cdBaşka bir yerde dizini değiştirmek için kullanın . Windows'tan farklı olarak, cdher zaman bir boşluk bırakılmalıdır; komutları gibi cd/ve cd..çalışma olmayacak, ancak cd /ve cd ..irade.

Nerede olduğunuzu bilmek

Yol 1: Koşun pwd.

Şu anda hangi dizinde olduğunuz kabuk özelliğine (ve daha genel olarak uygulamaya özgü) yöneliktir. Bir dizinde bulunduğunuz bir kabuk ve başka bir dizinde olduğunuz başka bir kabuk çalıştırıyor olabilirsiniz.

Şu anda hangi dizinde olduğunuzu bilmek için şunu çalıştırın:

pwd

Örneğin (bir kabuktan makinemde şimdi açtım):

ek@Kip:~$ pwd
/home/ek

Bu bana dizinde olduğumu söylüyor /home/ek. /home(biraz kafa karıştırıcı) insan kullanıcılarının ev dizinlerini içeren dizindir (herhangi bir kullanıcının ev dizini değildir). İnsan kullanıcının usernamegiriş dizini vardır ./home/username

rootKullanıcı bir ev dizini yok /home. Bunun yerine, root'ın home dizini /root. Bu ile karıştırılmamalıdır değil kök dizininde olduğunu /.

2. Yol: İsteminizi inceleyin.

İsteminiz için varsayılan yapılandırma, o anda hangi dizinde bulunduğunuzu bildirmesidir. İsteminiz, kabuğun bir komutu kabul etmeye hazır olduğunu bildiren metindir.

Sorunuzda bize gösterdiğiniz örnekte, isteminiz:

christy@ubuntu:~$

christykullanıcı adınızdır. @Karakter ayıran ubuntubilgisayarınızın ana bilgisayar adı,. (Canlı bir CD çalıştırıyorsanız, ana bilgisayar adı olur ubuntuve bazı kişiler bunu yükleme sırasında bilgisayarlarının adı olarak seçer.)

:Karakter ayıran Şu anda bulunduğunuz dizinin adı. Tarafından temsil edilmektedir Bu durumda, ~. ~ana dizininiz için kısayol. Ana dizininizde olmadığınızda, tam bir dizin adı görmelisiniz. Örneğin:

ek@Kip:~$ cd /var/log
ek@Kip:/var/log$

(Bilgi isteminin her bir bölümünün ne anlama geldiğini tamamlamak için: Bu kurala uyan bilgi istemleri için, ya $da bir #karakter görüntülenir. $(Bu durumda olduğu gibi, bu normal bir kullanıcı kabuğu anlamına gelir. #Karakter, rootkabuk olduğu anlamına gelir .)

Bulunduğunuz Yerin Değiştirilmesi

Neden "cd" komutunuz çalışmadı?

Dizini değiştirmek için cdkomutu kullanın.

Sen koştun cd/. cdKomutu gerçekten çalıştırmadığınız için bu çalışmaz . Ubuntu ve diğer Unix benzeri işletim sistemlerinde (aslında, kullandığınız kabuk gibi Unix tarzı kabuklardabash ), bir komutun adının yalnızca bir boşlukta veya satırın sonunda bittiği kabul edilir.

(Windows İstemi Komutanlığı'nda aksine Yani cd\aynı yorumlanır cd \ve cd..aynı şekilde yorumlanır cd ..içinde,) bash(eğer Ubuntu kullandığınız kabuk), cd/geçerli bir komut değil. Kullanmalısınız cd /.

cd/"geçerli dizindeki adı cdve aynı zamanda bir dizin olan giriş" anlamına gelir . Olsun ya da olmasın bu tür bir alt dizin bu bir komut olarak çalıştırılamaz, var olan bir hata alırsınız ya yolu böylece (gerçi neyi hata farklı olacaktır olsun):

ek@Kip:~$ cd/
bash: cd/: No such file or directory
ek@Kip:~$ mkdir cd
ek@Kip:~$ cd/
bash: cd/: Is a directory

Ana Dizininize Taşınma

Ana dizininize gitmek için, cdbağımsız değişken olmadan kendi başına çalıştırın :

cd

Bazı insanlar ana dizinlerini açıkça adlandırmayı tercih ederler. Tam adını kullanabilirsiniz veya

cd ~

Ancak cdkendi başına yeterlidir.

Bir Dizine Geçiş

Dizini geçerli dizinin üst dizinine (yani dizini içeren dizine) değiştirmek için şunu kullanın:

cd ..

..geçerli dizinin üst dizinini temsil eder. Kök dizinde ( /) iseniz , bir istisna vardır: ..sadece temsil eder /. Yani cd ..koşmak bir yerde çalıştırıldığında bir dizin yukarı gider ama /; koştuğunda /, sen kal /.

Her dizin bir ..giriş içerir . Ayrıca ., geçerli dizinin kendisine işaret eden bir giriş de içerir . cd .Gerçi koşmak çok da değil. Her zaman bulunduğunuz yerde kalırsınız.

Mutlak ve Göreli Yollar

Eğer cdbir şeyi hiç değil başlayamaz /, o zaman bu dizine girip çalışır geçerli dizin içinde .

Örneğin, koştuysanız

cd var/log

Ardından var, şu anda bulunduğunuz yerin alt dizinine ve bunun alt dizinine gitmeye çalışır log. Her ikisi de mevcut değilse ve bu yerlerde, bu cdkomut başarısız olur (ve başlangıçta olduğunuz yerde kalırsınız).

Kök dizinin alt dizininin alt logdizinine gitmek istiyorsanız , bunun yerine şunu çalıştırın:var

cd /var/log

Şu anda yalnızca, içinde /olduğunu cd var/logeşdeğer cd /var/log.

İle başlayan bir yol /mutlaktır. Çözülme şekli, şu anda bulunduğunuz yere bağlı değildir.

Yol ~da mutlaktır, çünkü (esasen) kısayoldur $HOME. HOMEbir ortam değişkenidir ve ifade $HOMEgeçerli kullanıcının ana dizininin tam, mutlak yoluna genişler.

~gösterim başka bir kullanıcının ana dizinini temsil etmek için de kullanılabilir . Eğer yazarsanız , bu onun giriş dizinini temsil eder .~usernameusername

Daha Önce Nerede Olduğunuza Geri Dönme

Şu anda bulunduğunuz dizin PWDortam değişkeninde saklanır . Geçen sen vardı dizin saklanır OLDPWDortam değişkeni. Sen görüntüleyebilir OLDPWDherhangi ortam değişkeni görüntülemek yapar gibi:

echo $OLDPWD

Bu bilgiler depolandığından, cddaha önce bulunduğunuz yere geri dönmenin özel, hızlı ve kolay bir yoluna sahip olabilir. Gibi pst007x diyor , sen vadede son ne dizinine gitmek için:

cd -

Bu kabukta daha önce herhangi bir dizin bulunmamışsa , OLDPWDortam değişkeni ayarlanmamıştır ve çalıştırmaya çalışmak cd -hataya neden olur (ve bulunduğunuz yerde kalırsınız):

ek@Kip:~$ cd -
bash: cd: OLDPWD not set

Patron Gibi Olduğunuz Yeri Değiştirme

pushdve popd: Dizin Yığını

Bir dizin adı yığını düşünün. By bir yığın , ben ortalama bir şey nerede o tepede duruyor şey eklemek ve yalnızca bir seferde bir şey kaldırabilir ve kaldırmak şey üstünde şu anda ne zaman olduğunda.

Aşağıdakileri çalıştırarak herhangi bir dizini yığının üzerine itebilirsinizdir :

pushd dir

Geçerli dizini yığının üstüne itmek istiyorsanız, .(yukarıda açıklandığı gibi, her zaman geçerli dizini temsil eder) kullanabilirsiniz:

pushd .

Sonra istediğiniz kadar dizin değiştirme, iş hakkında gidebilirsiniz. Yığının üzerine ittiğiniz son dizine geri dönmek istediğinizde şu komutu pushdçalıştırın:

popd

Bu, o dizine gider ve ayrıca açılan yığın kapalı onu. Şimdi yığın bir dizin daha kısadır. Yığında bulunan tek dizin buysa, yığın artık boştur.

1'den büyük boyutta bir yığınınız olabilir. Yani, pushdbirden çok dizini yığının üzerine itmek için ayrı komutlar kullanabilirsiniz . Sonraki her popdkomut, henüz atlanmayan en son itilen dizine gider (ve yığına açılır, yani yığından kaldır ).

İşte bir örnek:

ek@Kip:~$ cd /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ pushd .
/etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ pushd /home/ek
~ /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:~$ cd /var/log/apt
ek@Kip:/var/log/apt$ pushd .
/var/log/apt /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/var/log/apt$ cd
ek@Kip:~$ popd
/var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/var/log/apt$ popd
/etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ cd /
ek@Kip:/$ pushd usr
/usr / /etc/apt/sources.list.d
ek@Kip:/usr$ cd
ek@Kip:~$ popd
/ /etc/apt/sources.list.d
ek@Kip:/$ popd
/etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ popd
bash: popd: directory stack empty
ek@Kip:/etc/apt/sources.list.d$

pushdve popdçok daha az kullanılır cd. Ayrıca daha gelişmiş kullanımları da vardır. Run help pushdve help popddetaylar için.

Daha Fazla Bilgi Alma ve Belgelere Erişim

cdve pwddaha gelişmiş kullanımlara sahip. Onlar hakkında bilgi edinmek için koşun help cdve man pwd.

helpiçin kabuk yerleşikleri . manbağımsız komutlar içindir - ayrı işlemler olarak çalışan ve ayrı yürütülebilir dosyalar olarak var olan komutlar. typeÇalışan program bulunduğu bir komut, değilse, bir kabuk yerleşik olup olmadığını ve eğer komut ortaya koymaktadır. Örneğin, çalıştırabilir type help, type typeya type man.


5

Örneğin:

cd Desktop/ Ana dizininizdeyseniz Masaüstü dizinine gider.

cd - Önceki dizine geri döner.

cd / Sizi kök dizine götürün.

cd ~/Desktop Nerede olursanız olun sizi Masaüstü Dizininize götürür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.