44847

Оболочка bash

Доклад

Информатика, кибернетика и программирование

Если в командной строке стоит commnd1 commnd2 то commnd2 выполняется в том и только в том случае если статус выхода из команды commnd1 равен нулю что говорит об успешном ее завершении. Аналогично если командная строка имеет вид commnd1 commnd2 то команда commnd2 выполняется тогда и только тогда когда статус выхода из команды commnd1 отличен от нуля. Итак первый этап поиск кода команды. Команды бывают встроенные те код которых включен в код самой оболочки и внешние код которых расположен в отдельном файле на диске.

Русский

2013-11-14

39.55 KB

1 чел.

Оболочка bash

Сама по себе оболочка bash не выполняет никаких прикладных задач. Но она обеспечивает выполнение всех приложений: нахождение вызываемых программ, их запуск и организацию ввода/вывода.

Оператор ;

Имеется возможность задать в одной строке несколько команд, которые будут выполнены последовательно, одна за другой. Если написать в командной строке что-то вроде:

[user]$ command1 ; command2

то оболочка вначале запустит на выполнение команду command1, дождется, пока ее выполнение завершится, после чего запустит command2, дождется ее завершения, после чего снова выведет приглашение командной строки, ожидая следующих действий пользователя.

Оператор &

Оператор & используется для того, чтобы организовать исполнение команд в фоновом режиме. Например, если задать в командной строке "command1 & command2 &", то оболочка запустит команду command1, сразу же затем команду command2, и затем немедленно вернет управление пользователю.

Операторы && и ||

Операторы && и || являются управляющими операторами. Если в командной строке стоит command1 && command2, то command2 выполняется в том, и только в том случае, если статус выхода из команды command1 равен нулю, что говорит об успешном ее завершении. Аналогично, если командная строка имеет вид command1 || command2, то команда command2 выполняется тогда, и только тогда, когда статус выхода из команды command1 отличен от нуля.

Итак, первый этап - поиск кода команды. Команды бывают встроенные (те, код которых включен в код самой оболочки) и внешние (код которых расположен в отдельном файле на диске). Встроенную команду оболочка всегда найдет, а для поиска внешней команды пользователь, в принципе, должен указать оболочке полный путь до соответствующего файла. Однако для облегчения жизни пользователей оболочка умеет искать внешние команды в каталогах, которые перечислены в специально заданных "путях поиска". Только если она не находит нужных файлов в таких каталогах, она решает, что пользователь ошибся при вводе имени команды. О том, как включить каталог в пути поиска, будет сказано ниже, а сейчас рассмотрим, как оболочка организует передачу данных исполняемой команде и выдачу результатов пользователю.

Потоки ввода-вывода

Когда программа запускается на выполнение, в ее распоряжение предоставляются три потока (или канала):

  1.  стандартный ввод (standard input или stdin). По этому каналу данные передаются программе;
  2.  стандартный вывод (standard output или stdout). По этому каналу программа выводит результаты своей работы;
  3.  стандартный поток сообщений об ошибках (standard error или stderr). По этому каналу программы выдают информацию об ошибках.

Для того, чтобы продемонстрировать, как работает стандартный поток ошибок, выполните команду ls с неверным аргументом, например, задав в качестве аргумента имя несуществующего файла. В таком случае ls выведет сообщение об ошибке в стандартный поток ошибок. Для нас, однако, в данном случае стандартный поток ошибок неотличим от выходного потока, поскольку сообщение об ошибке мы видим в окне терминала.

Работу со стандартными входным и выходным потоками лучше всего проиллюстрировать на примере команд echo и cat.

Команда echo

Команда echo предназначена для выдачи на стандартный вывод строки символов, которая задана ей в качестве аргумента. После этого она выдает сигнал перевода строки и завершается. Попробуйте выполнить команду

[user]$ echo 'Привет, дружище!'

Выполните ту же команду с двойными кавычками.

Команда cat

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

Обычно клавиатура настроена на построчный ввод, поэтому если вы нажмете клавишу <Enter>, последняя набранная строка передается команде cat, которая вновь выводит данные на монитор через стандартный вывод. Таким образом, каждая строка будет показана дважды: один раз при наборе и второй раз - командой cat.

Если нажать комбинацию клавиш <Ctrl>+<D>, которая служит командой окончания процедуры ввода, вы вновь вернетесь к подсказке в командной строке. Можно также использовать комбинацию клавиш <Ctrl>+<C>, которая является в оболочке командой завершения работы запущенной программы.

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

Перенаправление ввода/вывода, каналы и фильтры

В оболочке существуют специальные средства для перенаправления ввода/вывода.

Операторы >, < и >>

Для обозначения перенаправления используются символы ">", "<" и ">>". Чаще всего используется перенаправление вывода команды в файл:

[user]$ ls -l > /home/jim/dir.txt

По этой команде в файле /home/jim/dir.txt будет сохранен перечень файлов и подкаталогов того каталога, который был текущим на момент выполнения команды ls ; при этом если указанного файла не существовало, то он будет создан; если он существовал, то будет перезаписан; если же вы хотите, чтобы вывод команды был дописан в конец существующего файла, то надо вместо символа > использовать >>. При этом наличие пробелов до или после символов > или >> несущественно и служит только для удобства пользователя.

Вы можете направить вывод не только в файл, но и на вход другой команды или на устройство (например, принтер). Так, для подсчета числа слов в файле /home/jim/report.txt можно использовать следующую команду:

[user]$ cat /home/jim/report.txt | wc -w

а для вывода файла на печать - команду:

[user]$ cat /home/jim/report.txt > lpr

Как видите, оператор > служит для перенаправления выходного потока. По отношению к входному потоку аналогичную функцию выполняет оператор <. Приведенный выше пример команды для подсчета числа слов в определенном файле можно переписать следующим образом (обратите внимание на отсутствие команды cat ):

[user]$ wc -w < /home/jim/report.txt

Этот вариант перенаправления часто используется в различных скриптах.

В силу того, что символы <, > и >> действуют на стандартные потоки, их можно использовать не только тем привычным образом, как это делается обычно, но и несколько по-другому. Так, следующие команды эквивалентны:

[user]$ cat > file

[user]$ cat>file

[user]$ >file cat

[user]$ > file cat

Однако сам по себе (без какой-либо команды, для которой определены стандартные потоки) символ перенаправления не может использоваться, так что нельзя, например, введя в командной строке

[user]$ file1 > file2

получить копию какого-то файла.

Стандартный ввод stdin имеет номер 0, стандартный вывод stdout - номер 1, стандартный поток сообщений об ошибках stderr - номер 2. Полный формат команды перенаправления:

command N > M

где N и M - номера стандартных потоков (0,1,2) или имена файлов. Употребление в некоторых случаях символов <, > и >> без указания номера канала или имени файла возможно только потому, что вместо отсутствующего номера по умолчанию подставляется 1, т. е. стандартный вывод. Так, оператор > без указания номера интерпретируется как 1 >.

Существует возможность сделать копию содержимого стандартного потока при перенаправлении:

command N > &M

Выход канала с номером N направляется как на стандартный вывод, так и дублируется в канал с номером M. Например, для того, чтобы сообщения об ошибках дублировались на стандартный вывод, надо дать команду 2>&1, в то время как 1>&2 дублирует stdout в stderr. Такая возможность особенно полезна при перенаправлении вывода в файл, так как мы тогда одновременно и видим сообщения на экране, и сохраняем их в файле.

Оператор |

Особым вариантом перенаправления вывода является организация программного канала (иногда называют трубопроводом или конвейером). Для этого две или несколько команд, таких, что вывод предыдущей служит вводом для следующей, соединяются или разделяются символом вертикальной черты - "|". При этом стандартный выходной поток команды, расположенной слева от символа |, направляется на стандартный ввод программы, расположенной справа от символа |. Например:

[user]$ cat myfile | grep Linux | wc -l

Эта строка означает, что вывод команды cat, т. е. текст из файла myfile, будет направлен на вход команды grep, которая выделит только строки, содержащие слово "Linux". Вывод команды grep будет, в свою очередь, направлен на вход команды wc -l, которая подсчитает число таких строк.

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

Если вы хотите, чтобы какая-то команда полностью завершилась до начала выполнения последующей, вы можете использовать в одной строке как символ конвейера |, так и точку с запятой ;. Перед каждой точкой с запятой оболочка будет останавливаться и ожидать, пока завершится выполнение всех предыдущих команд, включенных в конвейер.

Статус выхода (логическое значение, возвращаемое после завершения работы программы) из канала совпадает со статусом выхода, возвращаемым последней командой конвейера. Перед первой командой конвейера можно поставить символ "!", тогда статус выхода из конвейера будет логическим отрицанием статуса выхода из последней команды. Оболочка ожидает завершения всех команд конвейера, прежде чем установить возвращаемое значение.

Фильтры

Фильтры - это команды (или программы), которые воспринимают входной поток данных, производят над ним некоторые преобразования и выдают результат на стандартный вывод (откуда его можно перенаправить куда-то еще по желанию пользователя). К числу команд-фильтров относятся уже упоминавшиеся выше команды cat, more, less, wc, cmp, diff, а также следующие команды.

Таблица 5.1. Команды-фильтры

Команда

Краткое описание

grep, fgrep, egrep

Ищут во входном файле или данных со стандартного ввода строки, содержащие указанный шаблон, и выдают их на стандартный вывод

tr

Заменяет во входном потоке все встречающиеся символы, перечисленные в заданном перечне, на соответствующие символы из второго заданного перечня

comm

Сравнивает два файла по строкам и выдает на стандартный вывод 3 колонки: в одной - строки, которые встречаются только в 1 файле, во второй - строки, которые встречаются только во 2-ом файле: и в третьей - строки, имеющиеся в обоих файлах

pr

Форматирует для печати текстовый файл или содержимое стандартного ввода

sed

Строковый редактор, использующийся для выполнения некоторых преобразований над входным потоком данных (берется из файла или со стандартного ввода)

По своему действию команда tee аналогична оператору перенаправления 1>&file.

Параметры и переменные. Окружение оболочки

Понятие параметра в оболочке bash подобно понятию переменной в обычных языках программирования. Именем (или идентификатором) параметра может быть слово, состоящее из алфавитных символов, цифр и знаков подчеркивания (только первый символ этого слова не может быть цифрой), а также число или один из следующих специальных символов: *, @, #, ?, - (дефис), $, !, 0, _ (подчеркивание).

Говорят, что параметр задан или установлен, если ему присвоено значение. Значением может быть и пустая строка. Чтобы вывести значение параметра, используют символ $ перед его именем. Так, команда

[user]$ echo name

выдаст на экран слово name, а команда

[user]$ echo $name

выдаст значение переменной name (если таковое, конечно, задано).

Разновидности параметров

Параметры разделяются на: позиционные, специальные (именами которых служат вышеуказанные специальные символы) и переменные оболочки.

Имена (идентификаторы) позиционных параметров состоят из одной или более цифр (только не из одиночного нуля). Значениями позиционных параметров являются аргументы, которые были заданы при запуске оболочки (первый аргумент является значением позиционного параметра 1, и т. д.). Изменить значение позиционного параметра можно с помощью встроенной команды set. Значения этих параметров изменяются также на время выполнения оболочкой одной из функций (об этом будет рассказано ниже).

Специальные параметры являются шаблонами, замена (подстановка) которых производится следующим образом.

Таблица 5.2. Специальные параметры

Параметр

Правила замены

*

Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то этот параметр заменяется на одно единственное слово, составленное из всех позиционных параметров, разделенных первым символом специальной переменной IFS (о ней будет сказано ниже). То есть ``$*'' эквивалентно ``$1c$2c...'', где c - первый символ в значении переменной IFS. Если IFS присвоено пустое значение или ее значение не установлено, параметры разделяются пробелами

@

Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то каждый параметр заменяется отдельным словом. Так, ''$@'' эквивалентно ''$1'' ''$2'' ... Если позиционных параметров нет, то значение не присваивается (параметр @ просто удаляется)

#

Заменяется десятичным значением числа позиционных параметров

?

Заменяется статусом выхода последнего из выполнявшихся на переднем плане программных каналов

-(дефис)

Заменяется текущим набором значений флагов, установленных с помощью встроенной команды set или при запуске самой оболочки

$

Заменяется идентификатором процесса (PID) оболочки

!

Заменяется идентификатором процесса (PID) последней из выполняющихся фоновых (асинхронно выполнявшихся) команд

0

Заменяется именем оболочки или запускаемого скрипта. Если bash запускается для выполнения командного файла, $0 равно имени этого файла. В противном случае это значение равно полному пути к оболочке

_ (подчеркивание)

