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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Нужды сохранять странички целиком локально у меня нету, посему MAFF и MHT мне не нужны в принципе.
А хранить закладки в файловой системе это вообще бред, туда 1 — надо лазать, 2 — надо их синхронить со всеми компами (да я не использую dropbox или любым другим сервисом, пусть даже своим).
Щито за бред сидя в браузере лезть куда-то что бы открыть закладку?!

----------
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:07 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd, что за бред разносить всю сохраняемую информацию по разным деревьям в зависимости от ее типа? Ссылки на веб-страницы вы храните в дереве закладок браузере. А короткие текстовые заметки — в дереве заметок в электронном блокноте (типа Zim, TomBoy)? А фотографии — в дереве или неиерархической коллекции фотографий (типа Picasa, Shotwell, digiKam)? И только то, что не попадает под какой-то специальный тип — в дереве файлов в вашем домашнем каталоге?
 
Т. о. в рамках условного «Проекта А» ссылки хранятся в папке Проект А в закладках, заметки — на странице Проект А в блокноте, фотографии — под меткой Проект А в фототеке, а, допустим, ваш отчет в формате TeX — в папке Проект А в файловой системе, так?

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 21:31 20-05-2014 | Исправлено: ASE_DAG, 21:32 20-05-2014
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
А теперь задумываемся о том, что отдельная папка под закладки в ФС это такая же отдельная сущность.
Если ссылка имеет отношение к какой-то сущности описанной в моих заметках и имеет для меня ещё и общую ценность, то она будет как в заметке, так и в закладках браузера.


----------
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:48 20-05-2014 | Исправлено: Alukardd, 21:49 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd> что отдельная папка под закладки в ФС — это такая же отдельная сущность
 
Конечно. А нафига создавать отдельную папку под веб-ссылки?
 
Дерево должно быть одно, и ни малейшей причины для создания в нем узлов по типам файлов я придумать не могу. Это же совершенно естественно — вы же не разносите попавшие к вам в распоряжение файлы, допустим, А. Б. Иванов. Влияние пения на зрение.pdf и О перекрестном раздражении мозговых центров зрения и слуха.docx по папкам ~/pdf/hearing-and-vision/ и ~/docx/hearing-and-vision/? Почему веб-ссылки, вдруг, оказываются исключением?
 
> Если ссылка имеет отношение к какой-то сущности описанной в моих заметках ..., то она будет как в заметке, так и в закладках браузера.
 
А! То есть для преодоления этого разделения по типам, вы вручную дублируете информацию? Шикарно.
 
Добавлено:
Технические моменты, на самом деле, иногда заставляют создавать отдельные иерархии по нетематическим критериям. Есть у меня, например, папка ~/src/, куда я клонирую репозитории кода (с Гитхаба и т. п.), ибо так их проще исключить из системы резервного копирования. Но всегда ведь можно и нужно из тематической папки поставить туда симлинк.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:31 20-05-2014 | Исправлено: ASE_DAG, 22:43 20-05-2014
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
сидя в браузере у меня нет ни малейшего желания переключаться в терминал/ФМ что бы открыть закладку.
 
По скольку всегда в древовидной структуре есть делема о том что является критерием разделения, то я предпочитаю дублировать информацию или создавать симлинки.
Пример: есть 4 сущности:
- программы для GNU/Linux
- программы для M$ Windows
- скрипты для GNU/Linux
- скрипты для M$ Windows
 
Вопрос: какая структура лучше?
- программы/ОС; скрипты/ОС
- ОС/скрипты; ОС/программы
 
Так вот мы говорим сейчас примерно вот об этом. И увы этот вопрос не решается красиво в древовидной структуре.
Тэги как-то обходят эту проблему но далеко не полностью.

----------
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 | Отправлено: 22:47 20-05-2014
krserv



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

Цитата:
krserv, а что udisks --detach /dev/disk/by-id/wwn-0x50014ee0034fbeb5 работает? (Я не утверждаю, что должен, а именно что спрашиваю.)  

 
# udisks --detach /dev/disk/by-id/wwn-0x50014ee0034fbeb5
Detach failed: Device is not detachable

Всего записей: 3728 | Зарегистр. 21-11-2006 | Отправлено: 22:51 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd, стоп. При чем здесь вообще проблемы древовидной структуры? (Которые действительно в большинстве своем решаются симлинками.) Закладки в браузере — точно такая же древовидная структура как и ФС, только ущербная, ибо может хранить только один тип информации — веб-ссылку, а еще, кстати, симлинки-то и не умеет.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:53 20-05-2014 | Исправлено: ASE_DAG, 23:29 20-05-2014
krserv



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

Цитата:
А что до скрипта, то он и впрямь местами путаный, упростить его несложно:
 
#!/bin/bash
 
# config
DISKID='wwn-0x50014ee0034fbeb5'
 
BLOCKDEV="$(readlink "/dev/disk/by-id/$DISKID")"
BLOCKDEV="${BLOCKDEV##*/}" # ../../sdc -> sdc
 
echo '1' > "/sys/block/${BLOCKDEV}/device/delete"

 
а почему  sdc, а не sdb? и т.д? Ведь дисков в системе может быть несколько, и привязываться к конкретному имени нельзя, т.к оно в отличии от идентификатора логическое и не привязано к конкретному устройству.
 
ну раз это дубовый способ не будем в него и вникать, давайте попробуем udev  отладить,  готов предоставить всю необходимую информацию и обещаю быть послушным ведомым

Всего записей: 3728 | Зарегистр. 21-11-2006 | Отправлено: 22:57 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krserv> Device is not detachable  
 
