@xosodoy

Как обозначается «текущая директория» в линукс в терминале?

./- это не работает
. - это не работает
/ - это не работает
/. - это не работает

Мне нужно с текущего каталога ( где я сейчас нахожусь) скопировать все содержимое в другой каталог.
Делаю эту команду cp -r /. build/, но ничего не копируется.
Спасибо большое!

ответ cp -r ./* ../build
  • Вопрос задан
  • 434 просмотра
Пригласить эксперта
Ответы на вопрос 2
@q2digger
никого не трогаю, починяю примус
. - это не работает

Хм, да?
dmitryg@dg-linux:~/Downloads/pycharm-2021.1.3/bin$ mkdir /tmp/trash
dmitryg@dg-linux:~/Downloads/pycharm-2021.1.3/bin$ cp -r . /tmp/trash/
dmitryg@dg-linux:~/Downloads/pycharm-2021.1.3/bin$ ls -la /tmp/trash/
total 180
drwxrwxr-x  2 dmitryg dmitryg  4096 авг  3 10:29 .
drwxrwxrwt 65 root    root    12288 авг  3 10:29 ..
-rwxr-xr-x  1 dmitryg dmitryg   221 авг  3 10:29 format.sh
-rwxr-xr-x  1 dmitryg dmitryg 26636 авг  3 10:29 fsnotifier
-rwxr-xr-x  1 dmitryg dmitryg 32864 авг  3 10:29 fsnotifier64
-rw-r--r--  1 dmitryg dmitryg 10638 авг  3 10:29 idea.properties
-rwxr-xr-x  1 dmitryg dmitryg   296 авг  3 10:29 inspect.sh
-rw-r--r--  1 dmitryg dmitryg 29176 авг  3 10:29 libdbm64.so
-rw-r--r--  1 dmitryg dmitryg  2613 авг  3 10:29 log.xml
-rwxr-xr-x  1 dmitryg dmitryg   736 авг  3 10:29 ltedit.sh
-rwxr-xr-x  1 dmitryg dmitryg   646 авг  3 10:29 printenv.py
-rw-r--r--  1 dmitryg dmitryg   394 авг  3 10:29 pycharm64.vmoptions
-rw-r--r--  1 dmitryg dmitryg 10281 авг  3 10:29 pycharm.png
-rwxr-xr-x  1 dmitryg dmitryg  6830 авг  3 10:29 pycharm.sh
-rw-r--r--  1 dmitryg dmitryg  3565 авг  3 10:29 pycharm.svg
-rw-r--r--  1 dmitryg dmitryg   394 авг  3 10:29 pycharm.vmoptions
-rwxr-xr-x  1 dmitryg dmitryg   808 авг  3 10:29 restart.py
Ответ написан
Комментировать
xotkot
@xotkot
хорошо есть и хорошо весьма
Мне нужно с текущего каталога ( где я сейчас нахожусь) скопировать все содержимое в другой каталог.
Делаю эту команду cp -r /. build/, но ничего не копируется.

cp -r /. здесь вы пытаетесь скопировать весь корень(/) в папку build
возможно вы имели в виду:
cp -r . build/
здесь попытка скопировать все файлы/папки текущей директории в папку build находящуюся там же, то есть возникает рекурсия копирования самого в себя, про что команда cp и выдаст предупреждение но всё же скопирует не допустив для данной папки рекурсии.
и да, папка build должна уже существовать.

полигон
$ mkdir -p test/{1,2,build} && touch test/{1,2}/a.txt && touch test/.b.txt && cd test && tree -a
.
├── 1
│   └── a.txt
├── 2
│   └── a.txt
├── .b.txt
└── build


поведение (для bash):
$ cp -r . build/
cp: невозможно скопировать каталог '.' в самого себя, 'build/.'
$ tree -a
.
├── 1
│   └── a.txt
├── 2
│   └── a.txt
├── .b.txt
└── build
    ├── 1
    │   └── a.txt
    ├── 2
    │   └── a.txt
    └── build

и заметите что здесь не скопировался скрытый файл .b.txt (те что начинаются с точки)

чтобы избежать предупреждений можно "вырезать" папку в которую копируем из списка файлов/папок передаваемых для cp при копировании:
$ cp -r `ls -A | grep -v build | xargs` build/
$ tree -a
.
├── 1
│   └── a.txt
├── 2
│   └── a.txt
├── .b.txt
└── build
    ├── 1
    │   └── a.txt
    ├── 2
    │   └── a.txt
    └── .b.txt
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы