[deng@localhost test]$ gzippasswd[deng@localhost test]$ ls
etc passwd.gz
[deng@localhost test]$
1
2
3
4
4.2 保留原文件压缩
[deng@localhost test]$ gzip -c passwd> passwd.gz
1
4.3 压缩时显示指令执行过程
[deng@localhost test]$ gzip -v passwd
passwd: 61.0% -- replaced with passwd.gz
[deng@localhost test]$ ls
etc passwd1.gz passwd.gz
[deng@localhost test]$
1
2
3
4
5
4.4 将当前目录下每个文件压缩成 .gz 文件
[deng@localhost test]$ ls
a b c d e
[deng@localhost test]$ gzip *
[deng@localhost test]$ ls
a.gz b.gz c.gz d.gz e.gz
[deng@localhost test]$
1
2
3
4
5
6
**注意:**如果是目录,将被忽略。
4.5 解压.gz文件,不保留原文件
[deng@localhost test]$ gzip -d a.gz
[deng@localhost test]$ ls
a b.gz c.gz d.gz e.gz
[deng@localhost test]$
1
2
3
4
4.6 解压当前目录下所有的.gz文件
[deng@localhost test]$ ls
a b.gz c.gz d.gz e.gz
[deng@localhost test]$ gzip -d *.gz
[deng@localhost test]$ ls
a b c d e
[deng@localhost test]$
1
2
3
4
5
6
4.7 显示压缩文件信息
[deng@localhost test]$ gzip -l *.gz
compressed uncompressed ratio uncompressed_name
22 0 0.0% a
22 0 0.0% b
22 0 0.0% c
22 0 0.0% d
22 0 0.0% e
[deng@localhost test]$
1
2
3
4
5
6
7
8
4.8 递归的压缩目录
使用 -r 选项,递归压缩 doc 目录以及子目录下的所有文件(目录依然存在)。
[deng@localhost test]$ gzip -rv test/
test//a: 0.0% -- replaced with test//a.gz
test//b: 0.0% -- replaced with test//b.gz
test//c: 0.0% -- replaced with test//c.gz
test//d: 0.0% -- replaced with test//d.gz
test//e: 0.0% -- replaced with test//e.gz
[deng@localhost test]$ tree testtest
├── a.gz
├── b.gz
├── c.gz
├── d.gz
└── e.gz
0 directories, 5 files
[deng@localhost test]$
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
4.9 递归解压目录中文件
[deng@localhost test]$ gzip -d -r test/
[deng@localhost test]$ ls
etc passwd1.gz passwd.gz test[deng@localhost test]$ tree testtest
├── a
├── b
├── c
├── d
└── e
0 directories, 5 files
[deng@localhost test]$
usage: -c [-h] [-v] {build,set,env,clean,tool} ...
OHOS Build System version 0.4.6
positional arguments:
{build,set,env,clean,tool}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
tool Call the gn command through the hb tool
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
zhushangyuan@DESKTOP-RPE9R4O:~/openharmony$ cat /home/zhushangyuan/.local/lib/python3.8/site-packages/hb/__main__.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (c) 2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import os
import sys
VERSION = "0.4.6"
# execv execution fragment
EXECV_FRAGMENT = """
import sys
import importlib
sys.path.append(sys.argv.pop())
entry = importlib.import_module("__entry__")
sys.exit(entry.main())
"""
def find_top():
cur_dir = os.getcwd()
while cur_dir != "/":
hb_internal = os.path.join(cur_dir, 'build/lite/hb_internal')
if os.path.exists(hb_internal):
return cur_dir
cur_dir = os.path.dirname(cur_dir)
raise Exception("Please call hb utilities inside source root directory")
def search(findir, target):
for root, dirs, files in os.walk(findir):
if target in files:
return root
def main():
try:
topdir = find_top()
except Exception as ex:
return print("hb_error: Please call hb utilities inside source root directory")
python_base_dir = os.path.join(topdir, 'prebuilts/python')
if os.path.exists(python_base_dir):
python_dir = search(python_base_dir, 'python3')
python_executable = os.path.join(python_dir, 'python3')
lite_dir = os.path.join(topdir, 'build/lite')
hb_dir = search(lite_dir, '__entry__.py')
param_list = ["python3", "-c", EXECV_FRAGMENT]
for arg in sys.argv[1:]:
param_list.append(arg)
param_list.append(hb_dir)
os.environ['PATH'] = python_dir + ":" + os.getenv('PATH')
os.execv(python_executable, param_list)
else:
print("please execute build/prebuilts_download.sh")
if __name__ == "__main__":
sys.exit(main())
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">
def search(findir, target):
for root, dirs, files in os.walk(findir):
if target in files:
return root
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
评论记录:
回复评论: