terça-feira, 27 de outubro de 2015

Argumentos de Programas

Ls –l *.txt

Ls –lart

 

help

Quase todos os comandos aceitam o help

 

[fe@localhost testes]$ ls --help

Usage: ls [OPTION]... [FILE]...

List information about the FILEs (the current directory by default).

Sort entries alphabetically if none of -cftuvSUX nor --sort.

 

Mandatory arguments to long options are mandatory for short options too.

-a, --all do not ignore entries starting with .

-A, --almost-all do not list implied . and ..

 

Mais de um comando

Usa-se o ponto e virgule ;

[fe@localhost testes]$ echo $PS1; echo $PS2

[\u@\h \W]\$

> 

 

Arquivo History

É um histórico de todos os comandos utilizados.

Localizado em um arquivo chamado: .bash_history

Fica localizado na home do usuário

 

Quando você digitar a palavra “ env “ , deve visualizar quantas linhas estão ficando armazenadas nesse arquivo. No meu caso, 1000 .

 

HISTSIZE=1000

 

Env

Digite env para visualizar as variáveis de ambiente

 

[fe@localhost ~]$ env

ORBIT_SOCKETDIR=/tmp/orbit-fe

HOSTNAME=localhost.localdomain

GIO_LAUNCHED_DESKTOP_FILE_PID=2696

TERM=xterm

SHELL=/bin/bash

HISTSIZE=1000

XDG_SESSION_COOKIE=74cf085dc6fb8f5c5a7f8d7500000019-1445430352.96028-748845191

GTK_RC_FILES=/etc/gtk/gtkrc:/home/fe/.gtkrc-1.2-gnome2

WINDOWID=54525955

OLDPWD=/home

USER=fe

 

Localizando o arquivo history

Cat ~/.bash_history

Ou digite simplesmente

History

[root@localhost fe]# history

1 pwd

2 cd /root/home

3 ls

Digite !! para o último comando

!n – número da linha do bash_history

!texto – digita !+algum texto do comando

!?texto – algum comando com o texto

[root@localhost fe]# !?pw

pwd

/home/fe

 

Descobrindo o tipo de Shell

Verificando o conteúdo da variável shell

[root@localhost fe]# echo $SHELL

/bin/bash

 

CD – change directory

Navegar pela arvore de diretórios

[root@localhost fe]# cd /

O / é como o C: do Windows – diretório raiz

[root@localhost /]# cd

Digitar cd sem nada vai para o home do usuário

[root@localhost ~]#

 

PWD – Mostra o diretório que esta

[root@localhost ~]# pwd

/root

 

Caminho absoluto e caminho relativo

Caminho absoluto é o caminho propriamente dito.

[root@localhost httpd]# pwd

/var/log/httpd

 

Caminho relativo é a referência para acessar um diretório.

[root@localhost httpd]# ls ../../

account cache crash db empty games gdm lib local lock log mail nis opt preserve run spool tmp www yp

 

.. e .

.. Faz referência a um diretório acima do diretório corrente.

 

[root@localhost httpd]# pwd

/var/log/httpd

[root@localhost httpd]# cd ..

[root@localhost log]# pwd

/var/log

 

. Faz referência ao diretório corrente. Utilizado para executar um comando que não esteja no PATH

./imprima

 

~ diretório home

Cat ~/myfiles.txt

Cat ~fe/arquivo.txt

 

 

 

 

 

 

 

 

 

quarta-feira, 21 de outubro de 2015

Shell, Variáveis Ambientais,

O Shell

É uma parte do sistema operacional, responsável por interagir com o usuário.

O shell é um interpretador de comandos que analisa o texto digitado na linha de comandos, e os executa, produzindo algum resultado.

Ira analisar e interpretar aquilo que foi pedido e trazer o resultado para o usuário. 

Hierarquia Linux

 

Hardware > Kernel (Coração do Sistema Operacional) > Bibliotecas > Shell (Interpreta os comandos do usuário) > Usuário ou programas executando alguma função.

 

Toda vez que o usuário digita algum comando, como o " ls ", o prompt do shell interpretou o comando, consulta as bibliotecas, para verificar se reconhece o comando, depois vai até o Kernel, para solicitar a informação de disco. O Kernel foi até o Hardware. Esse resultado é jogado num endereço de memória e será mostrado ao usuário o resultado desse comando.

 

