Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154

Открыть новую тему     Написать ответ в эту тему

digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи вопрошающие! Если ваша система отлична от ГНУ, и в то же время вы желаете обойтись только дефолтными средствами, указывайте и то и другое сразу, пожалуйста.


UNIX Shell

 
   Это глобальная тема по юниксовой командной оболочке, как по интерактивной работе в командной строке, так и по шелл-скриптам. Ключевые слова: sh, bash, zsh, tcsh, busybox, readline, coreutils, cp, mv, ln, rm, ls, readlink, mkdir, touch, stat, date, test, sleep, chown, chmod, chattr, dd, df, du, env, echo, cat, less, man, grep, sort, findutils, find, locate, xargs, md5sum, cmp, diff, patch, ps, kill, killall, tar, gzip, bzip2, xz, mount, fdisk, parted, mkfs, fsck, e2fsprogs, mtools, ss, netcat, netstat, rsync, ssh, scp, sftp, lftp, ncftp, time, strace.
   Неинтерактивная обработка текста (sed, awk, perl) пока тоже здесь.
   Смотри в других ветках: wget, convert, montage, mogrify и др., gs, git, 7z, p7zip, soffice, mplayer, mencoder, vlc, vim, mc, mcedit, kioclient.
 
 

Hint! Русские маны (подустаревшие, не всегда полные и не всегда для вашей системы) можно попытаться найти на Опеннете, к примеру: bash, tar, grep.

 
Готовые решения:
  • commandlinefu.com
    Крупнейшая база полезных однострочников на командной оболочке с ранжированием на основе пользовательского голосования.
     
  • shell-fu.org
    Аналогично, но поменьше и формат записей более свободный, поэтому встречаются и однострочники, и развернутые скрипты, и просто советы.
     
  • Useful one-line scripts for sed
    Почти исчерпывающий список решений для тех случаев, когда sed незаменим. Более сложные скрипты с sed.sf.net — только для тех, кто знает толк... :)

 
