Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Общие вопросы по работе с UNIX shell-ами

Автор: mozy18
Дата сообщения: 06.02.2005 20:34
Помогите, пожалуйста, новичку разобраться !
Есть tcsh (FreeBSD 5.3). Как перенаправить вывод одной программы на вход другой и при этом указать ее некоторые параметры ?
Пример:
Найти все файлы, начиная с текущей папки с именем net* и сменить у них права на 644
find . -type f -name net\*
chmod 644 <список>
А вот как сделать перенаправление ?
find . -type f -name net\* | chmod 644
не работает
В man tsch я пока не нашел ответа (честно я и не особо тщательно искал )
MC конечно удобный, но хотелось бы без него научиться работать (мало ли только корень удастся подмонтировать или еще какая гадость).
Автор: eugrus
Дата сообщения: 06.02.2005 20:40

Цитата:
Как перенаправить вывод одной программы на вход другой


ну вот на пример:

cd /lib/modules/`uname -r`

подставляет вывод от uname -r как ключ команде cd
Автор: Demetrio
Дата сообщения: 06.02.2005 20:46
В данном случае так:
<!-- #Moderation mode -->

find . -type f -print0 | xargs -0 chmod 644 ; find . -type d -print0 | xargs -0 chmod 755


Это для файлов в одной папке. По аналогии сделай для себя.
Автор: mozy18
Дата сообщения: 06.02.2005 21:32
Спасибо !
Кстати find . -type f -name net\* | xargs chmod 644
тоже работает.
А у меня еще вопрос
В tsch, по-умолчанию, при нажатии клавиши Delete не удаляется символ под курсором.
Я пытался назначить удаление на del с помощью bindkey
bindkey -k del delete-char
Но в ответ получал:
# bindkey -k del delete-char
Неверное имя клавиши `del'
Я так же пробовал bindkey -k delete delete-char bindkey -k DEL delete-char тот же ответ.
На клавиши home и end действия заданы
#bindkey
...
home -> beginning-of-line
end -> end-of-line

Действие delete-char есть в списке bindkey , а вот какое название мне дать для клавиши delete ?
Автор: Demetrio
Дата сообщения: 06.02.2005 21:37
mozy18
Это не подойдет?
<!--#Moderation mode -->

bindkey "\e[3~" delete-char # Delete


в ~/.cshrc
Автор: mozy18
Дата сообщения: 06.02.2005 21:43
Спасибо, подошло !
А где можно просмотреть полный список по кодам клавиш?
Автор: eugrus
Дата сообщения: 07.03.2005 16:23

Цитата:
А где можно просмотреть полный список по кодам клавиш?

xev
Автор: licedey
Дата сообщения: 07.03.2005 16:53
Кстати, почему в FreeBSD так с кнопкой delete ?
Я пользуюсь bashем попробовал добавить в ~/.bashrc
bindkey "\e[3~" delete-char
не работает... где моя ошибка? а в tcsh все нормально....
Автор: eugrus
Дата сообщения: 07.03.2005 17:02

Цитата:
bindkey "\e[3~" delete-char
не работает... где моя ошибка?


попробуй в /etc/inputrc вот это:
"\e[3~": delete-char
Автор: licedey
Дата сообщения: 07.03.2005 17:27
Этого файла в моей системе не было - создал. Вписал
"\e[3~": delete-char
... не работает.
На линус машинках такой файл есть.
Кстати вопрос такого же плана как точку и запятую ставить как в виндовс, а не shift 7, и запятая shift 6.
Автор: eugrus
Дата сообщения: 07.03.2005 17:29
а где именно в bashrc ты вставил?
может в какой-нить if-цикл попал?
Автор: licedey
Дата сообщения: 07.03.2005 17:34
собственно и вписывал
bindkey "\e[3~": delete-char - с двое точием
да не в цикл не попал
Автор: Demetrio
Дата сообщения: 07.03.2005 17:42

Цитата:
################################################################################
## /etc/inputrc
##
## Attempt to put different TERMs together in one readline init file.
## Copyright (c) 1997,2000,2002 SuSE Linux AG, Nuernberg, Germany.
##
## Author: Werner Fink
## Please send feedback to http://www.suse.de/feedback
##
################################################################################
#
# Eight bit compatible: Umlaute
#
set meta-flag on
set output-meta on
set convert-meta off
set term xy
set bell-style off
#
# VI line editing
#
$if mode=vi
set editing-mode vi
set keymap vi
$endif
#
# Common standard keypad and cursor
#
"\e[1~": beginning-of-line
"\e[2~": yank
"\e[3~": delete-char
"\e[4~": end-of-line
"\e[5~": history-search-backward
"\e[6~": history-search-forward
$if term=xterm
"\e[2;2~": yank
"\e[3;2~": delete-char
"\e[5;2~": history-search-backward
"\e[6;2~": history-search-forward
"\e[2;5~": yank
"\e[3;5~": delete-char
"\e[5;5~": history-search-backward
"\e[6;5~": history-search-forward
$endif
"\e[C": forward-char
"\e[D": backward-char
"\e[A": previous-history
"\e[B": next-history
$if term=xterm
"\e[E": re-read-init-file
"\e[2C": forward-word
"\e[2D": backward-word
"\e[2A": history-search-backward
"\e[2B": history-search-forward
"\e[1;2C": forward-word
"\e[1;2D": backward-word
"\e[1;2A": history-search-backward
"\e[1;2B": history-search-forward
"\e[1;3C": forward-word
"\e[1;3D": backward-word
"\e[1;3A": history-search-backward
"\e[1;3B": history-search-forward
"\e[5C": forward-word
"\e[5D": backward-word
"\e[5A": history-search-backward
"\e[5B": history-search-forward
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[1;5A": history-search-backward
"\e[1;5B": history-search-forward
$else
"\e[G": re-read-init-file
$endif
#
# Avoid network problems
# ... \177 (ASCII-DEL) and \010 (ASCII-BS)
# do `backward-delete-char'
# Note: `delete-char' is maped to \033[3~
# Therefore xterm's responce on pressing
# key Delete or KP-Delete should be
# \033[3~ ... NOT \177
#
"\C-?": backward-delete-char
"\C-H": backward-delete-char
#
# Home and End
#
$if term=xterm
#
# Normal keypad and cursor of xterm
#
"\e[1~": history-search-backward
"\e[4~": set-mark
"\e[H": beginning-of-line
"\e[F": end-of-line
"\e[2H": beginning-of-line
"\e[2F": end-of-line
"\e[5H": beginning-of-line
"\e[5F": end-of-line
# Home and End of application keypad and cursor of xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
"\eO2H": beginning-of-line
"\eO2F": end-of-line
"\eO5H": beginning-of-line
"\eO5F": end-of-line
$else
$if term=kvt
"\e[1~": history-search-backward
"\e[4~": set-mark
"\eOH": beginning-of-line
"\eOF": end-of-line
$endif
#
# TERM=linux or console or gnome
#
"\e[1~": beginning-of-line
"\e[4~": end-of-line
$endif
#
# Application keypad and cursor of xterm
#
$if term=xterm
"\eOD": backward-char
"\eOC": forward-char
"\eOA": previous-history
"\eOB": next-history
"\eOE": re-read-init-file
"\eO2D": backward-word
"\eO2C": forward-word
"\eO2A": history-search-backward
"\eO2B": history-search-forward
"\eO5D": backward-word
"\eO5C": forward-word
"\eO5A": history-search-backward
"\eO5B": history-search-forward
# DEC keyboard KP_F1 - KP_F4 or
# XTerm of XFree86 in VT220 mode F1 - F4
"\eOP": prefix-meta
"\eOQ": undo
"\eOR": ""
"\eOS": kill-line
$endif
$if term=gnome
# or gnome terminal F1 - F4
"\eOP": prefix-meta
"\eOQ": undo
"\eOR": ""
"\eOS": kill-line
$endif
#
# Function keys F1 - F12
#
$if term=linux
#
# On console the first five function keys
#
"\e[[A": prefix-meta
"\e[[B": undo
"\e[[C": ""
"\e[[D": kill-line
"\e[[E": ""
$else
#
# The first five standard function keys
#
"\e[11~": prefix-meta
"\e[12~": undo
"\e[13~": ""
"\e[14~": kill-line
"\e[15~": ""
$endif
"\e[17~": ""
"\e[18~": ""
"\e[19~": ""
"\e[20~": ""
"\e[21~": ""
# Note: F11, F12 are identical with Shift_F1 and Shift_F2
"\e[23~": ""
"\e[24~": ""
#
# Shift Function keys F1 - F12
# identical with F11 - F22
#
#"\e[23~": ""
#"\e[24~": ""
"\e[25~": ""
"\e[26~": ""
# DEC keyboard: F15=\e[28~ is Help
"\e[28~": ""
# DEC keyboard: F16=\e[29~ is Menu
"\e[29~": ""
"\e[31~": ""
"\e[32~": ""
"\e[33~": ""
"\e[34~": ""
$if term=xterm
# Not common
"\e[35~": ""
"\e[36~": ""
$endif
#
$if term=xterm
#
# Application keypad and cursor of xterm
# with NumLock ON
#
# Operators
"\eOo": "/"
"\eOj": "*"
"\eOm": "-"
"\eOk": "+"
"\eOl": ","
"\eOM": accept-line
"\eOn": "."
# Numbers
"\eOp": "0"
"\eOq": "1"
"\eOr": "2"
"\eOs": "3"
"\eOt": "4"
"\eOu": "5"
"\eOv": "6"
"\eOw": "7"
"\eOx": "8"
"\eOy": "9"
$endif
#
# EMACS line editing
#
$if mode=emacs
#
# ... xterm application cursor
#
$if term=xterm
"\e\eOD": backward-word
"\e\eOC": forward-word
"\e\eOA": up-history
"\e\eOB": down-history
"\C-\eOD": backward-char
"\C-\eOC": forward-char
"\C-\eOA": up-history
"\C-\eOB": down-history
$endif
#
# Standard cursor
#
"\e\e[D": backward-word
"\e\e[C": forward-word
"\e\e[A": up-history
"\e\e[B": down-history
"\C-\e[D": backward-char
"\C-\e[C": forward-char
"\C-\e[A": up-history
"\C-\e[B": down-history
$endif
#
# end
#


