nixp.ru v3.0

20 января 2017,
пятница,
14:51:27 MSK

DevOps с компанией «Флант»
elena_kes написал 3 октября 2012 года в 01:44 (719 просмотров) Ведет себя неопределенно; открыл 5 тем в форуме, оставил 2 комментария на сайте.

 

Проверьте пожалуйста мое задание. Если есть ошибки, буд благодарна за исправление и добавление доп. информации.

 

HOME=/home/elena<o:p></o:p>

PATH=/bin:/usr/bin:.:/usr/local/bin:/usr/bin/X11

TERM=xterm

MAIL=/var/mail/elena

HISTSIZE=1000

HISTFILE=/home/elena/.bash_history

PWD=/home/elena

EDITOR=/usr/bin/vi

RANDOM=28471

TZ=PST2EDT

SECONDS-время работы сценария (в секундах)

OLDPWD-прежний рабочий каталог

 

в последних двух, напишите пожалуйста какой нибудь пример команда.

 

И еще, Копировать файл a.txt в first каталог с названием my.dat — $ ср a.txt /my.dat подойдет команда?

 

спасибо за помощь!

 

Дмитрий Шурупов

Это уже скучно…

«Проверьте пожалуйста мое задание» — а в чём задание?

«Пример команда» — это не задание.

«ср a.txt /my.dat» предположительно не подойдет. Но и здесь вопрос сформулирован не по-русски.

fhunter

 

Присоединяюсь — во-первых скучно, во-вторых это уже тянет на атаку ботов :).

Я лично не возражаю против того, чтобы ответить новичкам на вопрос, и при грамотно сформулированном вопросе это сделаю. А при неточно сформулированном, но сформулированном на русском языке, возможно, даже помогу сформулировать. Как-никак я учил студентов в своё время.

Но здесь я вижу, что одному человеку помогли (вопросы были сформулированы грамотно, чётко и понятно), и пришла толпа, которая не может даже говорить на русском языке и проверить текст поста на ошибки. Очень знакомо по предыдущему опыту преподавания.

Так что повторю то, что было написано в другом посте. Внимательнее, задавайте чётче и понятней вопросы, и вы получите на них грамотные ответы. А пока получается по основному правилу обращения с компьютером. GIGO — garbage in — garbage out.

rgo
elena_kes

 

И еще, Копировать файл a.txt в first каталог с названием my.dat — $ ср a.txt /my.dat подойдет команда?

Мне кажется, что вам стоило бы получше ознакомиться с понятем «путь к файлу». Ну, на самом деле. Там ничего сложного нет. Совершенно. Понять что к чему можно просто ходя по файловой системе при помощи графического навигатора по файловой системе и разглядывая как при этом меняется адресная строка. Единственное, что может остаться непонятным — это относительные пути. Но относительный путь это то же самое что и абсолютный с одним отличием: относительный путь применяется не к корневой директории, а к текущей. Внешне относительный и абсолютный различаются по первому символу: если первый символ пути /, это значит что путь абсолютный, и идти этим путём надо начиная «от печки», то есть от корневой директории.

Я могу предложить упражнение. Вот у вас есть возможность работать с графическим менеджером файлов? Типа «проводника», «наутилуса» и «dolphin’а»? Вот запустите его. Перейдите в корневой каталог. Слева вы увидите дерево директорий.Я предполагаю что работать с ним вы умеете. Разверните там все каталоги (ну или не все, а хотя бы десяток) чтобы увидеть что нам надо будет получить. Теперь, запускаете командную строку, вбиваете туда 'cd /’. В результате вы оказываетесь в корневом каталоге. Теперь, возьмите ручку и бумажку и пользуясь командами ls и cd нарисуйте дерево каталогов начиная от /. Нарисуйте на бумажке то, что нарисовал бы графический менеджер файлов в левой своей панели, но, по-возможности, не подсматривая в эту левую панель. Задача, на самом деле достаточно трудоёмка (дерево директорий на самом деле большое очень), но это хорошо, это значит что можно продолжать заниматься этим столько сколько потребуется до полного просветления.

Если не совсем понятно, что делать надо, то я поясню на примере. Итак:

[rgo ~]$ cd /

[rgo /]$ ls

bin  boot  dev  etc  home  lib  lib32  lib64  lost+found  mnt  opt  proc  root  run  sbin  sys  tmp  usr  var