Учебная литература:
  • Greg’s Wiki (http://mywiki.wooledge.org)
    Наиболее обширный авторский сборник постоянно обновляющихся материалов по Башу.

    1. Bash Pitfalls
      (Частые ошибки программирования на Баше: [1], [2], [3], [4], [5] — пер. на русский по сост. на дек. 2008 г.).
      Рассмотрены преимущественно ошибки, возникающие из-за непонимания отличия шелла от «нормальных» скриптовых языков. Если вы уже владеете, например, Перлом, то это вполне может быть ваше первое руководство для ознакомления с Башем.
    2. Bash FAQ
    3. Bash Guide
    4. Bash Reference Sheet
      Шпаргалка по частым синтаксическим оборотам.

 
Классическая учебная литература:
С одной стороны не упомянуть эти издания нельзя, с другой — они настолько устарели, что едва ли их можно рекомендовать в роли учебника.

 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант под #.
Первый пост темы имел вид...

Всего записей: 360 | Зарегистр. 19-04-2003 | Отправлено: 18:51 16-05-2008 | Исправлено: qw12, 09:42 24-03-2020
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если вы знаете конкретное действие, которое хотите совершить, то лучший помощник man и google.
Если же вы не знаете как это реализовать и хотите спросить, то не спрашивайте "где не хватает точки", а скажите "что надо сделать и получить на выходе".

Если бы знал что спрашивать и как. У нас было 3 урока по си-шелл после первого выяснилось что мы учили баш а не си-шелл. Потом нас стали учить си-шелл, и то все по быстрому и даже примеров не было. Ничего толком не объяснили, сказали сами учите. А как его учить если сессия в эту среду. Вот и приходиться мне все делать "на ощупь".

----------
Оптимистично смотрю на мир глазами убийцы.

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 01:36 09-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
blaro
OMG - это где Вас си-шелу учат? оО
Попробуем что-то Вам объяснить, но мы здесь больше по bash'у и др(см. название темы)...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 09:43 09-07-2012
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alukardd

Цитата:
это где Вас си-шелу учат?

Учат? Вы преувеличиваете. Нас не учат, нас заставляют учить самим.  
Посмотрите еще один скрипт. Он должен печатать несколько строк а печатает только одну. Получает число через командную строку и выводит на экран все поля "Номер студента", оценка которых выше параметра

Код:
 
#!/bin/csh -f
 
if($#argv != 1) then
  echo "Usage: GradeStatistics <grade>"
  exit 1
endif
 
set lines = `wc -l student_list.txt`
set i = 1
while($i <= $#lines)
  set out = `head -$i student_list.txt | tail -1`
  if($out[4] > $1) then
    echo $out[3]
  endif
  @ i++
end
 

Файл составлен так:

Цитата:
 
Ivan Ivanov 2255 5
Peter Petrov 1155 4
<Имя> <Фамилия> <Номер Студента> <Оценка>
 


----------
Оптимистично смотрю на мир глазами убийцы.

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 19:25 09-07-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
blaro
> set out = `head -$i student_list.txt | tail -1`
Буэ.
 
> Получает число через командную строку и выводит на экран все поля "Номер студента",  
> оценка которых выше параметра

Код:
#!/bin/csh -f
if ( $#argv != 1 ) then
  echo "Usage: GradeStatistics <grade>"
  exit 1
endif  
 
awk -v GRADE="$1" '$4 > GRADE { print $3 }' student_list.txt

 
P. S. Кстати совершенно неправдоподобное сравнение — оценка строго больше некоторой.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 19:44 09-07-2012 | Исправлено: ASE_DAG, 19:45 09-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Ы, выродили задачу на csh в вызов awk
 
blaro
Цитата:
Нас не учат, нас заставляют учить самим.  
Вы странные какие-то. Мы всегда договаривались с перподами, например вместо ASP..NET, сначала пытались протолкнуть JSP, а в итоге писали на Django. И в Вашем случае, думаю что ни кто не возражал бы против bash'а, например.
 
Если именно на csh, то покрасивее выглядит так:
Код:
#!/bin/csh -f
 
if($#argv != 1) then
  echo "Usage: GradeStatistics <grade>"
  exit 1
endif
 
foreach line ("`cat /tmp/stud.txt`")
set stud = ( $line )
    if ($1 < $stud[4]) then
        echo $stud[3]
    endif
end


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 20:35 09-07-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> выродили задачу на csh в вызов awk :-)
Почему «выродил»? Свел. Если wc, head и tail используются, с чего бы АВК нельзя?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 21:14 09-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Ну одно дело вызов небольшой, а другое дело всю задачу решить в вызове. Тогда уже #!/usr/bin/gawk -f...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 21:29 09-07-2012
ndch

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста с sed:
 
Дано: исходный файла, размером ~60 мегабайт, приблизительно такого содержания:

Код:
 
всякий мусор
всякий мусор
\t\t\t\t\t<div class='post entry-content '>
несколько
нужных
строк
\t\t\t\t\t</div>
всякий мусор
всякий мусор
всякий мусор
всякий мусор
\t\t\t\t\t<div class='post entry-content '>
несколько
нужных
строк
\t\t\t\t\t</div>
всякий мусор
всякий мусор
 

 
Как из исходного файла выводить в новый файл многострочное содержимое между "\r\n\t\t\t\t\t<div class='post entry-content '>" и "\r\n\t\t\t\t\t</div>" ?
 
Как бы удалить "всякий мусор".
 
Что-то типа sed  -nr "/^\Q\t\t\t\t\t<div class='post entry-content '>\E/,/^\Q\t\t\t\t\t<\/div>\E/p" source.htm >clean.htm
Или sed  -nr "/\t\t\t\t\t<div class=/,/\t\t\t\t\t<\/div/p" test.htm >2

Всего записей: 7005 | Зарегистр. 31-08-2008 | Отправлено: 10:30 17-07-2012 | Исправлено: ndch, 10:40 17-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch
sed -n '/<div/,/<\/div>/p' source.html > clean.html

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 12:50 17-07-2012
ndch

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd, спасибо за подсказку, сам был невнимателен.
Немного подрихтовал - всё получилось.

Всего записей: 7005 | Зарегистр. 31-08-2008 | Отправлено: 12:55 17-07-2012 | Исправлено: ndch, 13:21 17-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch
Ну напишите столько уточнений сколько надо...
sed -n '/\t*<div class=/,/\t*<\/div>/p' source.html > clean.html
 
Добавлено:
Вот так вроде будет работать как Вам надо:
sed -n '/\t*<div id="" class="post entry-content ">/,/\t*<\/div>/p' source.html > clean.html

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 13:16 17-07-2012
MakPol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток!  
 
Создал сначала топик, но умные люди подсказали этот топик. Решил попытать счастье здесь.
 
На днях писал очередной скрипт автоматизации на bash и столкнулся с забавной штукой - скрипт, который верой и правдой работал на Ubuntu 10.04 перестал корректно отрабатывать на Cent OS 6.2 и 6.3, а также воспроизвел ситуацию на Fedora 16. В общем вот что надо для воспроизведения:
 
/etc/init.d/testsh

Код:
 
#! /bin/bash
#
# testsh       Test bash
#
case "$1" in
  start)
 /tmp/starttestscript.sh &
        ;;
  stop)
         
        ;;
  status)
        ;;
  restart|reload|force-reload)
        $0 stop
        $0 start
        rc=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
        exit 2
