Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Terminal onthoudt opdrachten niet  (gelezen 703 keer)

Terminal onthoudt opdrachten niet
« Gepost op: 2015/07/03, 17:53:31 »
Ik ben opnieuw over gestapt van Arch Linux naar Xubuntu 14.04.2 LTS (64-bits). Ik vind laatstgenoemde persoonlijk nog net iets intuïtiever werken.
Als ik echter via de Terminal een update probeer uit te voeren, lijkt hij de volgende maal de opdracht niet te onthouden.
Een voorbeeld van een opdracht:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Normaal gezien moet ik toch via de pijltjestoets omhoog de laatste ingevoerde opdrachten opnieuw kunnen oproepen?
Dit schijnt niet te lukken of is die functie verdwenen in  Xubuntu 14.04.2 LTS?
Linux Mint 18.3  Xfce

Offline Tom

  • Lid
Re: Terminal onthoudt opdrachten niet
« Reactie #1 Gepost op: 2015/07/03, 17:56:52 »
Nee die bestaat nog altijd ,kijk een in uw home map bij verborgen mappen naar bash_history daar staan de gebruikte commando´s in.
Netbook Xuby Xenial 16.04.5 Lts (totaal gestripte versie). Desktop Xuby Bionic 18.04.6 Lts Gestripte versie - Laptop Xuby Bionic 18.04.6 Lts. Ubuntu CoC Signed.Yes.

Re: Terminal onthoudt opdrachten niet
« Reactie #2 Gepost op: 2015/07/03, 18:04:40 »
Mijn bash history blijkt leeg te zijn. Ik merk echter wel een bestandje ernaast op en dat noemt 'bash _logout'
De inhoud van dit bestand is:
# ~/.bash_logout: executed by bash(1) when login shell exits.

# when leaving the console clear the screen to increase privacy

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

Zou dit de boosdoener kunnen zijn? Mag ik dit bestand verwijderen?
Linux Mint 18.3  Xfce

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Terminal onthoudt opdrachten niet
« Reactie #3 Gepost op: 2015/07/03, 18:12:42 »
Die heeft er niks mee te maken dus die zou ik laten staan.

Of de geschiedenis van je commando's bijgehouden moet worden wordt ingesteld in ~/.bashrc.
Ik zou dus eerst eens in dat bestand duiken om te zien of die wel klopt.

Re: Terminal onthoudt opdrachten niet
« Reactie #4 Gepost op: 2015/07/03, 18:31:04 »
Waar kan ik dit bestand terug vinden: ~/.bashrc.? In welke map zit dit of wat is het pad?
Linux Mint 18.3  Xfce

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Terminal onthoudt opdrachten niet
« Reactie #5 Gepost op: 2015/07/03, 18:37:57 »
Die zou naast ~/.bash_logout moeten staan.
.bashrc is een verborgen bestand in je eigen home map.

Re: Terminal onthoudt opdrachten niet
« Reactie #6 Gepost op: 2015/07/03, 18:44:02 »
Gevonden maar ik weet niet wat ik er precies moet in doen?
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
Linux Mint 18.3  Xfce

Offline EZ-man

  • Lid
Re: Terminal onthoudt opdrachten niet
« Reactie #7 Gepost op: 2015/07/03, 19:09:26 »
Controleer wie de eigenaar is van bash_history  (kan je bv. doen met gnome commander). Zie ook: http://askubuntu.com/questions/205800/bash-doesnt-keep-history

Wijzig de owner eventueel met :
$chown user:user .bash_history

Re: Terminal onthoudt opdrachten niet
« Reactie #8 Gepost op: 2015/07/03, 20:00:26 »
Blijkbaar wordt die opdracht niet herkend.
alain@alain-G41M-ES2L:~$ $chown user:alain@alain-G41M-ES2L .bash_history
Linux Mint 18.3  Xfce

Offline EZ-man

  • Lid
Re: Terminal onthoudt opdrachten niet
« Reactie #9 Gepost op: 2015/07/03, 20:04:22 »
@koffieboon, dit is de bedoeling
sudo chown alain:alain .bash_history
PS: ik heb de inlognaam gegokt.  ^-^

Re: Terminal onthoudt opdrachten niet
« Reactie #10 Gepost op: 2015/07/03, 20:23:59 »
Nog eenvoudiger is dat bestandje .bash_history verwijderen.
Bij de volgende login wordt die weer aangemaakt, zo niet is er iets mis.
MvG,
MauRice
Registered Linux user: 473556

