Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
处理以BOM表(FF FE)开头的文件
我收到了带有FF FEBOM 的.csv文件: $ head -n1 dotan.csv | hd 00000000 ff fe 41 00 64 00 20 00 67 00 72 00 6f 00 75 00 |..A.d. .g.r.o.u.| 当使用awk它解析时,我得到了一堆空字节,我怀疑这是由于字节顺序所致。如何交换该文件上的字节顺序(使用CLI),以便普通工具可以使用它? 请注意,我认为该文件仅是ASCII字符(BOM除外),但是我不能确认grep它是二进制文件: $ grep -P '^[\x00-\x7f]' dotan.csv Binary file dotan.csv matches 在VIM中搜索相同的字符串会显示每个匹配的字符! 使用iconv转换为ASCII不会摆脱\ x00值,实际上,这使问题变得更糟,因为它们现在看起来像空字节而不是UTF-8! $ iconv -f UTF-8 -t ASCII dotan.csv > …

4
从一个终端用户向另一个用户发送消息
我在tty1中有一个名为x的用户,在tty2中有一个名为y的用户。现在x想要向y写一些消息,反之亦然。现在我在tty1终端输入write y tty2 它显示 write:write:您已关闭写权限 write:y已禁用消息 当y向x发送消息时显示的是相同的内容,而不是最后一行中的“ x”。我该怎么办?
10 terminal  tty  write 


1
setfacl:这两个命令是否相同?
我有一个部署脚本(基于capifony),可在特定服务器上设置Symfony2安装的权限。它包含以下两个命令来对多个目录执行此操作: setfacl -R -m u:www-data:rwx -m u:`whoami`:rwX app/cache setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwX app/cache 这两个命令位于Symfony2站点上,作为一种修复权限的方法,但是,它们看起来与我非常相似。因此,我查看了的联机帮助页setfacl,据我了解,第二个命令与第一个命令的功能完全相同,但有一个附加选项(我不太了解)。我的问题是,我的假设正确吗?如果是这样,如果我删除了第一个命令,是否会有相同的效果?
10 permissions  acl 

7
如何从/ etc中列出以“ a”或“ c”开头的文件。[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 28天前关闭。 我试过了,ls /etc/[ac]*但是它显示了以a或c开头的目录及其全部内容,而不是以“ a ”或“ c ” 开头的文件。
10 ls  wildcards 

4
UFW正在阻止DNS
我正在服务器中配置安全性。为了简化防火墙管理,我安装了UFW。我在UFW中进行了一些设置,并允许了一些端口。因此,当我启用它时,DNS服务没有响应。 我尝试运行命令DIG www.domain.com.br来测试DNS,但未成功。禁用UFW时,此命令运行不会出现问题。我已经允许使用53端口(TCP和UDP),但是DNS无法正常工作。 我的UFW设置: Status: active Logging: on (low) Default: deny (incoming), deny (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 21/tcp ALLOW IN Anywhere 16/tcp ALLOW IN Anywhere 443/tcp ALLOW IN Anywhere 80 ALLOW IN Anywhere 53 ALLOW IN Anywhere 465 ALLOW IN Anywhere 25/tcp …
10 linux  ubuntu  dns  ufw 

2
为什么在远程计算机上运行脚本时文件名为什么包含问号?
我有一个很小的脚本,可以简单地获取当前日期,运行PHP脚本并将输出(和错误)重定向到包含当前日期的文件名。 DATE=$(date +"%Y%m%d") FILE="log/${DATE}.log" php -q script.php >> $FILE 2>&1 当我在本地计算机(Windows 7,Aptana IDE)上运行此脚本时,PHP脚本可以正常工作,并且日志文件具有预期的文件名,例如20140502.log。 但是,当我通过SFTP将脚本推送到我的远程计算机并执行该脚本时,文件名看起来像这样: 20140502?.log? 可能是什么问题?这是一个必然的错误吗(例如,SFTP上传的编码是ANSII,期望使用UTF-8)?还是我必须更改脚本本身中的任何内容? 有关系统/外壳的信息: [foo@bar path]$ sh --version GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) 有趣的事实:如果该脚本由cronjob调用,则不会出现问号。仅当我手动运行脚本时。

2
用bash打印系统剪贴板内容
有一种方法可以通过将一些命令输出输出到系统剪贴板xclip。 some-command | xclip -selection clipboard 我想执行相反的任务-将系统剪贴板打印到终端。怎么做?
10 bash  xorg  clipboard 

2
修改tar存档中文件的文件所有权
我正在以用户身份工作,我想创建一个tar归档文件,当该文件解压缩时(按根)将提取具有根所有权的文件(否则,在提取文件后,root必须手动更改每个文件的所有权)到达目的地)。 我发现fakeroot这似乎正是这样做的。但是我无法找到创建档案所需的语法。 如何创建tar.xz归档文件,以使文件在由root解压缩时具有root所有权? do something with fakeroot ... tar cfpJ foo.tar.xz foo/
10 files  permissions  tar 

