Unix & Linux

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

4
Bash:在stdout中捕获/使用最后(或第N)行
询问 我用Bash。当我寻找文件时,通常会执行以下操作: find -name stackexchange.hs 通常结果将如下所示: /youre/the/man/now/dog/stackexchange.hs /you/are/no/longer/the/dog/dog/stackexchange.hs /this/is/the/file/i/want/stackexchange.hs 然后,我要执行以下操作之一: 选项1:在vim中打开结果列表中的最后一项。 选项2:在vim中的结果列表中打开第N个项目。 目前,我用鼠标剪切粘贴。这使我想到我的问题: 是否有一种轻松的单线方式来完成选项1和2?请注意,这是在find命令之后发生的。 有没有办法在某种bash向量/数组中从stdout捕获N行? 理想用法 $ find -name am_i_really_all_alone.txt ./borges/library/you_are_not_alone.txt ./borges/library/am_i_really_all_alone.txt $ vim (N) (语法和语义可能有所不同,但您明白了) 相似性 似乎有几个类似的问题。这是我的感知差异(我很乐意接受启发): “使用find命令打开找到的文件”重点在于创建一行以将文件名从中传送find到vim(或其他任何文件中)。就我而言,我想find先进行管道传输(可以这么说)。我的捕获/使用严格地发生在之后。 “重新使用Lind命令的最后一个输出”似乎很有效,但似乎只是重复执行该命令,并不代表捕获第N行输出。坦白说,这吓到我了。 “捕获内置Bash的多行输出”很接近,但还不完全是。 “终端,外壳,tty,控制台等之间的确切区别是什么?” 这真的只是一本好书。 谢谢您的帮助!在90年代少年时代使用* nix / BSD并打电话给倦怠的酸头邻居吓坏了,以帮助我为即插即用声卡安装驱动程序后,我对讨论命令感到欣慰,与(不太可能)令人恐惧的个人保持联系。回来感觉很好。

7
如何将变量用作数组名称的一部分
我有两个数组: arrayA=(1 2 3) arrayB=(a b c) 我想使用命令行参数打印其中一个,即不带任何一个if else。 我尝试了几种语法变化,但均未成功。我想做这样的事情: ARG="$1" echo ${array${ARG}[@]} 但出现“不良替代”错误。我该如何实现?
11 bash  shell 

3
sda,sdb,dm-0,dm-1的含义在哪里
如果我运行iostat我会 sda0,sda1, 我有点知道这些就是“硬盘”。 然后有dm-0,dm-1?我想查看文档。 我检查了http://linux.die.net/man/1/iostat,根本没有提到它。 我的mount命令也显示了这一点: /dev/mapper/VolGroup-lv_root / ext4 usrjquota=quota.user,jqfmt=vfsv0 1 1 UUID=1450c2bf-d431-4621-9e8e-b0be57fd79b6 /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_home /home ext4 usrjquota=quota.user,jqfmt=vfsv0 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc …
11 linux 

1
如何在缓冲区/窗口焦点上自动刷新Vim?
我经常使用Control + L重绘Vim中的屏幕。 特别是,当我睡着了或更改监视器配置时,我经常发现需要重绘Vim。我认为向我的vimrc添加一些重新绘制焦点可能会更简单。 .vimrc当窗口/缓冲区获得焦点时,是否可以添加到文件中以重绘缓冲区的命令? 特别是,一个好的命令应该没有明显的负面性能或其他相关的副作用。
11 vim  gvim 

2
如何在PS3上运行Linux?
我正在学习数值计算,并拥有一台Core i5、4GB笔记本电脑,我发现某些任务执行速度很慢。 我读过一个PS3具有30台群集PC的处理能力。 基本上,我正在考虑购买PS并在其上安装Linux,然后在其上运行python程序。 我读过,索尼已禁用通过固件更新3.21安装Linux的功能 有没有办法在最新版本的PS上运行Linux?围绕新限制是否可以破解?如果我出去买一台,是否可以运行Linux?
11 linux 

2
在BusyBox中创建和控制启动脚本
我已经在BusyBox中编译了一个自定义linux内核。BusyBox init不支持运行级别。当内核在BusyBox中启动时,它首先执行init,在中寻找指定的运行级别/etc/inittab。没有,BusyBox init可以正常工作/etc/inittab。如果inittab找不到,则具有以下行为: ::sysinit:/etc/init.d/rcS 这部分对我来说很清楚,但是我想知道如何管理启动网络,创建串行端口或启动java进程的守护程序。我查看了驻留的脚本,/etc/init.d/但不了解如何管理它们。我正在寻找一个很好的教程或解决方案来自己控制这些服务,而无需使用诸如的自动化工具buildroot。我想了解这些脚本的工作方式以及如何在其中创建设备/dev/(现在我只有consoleand ttyAM0)。

