Comandos Linux para Totós – Tutorial nº3

40 Comentários

Criar ficheiros/directórios/subdirectórios
Ora cá estamos nós para mais uma rubrica “Comandos Linux para Totós”! Depois de termos apresentado alguns comandos básicos no tutorial nº1 (ver aqui) e tutorial nº2 (ver aqui), hoje vamos aprender como criar uma estrutura de directórios/subdirectórios e também criar alguns ficheiros. No final do artigo estão também algumas dicas fantásticas que os nossos leitores vão deixando nos comentários.

Prontos para mais uma viagem no “terminal preto”?  Ora vamos lá!

linux_totos

Relembramos que para acompanharem estes tutoriais é necessário que possuam um terminal Unix/Linux para ir experimentando e aprendendo os comandos apresentados. Para os que já dominam a matéria, lanço desde já o desafio de colaborarem nesta rubrica (podem enviar os vossos artigos para mim).

Como já referimos em alguns artigos, a shell (terminal) do Linux permite introduzir comandos. Através dos comandos podemos realizar quase todas as tarefas possíveis num sistema como por exemplo copiar ficheiros, criar/apagar directórios, controlar serviços, etc.

whoamipwdid whodatecal | man | hostname | uptime | history | uname | lsb_release | df … ainda se lembram? Se não, vejam aqui e aqui

Para o tutorial de hoje criei um pequeno exemplo de uma estrutura de directórios/subdirectórios e ficheiros que vamos agora implementar no nosso terminal Linux.

linux_struct

Para produzir no terminal a estrutura anterior necessitamos de saber três comandos essenciais: (nota: existem outras formas de produzir a mesma estrutura, no entanto vamos ensinar a maneira mais básica).

mkdir: (make directory) – permite criar directórios

touch: permite criar ficheiros vazios ou mudar timestamps dos mesmos.

cd: (change directory) permite mudar de directório

[pplware@pplware ~]# mkdir pplware
[pplware@pplware ~]# cd pplware
[pplware@pplware pplware]# mkdir site
[pplware@pplware pplware]# cd site/
[pplware@pplware site]# mkdir ppinto
[pplware@pplware site]# cd ppinto/
[pplware@pplware ppinto]# touch dados info xpto
[pplware@pplware ppinto]# cd ..
[pplware@pplware site]# cd ..
[pplware@pplware pplware]# mkdir forum
[pplware@pplware pplware]# cd forum
[pplware@pplware forum]# touch aabb

E está feito. Podemos agora usar o comando tree para visualizar a estrutura criada:

[pplware@pplware ~]# tree pplware/
pplware/
|-- forum
|   `-- aabb
`-- site
 `-- ppinto
 |-- dados
 |-- info
 `-- xpto

3 directories, 4 files

Que acharam, é simples? Bem, o desafio que lançamos agora é o seguinte:

Desafio

Tentar produzir a mesma estrutura, com o menor número de comandos possíveis.

(algumas dicas: usar o argumento –p no mkdir e usar por exemplo cd ../.. ). Ficamos a espera !

Dicas dos nosso leitores

@Paulo Cesar

Reinício do sistema (3 maneiras que conheço):

1. reboot
2. init 6
3. shutdown -r now
Desligar sistema (4 maneiras que conheço):
1. halt
2. poweroff
3. init 0
4. shutdown -h now

@gnu/linux ftw

Argumentos do uname

goose@core64:~$ uname -r
3.0.0-7-generic
goose@core64:~$ uname -v
#9-Ubuntu SMP Fri Jul 29 21:27:24 UTC 2011
goose@core64:~$ uname -i
x86_64
goose@core64:~$ uname -o
GNU/Linux

@James Bond

Se quiserem saber o estado da arte no que ao kernel diz respeito directamente do laboratório onde é produzido, experimentem o comando abaixo:

james@darkstar:-$ finger @ftp.kernel.org
The latest linux-next version of the Linux kernel
is: next-20110805
The latest linux-next version of the Linux kernel is: next-20110805
The latest snapshot 3 version of the Linux kernel is: 3.0-git22
The latest mainline 3 version of the Linux kernel is: 3.0
The latest stable 3.0 version of the Linux kernel is: 3.0.1
The latest stable 2.6.39 version of the Linux kernel is: 2.6.39.4
The latest stable 2.6.38 version of the Linux kernel is: 2.6.38.8
The latest stable 2.6.37 version of the Linux kernel is: 2.6.37.6
The latest stable 2.6.36 version of the Linux kernel is: 2.6.36.4
The latest longterm 2.6.35 version of the Linux kernel is: 2.6.35.14
The latest longterm 2.6.34 version of the Linux kernel is: 2.6.34.10
The latest longterm 2.6.33 version of the Linux kernel is: 2.6.33.16
The latest longterm 2.6.32 version of the Linux kernel is: 2.6.32.43
The latest longterm 2.6.27 version of the Linux kernel is: 2.6.27.59

