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

» Интересные команды при работе с Linux

Автор: Borgia
Дата сообщения: 05.03.2005 12:48
На открытие данного топика подвинуло желание как то сконцентрировать в одном месте всевозможные интересные команды при работе и администрировании линукс. Зная на собственном опыте, что иногда нужно решить какую нибудь задачу, и можно биться часами и не у кого спросить, а потом случайно натыкаешся где нибудь в интернете на одну строчку и видишь хм а вот оно то что я искал.

Настоятельная просьба всем кто будет постить
0. Не превращаем топик в список всех команд! Постим только самое интересное!

1. Обязательно толковое обьяснение что делает команда.(если у команды много ключей необязательно описывать все, достаточно самые употребляемые на ваш взгляд)
2. Желательно если есть возможность пару различных вариаций на данную команду.
3. Желательно добавлять Live пример а не только /xxx/yyy
4. Так как первый пост можно редактировать то наверное лучшим решением наверное будет его редактирование и соответственно по темам.
5. Небольшие скрипты также приветствуются - обязательно с коментами.
6. Всегда приветствуются интересные мысли и предложения по организации топика.

На правах зачинателя топика начну с более легкого (что успел насобирать)

Определение железа из командной строки в Linux

lspci Показывает информацию о материнской плате и слотах расширения pci.
Автор: Raredemon
Дата сообщения: 05.03.2005 20:45
Borgia

Цитата:
dmesg

с маленькой добавкой "dmesg|less" будет легче читать.
Вставлю свои пять копеек:
netstat -a показывает какие процессы какие порты слушают и подключения к ним.

А че это новая мода все писать через кучу пустых строк? Может как зачинатель хоть нормально шапку оформишь?
Автор: eugrus
Дата сообщения: 05.03.2005 21:04
Думаю что это тоже довольно востребованно

Команды для форматирования вывода:

command |grep word покажет только строки вывода от command содержащие слово word
Автор: Borgia
Дата сообщения: 05.03.2005 22:04
Raredemon


Цитата:
А че это новая мода все писать через кучу пустых строк? Может как зачинатель хоть нормально шапку оформишь?

Честно не знаю как это делать подскажите как сделать шапку и чтоб каждый мог добавлять в первый пост
Автор: Raredemon
Дата сообщения: 05.03.2005 22:06
eugrus

Цитата:
command > out : направит вывод от command в файл или устройство out

Ну тогда бы уж дописал что
command >> out : добавит свой вывод в существующий файл.

Автор: Demetrio
Дата сообщения: 05.03.2005 22:07
Шапка готова
Автор: Raredemon
Дата сообщения: 05.03.2005 22:47
Demetrio
Ага

Добавлено:
такое оформление шапки подойдет?
Автор: Borgia
Дата сообщения: 05.03.2005 23:24
Raredemon

Спасибо просто великолепно.

eugrus
Спасибо за подсказку будем стараться
Автор: eugrus
Дата сообщения: 05.03.2005 23:26

Цитата:
я так не смогу

http://i.ru-board.com/codes.html
Автор: Borgia
Дата сообщения: 06.03.2005 18:03

Цитата:
# удалление пропусков в именах файлов и директорий и подстановка нижней черты ,,_,, в определенной директории


Требуется Perl

------------------------------------------
#!/usr/bin/perl -w
# nospace /this/dir /that/dir /those/too

use File::Find;
use strict;
die "usage: nospace dir[s]\n" unless @ARGV;

my %ext;

find(\&remspaces, @ARGV);

sub remspaces {
return if ($_ eq '.');
return if ($_ eq '..');
(my $new = $_) =~ tr/a-zA-Z0-9_.-/_/c;
my $duplicate = ($new ne $_ and -e $new);
my $try = $new;

$ext{"$File::Find::dir/$try"}++ if $duplicate;

while (my $count = $ext{"$File::Find::dir/$new"}++) {
(my $with_num = $new) =~ s/(?=\.|$)/_$count/;
$new = $with_num, last if not -e $with_num;
}

$ext{"$File::Find::dir/$try"}-- if $duplicate;

rename $_ => $new
or warn "can't rename $_ to $new: $!";
}
-----------------------------------------------

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

Рs как не пробовал его запихнуть в таблицу по человечески не получается с форматированием
Автор: ooptimum
Дата сообщения: 06.03.2005 20:17
Borgia
И никакого перла (c)

Добавлено:
Кстати, подумалось глядучи на шапку, что если файл занимает больше одного экрана, то вместо
Код: cat file|less
Автор: Borgia
Дата сообщения: 06.03.2005 21:17
ooptimum
Ты гений!!!!
В поддиректориях он тоже делает ? и если не трудно для чаиника, как мне прописать чтоб он вначале переместился в нужную директорию или указать нужную директорию?
Автор: ooptimum
Дата сообщения: 06.03.2005 21:38
Borgia
Я просто уже очень давно работаю в командной строке.

Кстати, я подумал, что нет смысла постить команды каждый раз новым постом и потом добавлять их в шапку. Поэтому я подобавлял там немного. Кое-что поправил, особенно то, что касалось команды find. В частности я стараюсь избегать использования xargs, если это возможно.

Надо подумать над выделением изменений.

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