2
Nginx侦听端口,仅在设置为端口80时响应
操作系统:Funtoo。我已经将NGINX绑定到端口81(为了方便过渡,我想在我的Apache服务器上短时间运行它),并且它侦听该端口(如果我使用wget指向另一个端口,则会收到“拒绝连接”,但是使用端口81可以实现“连接”),但是它永远不会提供任何HTML响应! 在本地主机上的端口上运行wget时,我得到: # wget localhost:81 -2014-04-16 23:56:45- http://localhost:81/ Resolving localhost... 127.0.0.1 Connecting to localhost|127.0.0.1|:81... connected. HTTP request sent, awaiting response... 在另一台计算机上... $ wget 192.168.18.42:81 -2014-04-16 23:57:19- http://192.168.18.42:81/ Connecting to 192.168.18.42:81... connected. HTTP request sent, awaiting response... 在那之后什么都没有发生。这些文档存在,它是正常的Funtoo nginx.conf。 更新:我可以让它监听端口80,但仍然令我感到困惑,因为我无法在任何端口上使用它。 netstat -aWn | grep 81 | grep LISTEN tcp 60 0 …

2
根据主机名设置tmux状态行颜色
我想tmux根据机器的主机名动态选择一种颜色。由于我tmux.conf在多台计算机上共享我的计算机,因此为每个主机分配唯一的颜色在视觉上非常方便,尤其是在同时运行多个主机时。这可行吗?
10 tmux  colors 

2
如何让xrandr检测两个nvidia卡:2 x GTX480,三头?
我正在运行Linux Mint 16(Petra) 我正在运行发行版附带的默认驱动程序nvidia-319 我有2张GTX480卡 我有3个显示器 使用Nvidia驱动程序,专有实用程序可以拾取所有显示器和GPU。 但是,类似于https://devtalk.nvidia.com/default/topic/719768/linux/304-121-ubuntu-14-04-xrandr-1-4-multi-gpu-not-being-detected上的报告/当我运行xrandr --listproviders时,只向我显示一个提供程序—第一张卡。我有xrandr 1.4,因此应该能够看到两者。如果我设置了一个单独的X屏幕,然后执行xrandr --listproviders --screen 1,则可以看到第二张卡片。但是,我不希望有多个X屏幕。我希望能够在监视器之间无缝地流动。 我不想运行xinerama,因为它设置起来很麻烦,应该由xrandr取代。 使用nouveau驱动程序,我可以完全按照我的意愿使用所有三个屏幕,但是性能并不理想。 因此,我有几个问题: 1.)这种行为是设计使然还是错误?我在http://uk.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html上注意到,该驱动程序仅支持Source Output功能。这会阻止我仅在xrandr中看到两个不同的卡提供商吗? 2)如果前者是正确的,我有办法解决这个问题吗? 3.)我玩过各种基本马赛克选项,但无济于事 我尝试的最后一个配置是: Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor1" VendorName "Unknown" ModelName "Ancor Communications Inc ASUS VS247" HorizSync 24.0 …

8
如何禁用Python 3.4中的新历史记录功能?
自从升级到Python 3.4之后,所有交互式命令都记录到~/.python_history。我不希望Python创建或写入此文件。 创建到的符号链接/dev/null无效,Python会删除该文件并重新创建它。该文档建议删除sys.__interactivehook__,但这也会删除制表符补全。如何禁用该历史记录文件,但仍保留制表符补全功能? 额外细节: 发行版:Arch Linux x86_64 阅读专线6.3-3 python 3.4.0-2

1
了解IFS的默认值
在我的GNU bash版本4.2.8中,IFS默认具有空格,制表符和换行符的默认值: usr@T42 ~ $ echo -n "$IFS" | hexdump -C 00000000 20 09 0a | ..| 00000003 usr@T42 ~ $ 有没有使用默认IFS的理由?另外,除了bash内置之外,哪些实用程序还使用IFS read?
10 bash  shell  quoting 

3
如何将存储在变量中的参数传递给WGET
我正在编写一个广泛使用wget的bash脚本。为了在一处定义所有通用参数,我将它们存储在变量中。这是一段代码: useragent='--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"' cookies_file="/tmp/wget-cookies.txt" save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies" load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies" function mywget { log "#!!!!!!!!!# WGET #!!!!!!!!!# wget $quiet $useragent $load_cookies_cmd $@" wget $useragent $load_cookies_cmd "$@" } 遗憾的是没有工作。不知何故,我缺少将参数存储在变量$ useragent,$ save_cookies_cmd,$ load_cookies_cmd以及将这些var作为参数传递的wget上的正确方法。 我想要这样的结果命令行: wget --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" --load-cookies /tmp/wget-cookies.txt --keep-session-cookies …

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.