Ага. Ну тогда, вероятно, надо явно udev’у указать, что нифига. Создайте в /etc/udev/rules.d/ правило вида:
 
ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="wwn", ENV{ID_SERIAL}=="0x50014ee0034fbeb5", \
        ENV{UDISKS_SYSTEM_INTERNAL}="0"

 
Добавлено:
> а почему  sdc, а не sdb?  
 
От балды. Это ж комментарий.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:17 20-05-2014
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krserv
после символа октоторп'а идёт комментарий
 
ASE_DAG
Вы мне предлагаете к каждой программе по настройке которой у меня есть сслыка в закладах сделать папку и положить рядом исполняйемый файл и ссылку по настройке.
Пример: openvpn:
- в случае винды я вместо установочника делаю папку с установочником и ссылкой на openvpn.org
- в случае линя я вообще ради создаю ссылку на справку по программе которую ставлю из репа
Это же бред какой-то.
 
Добавлено:
krserv
есть ещё команда --eject или можно просто выдернуть после того как размонтировали (если это локальный девайс конечно).

----------
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 | Отправлено: 23:19 20-05-2014
krserv



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
последовательно по работе двух скриптов по url - работает, но ругается в терминале много, что это такое:
 

Код:
 
(process:2351): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
 
(firefox:2351): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised
 
(firefox:2351): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised
 
(firefox:2351): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised
 
(firefox:2351): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised
 
(firefox:2351): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.
 
(firefox:2351): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
 
 
(firefox:2351): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: The connection is closed
 
 

 
 
По поводу второго скрипта - мне нужен режим hot plug - при котором как я понимаю диск должен сам размонтироваться и отключиться.  
 
Предлагаемый вариант размонтирования и eject - не подходит, хотелось бы чтобы это все делалось автоматически. Предложенный в самом начале скрипт работает и все это выполняет, по поводу udev. займусь завтра, сегодня уже в отпаде

Всего записей: 3728 | Зарегистр. 21-11-2006 | Отправлено: 23:37 20-05-2014 | Исправлено: krserv, 23:44 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
 
Ну во-первых, я вам не предлагаю сейчас переносить все ссылки в ФС, понимая, что это может быть довольно муторно, хотя при желании легко автоматизируемо.
 
> создаю [папку] ради ссылки на справку по программе, которую ставлю из репа  
Ну да. Вместо папки в дереве закладок создаете папку в дереве файлов.
 
Кстати, справка в репе, обычно, тоже есть. В итоге в папочке, например, aptitude лежит помимо нескольких веб-страниц в MAFF’ах у меня лежит еще и символьная ссылка на /usr/share/doc/aptitude/html/en/index.html.
 
> Это же бред какой-то.
Да? А мне всегда казалось, что разносить связанные документы в разные папки — бред. Я понимаю, раньше сложно было подшить, например, кинопленку к делу, поэтому она лежала в отдельном киноархиве. Но сейчас-то зачем эти атавизмы тащить за собой?
 
> есть ещё команда --eject
 
Но она к НЖМД точно не относится.
 
Добавлено:
krserv> как я понимаю диск должен сам размонтироваться и отключиться
 
Как это «сам»?

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:50 20-05-2014 | Исправлено: ASE_DAG, 00:17 21-05-2014
krserv



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

Цитата:
Как это «сам»?

ну а как работает режим hot plug?  наверное же запускает процесс umount и т.д. - под hot plug - понимается безопасное отключение при работе.

Всего записей: 3728 | Зарегистр. 21-11-2006 | Отправлено: 23:56 20-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krserv, hot plug, очевидно, никак не может предусматривать размонтирования, только монтирование, поскольку это горящее подключение, а не отключение.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 00:13 21-05-2014
krserv



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну так представленный выше скрипт выполняет команду umount. Т.е мне не нужно ничего делать, только запустить скрипт и все.
А Ваш упрощенный вариант скрипта без umount, т.е не является полной заменой начального
 

Код:
 
# cat satastop.rules
ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="wwn", ENV{ID_SERIAL}=="0x50014ee0034fbeb5", \
        ENV{UDISKS_SYSTEM_INTERNAL}="0"
root@hstwhite:/etc/udev/rules.d#  
 
# udisks --detach /dev/disk/by-id/wwn-0x50014ee0034fbeb5  
Detach failed: Device is not detachable
 
 

 
 

Всего записей: 3728 | Зарегистр. 21-11-2006 | Отправлено: 00:41 21-05-2014 | Исправлено: krserv, 00:59 21-05-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krserv, а какие действия произвели после того, как записали правило? Ну, сам диск перевоткнули, я надеюсь. Перезапустите систему, если есть возможность, по идее это не нужно, но мало ли.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 01:06 21-05-2014
gbcfkf



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую
Прошу помощи
Необходимо написать скрипт который будет копировать файлы из папки и в случае успеха их удалять
 
Копирование сделал так:

Код:
 
#!/bin/bash
 
for i in /root/file*;
do scp $i root@172.0.0.1:/tmp;
done
 

 
А как реализовать удаление скопированного файла?  
Удалять нужно только в случае успешного копирования...

Всего записей: 702 | Зарегистр. 17-10-2006 | Отправлено: 06:42 26-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gbcfkf, самым простым образом удялять:
 
for i in /root/file*; do
    scp "$i" "root@172.0.0.1:/tmp" \
        && rm "$i"
done

 
А вообще, rsync, не?

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 06:48 26-06-2014 | Исправлено: ASE_DAG, 06:48 26-06-2014
MAGNet



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

Цитата:
А вообще, rsync, не?

а вообще mv, не?

Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 07:02 26-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
$ rsync -v --remove-source-files /root/file* "root@172.0.0.1:/tmp/"
 
я имею в виду.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 07:02 26-06-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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