Заменяется последним аргументом предыдущей из выполнявшихся команд (если это параметр или переменная, то подставляется ее значение)

Специальные параметры, перечисленные в приведенной выше таблице, отличаются тем, что на них можно только ссылаться; присваивать им значения нельзя.

Переменная с точки зрения оболочки - это параметр, обозначаемый именем. Значения переменным присваиваются с помощью оператора следующего вида

[user]$ name=value

где name - имя переменной, а value - присваиваемое ей значение (может быть пустой строкой). Имя переменой может состоять только из цифр и букв и не может начинаться с цифры. Значением может быть любой текст. Если значение содержит специальные символы, то его надо взять в кавычки. Присвоенное значение этих кавычек не содержит, естественно. Если переменная задана, то ее можно удалить, используя встроенную команду оболочки unset.

Набор всех установленных переменных оболочки с присвоенными им значениями называется окружением (environment) или средой оболочки. Вы можете просмотреть его с помощью команды set без параметров (только, может быть, следует организовать конвейер "set | less" ). В выводе этой команды все переменные окружения перечисляются в алфавитном порядке. Для того чтобы просмотреть значение одной конкретной переменной, можно вместо команды set (в выводе которой нужную переменную еще искать и искать) можно воспользоваться командой

[user]$ echo $name

(правда, в этом случае вы должны знать имя интересующей вас переменной).

Среди переменных, которые вы увидите в выводе команды set, встречаются очень интересные переменные. Обратите, например, внимание на переменную RANDOM. Если вы несколько раз подряд выполните команду

[user]$ echo $RANDOM

вы каждый раз будете получать новое значение. Дело в том, что эта переменная возвращает случайное целое из интервала 0 - 32 768.

Приглашения оболочки

Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения bash. По умолчанию этой переменной присвоено значение "\s-\v\$ ". В bash существует четыре приглашения: 1) PS1 задает вид строки приглашения, которая выдается тогда, когда оболочка ждет ввода команды; 2) PS2 вторичное приглашение, когда оболочка ожидает от пользователя ввода еще каких-то данных, необходимых для продолжения работы запущенной команды или программы (по умолчанию PS2 имеет значение ">", например, при запуске команды cat для ввода данных с клавиатуры в файл); 3) PS3 используется в команде select; 4) PS4 выводится перед каждой командой, в то время, когда bash отслеживает процесс выполнения. Значение по умолчанию - "+".

Вид переменных PS1 и PS2 можно изменить. Можно использовать как любые символы, вводимые с клавиатуры, так и некоторое число специальных символов из табл. 5.3 (полный список см. в man).

Таблица 5.3. Специальные символы для формирования приглашения

Символ

Его значение

\a

Звуковой сигнал (ASCII-код 07)

\d

Дата в формате "День, месяц, число", например, Срд, Окт, 17

\h

Имя хоста (hostname) до первой точки

\H

Полное имя хоста

\t

Текущее время в 24-часовом формате: HH:MM:SS (часы:минуты:секунды)

\T

Текущее время в 12-часовом формате: HH:MM:SS

\@

Текущее время в 12-часовом формате am/pm

\u

Имя пользователя, запустившего оболочку

\w

Полное имя текущего рабочего каталога (начиная с корня)

\W

Текущий рабочий каталог (без указания пути)

\$

Символ #, если оболочка запущена суперпользователем, и символ $, если оболочка запущена обычным пользователем

\nnn

Символ, имеющий восьмеричный код nnn

\n

Новая строка (перевод строки)

\s

Имя оболочки

\#

Текущий номер команды

\\

Обратный слэш (a backslash)

\[

Начало последовательности не печатаемых символов (этот символ может быть использован для того, чтобы включить в текст подсказки последовательность управляющих символов терминала)

\]

Конец последовательности не печатаемых символов

\!

Порядковый номер данной команды в истории команд

Например, после выполнения команды (поскольку в строке имеется пробел, кавычки обязательны)

[root]# PS1="[\u@\h \W]\$"

в стандартном приглашении будет выводиться квадратная скобка, имя пользователя, символ @, имя компьютера, пробел, название текущего каталога (без указания пути), закрывающая квадратная скобка и символ $ (если в оболочке работает простой пользователь) или # (если оболочка запущена от имени пользователя root ).

Переменная PATH

