针对如何从CLI在macOS或linux上快速重命名我的文件?和linux怎么重命名文件名这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展1.docker在macOS中的架构2.在macOS
针对如何从 CLI 在 macOS 或 linux 上快速重命名我的文件?和linux怎么重命名文件名这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展1. docker 在 macOS 中的架构 2. 在 macOS 系统中,docker pull 下来的镜像存储在哪里?、==> 修复 /usr/local/opt/macos-updater/bin/macos-updater 权限从 755 到 444、Appium Inspector 在 macOS 上加载整个屏幕而不是指定的 macOS 应用程序、Docker 可以用于从 macOS 运行 Linux CLI 工具吗?等相关知识,希望可以帮助到你。
本文目录一览:- 如何从 CLI 在 macOS 或 linux 上快速重命名我的文件?(linux怎么重命名文件名)
- 1. docker 在 macOS 中的架构 2. 在 macOS 系统中,docker pull 下来的镜像存储在哪里?
- ==> 修复 /usr/local/opt/macos-updater/bin/macos-updater 权限从 755 到 444
- Appium Inspector 在 macOS 上加载整个屏幕而不是指定的 macOS 应用程序
- Docker 可以用于从 macOS 运行 Linux CLI 工具吗?
如何从 CLI 在 macOS 或 linux 上快速重命名我的文件?(linux怎么重命名文件名)
如何解决如何从 CLI 在 macOS 或 linux 上快速重命名我的文件?
这是我的源文件。
e2f9eb91-645f-408a-9241-66490b61a617_file-module-1.txt
d20f06a8-4de1-4da0-8175-93e9b2d81c42_file-module-2.txt
6740a19f-e1a0-43da-9a01-9e873238360e_file-module-3.txt
.
.
.
我需要找到一种方法来重命名所有文件以删除前 36 个字符直到 _file 或替换为其他字符。我期待所有文件如下。
_file-module-1.txt or Yong_file-module-1.txt
_file-module-2.txt or Yong_file-module-2.txt
_file-module-3.txt or Yong_file-module-3.txt
.
.
.
提前致谢!
解决方法
您可以像这样使用 rename
:
rename --dry-run ''s/.*_file/Yong_file/'' *.txt
如果您使用的是 macOS,则可以使用 homebrew 安装 rename
:
brew install rename
,
最简单的方法是结合使用 find、sed 和 xargs。
extractFaceFromBox(imageRef.current,detections.box);
这会在当前工作目录中查找文本文件,回显原始文件名 (find . -name ''*.txt'' | sed ''p;s/.*_file/Yong_file/'' | xargs -n2 mv
) 和修改后的文件名 (p
) 并将其全部提供给 s/.*_file/Yong_file/
成对 ( mv
).
如果您使用 mac,您可以通过 UI 简单地尝试: https://support.apple.com/en-us/guide/mac-help/mchlp1144/mac
或者如果您想通过 CLI 尝试这些工作: https://www.howtogeek.com/423214/how-to-use-the-rename-command-on-linux/ (阅读使用 mv 重命名多个文件)
这也可能有帮助; linux的sed命令: https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/
和另一篇 stackoverflow 文章:bash substitute first character in every line
,如果你使用 zsh,你可以做一个
autoload zmv # Because zmv is not active by default
zmv ''????????????????????????????????????(*module*txt)'' ''_$1''
既然你想使用 bash,你可以从 zsh 中窃取它并像这样在 bash 中使用它:
zsh -c "autoload zmv; zmv ''????????????????????????????????????(*module*txt)'' ''_$1''"
(这些应该是 36 个问号;最好你再数一遍,而不是盲目地复制这段代码)。
1. docker 在 macOS 中的架构 2. 在 macOS 系统中,docker pull 下来的镜像存储在哪里?
docker 在 macOS 中的架构:
在 macOS 中,docker 的实现跟在其它 Linux 系统中略有不同,在其它 Linux 系统中,操作系统本身就是 docker 容器的宿主机,docker 镜像都是直接存储在宿主机本身的文件系统中,比如我们通过 docker info 命令可以看到 docker 的根目录是:
$ docker info|grep "Docker Root Dir"
Docker Root Dir: /var/lib/docker
但是在 macOS 下,我们直接查看这个目录,其实是根本不存在的。
$ ls /var/lib/docker
ls: /var/lib/docker: No such file or directory
Docker 宿主机是谁
那么这个目录到底在哪里?实际上是在一个 QEMU 虚拟机中,当我们在 macOS 中安装完 docker 并启动,就是启动了一个虚拟机,这个虚拟机的整个内容全部都在一个文件里,可以在 docker 程序属性界面中看到这个文件的路径,比如在我的机器上,路径就是(<YourUserName>
替换为你的 mac 电脑的用户名)/Users/<YourUserName>/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
,该文件通常比较大,特别是安装了多个 docker 镜像之后,会轻易占用到数十 GB 的空间。 那么,我们是否可以登录这个虚拟机来确认这点呢?使用 macOS 自带的 screen 命令可以登录该台虚拟机。如下,可以看到这是一个拥有非常新的 Linux 4.9.38 版本内核的虚拟机,在这个虚拟机中才有 /var/lib/docker 目录,只有 2 颗 CPU,总共有 2GB 内存。
$ screen /Users/Kamus/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
/ # uname -a
Linux moby 4.9.38-moby #1 SMP Wed Jul 26 10:02:46 UTC 2017 x86_64 Linux
/ # hostname
moby
/ # ls /var/lib/docker
aufs containers network swarm tmp-old volumes
builder image plugins tmp trust
/ # cat /proc/cpuinfo|grep "processor"
processor : 0
processor : 1
/ # cat /proc/meminfo |grep "MemTotal"
MemTotal: 2047040 kB
在 screen 的窗口按组合键 control+a d(先按 control+a,再按 d)可以暂时 dettach 出这个 screen,screen -r 可以重新打开窗口。更多的 screen 命令,可以自行 man screen 来查看。 所以现在我们可以明确一个概念,macOS 本身并不是以后将运行的 docker 容器的宿主机,而这个 Linux 虚拟机才是真正的宿主机。这台机器的主机名是 moby,这正是 docker 项目社区版的名称。
Docker 宿主机与 macOS 操作系统的目录共享
由于如下共享文件夹功能的存在,在这个虚拟机中可以访问并更新 macOS 操作系统本地的目录。 我们还是在 screen 中看一下这些共享目录的情况。
/ # df -h|grep osxfs
osxfs 465.1G 324.1G 140.7G 70% /private
osxfs 465.1G 324.1G 140.7G 70% /tmp
osxfs 465.1G 324.1G 140.7G 70% /Volumes
osxfs 465.1G 324.1G 140.7G 70% /Users
/ # cd /Users
/Users # ls
Guest Kamus Shared
可以看到,确实 macOS 操作系统中的目录在虚拟机中是可以直接访问的,而且更方便的地方是,在虚拟机中自动挂载的目录路径跟 macOS 中的路径是完全相同的,比如我的个人主目录无论是在 macOS 中还是在这个虚拟机中,都是 / Users/Kamus。
在 macOS 系统中,docker pull 下来的镜像存储在哪里?
综上所述: 存储在文件 Docker.qcow2
中,该文件在 macOS 系统中位置: /Users/<YourUserName>/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
- 出处:http://www.dbform.com/html/2017/3705.html
==> 修复 /usr/local/opt/macos-updater/bin/macos-updater 权限从 755 到 444
如何解决==> 修复 /usr/local/opt/macos-updater/bin/macos-updater 权限从 755 到 444
我创建了一个水龙头 (dindin-glitch/dindin-nibnib-formulae),但是当我安装我制作的公式时,它会输出:
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/dindin-glitch/homebrew-dindin-nibnib-formulae/Formula/macos-updater.rb
rm /usr/local/bin/macos-updater
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mas.rb
==> Downloading https://github.com/dindin-glitch/macos-updater/archive/1.0.6.tar.gz
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/3.1.8-11-g2e9d4ff\\ \\(Macintosh\\;\\ Intel\\ Mac\\ OS\\ X\\ 11.3.1\\)\\ curl/7.64.1 --header Accept-Language:\\ en --retry 3 --location --silent --head --request GET https://github.com/dindin-glitch/macos-updater/archive/1.0.6.tar.gz
Already downloaded: /Users/odinb/Library/Caches/Homebrew/downloads/445d31097754c50d3754b9e185668794bf954219d0e0026bd02f03b5668ac8ee--macos-updater-1.0.6.tar.gz
==> Verifying checksum for ''445d31097754c50d3754b9e185668794bf954219d0e0026bd02f03b5668ac8ee--macos-updater-1.0.6.tar.gz''
==> Reinstalling dindin-glitch/dindin-nibnib-formulae/macos-updater
/usr/local/Homebrew/Library/Homebrew/shims/scm/git --version
git config --get homebrew.private
git config --get homebrew.analyticsdisabled
git config --get homebrew.analyticsdisabled
/usr/bin/sandBox-exec -f /private/tmp/homebrew20210519-64449-1pw99l4.sb nice ruby -W1 -- /usr/local/Homebrew/Library/Homebrew/build.rb /usr/local/Homebrew/Library/Taps/dindin-glitch/homebrew-dindin-nibnib-formulae/Formula/macos-updater.rb --verbose --debug
/usr/local/Homebrew/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mas.rb
tar --extract --no-same-owner --file /Users/odinb/Library/Caches/Homebrew/downloads/445d31097754c50d3754b9e185668794bf954219d0e0026bd02f03b5668ac8ee--macos-updater-1.0.6.tar.gz --directory /private/tmp/d20210519-64450-i3w83g
cp -pR /private/tmp/d20210519-64450-i3w83g/macos-updater-1.0.6/. /private/tmp/macos-updater-20210519-64450-77osgr/macos-updater-1.0.6
chmod -Rf +w /private/tmp/d20210519-64450-i3w83g
==> ./configure /usr/local/Cellar/macos-updater/1.0.6/bin
/usr/local/Homebrew/Library/Homebrew/shims/scm/git --version
==> Cleaning
==> Fixing /usr/local/opt/macos-updater/bin/macos-updater permissions from 755 to 444
==> Finishing up
ln -s ../Cellar/macos-updater/1.0.6/bin/macos-updater macos-updater
/usr/bin/sandBox-exec -f /private/tmp/homebrew20210519-64504-87j2fy.sb nice ruby -W1 -I $LOAD_PATH -- /usr/local/Homebrew/Library/Homebrew/postinstall.rb /usr/local/Homebrew/Library/Taps/dindin-glitch/homebrew-dindin-nibnib-formulae/Formula/macos-updater.rb
所以在这里,==> Fixing /usr/local/opt/macos-updater/bin/macos-updater permissions from 755 to 444
行打扰了我,因为当我执行上述公式时,
zsh: permission denied: macos-updater
但是,如果我手动
odinb@MacBook-Pro local % macos-updater
Password:
Password accepted
Starting Brew upgrade
==> Upgrading 1 outdated package:
imagemagick 7.0.11-12_1 -> 7.0.11-13
==> Upgrading imagemagick 7.0.11-12_1 -> 7.0.11-13
==> Downloading https://ghcr.io/v2/homebrew/core/imagemagick/manifests/7.0.11-13
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/imagemagick/blobs/sha256:9efd64b226e06d71366b336b6fc29e53c3a664f83e697fecafd993f
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:9efd64b226e06d71366b336b6fc29e53c3a664f83e69
######################################################################## 100.0%
==> Pouring imagemagick--7.0.11-13.big_sur.bottle.tar.gz
…
这是我在安装过程中所做的(ruby 文件)
def install
bin.install "macos-updater"
chmod "a+x","./configure"
system "./configure",bin.to_s
end
和 ./configure
只是 chmod 755 $1/macos-updater
因为显然它在脚本中效果更好
我想删除 chmod 444 的东西,因为每次我重新安装或更新它时都让我手动 chmod 很烦
效果很好! 那么我怎样才能让它不回到444呢? (如果您想查看 the full ruby file 或 the formula,请点击链接)
Appium Inspector 在 macOS 上加载整个屏幕而不是指定的 macOS 应用程序
如何解决Appium Inspector 在 macOS 上加载整个屏幕而不是指定的 macOS 应用程序
我正在尝试使用 Appium 自动化本机 macOS 应用程序。但是,当我尝试在 Appium Inspector 上加载应用程序时,不是加载指定的应用程序,而是加载了 macOS 的整个屏幕。
以下是我正在传递的功能:
{
"deviceName": "Mac","platformName": "Mac","platformVersion": "11.2","app": "/Applications/Sample.app"
}
如何在 Appium Inspector 中仅加载 Sample.app?
Docker 可以用于从 macOS 运行 Linux CLI 工具吗?
如何解决Docker 可以用于从 macOS 运行 Linux CLI 工具吗?
我正在 macOS 上编写软件。作为子例程,我想调用某些仅限 Linux 的 CLI 工具,例如 > mytool inputfile
。我可以使用 Docker for Mac 在容器内编译 Linux 工具并从容器外部调用它(在将输入文件复制到容器后?)。如果可以,这是一个好主意还是安装和编译 Linux 软件包会出现问题?
根据我对 docker 的理解,docker 基本上是一个使用精简版 Linux 发行版的轻量级 VM,这种方法似乎有道理,但精简的方面可能是一个障碍。
解决方法
Docker 能否用于从 macOS 运行 Linux CLI 工具?
Docker 根据 documentation 支持 macOS。
我可以使用 Docker for Mac 在容器内编译 Linux 工具并从容器外调用它吗(将输入文件复制到容器后?
是的。
如果可以的话,这是个好主意吗
取决于术语“好” - 这是主观的,高度取决于具体情况。
或者在安装和编译 Linux 软件包时会出现问题吗?
没有
根据我对 docker 基本上是一个轻量级虚拟机的理解
是的。
使用精简版的 Linux 发行版,这种方法似乎有道理,但精简版可能是一个障碍。
docker 容器中的内容取决于容器。总的来说,通常从图像中删除手册页和系统包管理器存储库信息。我不同意 - 大多数 docker 容器都带有完整的 Linux 发行版,可以这样使用。
,你应该这样做:
docker run --rm -v /:/host -ti ubuntu ... your command referring to /host...
这是命令参数说明:
-
--rm
: 运行后移除容器(但保留缓存图像以备下次调用)。 -
-t
: 分配一个可见的 shell 终端。 -
-i
:以交互模式运行。 -
-v /:/host
:将您的根文件夹映射到容器/host
文件夹。 -
ubuntu
:提取 ubuntu 图像,您可以将其更改为您喜欢的任何其他图像。 - 作为最后一个参数,将要运行的命令放入容器中,但与
/host
相关。
今天关于如何从 CLI 在 macOS 或 linux 上快速重命名我的文件?和linux怎么重命名文件名的介绍到此结束,谢谢您的阅读,有关1. docker 在 macOS 中的架构 2. 在 macOS 系统中,docker pull 下来的镜像存储在哪里?、==> 修复 /usr/local/opt/macos-updater/bin/macos-updater 权限从 755 到 444、Appium Inspector 在 macOS 上加载整个屏幕而不是指定的 macOS 应用程序、Docker 可以用于从 macOS 运行 Linux CLI 工具吗?等更多相关知识的信息可以在本站进行查询。
本文标签: