Questions tagged «linux»

LINUX问题必须与编程有关。仅当您的问题与使用Linux API或Linux特定行为进行编程有关时才使用此标记,而不仅仅是因为您碰巧在Linux上运行代码。如果需要Linux支持,可以尝试https://unix.stackexchange.com或特定Linux发行版的Stack Exchange网站,例如https://askubuntu.com或https://elementaryos.stackexchange.com/


6
使用find命令,但排除两个目录中的文件
我想找到以结尾的文件_peaks.bed,但排除tmp和scripts文件夹中的文件。 我的命令是这样的: find . -type f \( -name "*_peaks.bed" ! -name "*tmp*" ! -name "*scripts*" \) 但这没有用。中的文件tmp和script文件夹仍将显示。 有人对此有想法吗?
86 linux  shell  unix  find 

7
如何避免在信号处理程序中使用printf?
由于printf不是可重入的,因此在信号处理程序中使用它并不安全。但是我看过很多使用printf这种方式的示例代码。 所以我的问题是:我们什么时候需要避免printf在信号处理程序中使用,并且有推荐的替代品吗?
86 c  linux  signals 

3
将Cron标签设置为工作日的特定时间
我正在尝试在Ubuntu服务器上设置cron作业。我们希望cron作业在一天中的某些时间和一周的某些特定日期运行脚本。例如,我们要设置一个cron作业,按以下顺序运行脚本: 在工作日中,从上午9点到下午2点每2分钟执行一次脚本。 到目前为止,这是我能够做到的: * / 2 09-14 * * * / path_to_script 我平日应该做什么?
86 linux  cron 

6
git钩子的符号链接
我编写了自己的自定义合并后钩子,现在我在主项目文件夹中添加了一个“ hooks”目录(因为git无法跟踪.git / hooks中的更改),因此我读到可以从钩子建立符号链接的地方到.git / hooks,这样我就不必在每次有人更改文件时都将文件从一个文件夹复制到另一个文件夹,因此我尝试了: ln -s -f hooks/post-merge .git/hooks/post-merge 但这似乎不起作用,有什么主意吗?“在钩子/合并后.git / hooks /合并后”效果很好,但进行硬链接与我想的copyin相同...
86 linux  git  githooks 

3
sed中的“保留空间”和“模式空间”的概念
我对sed中的两个概念感到困惑:保持空间和模式空间。有人可以帮忙解释一下吗? 这是手册的摘要: h H Copy/append pattern space to hold space. g G Copy/append hold space to pattern space. n N Read/append the next line of input into the pattern space. 这六个命令确实使我感到困惑。
86 linux  sed 

28
连接到主机localhost端口22:连接被拒绝
在本地计算机上安装hadoop时,出现以下错误 ssh -vvv localhost OpenSSH_5.5p1, OpenSSL 1.0.0e-fips 6 Sep 2011 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to localhost [127.0.0.1] port 22. debug1: connect to address 127.0.0.1 port 22: Connection refused ssh: connect to host localhost port 22: Connection refused 有什么可以比更改端口号帮助我解决此错误?
86 linux  hadoop  ssh 

3
使用gdb在指定的可执行文件之外单步执行汇编代码会导致错误“找不到当前函数的边界”
我不在gdb的目标可执行文件之外,甚至没有对应于该目标的堆栈。无论如何,我都想单步执行,以便我可以验证汇编代码中发生的事情,因为我不是x86汇编方面的专家。不幸的是,gdb拒绝执行此简单的程序集级调试。它允许我在适当的断点处设置和停止,但是一旦我尝试单步执行,gdb就会报告错误“找不到当前函数的边界”,并且EIP不会更改。 额外细节: 机器代码是由gcc asm语句生成的,我从objdump -d的输出将其复制到了正在执行的内核内存位置。我不介意使用加载程序将目标代码加载到重定位地址的简单方法,但是请记住,加载必须在内核模块中完成。 我想另一种选择是产生一个伪造的内核模块或调试信息文件以提供给gdb,使它相信该区域在程序代码内。gdb在内核可执行文件本身上运行良好。 (对于那些真正想知道的人,我是在运行时将代码插入VMware VM内的Linux内核数据空间中,然后通过gdb调试它,通过VMware Workstation的内置gdb存根对内核进行远程调试。注意,我不是在编写内核漏洞利用;我是写原型的安全研究生。) (我可以在程序集中的每条指令上设置一个断点。这可以工作,但是一段时间后会变得很费力,因为x86汇编指令的大小各不相同,并且每次重新启动时程序集的位置都会改变。)

11
根据定界符将一个文件拆分为多个文件
我-|在每个部分之后都有一个用作分隔符的文件...需要使用Unix为每个部分创建单独的文件。 输入文件示例 wertretr ewretrtret 1212132323 000232 -| ereteertetet 232434234 erewesdfsfsfs 0234342343 -| jdhg3875jdfsgfd sjdhfdbfjds 347674657435 -| 文件1中的预期结果 wertretr ewretrtret 1212132323 000232 -| 文件2中的预期结果 ereteertetet 232434234 erewesdfsfsfs 0234342343 -| 文件3中的预期结果 jdhg3875jdfsgfd sjdhfdbfjds 347674657435 -|
86 linux  unix  awk  split 

6
在文本文件中获取第n列
我有一个文本文件: 1 Q0 1657 1 19.6117 Exp 1 Q0 1410 2 18.8302 Exp 2 Q0 3078 1 18.6695 Exp 2 Q0 2434 2 14.0508 Exp 2 Q0 3129 3 13.5495 Exp 我想要这样的每一行的第二个和第四个单词: 1657 19.6117 1410 18.8302 3078 18.6695 2434 14.0508 3129 13.5495 我正在使用此代码: nol=$(cat "/path/of/my/text" | wc -l) x=1 while …
86 linux  bash 


9
登录后如何限制SSH用户使用预定义的命令集?
这是一种安全性的想法。我们的员工应该可以访问linux服务器上的某些命令,但不是全部。他们应例如可以访问日志文件(less logfile)或启动其他命令(shutdown.sh/ run.sh)。 背景资料: 所有员工都使用相同的用户名访问服务器:我们的产品以“普通”用户权限运行,不需要“安装”。只需将其解压缩到您的用户目录中并运行它即可。我们管理“安装”应用程序的多台服务器。在每台机器上都有一个用户johndoe。我们的员工有时需要在命令行上访问该应用程序,以访问和检查日志文件或手动重新启动该应用程序。只有某些人具有完全命令行访问权限。 我们正在服务器上使用ppk身份验证。 如果employee1只能访问日志文件,而employee2也可以执行X等操作,那就太好了…… 解决方案: 作为一种解决方案,我将使用command已接受答案中所述的选项。我将制作自​​己的小Shell脚本,这将是某些员工可以执行的唯一文件。该脚本将提供几个可以执行的命令,但没有其他命令。我将使用下列参数authorized_keys从为表示在这里: command="/bin/myscript.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-dss AAAAB3....o9M9qz4xqGCqGXoJw= user@host 这对我们来说已经足够安全了。谢谢,社区!
85 linux  shell  ssh 



5
没有项目文件夹的git clone
我已授予对服务器的访问权限,并想将git repo克隆到我的根文件夹中。但是,当我执行git clone时,它将使我的文件夹具有项目名称,而我的项目文件夹是我的根目录。我无权访问父文件夹,我的根目录是 /var/www/sites/mysite/ 当我克隆文件夹结构时 /var/www/sites/mysite/mysite
85 linux  git 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.