[rgo /]$ ls bin

arch      busybox  chroot  df             ed       gawk      gzip      link     lsmod      mount          oldfuser  ptx        rnano      sha224sum  stat      touch       unlink        zcmp    znew

attr      bzcat    cksum   dir            egrep    getfacl   head      linux32  lsmod.old  mountpoint     passwd    pwd        run-parts  sha256sum  stty      tr          vdir          zdiff

awk       bzip2    comm    dirname        env      getfattr  hostid    linux64  mbchk      mv             pidof     rbash      sed        sha384sum  su        true        wc            zegrep

base64    cat      cp      dmesg          expr     grep      hostname  ln       mkdir      nano           ping      rc-status  seq        sha512sum  sync      tty         who           zfgrep

basename  chacl    cpio    dnsdomainname  false    groups    id        login    mkfifo     netstat        ping6     readlink   setarch    shuf       tail      umount      whoami        zforce

bash      chgrp    cut     domainname     fgrep    gunzip    install   logname  mknod      nice           printenv  red        setfacl    sleep      tar       uname       yes           zgrep

bb        chmod    date    du             findmnt  gzcat     kill      ls       mktemp     nisdomainname  ps        rm         setfattr   sort       tee       uncompress  ypdomainname  zless

bunzip2   chown    dd      echo           fuser    gzexe     killall   lsblk    more       nohup          pstree    rmdir      sh         split      tempfile  uniq        zcat          zmore

Здесь я выполнил две команды (не считая первой cd /), ls и ls bin. ls показала мне список каталогов лежащих в /, среди которых я увидел каталог bin. ls bin показала мне что лежит в этом самом bin. На форуме не видно, но в консольке у меня вывод цветной, и все каталоги рисуются синим цветом. И я, видя что в выводе ls bin нет ничего синего, тут же понимаю что bin не содержит подкаталогов, только файлы.

Я беру бумажку и начинаю рисовать на ней каталог /. Врисовываю в него каталог bin. Стараясь делать так, чтобы у меня получилось то же самое, что нарисовал бы графический менагер в своей левой панели. Теперь на очереди каталог boot. Я пишу: ls boot. Внутри я вижу несколько записей, из них одна синяя: grub. Я пишу: ls boot/grub. Вижу содержимое каталога /boot/grub и вижу что там подкаталогов нету. Значит я со спокойной совестью могу дорисовать на свою бумажку /boot.

Потом я проделываю то же самое для /dev. Там уже сложнее. Там много подкаталогов, и в голове все удержать не удастся. Поэтому я прорисовываю /dev последовательно. Причём в процессе выполнения этого, я чувствую раздражение от того, что каждый раз когда я пишу ls, мне приходится продолжать команду словом dev/. Например: ls dev/block; ls dev/char; ls dev/input… Чтобы не писать каждый раз dev я могу сделать финт ушами: cd dev. Я перейду в dev, текущим каталогом станет dev, и теперь чтобы заглянуть в /dev/block мне можно будет написать более короткую команду: ls block (вместо ls dev/block). Конечно же я могу и не переходя в каталог /dev провернуть всё то же самое. Это дело вкуса. Но если я перейду в dev, то когда я закончу с ним работать надо будет выполнить ещё команду cd .., для выхода наружу из dev.

Идея ясна? Ручку бумажку в зубы и вперёд. ;) Истинно говорю вам: если теоретически осознать что-то сложно, то надо осознавать практически. Кстати это более полезно, поскольку понимание будет глубже.

Вы написали: cp a.txt /my.dat, это неправильно. «/my.dat» — это абсолютный путь к файлу, потому что начинается с /. Значит всё что вы получите в результате выполнения этой команды — это файл my.dat в корневом каталоге. my.dat должен лежать в каталоге first? Значит, как минимум, мы должны дописать спереди к my.dat этот самый first, получив что-то вида: first/my.dat. Я, при этом, думаю что больше ничего дописывать и не надо, поскольку в условии ничего не сказано о том, где находится каталог first (в корневом каталоге, в домашней директории, ещё где-то), то мы делаем вывод что это не важно и предполагаем что тот, кто писал задание, считает что first лежит в текущем каталоге.

elena_kes

Огромное спасибо за задание. Очень помогли!

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.