Переменная PATH задает перечень путей к каталогам, в которых bash осуществляет поиск файлов (в частности, файлов с командами) в тех случаях, когда полный путь к файлу не задан в командной строке. Отдельные каталоги в этом перечне разделяются двоеточиями. По умолчанию переменная PATH включает каталоги /usr/local/bin, /bin, /usr/bin, /usr/X11R6/bin, т. е. имеет вид:

/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:

Для того, чтобы добавить каталог в этот список, нужно выполнить следующую команду:

[root]# PATH=$PATH:new_path

При осуществлении поиска оболочка просматривает каталоги именно в том порядке, как они перечислены в переменной PATH.

Раскрытие выражений (expansion)

Когда оболочка получает какую-то командную строку на выполнение, она до начала выполнения команды осуществляет "грамматический разбор" полученной командной строки. Одним из этапов такого "разбора" является раскрытие или подстановка выражений (expansion). В bash имеется семь типов подстановки выражений:

  1.  раскрытие скобок (brace expansion);
  2.  замена знака тильды (tilde expansion);
  3.  подстановка параметров и переменных;
  4.  подстановка команд;
  5.  арифметические подстановки (выполняемые слева направо);
  6.  разделение слов (word splitting);
  7.  раскрытие шаблонов имен файлов и каталогов (pathname expansion).

Все эти операции выполняются именно в том порядке, как они здесь перечислены. Рассмотрим их последовательно.

Раскрытие скобок

Раскрытие скобок проще всего пояснить на примере. Предположим, что нам нужно создать сразу несколько подкаталогов в каком-то каталоге, или поменять владельца сразу у нескольких файлов. Эти действия можно выполнить с помощью следующих команд:

[user]$ mkdir /usr/local/src/bash/{old,new,dist,bugs}

[root]# chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

В первом случае в каталоге /usr/local/src/bash/ будут созданы подкаталоги old, new, dist и bugs. Во втором случае владелец будет изменен у файлов

  1. /usr/ucb/ex 
  2. /usr/lib/ex?.?* 
  3. /usr/ucb/edit 
  4. /usr/lib/ex?.?* 
  5. /usr/ucb/ex 
  6. /usr/lib/how_ex 
  7. /usr/ucb/edit 
  8. /usr/lib/how_ex

То есть для каждой пары скобок генерируются несколько отдельных строк (их число равно числу слов, стоящих внутри скобок) путем приписывания к каждому слову из скобок (спереди) того, что стоит перед скобкой, и приписывания в конец каждого полученного слова того, что стоит после скобки. Еще один пример: строка a{d,c,b}e при раскрытии скобок превращается в три слова "ade ace abe".

Раскрытие скобок выполняется до выполнения других видов подстановок в командной строке, причем все специальные символы, встречающиеся в командной строке, в том числе внутри скобок, сохраняются неизменными (они будут интерпретированы на следующих этапах анализа строки).

Замена тильды (Tilde Expansion)

Если слово начинается с символа тильды ('~'), все символы до первого слэша (или все символы, если слэша нет) трактуются как имя пользователя (login name).

Если это имя есть пустая строка (т. е. вслед за тильдой идет сразу слэш), то тильда заменяется на значение переменной HOME. Если значение переменной HOME не задано, тильда заменяется на полный путь к домашнему каталогу пользователя, запустившего оболочку.

Если вслед за знаком тильды (до слэша) стоит слово, совпадающее с именем одного из легальных пользователей, тильда и имя пользователя заменяются полным именем домашнего каталога этого пользователя. Если слово, следующее за тильдой, не является именем пользователя (и не пусто), то оно остается неизменным.

Если вслед за знаком тильды стоит "+", эти два знака заменяются на полное имя текущего каталога (т. е. значение переменной PWD ). Если за знаком тильды следует "-", подставляется значение переменой OLDPWD.

Подстановка параметров и переменных

Символ $ используется для обозначения операций подстановки параметров, подстановки команд и подстановок арифметических выражений. Выражение или имя, следующее за $, может быть заключено в скобки; что не обязательно, но удобно, так как позволяет отделить заменяемое выражение от следующих за ним слов или символов. Таким образом, чтобы в командной строке вызвать значение параметра (в частности, любой переменной), нужно вставить выражение вида ${parameter}.

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

