小编von*_*and的帖子

如何查看运行cp的进度?

是否可以检查运行 cp 进程的进度?一些进程响应各种 KILL 信号,以便您可以检查它们的状态。我知道我可以使用参数 -v 运行 cp 但是如果忘记这样做怎么办,cp 运行了很长时间,我想知道正在复制哪个文件,或者已经复制了多少文件。

cp

70
推荐指数
7
解决办法
17万
查看次数

如何从数组中完全删除元素?

unset array[0]删除元素但仍然如果我这样做echo ${array[0]}我得到一个空值而且还有其他方法可以做到这一点但是如果数组的元素包含如下空格

array[0]='james young'
array[1]='mary'
array[2]='randy orton'
Run Code Online (Sandbox Code Playgroud)

但这些也无法完成工作

array=${array[@]:1} #removed the 1st element
Run Code Online (Sandbox Code Playgroud)

现在我希望新数组像

array[0]='mary'
array[1]='randy orton'
Run Code Online (Sandbox Code Playgroud)

分配后空格会引起麻烦,实际数组变得像替换一样。

array=(mary randy orton)
Run Code Online (Sandbox Code Playgroud)

shell bash array shell-script

62
推荐指数
1
解决办法
7万
查看次数

推荐阅读以更好地理解 Unix/Linux 内部

在过去的四年里,我作为应用程序开发人员一直在 *nix 环境中工作(主要使用 C 语言)。

请推荐一些书籍/博客等,以提高我的 *nix 内部知识。

linux books

60
推荐指数
6
解决办法
5万
查看次数

如何排序(按任何键)`.bib` 文件中的 BibTex 条目?

我使用 LaTeX 并使用 Git 进行版本控制。对于书目管理,我使用 Mendeley。

问题是每次 Mendeley 同步它的.bib导出时,它们的顺序不同,这使得书目版本控制变得更加困难。

我的想法是在.bib每次提交之前对文件中的BibTex 条目进行排序。

你能帮我吗,如何以智能(短而甜蜜)的方式做到这一点?:)

PS我可以手动运行这个程序。我不需要 git 集成。我只想要程序/脚本对.bib文件进行排序。

git text-processing sort latex

14
推荐指数
2
解决办法
7089
查看次数

一个隐藏的过程,它是什么?

[root@datacenteronline ~]# ssh root@192.168.1.172
Last login: Wed Apr 17 09:55:45 2013 from 192.168.1.187
[root@localhost ~]# ls /proc/ | grep 2266
[root@localhost ~]# cd /proc/2266
[root@localhost 2266]# ls
attr             cpuset   limits      net            root       statm
autogroup        cwd      loginuid    numa_maps      sched      status
auxv             environ  maps        oom_adj        schedstat  syscall
cgroup           exe      mem         oom_score      sessionid  task
clear_refs       fd       mountinfo   oom_score_adj  smaps      wchan
cmdline          fdinfo   mounts      pagemap        stack
coredump_filter  io       mountstats  personality    stat
[root@localhost 2266]# ls -al /proc/2266
total 0
dr-xr-xr-x   7 apache apache 0 Apr …
Run Code Online (Sandbox Code Playgroud)

linux proc

11
推荐指数
1
解决办法
5892
查看次数

删除 USB 闪存驱动器写保护

我有一个带有集成闪存的运动手表。该闪存用于存储训练信息。当我使用 USB 数据线将手表连接到我的电脑时,它被检测为写保护的闪存驱动器:

[354703.052138] sd 7:0:0:0: [sdc] Write Protect is on
Run Code Online (Sandbox Code Playgroud)

..而且我显然无法重新安装具有 RW 权限的分区:

root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~# 
Run Code Online (Sandbox Code Playgroud)

我记得hdparm有一个选项可以更改设备的只读标志,并且当 USB 闪存驱动器被检测为 SATA 驱动器时,我尝试了一下,但这也无济于事:

root@T60:~# hdparm -r0 /dev/sdc

/dev/sdc:
 setting readonly to 0 (off)
 readonly      =  0 (off)
root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~# 
Run Code Online (Sandbox Code Playgroud)

我猜手表的设计方式是一旦检测到 USB 连接,就会触发(硬件)USB 写保护开关?这种硬件写保护是 USB 标准的一部分吗?或者还有什么可以尝试的吗?

usb usb-drive

11
推荐指数
1
解决办法
6万
查看次数

什么是 shell 中的命令替换?

我正在将 Ubuntu 16.04 与 Bash 一起使用,我尝试在Wikipedia中阅读此处此处,但我无法理解一般 shell 脚本中“命令替换”的含义,特别是在 Bash 中,如下所示:

$(command)
Run Code Online (Sandbox Code Playgroud)

或者

`command`
Run Code Online (Sandbox Code Playgroud)

这个词的含义是什么?

编辑:当我第一次发布这个问题时,我已经知道替换的纯概念以及变量替换的 Linux 概念(通过执行替换变量的值),但我仍然从文档中错过了这个 shell 特性的目的原因或原因组。


问题锁定后我的回答

命令替换是一种具有专用语法的操作,用于执行命令并将该命令的输出保存(存储)在变量中以备后用。

一个例子date

thedate="$(date)"
Run Code Online (Sandbox Code Playgroud)

然后我们可以使用以下命令打印结果printf

printf 'The date is %s\n' "$thedate"
Run Code Online (Sandbox Code Playgroud)
  1. 命令替换语法是$().
  2. 命令本身是date.
  3. 结合我们得到的$(date),它的值是替换的结果(我们可以在执行后得到)。
  4. 我们将该值保存在变量 中$thedate以备后用。
  5. printf根据上面的命令,我们使用 , 显示变量保存的输出值。

注意:\ninprintf是换行符。

command-substitution

11
推荐指数
1
解决办法
4万
查看次数

更改文件的 Unix 组

我有一个文件,我和一位同事正在 Unix 系统上一起编辑。我们正在使用 Unix 组权限来编辑它。我们有一个 Unix 组,我们都是它的成员。每当我保存文件时,它都会将 Unix 组更改为他不是其成员的组。有什么办法可以阻止它这样做吗?

permissions group

10
推荐指数
1
解决办法
432
查看次数

使用 USB 系留电话作为网络适配器

我正在运行 CentOS 6 并且能够使用名为proxoid的代理连接我的 HTC 手机。这允许我重定向 HTTP。但是我如何重定向整个 TCP 流量,例如,如果我需要设置 openvpn 连接到我的 VPN 服务器?

似乎可以做到,因为类似于 proxoid 的软件(完全相同的原理,例如easytether),它设置了网络适配器。我在互联网上找不到任何东西,也许是因为我没有正确的关键字 - 也许这是我要设置的虚拟网络适配器?

networking usb

9
推荐指数
1
解决办法
2万
查看次数

随时间推移跟踪目录空间的 Linux 工具

是否有任何常见的 Linux 工具可以随时间跟踪磁盘空间,而不仅仅是整个文件系统,但例如,这样我就可以轻松查看历史上哪些目录树膨胀和收缩?发生该问题上似乎保持击球尽管缓存和TMP文件,日常房子清洁0可用空间的服务器日志等等。我已经使用像工具dfdulsof经常和调度at工作超过一定尺寸/类型低时发现旧文件水印被击中等。

最好是 Debian/Ubuntu 软件包。

filesystems disk-usage maintenance df

8
推荐指数
1
解决办法
8859
查看次数