Unix & Linux

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

2
如何获取给定路径的文件系统的UUID?
我收到目录或文件的路径。 哪个实用程序/ shell脚本可以可靠地给我该目录/文件所在的文件系统的UUID? 通过文件系统的UUID,我的意思是UUID=...条目,例如,blkid 我正在使用Redhat Linux。 (有人建议我应该在unix.stackexchange.com上问这个问题,所以我将其从原始的stackexchange.com中移出)

1
cd到上一个目录,不回显目录名称
这个答案给了我cd -简化到Bash上一个目录的捷径。它确实有一个主要问题:它打印出要更改的目录,浪费了我的屏幕空间,因为该目录随后在下一行的提示中重复出现。 我知道我可以做cd $OLDPWD,在该答案中也提到了,cd - >/dev/null但这要打字得多。 在bash手册页中说: ...或-是第一个参数,并且目录更改成功后,新工作目录的绝对路径名将写入标准输出。 我怎样才能-不成为第一个论点?通过使用任何cd可选参数?还有其他抑制回波或最小化键入的方法,而无需在我使用的每台计算机上定义函数/别名?

1
是否可以用指定的tty / pty打开终端
(我正在使用Ubuntu。)据我了解,tty只是一种端口。您输入了一些内容,它应该输出一些内容。终端(仿真器)是处理这些输入和输出的软件。从字面上看,终端可以选择要连接到的端口。 我在/ dev中看到了很多tty文件,在/ dev / pts /中看到了很多pts文件,但我不知道为什么会有这么多。它们都被使用了吗? 如果没有,我可以启动指定pty的终端机吗? 例如 gnome-terminal /dev/pts/47 更新资料 我这样做的原因是我想要一个远程终端。我知道合适的方法是使用ssh或telnet。 但是对于临时访问,这不是很方便。我想使用socat将tty或pty转发给客户端。然后,客户可以使用该pty或tty启动终端。 以下代码可以正常工作。它在客户端和服务器端执行,我得到“你好”。 echo "hello" > /home/myhomefoler/pty_created_by_socat
9 terminal  tty 

1
了解目录符号链接遍历和父目录
假设您有目录/dir1和/dir2/linked,其中目录是到目录的符号链接。 当您cd到达linkedand时pwd,您将获得输出/dir2/linked。如果这样的话cd ..,你会被戴上/dir2。此行为与您/dir2/linked之前的想法一致。但是,据我了解,..任何目录的父目录()都存储在目录inode中(即:物理上在磁盘中)。显然,既然/dir2/linked是true /dir1,那么inode上的父目录必须是/ 为了进一步使问题复杂化,而里面/dir2/linked的输出ls ..和cd .. ; ls .是不同的!似乎是在cd尊敬符号链接的路径,而在ls尊敬“物理”路径。就像这个问题中提到的那样,这里cd -P有用例。 man pwd 提到了“物理”和“逻辑”工作目录,但目前我仍然有几个问题: PWD如所述,此行为是否总是由环境变量提供的man pwd? 如果它们都是shell命令(即不是程序),为什么要默认cd并ls具有不同的行为? 是否使用典型程序(而非shell命令)PWD代替物理路径?我知道这取决于实现,但是有经验法则吗?

3
设备已挂载或资源繁忙
问题 ::: 我在硬盘出现故障的服务器上安装了Redhat 5.10 x64。我删除了旧的故障硬盘并安装了500GB容量的新硬盘,安装后,我需要将一些数据从旧硬盘复制到/ u001下的新硬盘。所以我将旧硬盘(320 GB)连接到服务器。它显示在, fdisk -l但是当我尝试使用 sudo mount / dev / sdb2或/ dev / sdb5它说 注意:旧硬盘上还安装了旧操作系统,如fdisk -l / dev / sda =新硬盘 / dev / sdb =旧硬盘 设备已挂载或资源繁忙 Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 …

6
AWK-将多个.dat文件的第二行输出到一个文件
我有多个文件,例如:(实际上我有80个) file1.dat 2 5 6 9 7 1 file2.dat 3 7 8 4 1 3 我想最后得到一个包含所有第二行的文件。即 output.dat 6 9 8 4 到目前为止,我所拥有的内容虽然循环了文件名,但是之前覆盖了文件。例如上述文件的输出将只是 8 4 我的shell脚本看起来像这样: post.sh TEND = 80 TINDX = 0 while [ $TINDX - lt $TEND]; do awk '{ print NR==2 "input-$TINDX.dat > output.dat TINDX = $((TINDX+1)) done

7
grep跳过文件的n行,仅在之后搜索
我有一个很大的日志文件,想grep第一次出现某个模式,然后在出现这种情况后立即找到另一个模式。 例如: 123 XXY 214 ABC 182 558 ABC 856 ABC 在我的示例中,我想查找182然后找到下一个出现的ABC 第一次出现很简单: grep -n -m1 "182" /var/log/file 输出: 5:182 我如何找到下一次出现的ABC? 我的想法是根据行号182 告诉grep跳过第一n行(在上面的示例中n=5)。但是我该怎么做?
9 grep 

1
使用grep的无效反向引用
因此,我试图找到6个字母的单词,这些单词由一个字符重复3次,然后再由另一个字符重复3次组成。例如aaabbb或oookkk。 我在尝试: grep -E "[a-z]\1{3}\S[a-z]\1{3}" filename 首先,正则表达式正确吗?第二,我为什么要得到grep: Invalid back reference?

