BASH Programming - Введение

         

соответствует всем файлам, за исключением


DOS Linux ---------------------------------------------------------------------
C:\\GUIDO>ATTRIB +R FILE.TXT $ chmod 400 file.txt C:\\GUIDO>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc C:\\GUIDO>COPY *.* TOTAL $ cat * > total C:\\GUIDO>COPY FRACTALS.DOC PRN $ lpr fractals.doc C:\\GUIDO>DEL TEMP $ rm temp C:\\GUIDO>DEL *.BAK $ rm *~ C:\\GUIDO>MOVE PAPER.TXT TMP\\ $ mv paper.txt tmp/ C:\\GUIDO>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc C:\\GUIDO>PRINT LETTER.TXT $ lpr letter.txt C:\\GUIDO>TYPE LETTER.TXT $ more letter.txt C:\\GUIDO>TYPE LETTER.TXT $ less letter.txt C:\\GUIDO>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null n/a $ more *.txt *.asc n/a $ cat section*.txt | less
Примечания:
  • * намного ``умнее '' в Linux: * соответствует всем файлам, за исключением скрытых; .* соответствует всем скрытым файлам (но также текущему каталогу `.' и каталогу уровнем выше `..': beware!); *.* соответствует только тем, которые имеют `.' в середине имени, или оканчиваются на точку; p*r соответствует и `peter' и `piper'; *c* соответствует и `picked' и `peck';

  • при использовании more, необходимо нажимать на клавишу <SPACE> для того, чтобы продвигаться по файлу, и `q' для выхода. less является более интуитивно понятной командой и позволяет вам использовать клавиши управления курсором;

  • нет команды UNDELETE (восстановления после удаления), так что дважды подумайте до удаления чего-либо;

  • в добавлении к используемым в DOS' < > >>, в Linux имеется 2> для перенаправления сообщений об ошибках (stderr); более того, 2>&1 перенаправляет stderr в stdout, в то время как 1>&2 перенаправляет stdout в stderr;

  • Linux имеет дополнительный шаблон (wildcard): []. Использование: [abc]* соответствует файлам, начинающимся с a, b, c; *[I-N1-3] соответствует файлам, оканчивающимся на I, J, K, L, M, N, 1, 2, 3;

  • команда lpr <file> печатает файл в фоновом режиме. Для проверки состояния очереди печати используйте команду lpq; для удаления файла из очереди печати используйте lprm;

  • нет команды, похожей на команду RENAME в DOS; так что команда mv *.xxx *.yyy не будет работать. команда, похожая на REN, доступна с ;

  • используйте команды cp -i и mv -i для того, чтобы вас предупредили, когда файл будет перезаписываться.



  • DOS Linux ---------------------------------------------------------------------
    C:\\GUIDO>DIR $ ls C:\\GUIDO>DIR FILE.TXT $ ls file.txt C:\\GUIDO>DIR *.H *.C $ ls *.h *.c C:\\GUIDO>DIR/P $ ls | more C:\\GUIDO>DIR/A $ ls -l C:\\GUIDO>DIR *.TMP /S $ find / -name "*.tmp" C:\\GUIDO>CD $ pwd n/a - see note $ cd ditto $ cd ~ ditto $ cd ~/temp C:\\GUIDO>CD \\OTHER $ cd /other C:\\GUIDO>CD ..\\TEMP\\TRASH $ cd ../temp/trash C:\\GUIDO>MD NEWPROGS $ mkdir newprogs C:\\GUIDO>MOVE PROG .. $ mv prog .. C:\\GUIDO>MD \\PROGS\\TURBO $ mkdir /progs/turbo C:\\GUIDO>DELTREE TEMP\\TRASH $ rm -rf temp/trash C:\\GUIDO>RD NEWPROGS $ rmdir newprogs C:\\GUIDO>RD \\PROGS\\TURBO $ rmdir /progs/turbo
    Замечания:
  • При использовании команды rmdir удаляемый каталог должен быть пуст. Для того, чтобы удалить каталог и все его содержимое, используйте команду rm -rf (на ваш собственный риск).

  • Символ `~' является сокращением для имени вашего домашнего каталога. Команды cd или cd ~ выполнят переход в ваш домашний каталог из любого места; команда cd ~/tmp выполнит переход в каталог /home/your_home/tmp.

  • cd - отменяет действие последней команды cd.


  • Содержание раздела