Comandos Linux para Totós – Tutorial nº3
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á!
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.
whoami | pwd | id | who | date | cal | 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.
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
Este artigo tem mais de um ano
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
Parabens pela iniciativa….. Fugir da manada de ovelhas não é nada fácil….
Eu tb apoio o opensource…. 🙂
Eu sou totalmente a favor do Open Source 🙂
Já começo a pensar que no final dos tutoriais já conseguiremos configurar servidores num abrir e fechar de olhos.
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
yups, confirmo. Escrevi mal na imagem 🙂 Já está resolvido.
Ou é impressão minha ou…
Alguns comandos também existem (ou existiam) no MS-DOS 🙂
Já se tecla alguma coisa 🙂
mkdir -p pplware/site/ppinto pplware/forum
touch pplware/site/ppinto/{dados,info,xpto} pplware/forum/aabb
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?
df -T
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.
Nem mais, estamos cá para aprender uns com os outros 🙂 Abraço
@Pedro Pinto,
Na minha dica falta o essencial: o comando!
james@darkstar:-$ finger @ftp.kernel.org
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.
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 ….
isso é devido as permissoes se tens # é porque estas com superuilizador (root) basta fazeres exit para saires e ficas com & assim passas ao user normal
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
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’
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.
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.
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.
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
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…
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. 😉
lol…
assim assustas o pessoal ! 😛
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.
Pois, o ubuntu tornou-se “amigo” do utilizador. Nos últimos tempos tenho andado viciado no Mint 🙂
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
Tótós? Ena tantos! 🙂
É 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 🙂
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 🙂 )
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.
alguém aqui tem instalado o LAMP no Linux?? Qual o melhor software linux para criar sites???
Obrigado
eu crio os meus com wordpress ou então tudo á unha com o gedit.
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
Muito Obrigado pelas dicas César, vou instalar e testar 🙂
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 😉
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 😀
Muitoo simples! Galera pra quem nao deu certo… apt-get install tree
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