Все значения переменных подвергаются подстановке знака тильды, раскрытию параметров и переменных, подстановке команд, подстановкам арифметических выражений, а также удалению специальных символов цитирования (см. ниже). Разделение слов не производится, за исключением случая "$@" (объяснение см. выше в табл. 5.2). Раскрытие шаблонов имен файлов и каталогов не производится.

Подстановка команд

Подстановка команд является очень мощным инструментом bash. Она заключается в замене имени команды на результат ее выполнения. Существует две формы подстановки команд:

$(command) и `command`

Если применяется вторая из этих форм, то обратный слэш внутри кавычек трактуется как литерал, кроме тех случаев, когда за ним следует $, `, или \. Если же используется форма $(command), все символы внутри скобок составляют команду и ни один из них не считается специальным символом.

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

Арифметичекие подстановки (Arithmetic Expansion)

Арифметические подстановки позволяют вычислить значение арифметического выражения и подставить вместо него результат. Существует две формы задания арифметических подстановок:

$[expression]

$((expression)),

где expression трактуется так, как если бы оно было заключено в двойные кавычки, но встречающиеся в expression двойные кавычки трактуются как простой литерал. Внутри expression выполняются подстановки параметров и команд.

Синтаксис выражения expression подобен синтаксису арифметических выражений в языке C, подробнее об этом можно прочитать в разделе ARITHMETIC EVALUATION man-страницы по каманде bash. Например, команда

[user]$ echo $(( 2 + 3 * 5 ))

в качестве результата выдает "17".

Если выражение некорректно, bash выдает сообщение об ошибке.

Разделение слов (word splitting)

После завершения подстановок параметров, команд и арифметических выражений оболочка снова анализирует командную строку (в том виде, который она приобрела к этому моменту) и осуществляет разделение слов (word splitting).

Эта операция заключается в том, что в командной строке ищутся все вхождения символов-разделителей, определенных в переменой IFS, и в соответствующих местах строки разделяются на отдельные слова. Если значение IFS равно пустой строке, разделение слов не производится.

Если в командной строке не производилось никаких подстановок, то разбиение на слова не производится.

Если из архива .tar(.gz) нужно извлечь конкретные файлы, то просто надо просто перечислить их в параметрах. Например, из архива archive.tar.gz надо извлечь файл public_html/index.html. Используем заклинание:

alex@test:~$ tar zxvf archive.tar.gz public_html/index


 

А также другие работы, которые могут Вас заинтересовать

69215. Статистичне вивчення підприємницької діяльності 38 KB
  Основними ознаками які дозволяють вважати те чи інше підприємство організацію установу юридичною особою є: затверджений статут в якому визначено цілі організаційну структуру права та обов’язки органів управління порядок ліквідації підприємства а також основні взаємовідносини...
69217. Статистика оплати праці 50.5 KB
  Оплата праці - сполучний елемент між державою, підприємством і окремою особою; це стимул до зростання продуктивності праці; один з елементів витрат на виробництво продукції; рівень матеріального добробуту працівників.
69218. Статистика основных фондов 28 KB
  ОПФ это здания сооружения передаточные устройства машины и оборудование транспортные средства производственный инвентарь и принадлежности хозяйственный инвентарь рабочий и продуктивный скот многолетние сады и насаждения капитальные затраты по улучшению земель...
69219. Статистичні показники 158 KB
  Статистичний показник це кількісна характеристика соціальноекономічних явищ та процесів в умовах якісного визначення тобто це міра якісного і кількісного відображення певної властивості соціальноекономічного явища чи процесу.
69220. Статистика продукції 138.5 KB
  Промислова продукція - це прямий корисний результат промислово-виробничої діяльності підприємства (фірми), виражений у формі продуктів або виробничих послуг. Отже, звідси: продукція є результатом діяльності підприємства, тому сировина та матеріали, що ще не вступили у виробництво...
69221. Статистичне спостереження, його суть, форми та помилки 112 KB
  Форми статистичного спостереження його види та способи проведення. Програмно методологічні та організаційні питання статичного спостереження. Помилки статистичного спостереження та заходи щодо їх усунення.
69222. Вибірковий метод 437 KB
  Причини і умови застосування та організації вибіркового спостереження. Так для визначення втрат при збиранні урожаю суцільне спостереження потребує значних затрат часу та коштів а при перевірці якості продукції наприклад жирності молока схожості зерна його не можна провести...