Я пытаюсь получить содержимое любого файла /proc/*PID*/environ в более читаемом формате. Я могу сделать это так, как показано ниже, но я уверен, что это не так.
$ cat "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spasTEXTDOMAIN=im-configXDG_SEAT=seat0XDG_SESSION_TYPE=waylandSHLVL=1QT4_IM_MODULE=ximHOME=/home/spasDESKTOP_SESSION=ubuntuGNOME_SHELL_SESSION_MODE=ubuntuDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busIM_CONFIG_PHASE=2LOGNAME=spasGTK_IM_MODULE=ibusJOURNAL_STREAM=9:147845_=/usr/bin/gnome-sessionUSERNAME=spasXDG_SESSION_ID=70PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binXDG_RUNTIME_DIR=/run/user/1000LANG=en_US.UTF-8XDG_CURRENT_DESKTOP=ubuntu:GNOMEXDG_SESSION_DESKTOP=ubuntuXMODIFIERS=@im=ibusSHELL=/bin/bashGDMSESSION=ubuntuTEXTDOMAINDIR=/usr/share/locale/XDG_VTNR=2QT_IM_MODULE=ximPWD=/home/spasCLUTTER_IM_MODULE=ximXDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktopXDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spas^@TEXTDOMAIN=im-config^@XDG_SEAT=seat0^@XDG_SESSION_TYPE=wayland^@SHLVL=1^@QT4_IM_MODULE=xim^@HOME=/home/spas^@DESKTOP_SESSION=ubuntu^@GNOME_SHELL_SESSION_MODE=ubuntu^@DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus^@IM_CONFIG_PHASE=2^@LOGNAME=spas^@GTK_IM_MODULE=ibus^@JOURNAL_STREAM=9:147845^@_=/usr/bin/gnome-session^@USERNAME=spas^@XDG_SESSION_ID=70^@PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin^@XDG_RUNTIME_DIR=/run/user/1000^@LANG=en_US.UTF-8^@XDG_CURRENT_DESKTOP=ubuntu:GNOME^@XDG_SESSION_DESKTOP=ubuntu^@XMODIFIERS=@im=ibus^@SHELL=/bin/bash^@GDMSESSION=ubuntu^@TEXTDOMAINDIR=/usr/share/locale/^@XDG_VTNR=2^@QT_IM_MODULE=xim^@PWD=/home/spas^@CLUTTER_IM_MODULE=xim^@XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop^@XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg^@
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ" | sed 's/\^@/\n/g'
USER=spas
TEXTDOMAIN=im-config
XDG_SEAT=seat0
XDG_SESSION_TYPE=wayland
...
Возможно, мне нужно назначить определенное значение $IFS, но что это такое? Каков правильный способ достижения вышеуказанного результата?
Записи разделены нулевым символом, см. man 5 proc:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
. Таким образом, простой способ заключается в применении к нему xargs -0 -L1:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0 - читать строки с нулевым ограничением, -L1 - читать одну строку за выполнение команды -a file читать строки из file, и если команда не указана, xargs просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z для sed, sort, uniq, grep и т. д. и для имен файлов -print0 с [ f18] и -Z с помощью grep.
В качестве альтернативы вы можете использовать простой старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d '' сообщает read читать до нулевого байта, [ f22] и -r предотвращают разделение поля и обратную косую черту, так что данные считываются как есть, %q будет вызывать специальные символы на выходе.
Поскольку вы использовали sed, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывается на новую строку в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
. Таким образом, простой способ заключается в применении к нему xargs -0 -L1:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0 - читать строки с нулевым ограничением, -L1 - читать одну строку за выполнение команды -a file читать строки из file, и если команда не указана, xargs просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z для sed, sort, uniq, grep и т. д. и для имен файлов -print0 с find и -Z с помощью grep.
В качестве альтернативы вы можете использовать простой старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d '' сообщает read читать до нулевого байта, IFS= и -r предотвращают разделение поля и обратную косую черту, так что данные считываются как есть, %q будет вызывать специальные символы на выходе.
Поскольку вы использовали sed, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывается на новую строку в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
. Таким образом, простой способ заключается в применении к нему xargs -0 -L1:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0 - читать строки с нулевым ограничением, -L1 - читать одну строку за выполнение команды -a file читать строки из file, и если команда не указана, xargs просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z для sed, sort, uniq, grep и т. д. и для имен файлов -print0 с find и -Z с помощью grep.
В качестве альтернативы вы можете использовать простой старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d '' сообщает read читать до нулевого байта, IFS= и -r предотвращают разделение поля и обратную косую черту, так что данные считываются как есть, %q будет вызывать специальные символы на выходе.
Поскольку вы использовали sed, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывается на новую строку в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
Записи разделены нулевым символом, см. man 5 proc
:
/proc/[pid]/environ
This file contains the environment for the process. The entries
are separated by null bytes ('\0'), and there may be a null byte
at the end.
Таким образом, простой способ заключается в применении к нему xargs -0 -L1
:
$ xargs -0 -L1 -a /proc/self/environ
LC_CTYPE=UTF-8
USER=muru
LOGNAME=muru
HOME=/home/muru
MAIL=/var/mail/muru
SHELL=/bin/zsh
...
-0
- читать строки с нулевым ограничением, -L1
- читать одну строку за выполнение команды -a file
читать строки из file
xargs
просто печатает строку. Различные команды GNU имеют опции для работы с данными с нулевым ограничением: -z
для sed
, sort
, uniq
, grep
и т. д. и для имен файлов -print0
с find
и -Z
с помощью grep.
Кроме того, вы можете используйте обычный старый bash:
while IFS= read -d '' -r line
do
printf "%q\n" "$line"
done < /proc/.../environ
-d ''
сообщает read
читать до нулевого байта, IFS=
и -r
предотвращают разделение поля и обратную косую черту, так что данные read as-is, %q
будет вызывать специальные символы на выходе.
Поскольку вы использовали sed
, вы могли бы сделать:
sed -z 's/$/\n/' /proc/.../environ
, который просто накладывает на newline в конце каждой строки с нулевым ограничением.
xargs
для печати, я не знал об этом
– Vincent Fourmond
22 November 2017 в 00:43
cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. Или фильтруйте через tr, переводя нули в строки новой строки: tr '\0' '\n' </proc/$pid/environ
Или просто придерживайтесь своей sed версии ... Вы можете использовать strings следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Пример вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
man strings
NAME strings - print the strings of printable characters in files.
ОПИСАНИЕ For each file given, GNU strings prints the printable character
sequences that are at least 4 characters long (or the number given with
the options below) and are followed by an unprintable character. By
default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the
strings from the whole file.
strings is mainly useful for determining the contents of non-text
files.
cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. Или фильтруйте через tr, переводя нули в строки новой строки: tr '\0' '\n' </proc/$pid/environ
Или просто придерживайтесь своей sed версии ... Вы можете использовать strings следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Пример вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
man strings
NAME strings - print the strings of printable characters in files.
ОПИСАНИЕ For each file given, GNU strings prints the printable character
sequences that are at least 4 characters long (or the number given with
the options below) and are followed by an unprintable character. By
default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the
strings from the whole file.
strings is mainly useful for determining the contents of non-text
files.
cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. Или фильтруйте через tr, переводя нули в строки новой строки: tr '\0' '\n' </proc/$pid/environ
Или просто придерживайтесь своей sed версии ... Вы можете использовать strings следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Пример вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
man strings
NAME strings - print the strings of printable characters in files.
ОПИСАНИЕ For each file given, GNU strings prints the printable character
sequences that are at least 4 characters long (or the number given with
the options below) and are followed by an unprintable character. By
default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the
strings from the whole file.
strings is mainly useful for determining the contents of non-text
files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
... Вы можете использовать strings
следующим образом:
strings /proc/$(pgrep gnome-session -n -U $UID)/environ
Образец вывода:
$ strings /proc/$(pgrep gnome-session -n -U $UID)/environ
GNOME_KEYRING_PID=
LANGUAGE=en_US
J2SDKDIR=/usr/lib/jvm/java-8-oracle
LC_TIME=en_US.UTF-8
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
COMPIZ_CONFIG_PROFILE=ubuntu
SESSION=ubuntu
NAME
strings - print the strings of printable characters in files.
ОПИСАНИЕ
blockquote>For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. strings is mainly useful for determining the contents of non-text files.
cut
: cut -d '' -f1- --output-delimiter=$'\n' /proc/$pid/environ
, используя нуль в качестве разделителя, и вывод разделителя новой строки, необязательно выбирающий только определенные поля / строки. tr
, перевод нулей в строки новой строки: tr '\0' '\n' </proc/$pid/environ
sed
...