Добавлено:

Цитата:
как мне прописать чтоб он вначале переместился в нужную директорию или указать нужную директорию?

Используй "/path/to/*" вместо "*" у for.
Автор: ooptimum
Дата сообщения: 07.03.2005 16:38
Я там еще добавил вариант замены пробелов на подчеркивания, на этот раз без sed'а, только чистый bash.
Автор: danx
Дата сообщения: 07.03.2005 23:30
А вот кто мне может сказать, как написать скриптик, который выполняет всего лишь 4 команды:
aaaaa param1 param2
bbbbb param2 param3
cccccc param4
ddddd param4

здесь команды aaaaa, bbbbb, ccccc и ddddd - это имена скриптов или выполнимых программ в Unix.

Только загвоздка в том, что команда aaaaa порождает новый шелл, а все остальные три - экспортируют кучу переменных оокружения.

Скажу сразу: засунуть все 4 строчки в sh-скрипт не получится, потому как при его запуске выполнится первая строчка и родится новый шелл. (А потом написав exit мы выполним остальные 3 команды, но это будет бесмыссленно).
Автор: ooptimum
Дата сообщения: 08.03.2005 03:48
Borgia
Насчет рекурсивной замены пробелов на символ подчеркивания пока придумался только такой скрипт:

Код:
#!/bin/sh

OLDIFS=$IFS
IFS=$'\n'

for x in `find . -name "* *"`
do
IFS=$OLDIFS
mv "$x" ${x// /_}
done
Автор: Yuki2003
Дата сообщения: 09.03.2005 00:50
"обнулить" размер файла
head -c 0 > ./имя_файла
Автор: Kokoc
Дата сообщения: 11.03.2005 14:26
Для "обнуления" файла подойдет также команда
echo -ne >file

danx
Не твой ли случай (man bash):

Цитата:


. filename [arguments]
source filename [arguments]


Read and execute commands from filename in the current shell environment
and return the exit status of the last command executed from filename.
Автор: ooptimum
Дата сообщения: 11.03.2005 20:41
Yuki2003, Kokoc
Может вы можете предложить что-то короче `:>file` для его "обнуления"? Зачем варианты? Или просто шапку не читаем?
Автор: Yuki2003
Дата сообщения: 13.03.2005 21:09
Kokoc
Твой вариант - это обнуление без кавычек, в прямом смысле оно не всегда требуется, и если не требуется, то мой вариант имхо быстрей по времени выполнения команды.

ooptimumпрочел шапку еще раз, не понял что ты имел в виду
Автор: nestor22
Дата сообщения: 15.03.2005 00:45

... Может вы можете предложить что-то короче `:>file` для его "обнуления"? Зачем
варианты? Или просто шапку не читаем?

Я всегда обнуляю файлы так: >file

who -H список работвющих


Автор: Pleshkov
Дата сообщения: 19.03.2005 01:10

Цитата:
who -H список работвющих

Либо просто w
Автор: ihanic
Дата сообщения: 21.03.2005 01:32
dmesg|tac|less Печатает dmesg начиная с последней строки, заканчивая первой, удобно смотреть логи
Автор: coresh
Дата сообщения: 01.04.2005 01:59
Pros'ba: dobavit' v Top Topika

k comande `ps`

chtobi uvidet' processy roditel'-potomok:

ps -afx


Добавлено:
libo: pstree -p

Автор: korshenin
Дата сообщения: 08.04.2005 20:25
Ссылка по теме
http://www.a-sys.ru/?tabid=12&p307=3
Автор: valhalla
Дата сообщения: 12.04.2005 12:32
Смена пароля пользователя (для скриптов)
echo user:password | chpasswd
Автор: valerry
Дата сообщения: 20.04.2005 15:41
Позволяет увидеть размер всех директорий в данном каталоге
du -ks *
короче не придумаеш.
Автор: Swappp
Дата сообщения: 20.04.2005 22:26
valerry

Цитата:
du -ks *

Тогда уж лучше "du -hs *".
Автор: memmo
Дата сообщения: 17.05.2005 16:48

Цитата:
tail -f /var/log/messages

Позволяет просмартивать логи в режиме раельного времени на какой-нить консоли...
Автор: inter kepka
Дата сообщения: 17.05.2005 18:39
Может кому-нибудь пригодиться:

mplayer <файл> -vo format

где format это png, jpeg, gif89a, pgm, tga, md5
Последнее делает хэш для каждого фрэйма.

Во время такой операции файл проигрывается в реальном времени, по сему можно перематывать файл (как указать в командной строке диапозон мне было слишком лень узнавать %-) ). Правда видео нет, зато есть звук

Обратная операция:

mplayer mf://filemask -mf fps=25

где filemask что-то вроде *.png

А теперь на конректном примере:

mplayer Hunter_x_Hunter_41_\[AKU\].avi -vo png

Подождал немножко и завершил процесс, в итоге получил 107 кадров (00000001.png... 00000107.png)
И воспроизвёл их:

mplayer mf://*.png -mf fps=25

p.s. понадобилось после того, как узнал, что VirtualDub не смог открыть *.ogm файл

Страницы: 12

Предыдущая тема: Переход в графический режим в KDE Linux


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