草庐IT

Unix-ish

全部标签

c++ - linux/unix 下是否有相当于 WinAPI 的 MAX_PATH 的?

如果我想分配一个char数组(在C中),它保证足够大以容纳任何有效的绝对路径+文件名,它需要多大。在Win32上,有MAX_PATH定义。Unix/linux的等价物是什么? 最佳答案 有一个PATH_MAX,但是有点问题。来自realpath(3)的错误部分手册页:ThePOSIX.1-2001standardversionofthisfunctionisbrokenbydesign,sinceitisimpossibletodetermineasuitablesizefortheoutputbuffer,resolved_pat

linux - 在 Unix/Linux 中维护文件结构的特定文件类型的递归副本?

已结束。这个问题是off-topic.它目前不接受答案。想要改进这个问题?Updatethequestion所以它是on-topic堆栈溢出。关闭10年前。Improvethisquestion我需要从维护父目录的文件夹结构的目录中复制所有*.jar文件。如何在UNIX/Linux终端中进行操作?命令cp-r*.jar/destination_dir不是我要找的。 最佳答案 rsync对于本地文件复制以及机器之间的复制很有用。这会做你想做的事:rsync-avm--include='*.jar'-f'隐藏,!*/'。/destina

linux - 如何在 Unix 系统上编辑二进制文件

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭3年前。Improvethisquestion在Windows机器上,有许多第三方编辑器可用于编辑二进制文件。如何在Unix系统上编辑二进制文件? 最佳答案 在Vim,您可以输入:%!xxd将其转换为十六进制编辑器。:%!xxd-r回到正常模式。xxd在Vim安装中提供。见here关于使用Vim编辑二进制文件的一些说明(归结为:setbinary以

linux - Unix:如何删除文件中列出的文件

我有一个长文本文件,其中包含要删除的文件掩码列表例子:/tmp/aaa.jpg/var/www1/*/var/www/qwerty.php我需要删除它们。试过rm`cat1.txt`说列表太长了。找到了这个命令,但是当我从列表中检查文件夹时,其中一些仍然有文件xargsrm手动rm调用会从此类文件夹中删除文件,因此权限没有问题。 最佳答案 这不是很有效,但如果您需要全局模式(如/var/www/*),则可以使用forfin$(cat1.txt);dorm"$f"done如果您没有任何模式并且确定文件中的路径不包含空格或其他奇怪的东西

linux - 如何判断我使用的是哪个 Unix shell?

这个问题在这里已经有了答案:HowtodeterminethecurrentinteractiveshellthatI'min(command-line)(28个回答)关闭8年前。有没有一种简单的方法可以让我知道我在哪种类型的Unixshell中?显示我是否在Bash中的命令,Cshell,KornShell(ksh),tcsh,或Zshell(zsh)?例如,whatshellisthis 最佳答案 试试:echo$0这通常适用于一系列shell。 关于linux-如何判断我使用的是哪

linux - 有没有办法改变 Unix 中另一个进程的环境变量?

在Unix上,有什么方法可以让一个进程更改另一个进程的环境变量(假设它们都由同一个用户运行)?一般的解决方案是最好的,但如果不是,那一个是另一个child的具体情况呢?编辑:通过gdb怎么样? 最佳答案 通过gdb:(gdb)attachprocess_id(gdb)callputenv("env_var_name=env_var_value")(gdb)detach这是一个非常讨厌的hack,当然只能在调试场景的上下文中完成。 关于linux-有没有办法改变Unix中另一个进程的环境变

Linux/Unix命令确定进程是否正在运行?

我需要一个独立于平台的(Linux/Unix|OSX)shell/bash命令来确定特定进程是否正在运行。例如mysqld,httpd...最简单的方法/命令是什么? 最佳答案 虽然pidof和pgrep是确定正在运行什么的好工具,但遗憾的是,它们在某些操作系统上都不可用。一个明确的故障保险是使用以下内容:pscax|grep命令GentooLinux上的输出:14484?S0:00apache214667?S0:00apache219620?Sl0:00apache221132?Ss0:04apache2TheoutputonOS

linux - 使用 unix 命令 "watch"的颜色?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers无关.如果您认为该问题将成为anotherStackExchangesite上的主题,您可以发表评论,说明在哪里可以回答问题。关闭去年。社区审核了是否重新开启这个问题去年并关闭:原始关闭原因未解决Improvethisquestion我使用的一些命令会显示颜色,但是当我将它们与watch一起使用时,颜色会消失:wa

python - 将 datetime 转换为 Unix 时间戳并将其转换回 python

我有dt=datetime(2013,9,1,11),我想获取这个datetime对象的Unix时间戳。当我执行(dt-datetime(1970,1,1)).total_seconds()时,我得到了时间戳1378033200。当使用datetime.fromtimestamp将其转换回来时,我得到了datetime.datetime(2013,9,1,6,0)。时间不匹配。我在这里错过了什么? 最佳答案 解决方案是importtimeimportdatetimed=datetime.date(2015,1,5)unixtime=

unix - 创建守护进程时执行双叉的原因是什么?

我正在尝试在python中创建一个守护进程。我找到了followingquestion,其中有一些我目前正在关注的好资源,但我很好奇为什么需要双叉。我在google上四处搜寻,发现大量资源声明这是必要的,但不是为什么。有人提到这是为了防止守护进程获取控制终端。如果没有第二个fork,它将如何做到这一点?有什么影响? 最佳答案 我试图理解双叉并在这里偶然发现了这个问题。经过大量研究,这是我想出来的。希望它能帮助有相同问题的人更好地澄清问题。在Unix中,每个进程都属于一个组,该组又属于一个session。这是层次结构……session