comando uux
Propósito
Executa um comando em outro sistema baseado em UNIX.
Sintaxe
uux [ -c | -C ] [ -n | -z ] [ - ] [ -aNome ] [ -b ] [ -gGrau ] [ -j ] [ -p ] [ -e ] [ -r ] [ -sArquivo ] [ -xNível de depuração ] CommandString
Descrição
O comando uux é um Basic Networking Utility (BNU) que executa um comando especificado em um sistema baseado em UNIX especificado enquanto habilita o usuário a continuar trabalhando no sistema local. Antes de executar o comando solicitado, o comando uux reúne quaisquer arquivos necessários a partir dos sistemas designados. O usuário pode direcionar a saída do comando para um arquivo específico em um sistema específico. Por razões de segurança, muitas instalações permitem que o comando uux execute apenas o comando rmail .
Os comandos uux em outros sistemas criam executar (X.*) arquivos que executem comandos no sistema local. Além disso, o comando uux no sistema local cria ambos o comando (C.*) arquivos e dados (D.*) arquivos para transferência para outros sistemas. Os arquivos de execução contêm a cadeia de comando a ser executada no sistema designado. Os arquivos de comandos contêm as mesmas informações que aqueles criados pelo comando uucp . Arquivos de dados contêm os dados para uma execução remota de comandos ou então tornar-se X.* arquivos em sistemas remotos para execuções de comandos remotos.
O nome completo do caminho de um arquivo de execução é uma forma do seguinte:
/var/spool/uucp/System/X.SystemNxxxxDepois de criar os arquivos no diretório de spooling, o comando uux chama o daemon uucico para transferir os arquivos do diretório spooling no sistema local para o sistema remoto designado. Quando os arquivos são transferidos, o daemon uuxqt no sistema remoto executa o CommandString no sistema especificado, colocando qualquer saída do comando no arquivo designado pela solicitação do comando uux original.
O argumento CommandString é composto por um ou mais argumentos que parecem uma linha de comandos do sistema operacional, exceto que o argumento CommandString pode ser prefixado pelo nome do sistema remoto no formato System!. O Sistema padrão é o sistema local. A menos que o usuário que está entrando no comando uux inclua a sinalização -n , o comando notifica esse usuário se o sistema remoto não executar o comando. Essa resposta vem por correio do sistema remoto.
Nomes de Arquivos de Origem e Destino
- Ao especificar o destino da saída de um comando, o comando uux pode ser inserido em um dos formatos a seguir:
- uux[Options]"CommandString> Destination"
- uux[Options] CommandString\ {Destination\}.
- Os nomes de destino podem ser de cada um dos seguintes:
- Um nome de caminho completo
- Um nome de caminho completo precedido por ~Usuário, em que Usuário é um nome de login no sistema especificado. O comando uux substitui este nome de caminho com o diretório de login do usuário.
- Os caracteres de correspondência de padrões de shell? (interrogação de interrogação), * (asterisco), e [...] (colchetes) podem ser usados no nome do caminho de um arquivo de origem (como arquivos comparados pelo comando diff ); o sistema apropriado expandi-los. No entanto, usar o caractere * pode ocasionalmente produzir resultados imprevisíveis ou não antecipados. Os caracteres de correspondência de padrões de shell não devem ser usados no nome do caminho de destino.
- Coloque dois retroslashes (\... \) ou um par de aspas ("... ") em torno de padrões de correspondência de padrões em um nome de caminho para que o shell local não possa interpretá-los antes que o comando uux envie o comando para um sistema designado.
- Se você estiver usando os caracteres especiais do shell> (maior que), < (menor que),; (semicolon) ou | (barra vertical) em um nome de caminho, coloque \... \ ou "..". em torno do caractere individual ou em torno de toda a cadeia de comandos.
- Não use os caracteres de redirecionamento de shell < < ou>> em um nome de caminho.
- O comando uux tenta mover todos os arquivos especificados na linha de comando para o sistema designado. Enfechar os nomes de todos os arquivos de saída entre parênteses para que o comando uux não tente transferi-los.
- Ao especificar um Sistema, sempre coloque-o antes do argumento CommandString na entrada Os nomes do sistema podem conter apenas caracteres ASCII.
- O! (ponto de exclamação) precedendo o nome do sistema local em um comando é opcional. Se você optar por incluir o! para executar um comando no sistema local usando arquivos de dois sistemas remotos diferentes, use! em vez de Sistema! para representar o sistema local, e adicionar Sistema! como a primeira entrada em qualquer nome de caminho nos sistemas remotos.
- O ponto de exclamação representando um sistema em sintaxe BNU tem um significado diferente em shells C. Ao executar o comando uux em um shell C, coloque um \ (backslash) antes do ponto de exclamação em um nome do sistema.
Nota: A notação ~ (tilde) é a forma abreviada de especificar o diretório de spooling público, /var/spool/uucppublic.
Sinalizações
| Item | Descrição |
|---|---|
| - | Torna a entrada padrão para o comando uux a entrada padrão para o argumento CommandString . |
| -aNome | Substitui o ID do usuário da pessoa que emite o comando com o ID do usuário especificado com a variável Name . |
| -b | Retorna entrada padrão para o comando se o status de saída não for zero. |
| -C | Transfere os arquivos de origem para o destino no sistema especificado. Os arquivos de origem são copiados no diretório spooling, e o daemon uucico é invocado imediatamente. Essa sinalização é o padrão. |
| -C | Transfere os arquivos de origem para o diretório spool. Após um período de set de tempo (especificado no programa uusched ), o daemon uucico tenta transferir os arquivos para o destino no computador especificado. Ocasionalmente, há problemas na transferência de um arquivo de origem; por exemplo, o computador remoto pode não estar funcionando ou a tentativa de login pode falhar. Nesses casos, o arquivo permanece no diretório spool até que ele seja transferido com sucesso ou removido pelo comando uucleanup . |
| Item | Descrição |
|---|---|
| -e | Ativa expansão de arquivo. |
| -gGrau | Especifica quando os arquivos devem ser transmitidos durante uma conexão particular. A variável Grade especifica um número único (0 9) ou letra (A através de Z, a através de z); caracteres de sequência de ASCII inferior fazem com que os arquivos sejam transmitidos anteriormente do que caracteres de sequência mais altos. O número 0 é o mais alto (primeiro) grau; z é o mais baixo (mais recente). O padrão é N. |
| -j | Exibe o número de identificação do cargo do processo que está executando o comando no sistema especificado. Use esse ID de trabalho com o comando uustat do BNU para verificar o status do comando ou com o sinalizador uustat -k para encerrar o processo. |
| -n | Evita a notificação do usuário pelo comando mail do sucesso ou falha de um comando. O padrão é notificar o usuário se o comando falhar. |
| -P | Usa a entrada padrão para o comando uux como a entrada padrão para o argumento CommandString Um - (menos) tem o mesmo efeito. |
| -r | Evita o início do programa de spooling que transfere arquivos entre sistemas. O padrão é iniciar o programa de spooling. |
| -sArquivo | Relata o status da transferência em um arquivo especificado pela variável Arquivo no sistema designado. Os nomes de arquivos podem conter apenas caracteres ASCII. |
| -xNível de depuração | Exibe informações de depuração na tela do sistema local. A variável DebugLevel deve ser um número de 0 a 9.. Um número superior dá um relatório mais detalhado. |
| -z | Notifica o usuário se o comando for concluído com sucesso. Esta sinalização é o oposto do padrão do sistema, que é notificar o usuário apenas em caso de falha. |
Exemplos
- Para executar o comando qprt em um sistema remoto, digite:
Neste exemplo, o arquivo remoto /reports/memos/lanceé impresso em sistema remotomerlin. Uma vez que nem a sinalização -n nem -z é especificada, o comando uux notifica o usuário apenas se o sistema remoto falhar ao executar o comando. A resposta vem pelo comando mail a partir do sistema remoto.uux merlin!qprt /reports/memos/lance - Para executar comandos em dois sistemas remotos, insira as informações em linhas de comando separadas:
Neste exemplo, o remoto/reports/memos/lancearquivo é impresso em sistema remotomerlin, e o remoto/test/examples/examp1arquivo é impresso em sistema remotozeus. Uma vez que nem a sinalização -n nem -z é especificada, o comando uux notifica o usuário apenas se o sistema remoto falhar ao executar o comando. A resposta vem pelo comando mail a partir do sistema remoto.uux merlin!qprt /reports/memos/lance uux zeus!qprt /test/examples/examp1 - Para fazer fila de um job que compara um arquivo no sistema local com um arquivo em um sistema remoto, usando o comando diff no sistema local, e obter o ID do job do job, digite:uux -j "/usr/bin/diff /usr/amy/f1 hera!/home/amy/f2 > ~/f1.diff"Neste exemplo, o/usr/amy/f1arquivo sobre o sistema local é comparado com o/home/amy/f2arquivo no sistema remotoherae a saída é colocada nof1.diffarquivo no diretório público local (o nome completo do caminho deste arquivo é/var/spool/uucppublic/f1.diff). O nome de destino deve ser digitado antecedido por um> com toda a cadeia de comando encerrada em "" (aspas) ou inseridas entre chaves e barras inveros/backslashes, como \ { DestinationName \}. A sinalização -j faz com que o comando uux retorne o ID de emprego BNU do job.
- Para usar o comando diff no sistema local para comparar arquivos que estão localizados em dois sistemas remotos diferentes, digite:
Neste exemplo, o/usr/amy/f1arquivo do sistema remotoheraé comparado com o/home/amy/f2arquivo do sistema remotovenuse a saída é colocada no arquivof1.diff, localizado no diretório de trabalho atual no sistema local.uux "!/usr/bin/diff hera!/usr/amy/f1 venus!/home/amy/f2 > \ !f1.diff"O arquivo de saída deve ser ativado por gravação. Se você estiver incerto sobre o status de permissão de um arquivo de saída de destino específico, direcionar os resultados para o diretório público. Os pontos de exclamação que representam o sistema local são opcionais. O nome de destino deve ser digitado antecedido por um> com toda a cadeia de comando encerrada em "" (aspas) ou inseridas entre chaves e barras inveros/backslashes, como \ { DestinationName \}.
- Para executar o comando diff em dois arquivos separados de diferentes sistemas, digite:
Neste exemplo, odiffarquivo está no sistema remotohera. O primeiro arquivo de origem está no sistema remotohera, e o arquivo de segunda está no sistemazeus. (zeuspode ser o sistema local ou outro sistema remoto.) A saída é direcionada para o arquivo DF no diretório público no sistema local.uux "hera!/usr/bin/diff /tmp/out1 zeus/tmp/out2 > ~/DF" - Para especificar um arquivo de saída em um sistema remoto diferente, digite:
Neste exemplo, o comando uucpuucp Command é executado no sistema remotohera, e o/home/amy/f1arquivo, armazenado em sistemavenus, é enviado para o usuáriogeoem sistemamerlincomotest. O nome de destino é inserido entre colares e barras invernos.uux hera!uucp venus!/home/amy/f1 \{merlin!/home/geo/test\} - Para obter campos selecionados a partir de um arquivo em um sistema remoto e colocá-los em um arquivo no sistema local, digite:
O comando cut é executado no sistema local. O primeiro campo a partir de cada linha do arquivo de senha no sistemaheraé colocado nopassw.cutarquivo no diretório público no sistema local. O comando uux está rodando em uma shell C, portanto a\(backslash) deve preceder o ponto de exclamação em nome do sistema remoto.uux "cut -f1 -d: hera\!/etc/passwd > ~/passw.cut" - Para usar a opção de piping uux para especificar uma cópia remota do/tmp/examplearquivo para/tmp/examplecopyem sistemamercuryutilizar a seguinte sintaxe:
O usuário deve entrar em um Ctrl-D a fim de finalizar a entrada de comando. Após o Ctrl-D ser pressionado, o comando será spooled para execução remota no sistema mercury.uux -p mercury! cp /tmp/example /tmp/examplecopy
Arquivos
| Item | Descrição |
|---|---|
| /usr/bin/uux | Contém o comando uux . |
| /var/spool/uucp | É o diretório de spooling. |
| /var/spool/uucppublic | É o diretório público. |