Mám problém s použitím příkazu přesunout. Vytvořil jsem dva adresáře s názvem Cat a Dog . Pod Cat Vytvořil jsem soubor s názvem puppies .
Když se pokusím přesunout puppies od Cat na Dog Dostávám No such file or directory . Nicméně, když se vrátím a cd Cat a ls -a , zobrazuje puppies . Poté se vrátím do svého domovského adresáře a ls -a a Cat a Dog jsou uvedeny.
Co tedy dělám špatně?
Přijatá odpověď:
Některé užitečné věci, které byste měli vědět při práci se soubory:
- Linux rozlišuje malá a velká písmena (takže
dog,DogaDOGjsou všechny různé soubory) - Fungování příkazů závisí na tom, kde se nacházíte v souborovém systému
- Podle toho, kde se nacházíte, můžete použít relativní nebo absolutní názvy cest
Pokud jste tedy v nadřazeném adresáři Cat a Dog můžete použít relativní názvy cest, jako je tento:
mv Cat/puppies Dog
Snadnou chybou je zadat cestu začínající /
mv /Cat/puppies /Dog
Tím získáte no such file or directory chyba, protože / je kořenový adresář a nejsou zde žádné Cat a Dog adresáře pod / . Podívejte se:
ls /
Jedním z důvodů tohoto zmatku je, že systém používá užitečnou zkratku pro domovský adresář uživatele, takže namísto /home/username/somefile můžete napsat ~/somefile jako absolutní cesta k somefile v domovském adresáři vašeho uživatele, tedy za předpokladu Cat a Dog jsou v horní části domovského adresáře vašeho uživatele, můžete přesunout puppies od Cat na Dog odkudkoli ve vašem souborovém systému pomocí
mv ~/Cat/puppies ~/Dog
Několik příkladů s použitím relativních názvů cest
Pokud jste v adresáři Cat , můžete přesunout puppies takhle
mv puppies ../Dog
.. určuje nadřazený adresář aktuálního pracovního adresáře
Pokud jste v adresáři Dog můžete štěňata takto pohybovat
mv ../Cat/puppies .
. určuje aktuální pracovní adresář
Chcete-li zjistit, kde se nacházíte, můžete se obvykle podívat na výzvu, ale pro jistotu to můžete kdykoli zkontrolovat pomocí pwd což je zkratka pro ‘tisk pracovního adresáře’