Skip to content

一些 shell 命令

零散命令

base64 相关

sh
# 转换字符
echo -n "String" | base64
echo "encodeed string" | base64 --decode > /app/decoded.txt

md5

md5 README.md

Docker copy

  • Copy a local file into container
sh
docker cp ./some_file CONTAINER:/work
  • Copy files from container to local path
sh
 docker cp CONTAINER:/var/logs/ /tmp/app_logs

查看上一条命令执行状态码

shell
echo $?

递归删除所有.DS_Store

shell
find . -name '.DS_Store' -type f -delete

统一去除文件名的前缀

shell
for file in prefix*; do mv "$file" "${file#prefix}"; done;

The for loop iterates over all files with the prefix. The do removes from all those files iterated over the prefix.

Here is an example to remove "bla_" form the following files:

console
bla_1.txt
bla_2.txt
bla_3.txt
blub.txt

Command

shell
for file in bla_*; do mv "$file" "${file#bla_}";done;

Result in file system:

console
1.txt
2.txt
3.txt
blub.txt

其他重命名

添加后缀

shell
for file in *; do mv "$file" "$(basename "$file")yourSuffix"; done;

Example to add an underscore "_" at the end each text file:

shell
for file in *.txt; do mv "$file" "$(basename "$file")_"; done;

添加前缀

shell
for file in *.txt; do mv "$file" "yourPrefix$file"; done;

Example to add an underscore "_" in front of text each file name:

shell
for file in *.txt; do mv "$file" "_$file"; done;

Make sure you run those commands in Bash shell.

使用 find 添加后缀

shell
find . -type f -exec bash -c 'mv $0 $0yourSuffix' {} \;

Example to add an underscore "_" at the end each text file:

shell
find . -type f -exec bash -c 'mv $0 $0_' {} \;

使用 find 添加前缀

shell
find . -type f -exec bash -c 'mv $0 yourPrefix$0' {} \;

Example to add an underscore "_" in front of text each file name:

shell
find . -type f -exec bash -c 'mv $0 _$0' {} \;

This will run in any shell and you can easily define the set of files that should be renamed by using the name or iname parameter for find.