$ - é o prompt do shell (algumas variações são permitidas, como hostname, nome de usuário, etc.)

Mostra que é um usuário comum que está utilizando a máquina.

 

# - super usuário que está utilizando o sistema

 Super usuário é um administrador de sistemas Linux. Ele pode fazer tudo no sistema. Muitas vezes conhecido como "root"

 

Existem várias shells, com suas funções e configurações especificas.

1o - C-shell

 

Mais utilizado hoje é o BASH (Born again shell)

 

além de interpretar comandos, fornece um poderoso ambiente de programação, capaz de automatizar praticamente tudo em um sistema Linux.

 

--- Variáveis ambientais

Variáveis especiais que contem alguma informação importante para o Shell.

Podem ser criadas ou destruídas pelo usuário a qualquer momento.

 

1a variável - PS1 - prompt string 1 - é o $

2a variável - PS2 - quando um comando em uma linha só, é o sinal que vai aparecer para o usuário indicando que está utilizando mais de uma linha para digitar o comando. 

 

Fornecem algumas informações uteis ao prompt.  

 

[fe@localhost testes]$ echo $PS1
[\u@\h \W]\$

 

\u@ - nome de usuário

\h - nome da maquina

\W - nome da pasta corrente

 

\ - o caractere barra significa que qualquer outro caractere que o sucede deve ser interpretado exatamente como ele é e não processado pelo shell. São metacaracteres.

 

Linux é case-sensitive, ou seja, diferencia letras maiúsculas e minúsculas.

 

--- Variável PATH

O path guarda uma lista dos diretórios que contém os programas que pode ser acessado, como um atalho. 

 

[fe@localhost testes]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/fe/bin
 

O usuário pode alterar o conteudo de qualquer variável ambiental a hora que ele quiser

 

--- Diretório HOME

 

O shell tem como referência o subdiretório aonde o usuário pode fazer o que quiser. Seu home.

 

--- Ordem de execução

1o - o comando digitado é um comando interno do interpretador de comandos?

2o - O programa está localizado em algum diretório localizado na variável path

3o - a localização do comando foi explicitamente declarada?

 

--- SET

 

Lista completa de variáveis - comando set

 [fe@localhost testes]$ set

COLORS=/etc./DIR_COLORS
COLORTERM=gnome-terminal
COLUMNS=143
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-WipUsZBcLm,guid=eb0a595373169a1714686a2600000068
DESKTOP_SESSION=gnome
DIRSTACK=()
DISPLAY=:0.0
EUID=500
GDMSESSION=gnome
GDM_KEYBOARD_LAYOUT=br
 

--- criando variáveis ambiental local

 

[fe@localhost testes]$ Linux="sistema operacional"
[fe@localhost testes]$ export Linux

 

Quando uso o comando export, a variável vai para as variáveis globais, para que todos programas possam ter acesso a variável. 

 

--- Palavras reservadas

Case, do, done, elif, else, esac, fi, for, function, if, in, select, then, until, while, time

 

Podem ser enviados, junto com o comando, o caractere “- “ou “— “para enviar algum argumento.

 

[fe@localhost testes]$ ls -lta

total 20

-rw-rw-r--.  1 fe fe   12 Oct 21 05:30 teste.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:29 texto.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:28 texto1.txt

drwxrwxr-x.  2 fe fe 4096 Oct 21 05:28 .

drwx------. 27 fe fe 4096 Oct 21 05:27 ..


-a – mostra arquivos ocultos

-t – mostra arquvos pela última data de modificação

 

-a e –all produzem o mesmo efeito

 

[fe@localhost testes]$ ls --all

.  ..  teste.txt  texto1.txt  texto.txt

fe@localhost testes]$ ls -lt --all

total 20

-rw-rw-r--.  1 fe fe   12 Oct 21 05:30 teste.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:29 texto.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:28 texto1.txt

drwxrwxr-x.  2 fe fe 4096 Oct 21 05:28 .

drwx------. 27 fe fe 4096 Oct 21 05:27 ..

 

**** Não pode “ ls –lsallt “

 

Alguns comandos podem aceitar argumentos:

[fe@localhost testes]$ ls -l *.txt

-rw-rw-r--. 1 fe fe 12 Oct 21 05:30 teste.txt

-rw-rw-r--. 1 fe fe  4 Oct 21 05:28 texto1.txt

-rw-rw-r--. 1 fe fe  4 Oct 21 05:29 texto.txt