Este guia mostrará como criar novas pastas ou diretórios no Linux usando a linha de comando.
O comando que você usa para criar diretórios é mkdir. Este artigo mostra a maneira básica de criar diretórios no Linux, além de abranger todos os switches disponíveis.
Como criar um novo diretório
A maneira mais simples de criar um novo diretório é a seguinte:
mkdir Por exemplo, se você deseja criar um diretório em sua pasta inicial chamado test, abra uma janela de terminal e verifique se está na sua pasta pessoal (use o comando cd ~). Depois de criar uma nova pasta, talvez você queira definir as permissões para que apenas um determinado usuário possa acessar a pasta ou para que algumas pessoas possam editar arquivos na pasta, mas outras somente para leitura. Na última seção, mostrei como criar um diretório chamado test. A execução do comando ls mostrará as permissões para esse diretório: ls -lt As chances são que você terá algo ao longo destas linhas: drwxr-xr-x 2 grupo do proprietário 4096 9 de mar 19:34 teste As partes em que estamos interessados sãoproprietário drwxr-xr-xe grupo O d nos diz que o teste é um diretório. Os três primeiros caracteres após d são as permissões do proprietário para o diretório especificado pelo nome do proprietário: Os próximos três caracteres são as permissões do grupo para o arquivo especificado pelo nome do grupo. Novamente, as opções são r, w e x. O - significa que há uma permissão em falta. No exemplo acima, qualquer pessoa pertencente ao grupo pode acessar a pasta e ler os arquivos, mas não pode gravar na pasta. Os últimos três caracteres são as permissões que todos os usuários têm e, como você pode ver no exemplo acima, são os mesmos que as permissões do grupo. Para alterar as permissões de um arquivo ou pasta, você pode usar ochmodcomando. O comando chmod permite especificar 3 números que definem as permissões: Para obter uma mistura de permissões, adicione os números juntos. Por exemplo, para obter permissões de leitura e execução, o número necessário é 5, para obter permissões de leitura e gravação, o número é 6 e para obter permissões de gravação e execução, o número é 3. Lembre-se de que você precisa especificar 3 números como parte do comando chmod. O primeiro número é para as permissões do proprietário, o segundo número é para as permissões do grupo e o último número é para todos os outros. Por exemplo, para obter permissões completas para o proprietário, leia e execute permissões no grupo e nenhuma permissão para qualquer outra pessoa digite o seguinte: teste chmod 750 Se você deseja alterar o nome do grupo que possui uma pasta, use o comando chgrp. Por exemplo, imagine que você queira criar um diretório que todos os contadores da sua empresa possam acessar. Primeiro de tudo, crie as contas de grupo digitando o seguinte: contas groupadd Se você não tiver a permissão correta para criar um grupo, pode ser necessário usar o sudo para obter privilégios extras ou alternar para uma conta com permissões válidas usando o comando su. Agora você pode alterar o grupo para uma pasta digitando o seguinte: contas chgrp Por exemplo: teste de contas chgrp Para permitir que qualquer pessoa no grupo de contas leia, grave e execute o acesso, bem como o proprietário, mas somente leitura para todos os demais, use o seguinte comando: teste chmod 770 Para adicionar um usuário ao grupo de contas, você provavelmente desejará usar o seguinte comando: usermod -a -G accounts O comando acima anexa o grupo de contas à lista de grupos secundários aos quais o usuário tem acesso. Você pode criar um diretório e definir as permissões para esse diretório ao mesmo tempo usando o seguinte comando: mkdir-m777 O comando acima irá criar uma pasta que todos tenham acesso. É muito raro que você queira criar algo com esse tipo de permissão. Imagine que você queira criar uma estrutura de diretórios, mas não quer criar cada pasta individualmente junto com o caminho e percorrer uma árvore. Por exemplo, você pode estar criando pastas para sua música da seguinte maneira: Seria chato ter que criar a pasta rock, depois a pasta alice cooper e queen e depois criar a pasta rap e a pasta dr dre e depois a pasta jazz e depois a pasta louisjordan. Ao especificar o seguinte switch, você pode criar todas as pastas pai na hora, se elas ainda não existirem. mkdir -p Por exemplo, para criar uma das pastas listadas acima, tente o seguinte comando: mkdir -p ~ / music / rock / alicecooper Por padrão, o comando mkdir não informa se o diretório que você está criando foi criado com sucesso. Se nenhum erro aparecer, então você pode assumir que tem. Se você deseja obter uma saída mais detalhada para saber o que foi criado, use a opção a seguir. mkdir -v A saída será ao longo das linhas demkdir: diretório / path / / / directoryname criado. Às vezes você vai querer usar o comando "mkdir" como parte de um script de shell. Por exemplo, vamos ver um script que aceita um caminho. Quando o script é executado, ele cria a pasta e adiciona um único arquivo de texto chamado "olá". #! / bin / bash mkdir $ @ cd $ @ toque ola A primeira linha deve ser incluída em cada script que você escreve e é usada para mostrar que este é realmente um script BASH. O comando "mkdir" é usado para criar uma pasta. O "$ @" (também conhecido como parâmetros de entrada) no final da segunda e terceira linha é substituído pelo valor que você especifica ao executar o script. O comando "cd" muda para o diretório que você especificou e, finalmente, o comando touch cria um arquivo vazio chamado "olá". Você pode experimentar o script por si mesmo. Para fazer isso, siga estas instruções: Quando você executar o script, um diretório chamado "teste" será criado e se você mudar para esse diretório (teste de cd) e execute uma listagem de diretórios (ls) você verá um único arquivo chamado "olá". Até aí tudo bem, mas agora tente executar o passo 7 novamente. Existem várias coisas que podemos fazer para melhorar o script. Por exemplo, se a pasta já existe, nós não nos importamos com o tempo que ela existe. #! / bin / bash mkdir -p $ @ cd $ @ toque ola Se você especificar o -p como parte do comando mkdir, não haverá erro se a pasta já existir, mas se ela não existir, será criada. Como é o caso, o comando touch criará um arquivo se ele não existir, mas se existir, ele simplesmente altera a última data e hora acessadas. Imagine que a instrução touch foi substituída por uma instrução echo que grava texto em um arquivo da seguinte maneira: #! / bin / bash mkdir -p $ @ cd $ @ echo "olá" >> olá Se você executar o comando "./createhellodirectory.sh test" várias vezes, o efeito será que o arquivo chamado "olá" no diretório de teste crescerá cada vez mais com mais e mais linhas com a palavra "olá" nele. Agora, isso pode ou não ser o que se pretende, mas digamos que, por enquanto, essa não é a ação desejada. Você pode escrever um teste para garantir que o diretório não exista antes de executar o comando echo da seguinte maneira. #! / bin / bash mkdir $ @ 2> / dev / null; se $? -eq 0; então cd $ @ echo "hello" >> olá exit fi O script acima é o meu método preferido para lidar com a criação de pastas. O comando mkdir cria a pasta que é passada como um parâmetro de entrada, mas qualquer saída de erro é enviada para / dev / null (que essencialmente significa nenhum lugar). A terceira linha verifica o status de saída do comando anterior, que é a instrução "mkdir" e, se tiver sucesso, executará as instruções até que a instrução "fi" seja atingida. Isso significa que você pode criar a pasta e executar todas as ações desejadas se o comando for bem-sucedido. Se você quiser fazer outra coisa se o comando não for bem sucedido, você pode simplesmente digitar uma instrução else da seguinte forma: #! / bin / bash mkdir $ @ 2> / dev / null; se $? -eq 0; thencd $ @ echo "hello" >> helloexitelsecd $ @ echo "hello"> helloexitfi No script acima, se a instrução mkdir funcionar, a instrução echo envia a palavra "hello" para o final do arquivo chamado "hello", enquanto, se não existir, um novo arquivo será criado, chamado "hello", com a palavra " olá "nele. Este exemplo não é particularmente prático porque você pode obter os mesmos resultados simplesmente executando sempre eco "olá"> linha de olá. O ponto do exemplo é mostrar que você pode executar o comando "mkdir", ocultar a saída do erro, verificar o status do comando para ver se ele foi bem-sucedido ou não e, em seguida, executar um conjunto de comandos se o comando "mkdir" foi bem sucedido e outro conjunto de comandos se não fosse. Alterando as permissões do novo diretório
Como criar um diretório e definir permissões ao mesmo tempo
Crie uma pasta e quaisquer pais que sejam necessários
Obtendo a confirmação de que um diretório foi criado
Usando "mkdir" em um script de shell