echo 'export INPUTRC=/etc/inputrc' >> /etc/profile
Автор: mozy18
Дата сообщения: 07.03.2005 17:58
eugrus

Цитата:
Цитата:
А где можно просмотреть полный список по кодам клавиш?
xev


В FreeBSD нет такого.
Автор: eugrus
Дата сообщения: 07.03.2005 18:04
mozy18
это программа входит в состав икс-сервера (какой у тебя кстати?)

в портах должен быть
Автор: Demetrio
Дата сообщения: 07.03.2005 18:08
eugrus
А если это сервер где Иксов нету и они не нужны?
Автор: mozy18
Дата сообщения: 07.03.2005 18:13

Цитата:
это программа входит в состав икс-сервера (какой у тебя кстати?)

нету иксов, FreeBSD у нас в маленькой домашней лок. сети в роли прокси+ маршрутизатор
Автор: licedey
Дата сообщения: 07.03.2005 18:31
Нет не работает. В FreeBSD 5.3 нет файла /etc/inputrc.
Если с tcsh - работает (дописую в ~/.cshrc)
C bash нет - дописывал и в ~/.profile, и в /etc/profile ... и в ~ /.bashrc ( .bashrc - скопировал с линукс машинки)
Пробовал и - bindkey "\e[3~" delete-char
и "\e[3~" : delete-char
и "\e[3~" delete-char
В всех GUI програмах delete работает кроме терминала. Естественно в консоле не работает.