Re: Terminal onthoudt opdrachten niet
« Reactie #11 Gepost op: 2015/07/03, 22:10:50 »
PS: ik heb de inlognaam gegokt.  ^-^

Tip voor een volgende keer. In plaats van te gokken of een placeholder zoals <gebruikersnaam> te gebruiken, vervang deze door $USER of $HOME. Zo kan de vraagsteller het commando gewoon kopieren zonder deze wijzigingen nog te doen.

$ echo $USER
timo
$ echo $HOME
/home/timo

Offline EZ-man

  • Lid
Re: Terminal onthoudt opdrachten niet
« Reactie #12 Gepost op: 2015/07/03, 22:20:20 »
@Nunslaughter, dat is een wijze les, dank je. Die notatiewijze zag je niet veel hier op het forum. Ik hoop dat het hier breder wordt toegepast.

Re: Terminal onthoudt opdrachten niet
« Reactie #13 Gepost op: 2015/07/03, 22:28:32 »
Nog eenvoudiger is dat bestandje .bash_history verwijderen.
Bij de volgende login wordt die weer aangemaakt, zo niet is er iets mis.

Heb ik gedaan maar na in de terminal geweest te zijn en de computer te hebben herstart, zie ik geen .bash-history meer staan.
Linux Mint 18.3  Xfce

Re: Terminal onthoudt opdrachten niet
« Reactie #14 Gepost op: 2015/07/04, 07:07:20 »
Ondertussen heb ik het bestandje terug en zie ik een aantal terminal-opdrachten erin staan (zoals date, time, who am i,...)
Tik ik echter onderstaande  opdracht in de terminal, wordt ze niet onthouden:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Linux Mint 18.3  Xfce

Re: Terminal onthoudt opdrachten niet
« Reactie #15 Gepost op: 2015/07/04, 07:27:51 »
Nog eenvoudiger is dat bestandje .bash_history verwijderen.
Bij de volgende login wordt die weer aangemaakt, zo niet is er iets mis.

Heb ik gedaan maar na in de terminal geweest te zijn en de computer te hebben herstart, zie ik geen .bash-history meer staan.

In /etc/skel staan de standaard bestanden van oa .bashrc
Je kan deze met elkaar vergelijken eventueel de orginele .bashrc hernoemen en die uit /etc/skel kopieren en gebruiken.
MvG,
MauRice
Registered Linux user: 473556

Re: Terminal onthoudt opdrachten niet
« Reactie #16 Gepost op: 2015/07/04, 07:48:06 »
Ik ben opnieuw over gestapt van Arch Linux naar Xubuntu 14.04.2 LTS (64-bits). Ik vind laatstgenoemde persoonlijk nog net iets intuïtiever werken.
Als ik echter via de Terminal een update probeer uit te voeren, lijkt hij de volgende maal de opdracht niet te onthouden.
Een voorbeeld van een opdracht:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Normaal gezien moet ik toch via de pijltjestoets omhoog de laatste ingevoerde opdrachten opnieuw kunnen oproepen?
Dit schijnt niet te lukken of is die functie verdwenen in  Xubuntu 14.04.2 LTS?

Mijn 2 cents bijdrage:
Terminalopdrachten onthouden kun je uitzetten en dus ook weer aanzetten.
Ik zet ze soms uit. Sporen achterlaten is soms niet handig.
Hoe doe ik dat:
In de terminal rechtermuisknop
Kies voor voorkeuren.
Zet terugbladeren op 0 (NULL).
Alle terminalopdrachten worden vergeten.

Op die manier kun je dat ook weer aanzetten.
Standaard is 1000.


Xubuntu 15.04

Offline Nero

  • Lid
Re: Terminal onthoudt opdrachten niet
« Reactie #17 Gepost op: 2015/07/05, 15:38:09 »
Bijkomend: als een terminal opdracht begint met een spatie wordt deze niet opgenomen in de history.

De history wordt slechts weggeschreven bij het uitloggen uit de terminal. Wil je alle (onthouden) opdrachten zien geef dan het commandohistory. Daar krijg je ook de opdrachten die nog niet zijn weggeschreven.

@aandendijk: het aantal lijnen in de voorkeuren slaat op het terugbladeren in de terminal in de huidige sessie, niet op het aantal onthouden opdrachten.
« Laatst bewerkt op: 2015/07/05, 15:40:13 door Nero »