2
如何查找哪些映像属于哪个/ dev / loop?
我经常使用映像驱动器,这意味着先对相关驱动器进行dd复制,然后再处理映像而不是驱动器本身。 对于大多数工作,我使用kpartx将驱动器的分区映射到/ dev / mapper /下的设备。我想知道的是,是否有一种方法可以找到哪个映射属于哪个图像。 考虑一下: root@vyvyan:/tmp# kpartx -a -v Image1 add map loop1p1 (254:4): 0 10240 linear /dev/loop1 2048 add map loop1p2 (254:5): 0 10240 linear /dev/loop1 12288 add map loop1p3 (254:6): 0 52848 linear /dev/loop1 22528 root@vyvyan:/tmp# kpartx -a -v Image2 add map loop2p1 (254:7): 0 33508 …

1
“ apt”代表什么?
缩写“ apt”代表什么?我指的是“ apt”目录,“ apt-cache”和“ apt-get”包管理器。 我一直认为“ apt-get”是“获取应用程序”的缩写,但我可能错了。
9 apt 

3
rsync文本文件中具有绝对路径的目录列表
我有一个文本文件,其中包含目录列表及其绝对路径 $ cat DirectoriesToCopy.txt /data/Dir1 /data/Dir2 我想使用rsync复制所有这些目录,将其绝对路径保留到另一个位置。 我尝试了以下rsync命令,但它不起作用 rsync -avr --include-from=DirectoriesToCopy.txt --exclude='*/' --exclude='/*' / /media/MyDestination/ 这是怎么了?

2
Gnome Shell:会话开始后运行Shell脚本吗?
我是KDE的长期用户,从未见过GNOME,因为可能是Mandrake Linux 10之类的东西。昨天,我在YouTube上看了看GNOME Shell,认为它值得一看。 它确实值得,但我无法解决。 我有一个可以在我的KDE Laptop安装上运行了很长时间的shell脚本: synclient |grep -E 'TapT|RightB|EdgeScr'|awk '{print $1}'|while read item; do synclient $item=0; done synclient VertScrollDelta=-111 synclient HorizScrollDelta=1 synclient RightEdge=999999999 synclient TopEdge=0 synclient CircularScrolling=0 synclient BottomEdge=999999999 synclient RightButtonAreaLeft=9999999 synclient ClickFinger3=2 synclient HorizScrollDelta=0 synclient HorizTwoFingerScroll=0 这将禁用右键单击,所有点击,反转滚动方向,禁用水平滚动和填充。触摸板菜单或KDE中的gnome中均不允许这种配置。(TBH,只有所有操作系统的Mac都有gui来完全像这样设置触摸板:))。 我不知道,如何在gnome shell会话启动后运行它?我已经尝试过了,但没有结果: [1] % cat /home/neko/.config/autostart/script.desktop [Desktop Entry] Name="Auto stuff" …

3
sudo之后LD_LIBRARY_PATH总是空白
每当我似乎手动安装软件时,都会出现共享库错误。执行后,echo $LD_LIBRARY_PATH它显示为.. 无。我尝试将文件添加/usr/local/lib到其中.conf,/etc/ld.so.conf.d但似乎从未执行过。 这是行不通的(用引号或其他方式): LD_LIBRARY_PATH="/usr/local/lib" export LD_LIBRARY_PATH sudo ldconfig -v 该值将被临时设置,但是如果我退出一个终端窗口,它将不会保留该值。重新启动也不执行任何操作。

2
如果主机CPU有QEMU / KVM,它们是否对加密的qcow2映像使用Intel AES指令?
KVM的qcow2图像文件格式可以使用AES加密。加密在集群级别应用: 每个簇中的每个扇区均使用AES密码块链接模式进行独立加密,并使用低字节序格式的扇区偏移量(相对于设备的起始位置)作为128位初始化向量的前64位。 所述簇的大小可以设置从512个字节至2M(64K似乎是默认值)。 使用qcow2加密的主要问题之一是CPU的性能下降-每个磁盘写入或非缓存读取都需要加密或不加密。 我想知道的是,如果主机CPU有QEMU / KVM,它们是否使用Intel AES指令来减轻性能影响?如果是这样,使用率或性能是否很大程度上取决于群集大小? 英特尔®AES指令是一组全新的指令,从基于32纳米英特尔®微体系结构代号Westmere的全新2010英特尔®酷睿™处理器家族开始。这些指令可以使用由FIPS出版物编号197定义的高级加密标准(AES)进行快速,安全的数据加密和解密。由于AES当前是主要的分组密码,并且已在各种协议中使用,因此新指令非常有价值。适用于广泛的应用。

1
通过CLI使用浏览器打印网页
我想自动打印。从文本文件中的URL打印网页。我尝试使用wget,结果比通过浏览器打印时要差。FF和Chromium都设法通过编辑侧边栏等将网页转换为“可打印性”格式。另外,wget提取的网页没有图像。如何使我的照片看起来可读? 我正在考虑编写用于鼠标和键盘运动的哑宏以使用Web浏览器手动完成,但是CLI更好,错误更少。 曾经有一个扩展名,但是不再维护,因此不会安装在FF33上。 有什么办法吗?

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.