标签: unix

为什么我们不使用完整的32位来存储自纪元以来136年?

我已经多次见过,例如在UNIX上,在MySQL时间戳等中:Epoch从1970-1-1开始,但最大可记录年份是2038年.现在让我算一下:

2^32/60/60/24/365+1970
2106
Run Code Online (Sandbox Code Playgroud)

因此,如果我们使用完整的32位,我们自然会得到2106年没有任何问题.但显然,2038年仅对应31位.那么为什么我们抛出一点呢?通过使用完整的32位,我们可以希望我们不必解决问题,因为我们可能首先破坏地球......

对评论的反应:当然是因为它已签名,但为什么时间戳必须签名?这就是这个问题的重点.

c mysql unix epoch year2038

-2
推荐指数
1
解决办法
1427
查看次数

意外令牌附近的语法错误'('

我正在使用c ++在unix中做一些工作.我试图在我的两个程序之间创建一个命名管道,并在它们之间来回发送一些文本.一切编译都很好,但当我调用我的系统运行server.cpp时,我收到此错误消息.

./server.cpp: line 8: syntax error near unexpected token '('
./server.cpp: line 8: 'void test()'
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?我对unix或命名管道没有多少经验,所以我有点难过.

这是我的代码

client.cpp

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

int main()
{
   int fd;

   mkfifo("home/damil/myPipe", 0666);

   fd=open("home/damil/myPipe", O_WRONLY);
   write(fd,"test", sizeof("test")+1);

   system("./server.cpp");
   close(fd);

   return 1; 
}
Run Code Online (Sandbox Code Playgroud)

server.cpp

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

void test()
{
   int fd;
   char * comm;

   fd = open("home/damil/myPipe", O_RDONLY);   
   read(fd, comm, 1024);
   printf(comm);
   close(fd);
}
Run Code Online (Sandbox Code Playgroud)

c c++ unix named-pipes

-2
推荐指数
1
解决办法
2366
查看次数

如何将stderr重定向到文件?

将标准错误描述符重定向到unix中名为error.txt的文件所需的命令是什么?

到目前为止我有这个命令:

find / -name "report*" ________ error.txt
Run Code Online (Sandbox Code Playgroud)

unix bash find

-2
推荐指数
1
解决办法
1278
查看次数

尝试运行shell脚本时出错":找不到命令"

我有一个脚本,我正在尝试运行,但每当我尝试运行它时,我只会收到错误":command not found".这是我试图解决的问题:

  1. 确保hashbang是正确的"#!/ bin/bash"
  2. 在文件上运行dos2unix
  3. 以scriptname.sh,./ scriptname.sh和/ bin/bash scriptname.sh运行脚本
  4. chmod 755 scriptname.sh

我仍然无法运行脚本.任何帮助深表感谢!

unix bash shell

-2
推荐指数
1
解决办法
5066
查看次数

ls -l和grep没有一起工作

我试图获取以fs开头的文件列表

我用过那个命令

ls -l /etc/ | grep ^fs 
Run Code Online (Sandbox Code Playgroud)

0结果

然后我用了那个

ls /etc/ | grep ^fs
Run Code Online (Sandbox Code Playgroud)

得到了结果.

我想知道为什么我不能用"-l"得到任何结果

干杯!

unix linux shell terminal grep

-2
推荐指数
1
解决办法
222
查看次数

Perl脚本不能使用Tie :: File

我正在尝试运行一个使用Tie :: File模块的perl脚本.

它基本上应该做的是读取当前目录中的所有文件,切断第一个文档的最后一行,然后是每个其他文档的第一行和最后一行以及最后一个文档的第一行,然后写下所有内容到一个新文件.

当我试图运行我的脚本时(可能会有一些错误...如果你发现任何人可以纠正它们,我会很高兴)我收到错误消息:

Can't locate object method "TIEARRAY" via package "TIE:File" at script.pl line 28, <$fh> line 7.
Run Code Online (Sandbox Code Playgroud)

我在代码中标记了第28行.

我已经安装了最新版本的Tie :: File并进行了检查

cpan Tie::File
Run Code Online (Sandbox Code Playgroud)

cpan Tie::Array
Run Code Online (Sandbox Code Playgroud)

如果一切都已安装,我收到Tie :: Array是最新的(v1.06),Tie :: File是最新的(v1.00)终端,所以必须正确安装.

#!/usr/bin/perl

use Cwd;
use Tie::File;
use Tie::Array;
my $cwd = getcwd();
my $buff = '';

# Get all files in cwd.
#my @files = grep { -f && /\.txt$/ } readdir $cwd;
my @files = grep ( -f ,<*.txt>);      


# Cut off footer of first (files[0]) …
Run Code Online (Sandbox Code Playgroud)

unix perl

-2
推荐指数
1
解决办法
613
查看次数

如何获取具有子程序的起始行和结束行号的perl子程序列表?

我正在编写一个用于构建和升级分析的脚本,我需要使用它们的起始和结束行号来定义perl模块中定义的所有子例程.

实现这一目标的最佳方法是什么?

regex unix perl

-2
推荐指数
1
解决办法
191
查看次数

如何通过tcp/ip从java接收文件到C?

我必须将文件发送到java,并且java必须接收该文件并通过tcp/ip将其发送回C. 我能够发送文件但在接收时我无法接收任何数据.我提供的代码供参考.

int send_text(int socket)
{
    FILE *text;
    char a[50];
    int size, read_size, stat, packet_index;
    char send_buffer[8008], read_buffer[8008];
    int wrt = 0, sock_fd, tsize = 0;
    packet_index = 1;
    int i = 0;
    text = fopen("/home/sosdt009/Desktop/character3.txt", "r");
    if (text == NULL)
    {
        printf("Error Opening text File:");
        exit(-1);
    }

    printf("Getting text Size:\n");
    gets(a);
    fseek(text, 0, SEEK_END);
    size = ftell(text);
    fseek(text, 0, SEEK_SET);
    printf("Total text size: %d \n", size);
    gets(a);

    //Send text Size
    printf("Sending text Size:\n");
    gets(a);
    send(socket, (void *) &size, sizeof(size), …
Run Code Online (Sandbox Code Playgroud)

c java unix sockets tcp-ip

-2
推荐指数
1
解决办法
168
查看次数

(Linux)确定图像中不同颜色的百分比

如何使用Linux计算图像中RGB值的百分比?

我已经做过一些研究,看来C#和Python可能是要走的路。

python unix linux rgb

-2
推荐指数
1
解决办法
1433
查看次数

使用perl删除文件的最后一行

sed '$d' $file; 
Run Code Online (Sandbox Code Playgroud)

使用此命令似乎不起作用,因为$Perl中的保留符号.

unix perl

-2
推荐指数
2
解决办法
2395
查看次数

标签 统计

unix ×10

c ×3

perl ×3

bash ×2

linux ×2

shell ×2

c++ ×1

epoch ×1

find ×1

grep ×1

java ×1

mysql ×1

named-pipes ×1

python ×1

regex ×1

rgb ×1

sockets ×1

tcp-ip ×1

terminal ×1

year2038 ×1