esac
 
exit $rc

 
/tmp/sarttestscript.sh - скрипт запуска проекта (когда запускается система, она пишет log-файл, тут я искуственно такой log-файл создал.
 

Код:
#! /bin/bash  
tcpdump >> /tmp/testfile.log

 
/tmp/sborkatestscript.sh - скрипт запуска процесса сборки проекта, запуска системы и вывод лога запуска на экран.
 

Код:
#! /bin/bash
/etc/init.d/testsh start
tail -f /tmp/testfile.log

 
Так вот, мой порядок действий:
1. Запускаю скрипт /tmp/sborkatestscript.sh и на экране у меня начинает бежать лог.
2. В это время смотрю работает ли моя "служба" при помощи ps -f -C tcpdump --no-headers
мне выводится что-то в роде:
# ps -f -C tcpdump --no-headers
tcpdump   5804  5802  5 15:27 pts/2    00:00:00 tcpdump
3. Как только я "насмотрелся лога" после запуска системы я выхожу из tail -f при помощи Сtrl+С
4. Далее хочу проверить ка там "служба" и вот что получаю
# ps -f -C tcpdump --no-headers
#
т.е. такого демона получается не запущено.
 
Не могу понять почему так происходит. Ведь запуск был от другого скрипта, да и как я понимаю ctrl+C должен повлиять то был только на прекращение tail.
Если посмотреть в pstree, то ИМХО не должно убивать запущенный процесс
         
Ну и самое главное, на Ubuntu то у меня точно таой же скрипт работал.
Помогите пожалуйста разобраться как быть, мне надо работать именно по воспроизведенной на простых скриптах схеме и именно через tail.
 
Заранее большое спасибо!

Всего записей: 139 | Зарегистр. 14-07-2004 | Отправлено: 00:11 30-07-2012 | Исправлено: MakPol, 00:12 30-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MakPol
Есть вероятность, что tcpdump умирает от SIGHUP после завершения скрипта. Посему попробуйте вызвать его через nohup.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 00:31 30-07-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MakPol
> /tmp/starttestscript.sh &
Совершенно верно пишет тов. Алукард. Не надо надеяться на то, что опции Баша везде в желаемом вами состоянии. В нашем случае речь об опции huponexit. Либо ультимативно ее выключайте:
$ shopt -u huponexit
, либо используйте nohup. Обычно выбирают второе, поскольку это Баш вам позволяет выбирать желаемое поведение при завершении, остальные борн-подобные шеллы SIGHUP всегда посылают.
 
UPD: Все не так. См. далее.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 01:10 30-07-2012 | Исправлено: ASE_DAG, 18:07 30-07-2012
MakPol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо большое за ответы! Но в моем случае как раз надо, чтобы осуществлялся выход из tail -f но не убивался процесс, запущенный ранее, в моем случае это подобие службы.
И тогда не пойму, почму в Ubuntu то не убивалось ничего?

Всего записей: 139 | Зарегистр. 14-07-2004 | Отправлено: 07:09 30-07-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> Но в моем случае как раз надо
Что значит «но»? И я, и тов. Алукард с первого раза прекрасно поняли, что вам надо — чтоб по завершению родительского процесса sborkatestscript.sh дочерний starttestscript.sh не завершался. Вы полагаете, что его для этого достаточно перевести последний в фон (/tmp/starttestscript.sh &), но в общем случае это не так. Нужно еще чтобы либо шелл не посылал SIGHUP по завершению — в Баше это настраиваемое опцией huponexit поведение, и удивляться тому, что в разных дистрибутивах оно настроено по-разному не надо; либо дочерний процесс не завершался по SIGHUP’у — это обеспечивает nohup ($ nohup /tmp/starttestscript.sh &).
 
> не пойму, почму в Ubuntu то не убивалось ничего?
Ну, теперь, я надеюсь, понятно? ;-)

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 07:31 30-07-2012 | Исправлено: ASE_DAG, 07:34 30-07-2012
MakPol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Понятно то понятно, но снова в теории...
Сейчас у меня вот что:
 
