Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Нужна помощь!  (Прочитано 844 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bezlica

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Нужна помощь!
« : 28 Апреля 2013, 15:00:42 »
1) Исходное задание такое:

Написать аналог команды ls -l, выдающий имена файлов каталога и их коды доступа в формате rwxrw-r--.

Для получения кодов доступа используйте вызов stat
stat( имяФайла, &st);
кодыДоступа = st.st_mode & 0777;
Для изменения кодов доступа используется вызов
chmod(имя_файла, новые_коды);
Можно изменять коды доступа, соответствующие битовой маске
0777 | S_ISUID | S_ISGID | S_ISVTX
(смотри <sys/stat.h>). Тип файла (см. функцию typeOf) не может быть изменен. Изменить коды доступа к файлу может только его владелец.

2) Порылся в интернете и нашёл такой скрипт:
(Нажмите, чтобы показать/скрыть)
Всё отлично работает - выводит список файлов.
______________________________________

!!!)Но встаёт следующая задача:
- что нужно сделать, чтобы упорядочить по алфавиту выводящийся список файлов?
- что нужно добавить, чтобы рядом с файлом из списка выводился код доступа в формате rwxrw-r--?
______________________________________

3) Порылся ещё в интернете, наткнулся на скрипт stat, который выводит тип файла:

(Нажмите, чтобы показать/скрыть)
По отдельности всё работает. Как совместить, я не понимаю - скажем так, мне даже ничего не объясняли, а поставили задачу в лоб...
______________________________________

Кто поможет, буду признателен!
Спасибо!
______________________________________

Сайт, откуда взял скрипты:
http://www.opennet.ru/docs/RUS/bogatyrev/gl_6_1.html

На форуме ЗАПРЕЩЕНО:
2.6. Создавать темы с неинформативным названием, например «Помогите», «Пара вопросов», «Настройка Интернета» и т. п.
Измените название темы на более информативное, иначе тема будет закрыта.
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тега [спойлер], либо прикреплять к сообщению в виде отдельного файла.
А также, ознакомьтесь с Правилами форума и неукоснительно их соблюдайте.
san-alex

« Последнее редактирование: 28 Апреля 2013, 16:33:18 от san-alex »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Нужна помощь!
« Ответ #1 : 28 Апреля 2013, 15:20:10 »
ls входит в состав пакета coreutils.
Сорцы в помощь.

Оффлайн bezlica

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Нужна помощь!
« Ответ #2 : 28 Апреля 2013, 16:40:24 »
ls вообще нельзя использовать.
сторонними путями необходимо выполнить задачу.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Нужна помощь!
« Ответ #3 : 28 Апреля 2013, 16:56:35 »
ls вообще нельзя использовать.
Никто и не предлагает.
Используете его исходный код.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Нужна помощь!
« Ответ #4 : 28 Апреля 2013, 21:05:20 »
Переименуйте тему на более информативную, иначе тему закрою!
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Нужна помощь!
« Ответ #5 : 30 Апреля 2013, 09:21:55 »

!!!)Но встаёт следующая задача:
- что нужно сделать, чтобы упорядочить по алфавиту выводящийся список файлов?
- что нужно добавить, чтобы рядом с файлом из списка выводился код доступа в формате rwxrw-r--?


1) надо отсортировать - man qsort + man strcmp
2) надо поднапрячься и написать реализацию побитовые операции и условные выражения тебе в помощь

Что сессия подкралась незаметно?

А чтобы всё вместе работало, надо еще поднапрячься =) Там реально ничего сложного нет.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Нужна помощь!
« Ответ #6 : 30 Апреля 2013, 13:24:16 »
Закрываю тему так как ТС так и не удосужился переименовать тему!
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

 

Страница сгенерирована за 0.053 секунд. Запросов: 25.