Когда Вы работаете terminator -e ranger
, эмулятор терминала запускает программу ranger
непосредственно в нем. Когда Вы работаете terminator
и затем запустите ranger
в оболочке эмулятор терминала выполняет оболочку, которая работает ranger
. Основное различие - то, что интерактивный файл инициализации Вашей оболочки получен (например. ~/.bashrc
для удара, ~/.zshrc
для zsh). Если Ваш файл дистанционного управления оболочки установит некоторые переменные среды, то Вы получите различные результаты в зависимости от того, была ли программа запущена через интерактивную оболочку или нет. Здесь, похоже, что Вы устанавливаете EDITOR
или VISUAL
в Вашем .bashrc
. Если Вы не делаете, Вы получаете значение по умолчанию своей системы, которое является нано.
Фиксация должна установить переменную сред, где они должны быть установлены, т.е. в Вашем файле инициализации сессии. На большинстве установок это ~/.profile
. Не устанавливайте переменные среды в .bashrc
, .zshrc
и т.п. Посмотрите
Какие файлы настройки должны использоваться для установки переменных среды с ударом?
Различие между .bashrc и .bash_profile
Среда установки Correctly
Я не думаю, что Вы действительно ищете скорость канала, это - скорость выделенного соединения Вашего соединения. Если Вы имеете ethtool
установленный (в repos) можно использовать эту команду для получения скорости канала:
$ sudo ethtool eth0 | grep -i speed
Speed: 100Mb/s
Вы хотите видеть свою скорость пропускной способности. Сколько из общей скорости Вы используете в течение данного количества времени. Существует несколько способов считать байты eth0
интерфейс:
$ cat /sys/class/net/eth0/statistics/rx_bytes
3431530366
Существует также /proc/net/dev
, то, которому я верю, является структурой ядра, которая обеспечивает данные для ifconfig
:
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo:629956414 572909 0 0 0 0 0 0 629956414 572909 0 0 0 0 0 0
eth0:3431888253 329701689 0 0 0 0 0 359127 831203319 353144288 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Лучше все еще должен был бы использовать фактический инструмент для измерения Вашего использования пропускной способности. Здесь существует много опций:
используйте wget/curl
Они довольно просты. Выберите большой файл, чтобы загрузить и видеть статистику, о которой сообщает любой инструмент после того, как это будет завершено.
$ wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
-or-
$ curl -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
используйте cli контролирующий инструмент
В этой категории существуют многочисленные инструменты. Вот пара для запущения Вас.
используйте speedtest-cli
Это использует почтенный веб-сайт speedtest.net из командной строки.
$ ./speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Comcast Cable (x.x.x.x)...
Selecting best server based on ping...
Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 ms
Testing download speed........................................
Download: 32.29 Mbit/s
Testing upload speed..................................................
Upload: 5.18 Mbit/s
используйте iperf
Для этого Вы установите свой собственный сервер и клиент и затем измерите уровень пропускной способности между двумя из Ваших компьютеров. Это - лучшее в том смысле, что Вы получите больше точной картины своего компьютера/производительности сети, чем в зависимости от производительности определенной интернет-цели.
на сервере:
$ iperf -s
на клиенте:
$ iperf -c myserver.mydom
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 113 MBytes 94.7 Mbits/sec
Я действительно согласен с вашим вопросом и ответами, таким образом, я действительно могу сделать это в одной строке:
m1=`cat /sys/class/net/eth0/statistics/tx_bytes` ; sleep 10s ; m2=`cat /sys/class/net/eth0/statistics/rx_bytes` ; echo $((($m2-$m1)/10240))
и он принтет довольно хорошо.
в более сложном порядке:
#!/bin/bash
intervalo=3
info="/sys/class/net/"
cd $info
for interface in eth*
do
rx1=`cat $info$interface/statistics/rx_bytes`
tx1=`cat $info$interface/statistics/tx_bytes`
`sleep $((intervalo))s`
rx2=`cat $info$interface/statistics/rx_bytes`
tx2=`cat $info$interface/statistics/tx_bytes`
echo $interface
echo ----
echo RX: $((($rx2-$rx1)/($intervalo*1024))) Kbps
echo TX: $((($tx2-$tx1)/($intervalo*1024))) Kbps
done
, который работает нормально, но может быть улучшен с использованием массивов для сохранения каждого результата интерфейса, поэтому ему нужно было бы только сделать сон для всех интерфейсов, а не один из них.
ip -s link show eth0
или использоватьiftop
. – jofel 05.08.2013, 15:00ethtool
), это находится в/sys/class/net/<interface>/speed
- возможно зависящий от Вашей версии ядра и как Вы настроили его. Единицы являются Мбит/с. – Toby Speight 05.02.2018, 17:34