/etc/init.d/testsh

Код:
#! /bin/bash
#
# testsh       Test bash
#
case "$1" in
  start)
nohup /tmp/starttestscript.sh &
        ;;
  stop)
 
        ;;
  status)
        ;;
  restart|reload|force-reload)
        $0 stop
        $0 start
        rc=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
        exit 2
esac
 
exit $rc

 
/tmp/sborkatestscript.sh

Код:
#! /bin/bash
/etc/init.d/testsh start
tail -f /tmp/testfile.log

 
/tmp/starttestscript.sh

Код:
#! /bin/bash  
tcpdump >> /tmp/testfile.log

 
Запускаю /tmp/sborkatestscript.sh
все ок, лог идет (отображается благодаря tail -f
Смотрю на процессы:

Код:
# ps -f -C tcpdump --no-headers  
tcpdump  22084 22082  0 09:12 pts/6    00:00:00 tcpdump

Жму Ctrl-C
Снова смотрю на процессы:

Код:
# ps -f -C tcpdump --no-headers  
#

Когда работает, то pstree выдает:
 

Всего записей: 139 | Зарегистр. 14-07-2004 | Отправлено: 09:15 30-07-2012 | Исправлено: MakPol, 09:19 30-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MakPol
добавьте в скрипт перед tail строку jobs. И скажите что она выводит.
Так же можно в начало  /tmp/sborkatestscript.sh скрипта вставить строку set -x для большей наглядности.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 10:18 30-07-2012 | Исправлено: Alukardd, 10:18 30-07-2012
MakPol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Решил перебдеть и сделать:

Код:
# cat /tmp/sborkatestscript.sh  
#! /bin/bash
set -x
/etc/init.d/testsh start
jobs
tail -f /tmp/testfile.log  

 
И вот часть вывода при запуске скрипта sborkatestscript.sh, почти сразу нажал Ctrl-C, чтобы лог был небольшой и привел все:

Код:
# /tmp/sborkatestscript.sh  
+ /etc/init.d/testsh start
+ jobs
+ tail -f /tmp/testfile.log
nohup: вывод добавляется в «nohup.out»
10:39:17.162860 IP polyakov.ascon.ru.54763 > 10.1.5.88.ssh: Flags [.], ack 4224, win 321, options [nop,nop,TS val 611311485 ecr 351368486], length 0
10:39:17.162860 IP makpol.54763 > 192.168.0.88.ssh: Flags [.], ack 4224, win 321, options [nop,nop,TS val 611311485 ecr 351368486], length 0
10:39:17.171443 IP tupak.62417 > 255.255.255.255.hlserver: UDP, length 40
10:39:17.171565 IP 192.168.0.88.55687 > contora.domain: 2614+ PTR? 38.5.1.10.in-addr.arpa. (40)
10:39:17.171710 IP contora.domain > 192.168.0.88.55687: 2614* 1/0/0 PTR tupak. (76)
10:39:17.273696  
10:39:17.328850 IP gena.danf-ak2 > 255.255.255.255.hlserver: UDP, length 40
10:39:17.328964 IP 192.168.0.88.37012 > contora.domain: 41765+ PTR? 32.5.1.10.in-addr.arpa. (40)
10:39:17.329140 IP contora.domain > 192.168.0.88.37012: 41765* 1/0/0 PTR gena. (72)
10:39:17.463143 IP makpol.54763 > 192.168.0.88.ssh: Flags [P.], seq 1:49, ack 4224, win 331, options [nop,nop,TS val 611311785 ecr 351368486], length 48
 
^C

 
А также nohup.out:

Код:
# cat ~/nohup.out  
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
321 packets captured
324 packets received by filter
3 packets dropped by kernel
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
960 packets captured
960 packets received by filter
0 packets dropped by kernel
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
1488 packets captured
1488 packets received by filter
0 packets dropped by kernel
...

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

Всего записей: 139 | Зарегистр. 14-07-2004 | Отправлено: 10:50 30-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MakPol
Цитата:
И вот часть вывода при запуске скрипта sborkatestscript.sh, почти сразу нажал Ctrl-C, чтобы лог был небольшой и привел все:  
прикольно пишите)
 
Хм. Ну гляньте для надёжности что в переменной о которой говорил т.ASE_DAG: shopt huponexit

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 11:12 30-07-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154

Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru