Unix & Linux

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


1
为什么“ cp -R --reflink = always”在btrfs文件系统上执行标准副本?
Btrfs支持写时复制。我试图使用该功能来克隆目录: cp -R --reflink=always foo_directory foo_directory.mirror 我希望该命令几乎立即完成(如btrfs subvolume snapshot),但是该cp命令似乎执行了缓慢的标准复制。 根据手册页,我希望--reflink=always强制执行写时复制: 当指定--reflink [= always]时,执行轻量级复制,仅在修改时复制数据块。如果这不可能,则复制失败,或者如果指定了--reflink = auto,则退回到标准副本。 问题: 你知道为什么--reflink=always不起作用吗? 我应该改用哪些选项(或其他命令)?
12 cp  btrfs 

4
Bash,调用新的shell后执行命令
我正在尝试制作一个像这样的脚本: #!/bin/bash sudo -s something... 当我执行它时,我得到一个新的外壳,但是something仅当我退出由创建的外壳时才执行sudo -s,而不是在其内部执行。 有什么帮助吗?

1
创建系统帐户“ useradd -r”的含义Linux Fedora / RHEL / CentOS
我想知道使用-r选项创建帐户的含义是什么? # useradd -r ... 帮助说: -r, --system Create a system account. System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups). Note that …

4
如何通过代理服务器设置系统范围的连接
我通过代理访问Internet,我的操作系统是Debian 8,每个应用程序都必须将其配置为使用代理,但是要使其与代理一起使用有些麻烦,那么我的问题是:有什么办法还是一个程序,将我所有的连接(tcp,udp等)发送到代理?也就是说,如何通过代理服务器设置系统范围的连接?
12 linux  debian  proxy 

3
Tmux-从脚本获取窗口中每个窗格的窗格号?
有没有办法找出Tmux中特定窗格的窗格索引? 我知道我可以执行以下操作: tmux display-message -p "#{pane_index}" 但这仅适用于活动窗格。我希望它能在运行的任何窗格中正常工作。通常,在非活动窗格的窗格中运行脚本当然很困难,但是如果您使用可以:set-window-option synchronize-panes在所有窗格之间同步输入,则可以。 我将如何使用它? 在我的工作中,我需要同时连接到负载均衡器中的多个相同服务器,这与Tmux窗格相同。我通常会打开“同步窗格”功能,以使我键入的内容可以同时发送到每个窗格。这很好。 我发现的事情是,我想连接到服务器,有时每个窗格都做一些独特的事情,每次都使用相同的“窗格索引”。例如,我将运行如下命令: ssh NODE_$(get_pane_number) 同步并在每个窗格中运行时,它们将在具有4个窗格的窗口中运行以下命令: ssh NODE_0 在窗格0中 ssh NODE_1 在窗格1中 ssh NODE_2 在窗格2中 ssh NODE_3 在窗格3中 我当然可以编写脚本,但是只有在开始同步输入之前,它才能很好地工作。有时候,我也想在开始同步输入后执行此操作。
12 tmux 

1
Plasma 5的默认设置存储在哪里?
在分布式系统(NFS根目录)上,我想更改桌面的显示方式,以供以前从未登录过系统的用户使用,即未设置任何设置。我想更改一些桌面符号,将默认活动更改为桌面符号,然后从简单程序启动器切换为启动。 我该怎么办?

5
如何格式化img文件中的分区?
我img通过以下命令创建了一个文件: dd if=/dev/zero bs=2M count=200 > binary.img 它只是一个带有零的文件,但是我可以在其中使用它fdisk并创建一个分区表: # fdisk binary.img Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x51707f21. Command (m for help): p Disk binary.img: 400 MiB, 419430400 bytes, 819200 sectors Units: sectors of 1 * 512 = 512 bytes …

2
如何检查rsync是否对bash进行了任何更改?
我有一个脚本,该脚本使用rsync在远程->本地方案中同步数据。运行rsync命令后,立即检查错误代码是否等于零。如果其为零,则执行其他命令。但是,这没有考虑到rsync可能已经成功运行但实际上并未进行任何更改的事实。因此,无论如何都将等于零条件运行,这有点多余。 rsync -aEivm --delete /path/to/remote/ /path/to/local/ if [ $? -eq 0 ]; then # Success do some more work! else # Something went wrong! exit 1; fi 将其扩展为检查是否确实存在基于运行的rsync命令的任何更改的最佳方法是什么。我已经读过-i标志可以将输出提供给stdout,但是如何将其放在条件块中呢?

3
如何从bash检查Debian中是否存在软件包
我想编写一个安装bash脚本,在其中安装MySQL服务器。 在Linux Mint上,我遵循以下代码: apt-get -y --force-yes install mysql-server-5.6 但是我安装了新的Debian 8,但没有mysql-server-而是有mariadb。 我如何找出包装是否存在? 我只知道dpkg -s应该告诉哪个软件包是否已安装。
12 bash  apt  deb 

3
为什么我们必须在exec函数中两次传递文件名?
我读了第 8 章的Stevens撰写的《 UNIX环境中的高级编程》。我阅读并理解了exec函数的全部六个。 我注意到的一件事是,在所有exec函数中: 第一个参数是文件名/路径名(取决于exec函数)。 第二个参数是我们输入的argv [0] main(),它是文件名本身。 因此,这里我们必须在函数中两次传递文件名。 是否有任何原因(例如我们无法从第一个参数的路径名中获取文件名)?


8
如何使用bash求和时间?
我想知道一系列过程将花费在我的计算机上的总时间,以确定我应该在那运行还是在功能更强大的计算机上运行。因此,我正在预测每个命令的运行时间。输出如下: process1 00:03:34 process2 00:00:35 process3 00:12:34 如何汇总第二列以获得总运行时间?我可以尝试通过每行 awk '{sum += $2 } END { print sum } 但这是没有意义的,因为这些值不是自然数。
12 bash  time  arithmetic 

5
在启动接口时是否可以阻止添加默认路由?
我有一个带有两个NIC的系统。这台机器和一些附带的设备将被移动并连接到不同的LAN,或者有时它将使用拨号。 eth0: - 10.x.x.x address space - no internet gateway - only a few devices eth1 (when used): - 172.16.x.x or 192.168.x.x or other address spaces - access to the gateway from LAN to internet ppp0 (when used): - internet access through dialup using KPPP 我正在使用ifconfig来打开或关闭接口(除了ppp0,它由KPPP处理)。 如果我首先启动eth1,它会从其DHCP中获取一个地址并获取网关,并将其添加到路由中,因此到达LAN和Internet不会有任何麻烦。 如果我首先或第二次启动eth0,它将获取其地址并将默认网关设置为其地址空间内(在10.xxx范围内)。如果我先启动eth0,然后启动eth1,则默认网关仍保持在10.xxx范围内。 因此,无论我做什么,eth0都会覆盖eth1并“声明”路由中的网关。 有什么方法可以防止eth0声明网关,或确保eth1(如果是第2个启动的话)使用其网关?还是我可以以某种方式优先使用哪个接口的网关,而不是其他接口? …

2
bash find:获取找到文件的目录
我有一个名为“ parent_folder”的父文件夹,其中包含许多子文件夹,在这些子文件夹中是一个名为“ foo.mp4”的文件。 通过执行以下操作,我可以轻松找到这些文件: mymacbook:parent_folder username$ find ./ -name "foo.mp4" -exec echo {} \; 现在返回相对于parent_folder /的每个文件的路径 ./path/to/foo.mp4 我怎么能只返回路径,而没有文件名?
12 shell  find  osx 

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.