кодесурса
«Linux

Linux - Работа с содержимым файлов

script1adsense2code
script1adsense3code

Вступление

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

голова

Вы можете использовать команду head для вывода первых 10 строк каждого ФАЙЛА на стандартный вывод.

[email protected]:~$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
[email protected]:~$

Команда head также может отображать первые n строк файла.

[email protected]:~$ head -4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
[email protected]:~$

Голова также может отображать первые n байтов.

[email protected]:~$ head -c4 /etc/passwd
[email protected]:~$

хвост

Вы можете использовать команду tail для печати последних 10 строк каждого ФАЙЛА в стандартный вывод.

 [электронная почта защищена] : ~ $ tail / etc / services
vboxd 20012 / udp
binkp 24554 / tcp # binkp протокол фидонета
asp 27374 / tcp # Протокол поиска адреса
асп 27374 / удп
csync2 30865 / tcp # инструмент синхронизации кластера
dircproxy 57000 / tcp # Съемный IRC-прокси
tfido 60177 / tcp # fidonet EMSI через telnet
fido 60179 / tcp # fidonet EMSI через TCP
# Локальные услуги
[электронная почта защищена] : ~ $

Вы можете указать количество строк, которые хотите увидеть.

[email protected]:~$ tail -3 ajax-php-mysql-user-interface.html
[email protected]:~$

У команды tail есть и другие полезные опции, некоторые из которых мы будем использовать в этом курсе.

кошка

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

[email protected]:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search local
[email protected]:~$

сцеплять

кошка коротка для конкатенации. Одним из основных применений cat является объединение файлов в больший (или полный) файл.

[email protected]:~$ echo one > part1
[email protected]:~$ echo two > part2
[email protected]:~$ echo three > part3
[email protected]:~$ cat part1 part2 part3
one
two
three
[email protected]:~$

создавать файлы

Вы можете использовать кошку для создания плоских текстовых файлов. Введите команду cat> winter.txt, как показано на скриншоте ниже. Затем введите одну или несколько строк, заканчивая каждую строку клавишей ввода. После последней строки введите и удерживайте клавишу Control (Ctrl) и нажмите кнопку d.

[email protected]:~$ cat > MyTest/file1
this is demo text
^C
[email protected]:~$ cat MyTest/file1
this is demo text
[email protected]:~$

Комбинация клавиш Ctrl d отправит EOF (конец файла) запущенному процессу, заканчивающему команду cat.

пользовательский маркер конца

Вы можете выбрать конечный маркер для кошки с <<, как показано на этом скриншоте. Эта конструкция называется директивой here и завершит команду cat.

[email protected]:~$ cat > xyz.txt <<stop
> What is your name?
>  My name is prasanta.
> stop
[email protected]:~$ cat xyz.txt
What is your name?
My name is prasanta.
[email protected]:~$

копировать файлы

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

[email protected]:~$ cat xyz.txt
What is your name?
My name is prasanta.
[email protected]:~$ cat xyz.txt > mno.txt
[email protected]:~$ cat mno.txt
What is your name?
My name is prasanta.
[email protected]:~$

нолики

Команда tac (как противоположность cat) используется для объединения и печати файлов в обратном порядке.

[email protected]:~$ cat count
one 
two
three 
four
[email protected]:~$ tac count
four
three 
two
one 
[email protected]:~$

более и менее

Команда more полезна для отображения файлов, занимающих более одного экрана. Подробнее позволит вам увидеть содержимое файла страницу за страницей. Используйте пробел, чтобы увидеть следующую страницу, или q, чтобы выйти. Некоторые люди предпочитают меньшее командование большему.

строки

С помощью команды strings вы можете отобразить читаемые строки ascii, найденные в (двоичных) файлах. Этот пример находит двоичный файл ls, а затем отображает читаемые строки в двоичном файле (выходные данные усекаются).

[email protected]:~$ which ls
/bin/ls
[email protected]:~$ strings /bin/ls | more
/lib/ld-linux.so.2
,cr<
libselinux.so.1
_ITM_deregisterTMCloneTable
__gmon_start__
_Jv_RegisterClasses
_ITM_registerTMCloneTable
_init
fgetfilecon
freecon
lgetfilecon
_fini
libacl.so.1
...

Упражнение, практика и решение:

1. Отобразите первые 15 строк / etc / services.

Код:

head -15 /etc/services

2. Отобразите последнюю строку / etc / passwd.

Код:

tail -1 /etc/passwd

3. Используйте cat для создания файла с именем abc.txt, который выглядит следующим образом:

Один
Два
Три
четыре
5

Код:

cat abc.txt
One
two
Three
Four
Five
(followed by Ctrl-d)

4. Используйте cp, чтобы сделать резервную копию этого файла в xyz.txt.

Код:

cp abc.txt xyz.txt

5. Используйте cat, чтобы сделать резервную копию этого файла в grt.txt.

Код:

cat abc.txt > grt.txt

6. Отобразите abc.txt, но все строки в обратном порядке (последняя строка первая).

Код:

tac abc.txt

7. Используйте больше для отображения / var / log / messages.

Код:

more /var/log/messages

8. Отобразите читаемые символьные строки из команды / usr / bin / passwd.

Код:

strings /usr/bin/passwd

9. Используйте ls, чтобы найти самый большой файл в / etc.

Код:

ls -lrS /etc

10. Используйте cat для создания файла с именем summer.txt, который содержит содержимое файла summer.txt, за которым следует содержимое файла / etc / passwd.

Код:

cat /etc/passwd  summer.txt

11. Используйте cat для создания файла с именем summer.txt, который содержит содержимое файла summer.txt, которому предшествует содержимое файла / etc / passwd.

Код:

mv summer.txt tmp.txt ; cat /etc/passwd tmp.txt > summer.txt

Предыдущая: Linux - Работа с файлами
Далее: Linux - файловое дерево

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code