Системное программирование: Как собрать информацию?

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

Если у Вас есть более старая версия pdftk, можно использовать этот сценарий Python с библиотекой PyPdf. (Предупреждение, введенный непосредственно в браузер.)

#!/usr/bin/env python
import sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for i in range(0,input.getNumPages()):
    output.addPage(input.getPage(i).rotateClockwise(90 if i%2==0 else -90))
output.write(sys.stdout)

7
13.04.2017, 15:36
2 ответа

Можно использовать руководство Glibc в качестве ссылки. Это не для абсолютных новичков, но если Вы обоснованно бегло говорите на C, необходимо смочь считать раздел и записать рабочую программу.

Можно найти источник инструментов GNU на веб-сайте GNU; самый легкий способ получить его состоит в том, чтобы получить исходные пакеты на Вашем дистрибутиве Linux (например. apt-get source coreutils если Ваше распределение использует Debian упаковочные утилиты). Я рекомендую запуститься с BusyBox, а не инструментов GNU. BusyBox является рядом утилит для встроенных систем Linux; это меньше и более просто, чем утилиты GNU.

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

Для изучения книга (на бумаге) обычно полезна. Усовершенствованное Программирование в UNIX® Environment (APUE) является классиком. Если Вы получаете его, удостоверьтесь, что получили второй выпуск, поскольку первое вполне датировано. Эта книга является ссылкой, но другие книги могут более подойти для новичков; присмотреться к ценам.

9
27.01.2020, 20:17

На Linux, управляет как ps,free и top реализованы, чтение информация из proc файловой системы.

   The proc file system is a pseudo-file system which is used as an inter-
   face to kernel data structures.  It is commonly mounted at /proc.  Most
   of  it  is  read-only,  but  some  files  allow  kernel variables to be
   changed.

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

1
27.01.2020, 20:17

Теги

Похожие вопросы