Wezwanie systemowe LSEEK zostało użyte do odczytania określonych znaków lub danych z pliku lub do zapisu niektórych treści w określonej lokalizacji dowolnego pliku. Oznacza to, że możesz odczytać lub pisać między zawartością pliku.
Składnia:
OFF_T LSEEK (int fd, off_t offset, int hence);
To połączenie systemowe „LSEEK” wymaga dwóch plików nagłówka, e.G., „Sys/typy.h ”i„ unistd.H". Połączenie systemowe LSEEK wymaga trzech parametrów. Pierwszy to „FD”, który jest deskryptorem pliku. Drugi to „offset”, używany do ustawienia wskaźnika. A trzeci parametr „skąd” służy do określenia pozycji wskaźnika pliku, e.G., początek, koniec, w połowie.
Zainstaluj strony:
Aby sprawdzić dodatkowe informacje dotyczące połączeń systemowych, musisz zainstalować pakiet ManPage-dev. Spróbuj więc uruchomić terminal Linux Shell za pomocą klawisza skrótu Ctrl+ alt+ t lub przeszukaj go z obszaru aktywności. Po pomyślnym uruchomieniu terminal polecenia wykonaj poniższe zapytanie instalacyjne APT, aby zainstalować bibliotekę ManPage-dev. Wymaga to, aby kod przełębia bieżącego kontynuowania instalacji. Wprowadź hasło i dotknij klawisza Enter od maszyny do pisania. Proces instalacji zostanie uruchomiony i rozpocznie gromadzenie informacji.
$ sudo apt Zainstaluj ManPages-devProces instalacji sprawi, że będziesz czekać na trochę czasu. Po zakończeniu instalacji możesz teraz sprawdzić informacje dotyczące polecenia „LSEEK”. Więc napisz poniższe polecenie „Man 2” wraz z nazwą wywołania systemu. Jak widać, sprawdzamy „Lseek” w poniższej instrukcji.
$ man 2 lseekStrona Man dla połączenia systemowego „LSEEK” została otwarta poniżej. Możesz uzyskać wszystkie informacje dotyczące tego.
Zainstaluj kompilator GCC:
Teraz nadszedł czas, abyśmy zainstalowali kompilator GCC do kompilacji plików języka C. Musisz więc użyć bardzo prostego polecenia apt instal w powładzie, aby zainstalować je podczas używania rozszerzenia kompilatora jako nazwy słowa kluczowego poniżej.
$ sudo apt instal gccWykonanie instalacji zajmie ci mały czas. Po zainstalowaniu pakietu GCC system Linux jest gotowy do użycia w nim plików języka c.
Przykład 01:
Zanim przejdź głęboko, aby zrozumieć koncepcję wywołania systemu LSEEK, musisz zacząć od prostego typu pliku. Więc uruchom terminal i wypróbuj poniższe polecenie dotykowe, aby utworzyć prosty plik o nazwie „Seek” w katalogu domowym dystrybucji Linux.
$ Touch SeekDodaj kilka danych do pliku „szukaj” i zapisz je. Możesz zobaczyć plik „szukaj” zawartości w skorupce wiersza polecenia za pomocą prostego zapytania „CAT” poniżej. Treść pliku ma niektóre alfabety i liczby wraz ze znakiem „*”.
$ cat szukaUtwórzmy plik typu C „test test.c ”Używając słowa kluczowego nano, aby bezpośrednio otworzyć go z nano edytorem. Spróbuj wykonać poniższe polecenie, aby to zrobić.
Test $ nano.CSprawdźmy jeden program bez polecenia LSEEK. Otworzy edytor tekstu nano z plikiem typu c wspomnianym po górnej stronie. Teraz napisz poniższy kod z obrazu w pliku edytora C. Pierwsze 4 wiersze zawierają pliki nagłówka niezbędne do wdrożenia polecenia „LSEEK”. Następnie rozpoczęto główną funkcję. W tej głównej metodzie zdefiniowaliśmy dane liczb całkowitych i postaci. Trzeci wiersz głównej funkcji jest używany otwarty wywołanie, aby otworzyć plik o nazwie „Seek”, który właśnie stworzyliśmy powyżej, a przesunięcie „O_RDWR” zostało użyte do czytania i pisania uprawnień. Treść z pliku została zwrócona do deskryptora pliku „F”. Następnie użyliśmy pierwszego wywołania metody odczytu do odczytania 12 danych znaków z pliku wyszukiwania. Funkcja zapisu została użyta do zapisywania danych na ekranie. Kolejne polecenie odczytu zostało użyte do uzyskania następnych 12 znaków z deskryptora pliku „F”, a polecenie zapisu odczytuje następne 12 znaków na ekranie wyjściowym. Z tego możemy założyć, że wyjście pokaże w sumie 24 znaki z pliku „szukaj”. Naciśnij Ctrl+S, aby zapisać ten plik i spróbuj Ctrl+X, aby go zamknąć.
Po prostu skompilujmy „test.plik c ”za pomocą poniższego polecenia kompilatora GCC.
Test $ GCC.CTeraz uruchom kod „testu.plik C ”, aby sprawdzić wyjście kodu C, jak podano poniżej. Dane wyjściowe wyświetliło 24 -znakowy zestaw treści z pliku, jak poniżej.
$ ./A.na zewnątrzUżyjmy polecenia „LSEEK” w kodzie, aby sprawdzić wyjście połączenia systemowego. Więc otwórz ten sam test.plik C za pomocą poniższego polecenia Nano.
Test $ nano.CZaktualizuj swój kod takim, jakim jest. Tym razem używamy 6 znaków z pliku treści do odczytania i zapisu. Polecenie LSEEK zostało użyte do pominięcia następnych 5 znaków z pliku zawartości i przejścia do następnych znaków za pomocą przesunięcia „Seek_Cur”.
Ponownie skompilujmy ten kod.
Test $ GCC.CWyjście kodu C za pomocą a.Wykazanie wyświetla pierwsze 6 znaków, następnie pomija następne 5 znaków, a następnie pokazuje kolejne 6 znaków.
$ ./A.na zewnątrzPrzykład 02:
Aby mieć pewną zmianę, zmieńmy kod. Najpierw otwórz plik.
Test $ nano.CTeraz będziemy używać przesunięcia „Seek_set”, aby poinformować system systemowy „LSEEK”, aby pokazać następne 6 znaków z 10. pozycji ciągu.
Skompiluj plik C.
Test $ GCC.CPolecenie wyjściowe a.Out pokazuje 6 znaków z 10. indeksu ciągu.
Wniosek:
W tym przewodniku wykonał kilka prostych przykładów korzystania z komendy systemowej „LSEEK”, aby sprawdzić lub wyświetlać treść lub dane z dowolnej pozycji.