Unix & Linux

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

5
如何列出* .tar.gz,每行一个文件名?
我试图.tar.gz仅使用以下命令列出每个文件: ls *.tar.gz -l ...它向我显示以下列表: -rw-rw-r-- 1 osm osm 949 Nov 27 16:17 file1.tar.gz -rw-rw-r-- 1 osm osm 949 Nov 27 16:17 file2.tar.gz 但是,我只需要这样列出: file1.tar.gz file2.tar.gz 而且不是: file1.tar.gz file2.tar.gz 如何“适当地”完成?
8 ls 

2
通过Debian打包有条件地启用系统文件
我创建了一个安装服务的Deb包。 在我们的嵌入式设备上,我希望此软件包自动启用该服务。在我们的开发人员工作站上,我希望开发人员systemctl start foo手动进行操作(这是一项繁重的服务,因此,如果始终在桌面环境中运行,它只会消耗资源)。 如何在apt-get步骤中提示用户做出他们的决定?那是最好的解决方案吗? 注意,我已经使用dh_make和创建了包,debhelper并通过以下方式启用了该包: %: dh $@ --with=systemd override_dh_systemd_enable: dh_systemd_enable --name=foo foo.service
8 systemd  dpkg 

5
在>之后找不到exec'{}'不可用
Exec允许我们要么与一次传递所有参数,要么与{} +一对一传递它们{} \; 现在假设我想重命名所有jpeg,这样做没有问题: find . \( -name '*.jpg' -o -name '*.jpeg' \) -exec mv '{}' '{}'.new \; 但是,如果我需要重定向输出,'{}'重定向后将无法访问。 find . \( -name '*.jpg' -o -name '*.jpeg' \) -exec cjpeg -quality 80 '{}' > optimized_'{}' \; 这行不通。我必须使用for循环,在使用find之前将其输出存储到变量中。让我们承认,它很麻烦。 for f in `find . \( -name '*.jpg' -o -name '*.jpeg' \)`; do …
8 bash  find 

1
sshfs:将所有非root用户chroot到特定目录
在服务器上,我需要不受限制的root用户ssh访问权限,并且需要所有其他用户的访问权限。 我想将所有非root用户限制为: 没有SSH登录 只允许/mnt/data/使用挂载sshfs 我看到sshd_config允许使用Match User,即: Match User john ChrootDirectory /mnt/data/ ForceCommand internal-sftp AllowTCPForwarding no X11Forwarding no 但是我该如何匹配除roo​​t以外的所有用户?
8 ssh  sftp  sshfs 

1
使用fontconfig更改特定语言/脚本字符的字体系列?
我在Arch Linux,Deepin Desktop上。我使用Noto Serif作为标准字体,但我不喜欢其阿拉伯字符。因此,我的目标是仅将另一种字体用于阿拉伯字符。 这是我尝试过的。我在其中创建了一个新的配置文件,/etc/fonts/conf.d/其中包含以下内容: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="pattern"> <test name="lang" compare="contains"> <string>ar</string> </test> <test qual="any" name="family"> <string>sans-serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>Noto Naskh Arabic</string> </edit> </match> <match target="pattern"> <test name="lang" compare="contains"> <string>ar</string> </test> <test qual="any" name="family"> <string>serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>Noto …

3
删除文本文件的一部分并使用sed跟随以下行
我需要编辑如下文件: auto wlx00 allow-hotplug wlx00 iface wlx000 inet dhcp iface wlx000 inet6 auto post-up sysctl -w net.ipv6.conf.wlx000.accept_ra=2 auto wlx000 目标是删除以'iface ... inet6'开头的行,并删除以空格开头的下几行(可以是一个或多个): iface wlx000 inet6 auto post-up sysctl -w net.ipv6.conf.wlx000.accept_ra=2 并保持其余状态不变,以得到以下结果: auto wlx00 allow-hotplug wlx00 iface wlx000 inet dhcp auto wlx000 我尝试使用sed,如下所示: sed -i.old -r -e "/iface\s*\w*\s*inet6.*/,\${d;/^\s.*/d;}" /etc/configfile 但它会删除从正确位置开始到擦除为止的所有内容。我只想删除选择iface文本后以空格开头的线条。

4
按空格定界,但忽略反斜杠空格
5678 [] testing,\ group [] [testing [] ip\ 5.6.7.8 [] launch-wizard-1 0.0.0.0/0 456dlkjfa [] 1.2.3.4 [] test 1.2.3.4/32 4.3.2.0/23 4.3.2.0/23 default 4.3.2.0/23 4.3.2.0/23 launch-wizard-2 0.0.0.0/0 launch-wizard-3 0.0.0.0/0 2.3.4.5/32 [] 我想获取上面的第一列,但要注意的是,我需要将\ (反斜杠)作为该列的一部分,因此awk '{print $1}'应该给我 5678 testing,\ group [testing ip\ 5.6.7.8 launch-wizard-1 456dlkjfa 1.2.3.4 test default launch-wizard-2 launch-wizard-3 2.3.4.5/32

1
umount:目标正忙
我已经安装/dev并立即尝试卸载: $ sudo mount -o rbind /dev m $ sudo umount m umount: /tmp/m: target is busy. $ sudo lsof m lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME kdevtmpfs 55 root cwd DIR 0,6 4420 …
8 linux  mount 


3
X11Forwarding中是否有丢帧选项?
我正在通过X11Forwarding在无头远程VM(Ubuntu 16.04)上运行计算机视觉模型,并具有良好的Putty和Xming作为Windows X Server。 一切都很好,但是如果客户端-服务器带宽无法跟上,就不会丢帧,这意味着我的应用程序速度变慢,如果带宽足够,它每秒只能渲染几帧,而它却可以处理数百帧。 X11转发中是否内置有强制掉帧选项,如果存在,如何打开它?
8 x11  xming 

1
如何在不清除使它成为交换文件的情况下对/ swapfile进行零填充?
我有一个脚本可以运行,以便在备份虚拟客户机之前优化磁盘空间(使用哪个虚拟机管理程序确实没有太大关系)。 现代的Ubuntu版本(例如18.04)似乎默认使用/swapfile而不是分区。也可以 但是,我想对交换文件以及包含它的根分区进行零填充。 对于交换分区,这相对比较容易,因为总有一种方法可以$UUID从交换分区中提取现有分区,并在对分区进行零填充后运行mkswap -U $UUID以重新创建所述交换分区。 但是,/swapfile我不知道该怎么做。虽然我意识到您无法通过挂载/swapfileUUID /etc/fstab,但我仍然想保留UUID。 因此,我认为需要执行以下操作之一: 我需要一种方法,该方法可以将交换文件填满零,而无需擦除使它成为交换分区的那些结构(即避免运行mkswap -U $UUID) 我需要一种方法来从交换检索现有的UUID 文件(而不是一个分区,我可以使用任何来自blkid于看/dev/disk/by-uuid/$UUID...)
8 ubuntu  swap 

2
我不小心暂停了Linux显示过程
安装Linux Mint 19之后,我想检查vsinc如何影响Linux中的fps,因此我输入了以下命令: CLUTTER_SHOW_FPS=1 cinnamon --replace 一段时间后,我不小心按下Ctrl+ Z并暂停了该过程。立即,我的Bash shell和除鼠标光标以外的所有内容都冻结了,所以我无法键入fg命令。 有没有一种方法可以在不重新启动的情况下取消暂停该进程,我是否应该在下次使用Ctrl+ C正确退出该进程?
8 process 


4
在一行中用2个条件/替换重命名多个文件?
我正在尝试重命名一些图像: IMG_1.JPG IMG_2.JPG IMG_3.JPG 我想,以取代IMG与img和.JPG与.jpg-我知道该怎么做第二部分: $ rename 's/\.JPG$/\.jpg/' *.JPG 我的问题是,我似乎无法这样mv IMG_.JPG做img_.jpg-我知道您可以将多个模式传递给rename,但是我似乎无法使用带有修改后的小写字母值的现有文件名。 我该怎么办?
8 files  rename  replace 

2
在Bash脚本中被这个`find`命令混淆了吗?
我有一个bash脚本,该脚本由无法再解释其含义的人创建,用于自动对文件夹进行定位和备份。目前,我对最后一行感到困惑: find '/home/_backups/pokebrawl' -mtime +6 -type f -delete 完整脚本如下。 #!/bin/bash #Purpose = Backup of Important Data #Created on 17-1-2012 #Author = Hafiz Haider #Version 1.0 #START TIME=$(date +"%m-%d-%Y-%T") FILENAME=pokebrawl-$TIME.tar.gz SRCDIR=/home/servers/brawl/world DESDIR=/home/_backups/pokebrawl tar -cpzf $DESDIR/$FILENAME $SRCDIR find '/home/_backups/pokebrawl' -mtime +6 -type f -delete #END

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.