1
为什么使用hdparm -S时驱动器未进入待机模式
当读hdparm手册页,它说,-S值 驱动器使用它来确定关闭主轴电机以节省功率之前要等待多长时间(无磁盘活动) 使用hdparm -B 1 -K 1 -S 120 /dev/sd[d-z]输出配置驱动器时: setting drive keep features to 1 (on) setting Advanced Power Management level to 0x01 (1) setting standby to 120 (10 minutes) APM_level = 1 初始驱动器状态hdparm -C /dev/sd[d-z]为“ 活动/空闲 ”。 所有这些/dev/sd[d-z]驱动器均具有相同的品牌和型号,未分区,未格式化和未安装。 之后等待15分钟,驱动状态仍然是“ 有功/无 ”。 仅当使用hdparm -y /dev/sd[d-z]该驱动器发出“强制IDE驱动器立即进入低功耗待机模式”时,才进入“ 待机 ”状态。 在hdparm指定的超时值之后,为什么驱动器没有进入低功耗待机状态? 其他一些驱动器规格源自 …

3
首先使用awk处理最后一行
我有一个要awk基于最后一个数据点进行规范化的数据文件。因此,我想先访问最后一个数据点,以规范化数据,然后正常处理。 以下方法使用tac两次即可完成工作,但可能比必要的方法复杂。 $ cat file 0 5 1 2 2 3 3 4 $ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac 0 1.25 1 0.5 2 0.75 3 1 我的问题是:仅使用awk是否可以获得上述结果? 我认为答案是“不,awk逐行扫描文件”,但我愿意提出替代建议。

3
Linux中的超频工具
我试图超频我的机器。所有更改都在BIOS级别上进行,但随后需要检查所有温度,电压等,并测试超频的稳定性。大多数教程(如果不是全部)都是针对Windows编写的。什么是Linux替代品: CPU-Z:显示所有CPU信息,包括核心速度,核心电压,电流倍增器等。 HWMonitor:检查风扇速度和核心温度 Prime95:压力测试和结果验证 另外,我还希望能够监视Intel处理器(我有Q9450)的VTT和NB电压(请参阅所有电压的简短说明)-实际上我还没有找到能做到这一点的Windows程序。


1
如何让bash建议丢失的软件包?
在运行Ubuntu时,尝试在bash中执行命令时,它曾经暗示该程序丢失了,但是在另一个软件包Y中找到了,我可以尝试安装它。 现在在Debian系统上,情况不再如此。如果未找到该命令,则不会显示任何建议,但是将更新软件包管理器列表。如何从bash中给出的命令中获取建议的软件包的建议?

4
杀死一个tmux会话并选择另一个tmux会话
我试图绑定X以执行以下操作: 提示用户是否应终止会话 如果y输入,则终止会话 会话被杀死后,选择另一个会话(上一个,上一个或下一个会话) 一些不太正确的类似命令 终止会话并关闭终端: bind X confirm-before -p "Kill #S (y/n)?" kill-session 提示用户输入要终止的会话的名称,并在终止后选择下一个会话: bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'" 我还没有找到类似命令的示例。这是一个不起作用的解决方案: bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
11 tmux 

2
脚本出现问题,文件名中带有空格
我有一个脚本,该脚本将来自远程主机的文件压缩回本地。有时文件名包含空格。scp不喜欢其文件名中的空格。由于某种原因,我尝试处理空间的结果未产生正确的scp路径。 码: PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg scp $PATH Me@10.1.10.33:/Users/Me/Desktop 结果是 Cannot find directory: var/root/Documents/MyFile Cannot find directory: OG-v1.2.3.pkg 将PATH括在引号中"$PATH"会产生相同的错误。 将空间交换为逃逸空间也不起作用,尽管据我所知应该这样: ESC_PATH=${PATH/' '/'\ '} 尽管打印转义的路径表明编辑有效: echo $ESC_PATH > /var/root/Documents/MyFile\ OG-v1.2.3.pkg

1
如何理解为什么iptables将数据包视为无效?
我设置了一些iptables规则,以便它记录并丢弃无效(--state INVALID)的数据包。阅读日志如何理解为什么该数据包被视为无效?例如,以下内容: Nov 29 22:59:13 htpc-router kernel: [6550193.790402] ::IPT::DROP:: IN=ppp0 OUT= MAC= SRC=31.13.72.7 DST=136.169.151.82 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=5104 DF PROTO=TCP SPT=80 DPT=61597 WINDOW=0 RES=0x00 ACK RST URGP=0


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.