Добавлено:
у меня xev - есть.
root@licedey:~>which xev
/usr/X11R6/bin/xev
xorg-server-6.8.1_2




Автор: Demetrio
Дата сообщения: 07.03.2005 18:54
licedey
Она там по идее должна как backspace работать
Автор: licedey
Дата сообщения: 07.03.2005 19:02
Demetrio
Да работает. И работала Но с delete всё же получше, я уже пробовал найти ответ на этот вопрос... пока не нашол.. в tcsh всё ок... но я привык к bash
Автор: eugrus
Дата сообщения: 07.03.2005 20:10

Цитата:
как точку и запятую ставить как в виндовс

Option "XkbLayout" "us,ru(winkeys) в конфиге иксов, если ты про иксы
Автор: licedey
Дата сообщения: 08.03.2005 12:35
Да, было в xorg.conf
Option "XkbLayout" "us,ru"
стало -
Option "XkbLayout" "us,ru(winkeys)" и всё как в MS ...и так не привычно
и сколько раз я видел этот - winkeys...

Спасибо eugrus

Может и интересно кому - нашол очень хорошую документацию по bash (у нас ведь тема по UNIX shell-ам) -
- http://gazette.linux.ru.net/rus/articles/index-abs-guide.html (я лучше не видел на русском языке)
Автор: eugrus
Дата сообщения: 08.03.2005 14:40

Цитата:
пробовал найти ответ на этот вопрос... пока не нашол..


topic.cgi?forum=62&topic=3853#13
Автор: licedey
Дата сообщения: 08.03.2005 16:21
Проблема решилась.
Создал ~/.inputrc - вписал "\e[3~": delete-char - del работает.
Если создавал /etc/inputrc - результатов не было. (то же самое было и с ~/.bashrc и ~/.profile)
Всем спасибо.
Автор: eugrus
Дата сообщения: 08.03.2005 17:16

Цитата:
Если создавал /etc/inputrc - результатов не было.

сказали же!

echo 'export INPUTRC=/etc/inputrc' >> /etc/profile
Автор: eugrus
Дата сообщения: 03.04.2005 16:04
Хочу написать shell-скрипт который бы подключился к серверу по ssh и там бы что-то сделал

Можно ли реализовать?
Автор: Swappp
Дата сообщения: 03.04.2005 18:10
eugrus

Цитата:
Хочу написать shell-скрипт который бы подключился к серверу по ssh и там бы что-то сделал

man ssh...

Цитата:
ssh [-1246AaCfgkMNnqsTtVvXxY ] [-b bind_address ] [-c cipher_spec ] -words [-D port ] [-e escape_char ] [-F configfile ] [-i identity_file ] [-L Xo Sm off port host hostport Sm on ] [-l login_name ] [-m mac_spec ] [-o option ] -words [-p port ] [-R Xo Sm off port host hostport Sm on ] [-S ctl ] [user @ hostname ] [command ]

например

Код: ssh 127.0.0.1 /home/user/script.sh
Автор: eugrus
Дата сообщения: 03.04.2005 20:27
Swappp
понял - спасибо
Автор: Romych
Дата сообщения: 11.04.2005 21:12
а как в shell (freebsd 5) проверить, какие порты открыты? на правах guest'a.
Автор: eugrus
Дата сообщения: 11.04.2005 21:23
Romych
/sbin/ipfw show



Цитата:
на правах guest'a.

XP-BSD?

Страницы: 12

Предыдущая тема: некий процесс Wowexec


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.