Articles of unix

Programaticamente, recuperando o caminho absoluto de um aplicativo de linha de comando do OS X

No Linux, um aplicativo pode facilmente obter seu caminho absoluto consultando /proc/self/exe . No FreeBSD, é mais complicado, já que você tem que construir uma chamada sysctl: int mib[4]; mib[0] = CTL_KERN; mib[1] = KERN_PROC; mib[2] = KERN_PROC_PATHNAME; mib[3] = -1; char buf[1024]; size_t cb = sizeof(buf); sysctl(mib, 4, buf, &cb, NULL, 0); mas ainda […]

Usando o comando passwd de dentro de um script de shell

Estou escrevendo um script de shell para adicionar automaticamente um novo usuário e atualizar sua senha. Eu não sei como obter passwd para ler o script de shell em vez de interativamente me avisando para a nova senha. Meu código está abaixo. adduser $ 1 passwd $ 1 US $ 2 US $ 2

Dividir um arquivo em vários arquivos com base no delimitador

Eu tenho um arquivo com -| como delimitador após cada seção … precisa criar arquivos separados para cada seção usando unix. exemplo de arquivo de input wertretr ewretrtret 1212132323 000232 -| ereteertetet 232434234 erewesdfsfsfs 0234342343 -| jdhg3875jdfsgfd sjdhfdbfjds 347674657435 -| Resultado esperado no arquivo 1 wertretr ewretrtret 1212132323 000232 -| Resultado esperado no arquivo 2 […]

Como obtenho bc (1) para imprimir o zero inicial?

Eu faço algo parecido com o seguinte em um Makefile: echo “0.1 + 0.1” | bc (no arquivo real os números são dynamics, claro) Ela imprime .2 mas eu quero imprimir 0.2 . Eu gostaria de fazer isso sem recorrer ao sed mas não consigo encontrar como obter o bc para imprimir o zero. Ou […]

Identificando e removendo caracteres nulos no UNIX

Eu tenho um arquivo de texto contendo caracteres nulos indesejados (ASCII NUL, \0 ). Quando tento visualizá-lo no vi vejo ^@ símbolos, intercalados em texto normal. Como posso: Identificar quais linhas no arquivo contêm caracteres nulos? Eu tentei grepping para \0 e \x0 , mas isso não funcionou. Remover os caracteres nulos? Correndo strings no […]

Qual é a diferença entre usar `sh` e` source`?

Qual é a diferença entre sh e source ? source: source filename [arguments] Read and execute commands from FILENAME and return. The pathnames in $PATH are used to find the directory containing FILENAME. If any ARGUMENTS are supplied, they become the positional parameters when FILENAME is executed. E para o man sh : NAME bash […]

O comando `time` do UNIX é suficientemente preciso para benchmarks?

Digamos que eu quisesse comparar dois programas: foo.py e bar.py. São duas mil execuções e as respectivas médias de time python foo.py e time python bar.py suficientes para time python bar.py perfis e comparar sua velocidade? Edit: Além disso, se a execução de cada programa foi sub-segundo (supondo que não foi para o acima), o […]

Como posso converter um ponteiro de arquivo (FILE * fp) para um descritor de arquivo (int fd)?

Eu tenho um FILE * , retornado por uma chamada para fopen() . Eu preciso obter um descritor de arquivo dele, para fazer chamadas como fsync(fd) nele. Qual é a function para obter um descritor de arquivo de um ponteiro de arquivo?

Como posso redirect a saída do comando “time”?

Tentei redirect a saída do comando time, mas não consegui: $time ls > filename real 0m0.000s user 0m0.000s sys 0m0.000s No arquivo, posso ver a saída do comando ls , não a do time . Por favor explique, porque eu não pude e como fazer isso.

Como definir a variável de ambiente para todos sob o meu sistema linux?

Posso ter algumas configurações universais para todos os meus usuários?