Boa segunda-feira! halt

Artigos relacionados

Comentários

40

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Marco Matos

    Gostei bastante do tutorial, na minha opinião estão a fazer um excelente trabalho.

    Eu trabalho numa loja de informática, e aos poucos tenho tentado incutir a migração para Linux, porque as pessoas (clientes) elas consomem o que nós incentivarmos, e se começarmos a ter na loja e oferecer suporte a Linux, tenho a certeza que o Open Source veio para ficar.

    Eu apoio o Open Source, e vocês?

    Cumprimentos,
    Marco Matos

    1. Avatar de Pedro
      Pedro

      Parabens pela iniciativa….. Fugir da manada de ovelhas não é nada fácil….
      Eu tb apoio o opensource…. 🙂

    2. Avatar de Luis
      Luis

      Eu sou totalmente a favor do Open Source 🙂

  2. Avatar de eu
    eu

    Já começo a pensar que no final dos tutoriais já conseguiremos configurar servidores num abrir e fechar de olhos.

  3. Avatar de Alguem
    Alguem

    Este comando não corresponde a imagem
    [pplware@pplware site]# mkdir egitux

    devia ser:
    [pplware@pplware site]# mkdir ppinto

    e os restantes locais onde se usa egitux também estão incorrectos

    1. Avatar de Pedro Pinto

      yups, confirmo. Escrevi mal na imagem 🙂 Já está resolvido.

  4. Avatar de Visitante
    Visitante

    Ou é impressão minha ou…

    Alguns comandos também existem (ou existiam) no MS-DOS 🙂

    Já se tecla alguma coisa 🙂

  5. Avatar de Rui Saraiva

    mkdir -p pplware/site/ppinto pplware/forum
    touch pplware/site/ppinto/{dados,info,xpto} pplware/forum/aabb

  6. Avatar de Apaxe
    Apaxe

    Duvida que nunca consegui descobrir:

    Com o comando “df -h” consigo verificar em que directórios as varias partições dos discos estão montadas.
    Perante isto pergunto, existe algum comando que me informe em qual sistema de ficheiros (ext3, ext4, ntfs, etc.) a partição está formatada?

      1. Avatar de Apaxe
        Apaxe

        Obrigado Pedro.

        Das vezes que consultei o MAN do comando “df”, se tive-se lido com mais atenção se calhar teria resolvido a minha duvida. Enfim, para isto é que serve o ppware. Obrigado.

        1. Avatar de Pedro Pinto

          Nem mais, estamos cá para aprender uns com os outros 🙂 Abraço

  7. Avatar de James Bond
    James Bond

    @Pedro Pinto,

    Na minha dica falta o essencial: o comando!

    james@darkstar:-$ finger @ftp.kernel.org

  8. Avatar de Bruno Pinto

    Outra forma de criar a estrutura de pastas, muito semelhante ao mkdir -p, é com o comando install -d:

    install -d pplware/{site,site/ppinto,forum}

    Obrigado por esta série de artigos. É um tópico com bastante utilidade.

  9. Avatar de Valente
    Valente

    Desculpa Pedro Pinto
    Até aqui tem sido o $ agora é o #.
    Era uma dúvida que tinha e já houve um comentador que me informou, mas falta no tuturial como se muda dum para o outro.
    Ou já foi dito e eu ….

    1. Avatar de eu
      eu

      isso é devido as permissoes se tens # é porque estas com superuilizador (root) basta fazeres exit para saires e ficas com & assim passas ao user normal

      1. Avatar de Valente
        Valente

        Pois mas faltou dizer como se passa a #.

        Fui fazer init ao pc pela Pen Linux e assim aparecem ao cimo as informações “man sudo_root -i” . E pelo man do sudo vi que basta fazer sudo -i para passar a # metendo o nosso password.
        Obrigado

        1. Avatar de eu
          eu

          para configurares um user basta

          #nano /etc/sudoers

          depois adicionas o teu nickname na config e a frente basta por ALL=(ALL) ALL

          ‘nickname ALL=(ALL) ALL’

    2. Avatar de Gil
      Gil

      Como já devem ter explicado o # indica que o utilizador é o root.
      Deve-se ter em conta que este utilizador consegue executar qualquer comando, sem restrição, pelo que certos comandos podem arrasar completamente o sistema.
      Uma das formas de alterar o utilizador para root é executar a born again shell como super user, para voltar ao utilizador normal basta escrever exit.

      1. Avatar de Valente
        Valente

        Obrigado pela tua boa vontade Gil mas eu estou no início e isso de born again shell não me diz nada, ainda.
        Mas já vi que:
        Se estou em $ faço sudo -i + Password e passo a # root. Daqui saio com exit.
        E curioso após o exit aparece logout, normal. Se entro outra vez com sudo -i já não me pede o password, entro logo em #.
        Este Linux baralha-me.

        1. Avatar de jorge santos
          jorge santos

          Quando emites o comando, por exemplo:

          $sudo apt-get update

          Vais fazê-lo como “root” somente para esse comando. Se reparares o Terminal continua a indicar que és “user” através do símbolo “$”. O comando “sudo” é usado individualmente e linha a linha, não te dá permissões de “root” até ao final da sessão de terminal.

    3. Avatar de Pedro Pinto

      Boas @Valente

      Então relativamente a essa questão temos os 2 cenários:

      # quando estás autenticado com super-user (root)
      $ quando estás autenticado com outro utilizador

      Para passares para root podes por exemplo fazer:
      sudo – i ou
      sudo su ou
      su – e existem mais algumas formas.

      No ubuntu é comum usares um utilizador “normal” e quando necessitas de permissões de super-user então fazer sudo seguido do comando.
      Consegui esclarecer as tuas duvidas?

      Ppinto

      1. Avatar de Valente
        Valente

        Muito bem Pedro
        E aqui os amigos comentadores também têm ajudado. E cá vou brincando no Ubuntu que instalei ontem a partir duma pen. . Mas há pouco tive que fazer init pela pen para tirar uma dúvida. Continuamos…

  10. Avatar de Paulo cesar
    Paulo cesar

    Excelente tutorial mais uma vez!
    Para quem vinha do MS-DOS e queria de alguma forma verificar a quantidade de memória utilizada/disponível era o comando “mem”.
    No Linux, o comando é “free”.
    1. free (sem argumento, padrão será em kB)
    2. free -m (em MB)
    3. free -g (em GB)

    O cálculo para MB e GB será arredondado para o menor inteiro. Se, por exemplo, ao utilizar esse comando com um computador dotado de apenas 512MB de RAM e utilizarmos free -g, será retornado 0!

    Aparece na primeira linha a memória total, a utilizada e livre (essa não é a real uma vez que engloba a memória física e virtual)
    A segunda linha “-/+ buffers/cache” é referente apenas à memória física onde temos a memória usada e livre cujos valores somados devem corresponder aproximadamente (devidos aos arredondamentos na exibição) à memória total da primeira linha.
    A última linha corresponde ao uso de área de troca (swap).

    Uma dica para ver a memória que interessa, utilizando vários comandos do Linux para brincar:

    echo “$(free -m | grep ^-/+ | tr -s [:blank:] | cut -d ” ” -f 3) de $(free -m | grep ^Mem. | tr -s [:blank:] | cut -d ” ” -f 2) MB utilizados”

    Há formas mais simplificadas mas esse já usa echo, free, grep, tr, cut e subcomandos “$( )” tudo com o Pipe (“|”).

    O segredo de qualquer sistema “derivado do Unix” é usar vários comandos, onde cada um realiza uma tarefa e entrega o resultado para o próximo.
    O de cima faz o free entregar o resultado das memórias, o grep seleciona a linha, o tr em especial nesse caso remove os espaços excedentes e o cut só extrair a informação que quero. E tudouso exibo dentro de um echo. 😉

    1. Avatar de Miguel
      Miguel

      lol…
      assim assustas o pessoal ! 😛

  11. Avatar de Valente
    Valente

    O Ubuntu não tinha o cmd tree instalado e ensinou como fazer: “apt-get install tree” e ao fim de 20 linhas de texto lá ficou instalado o comando tree.

    1. Avatar de Pedro Pinto

      Pois, o ubuntu tornou-se “amigo” do utilizador. Nos últimos tempos tenho andado viciado no Mint 🙂

      1. Avatar de Valente
        Valente

        Aqui há algum tempo instalei o Ubuntu e depois experimentei o Mint. Não gostei muito do grafismo deste prefiro o Ubuntu. Depois desisti por falta de incentivo e por não ter um guia como aprender, mas fiquei com uma Pen que agora me foi útil. E agora apareceu o incentivo. E cá estou a começar do zero (comparando sempre com o DOS). Obrigado

  12. Avatar de FNP.PT
    FNP.PT

    Tótós? Ena tantos! 🙂

  13. Avatar de jpng81
    jpng81

    É assim não se assustem pela quantidade de comandos, porque são muitos e decorar aquilo tudo e as opções então deve ser impossível, mas usando o “man” e google facilita muito a vida.
    Mas acreditem que a linha de comandos consegue fazer sempre muito mais que um ambiente gráfico é apenas preciso um pouco de paciência.
    Eu fiquei fascinado a medida que fui aprendendo linux que o ambiente gráfico é apenas uma das maneiras de se conseguir fazer as coisas, o modo consola faz práticamente tudo.
    Eu já cheguei ao ponto de ter o meu servidor ubuntu com apenas um cabo de alimentação e cabo de rede ligados para ter a correr ubuntu server com virtualbox a correr servidores de apache2 (onde tenho páginas alojadas) e tenho alguns windows XP a correr para certos programas…. e a única coisa que preciso para administrar isto tudo é um terminal de SSH 🙂

    1. Avatar de Pedro Pinto

      A linha de comandos continua a despertar o “amor” que se sente por um sistema operativo!!! (Uiiii…Esta frase ainda vai fazer parte de um romance…deve ser o Agosto 🙂 )

  14. Avatar de rodasp
    rodasp

    Não tenho seguido os tutoriais ao pormenor… mas a ideia é excelente e vou aproveitar, visto que estou a terminar de instalar o ubuntu no meu eee pc.

  15. Avatar de eco
    eco

    alguém aqui tem instalado o LAMP no Linux?? Qual o melhor software linux para criar sites???
    Obrigado

    1. Avatar de jpng81
      jpng81

      eu crio os meus com wordpress ou então tudo á unha com o gedit.

    2. Avatar de César
      César

      Não instales LAMP no Linux porque não é necessário..Instala o Apache2 no linux:

      Em Ubuntu/Mint/etc… –> sudo apt-get install apache2

      Depois de instalado vais ao browser e se experimentares “http://localhost” vai-te abrir o index.php normal, tipo xampp/lampp…

      O directório para desenvolveres sites está em /var/www/, aqui podes desenvolver os sites que quiseres e são todos acedidos via browser com o endereço “http://localhost/”..

      Imagina agora que queres criar um site, na linha de comandos cá vão os comandos:

      cd /var/www
      sudo mkdir pplware (esta vai ser a pasta onde vais desenvolver o teu site e por os teus ficheiros php, html, etc)
      sudo chmod 777 -R pplware (dás permissões read-write à pasta, também podes substituir o 777 por a+xw)
      cd pplware

      Agora, uma vez dentro da pasta criada, podes criar os ficheiros que quiseres, por ex: index.php onde vais colocar apenas um `echo “ola”;`

      Se fores ao browser e acederes a “http://localhost/pplware” ele vai abrir uma página a dizer “ola” !

      Espero ter ajudado em alguma coisa, foi um bocado a pressa porque estou na empresa a trabalhar xD Qualquer coisa apita 😉

      PS: para desenvolveres os sites aconselho-te o Geany (sudo apt-get install geany) onde depois podes acrescentar os plugins que quiseres ou via terminal ou via synaptic packager manager. Também não será má (ou talvez muito boa mesmo) utilizares o próprio netbeans para desenvolvimento PHP+HTML+Javascript (com os devidos plugins para netbeans).

      Cumprimentos,
      César Teixeira

      1. Avatar de eco
        eco

        Muito Obrigado pelas dicas César, vou instalar e testar 🙂

        1. Avatar de César
          César

          Sempre ás ordens 😉 Espero poder intervir cada vez mais neste site excelente 😉 Faz parte do meu dia a dia a imenso tempo e não o largo para andar sempre na frente das notícias 😉

        2. Avatar de César
          César

          Já agora, se por acaso fizeres aquilo do Apache2 e trabalhares seja com geany ou netbeans dá aí uma apitadela para ver se fico tudo nos conformes 😀

  16. Avatar de Ricardo de Souza

    Muitoo simples! Galera pra quem nao deu certo… apt-get install tree

  17. Avatar de Bruno1979
    Bruno1979

    Estou a usar o terminal da caixa mágica 18 LTS vem com o gnome o meu ambiente de trabalho preferido simples e funcional, mas não consigo instalar o tree presume que seja porque nos repositórios não tenha. Alguém me pode confirmar?
    Abraço