程序员常用小知识

第 1 章 Swagger

1.1 套接字地址

  1. 错误描述:通常每个套接字地址(协议/网络地址/端口)只允许使用一次
  2. 错误:
(flyfuture) E:\>python service.py 127.0.0.1 8080
Traceback (most recent call last):
  File "service.py", line 3038, in <module>
    application.listen(int(port), ip)
  File "D:\Anaconda3\envs\flyfuture\lib\site-packages\tornado\web.py", line 2042, in listen
    server.listen(port, address)
  File "D:\Anaconda3\envs\flyfuture\lib\site-packages\tornado\tcpserver.py", line 143, in listen
    sockets = bind_sockets(port, address=address)
  File "D:\Anaconda3\envs\flyfuture\lib\site-packages\tornado\netutil.py", line 168, in bind_sockets
    sock.bind(sockaddr)
OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
  1. 解决办法:
# cmd命令
netstat -ano
	netstat: 网络状态
	-a: 显示所有网络连接
	-n: 不解析服务名称,显示IP和端口
	-o: 显示占用连接的进程
taskkill -PID 1324 -F  
    taskkill: 终止进程
    -PID: 终止进程PID
    1324: PID值
    -F: 强制终止

第 2 章 pandas

2.1 插值函数失效

  1. 错误描述:DataFrame中的元素是字符串类型,并且在没有类型转换的情况下进行插值,导致插值函数无效。
  2. 处理办法:
# 这个是传入的数据是非数字,进行插值运算后非数值依然是nan一起数值异常
data[data_names] = DataFrame(np.asarray(data[data_names], dtype=float))
if temp.isnull().any().any():  # linear interpolation.
    temp = temp.interpolate(method='linear', axis=0)

2.2 保留两位有效数字

  1. 错误描述:DataFrame以字典的形式输出时,无法保留两位有效数字。
  2. 错误:
y_predict = xgb_tuned.predict(predict_data[self.feature_name])
y_predict = DataFrame(y_predict, columns=data_names)
outputs = concat((predict['date'].reset_index(drop=True).astype(str), y_predict), axis=1).to_dict("records")
  1. 处理办法:
y_predict = xgb_tuned.predict(predict_data[self.feature_name])
y_predict = DataFrame(y_predict, columns=data_names).astype(float).round(2)
outputs = concat((predict['date'].reset_index(drop=True).astype(str), y_predict), axis=1).to_dict("records")

第 3 章 进程

3.1 异步

  1. 错误描述:创建进程,并使用异步调用函数出现类内访问错误。
  2. 错误:
Traceback (most recent call last):
  File "D:\Anaconda3\envs\flyfuture\lib\site-packages\tornado\web.py", line 1590, in _execute
    result = method(*self.path_args, **self.path_kwargs)
  File "E:\以前的文件\futureFly\项目文件\service.py", line 268, in post
    res = ret.get()
  File "D:\Anaconda3\envs\flyfuture\lib\multiprocessing\pool.py", line 644, in get
    raise self._value
  File "D:\Anaconda3\envs\flyfuture\lib\multiprocessing\pool.py", line 424, in _handle_tasks
    put(task)
  File "D:\Anaconda3\envs\flyfuture\lib\multiprocessing\connection.py", line 206, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "D:\Anaconda3\envs\flyfuture\lib\multiprocessing\reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
AttributeError: Can't pickle local object '_make_coroutine_wrapper.<locals>.wrapper.<locals>.<lambda>'
  1. 解决方法:
    异步不能进行类内访问,所以异步调用函数时保证函数是外部函数或者是静态方法,这里self.main调用的静态方法。
import multiprocessing
pool = multiprocessing.Pool(processes=1)     # 创建进程池并指定进程数量为1
ret = pool.apply_async(self.main, (input,))  # 异步调用函数main, 并传入input参数(上面的错误是由异步引起)
pool.close()     # 关闭进程池不接受新的任务
pool.join()      # 等待所有任务完成,确保异步任务执行完毕
res = ret.get()  # 获取异步任务结果

第 4 章 pyarmor

4.1 pyarmor选项

  1. 错误描述: pyarmor选项少些一项,导致错误。
  2. 错误:
pyarmor obfuscate --recursive --platform linux.x86_64.7 windows.x86_64 service.py
INFO     PyArmor Version 7.7.3
INFO     Python 3.6.5
INFO     Target platforms: ['linux.x86_64.7']
INFO     Update target platforms to: ['linux.x86_64.7']
ERROR    Only one path is allowed
  1. 解决办法:
pyarmor obfuscate --recursive --platform linux.x86_64 --platform windows.x86_64 service.py
或
pyarmor obfuscate --recursive --platform linux.x86_64 --platform windows.x86_64 --output taizhou service.py
--recursive:递归
--output:输出

4.2 pyarmor版本

  1. 错误描述:python版本和pyarmor版本不兼容,导致服务启动
  2. 错误:
(base) [root@server010 diagnosis]# python service.py 127.0.0.1 8000
Traceback (most recent call last):
  File "<service.py>", line 3, in <module>
  File "<frozen service>", line 1073, in <module>
  File "<frozen service>", line 1067, in protect_pytransform
  File "<frozen service>", line 1030, in check_mod_pytransform
RuntimeError: unexpected pytransform.py
  1. 解决办法:

(1) 安装anaconda: https://www.anaconda.com/download/
(2) 利用powershell创建环境, 激活环境

conda create --name my_env python=3.7.13
conda activate my_env

(3) 重新安装加密依赖

pip install pyarmor

第 5 章 python依赖

5.1 在线安装依赖

  1. 问题描述:在线下载各种python依赖安装包。
  2. 解决办法:
pip download --dest E:\EnergyFly\offline_packages\windows -r E:\EnergyFly\offline_packages\requirments.txt

--dest E:\EnergyFly\offline_packages\windows: pip下载命令的选项,用于指定离线安装包保存的目标路径。
-r E:\EnergyFly\offline_packages\requirments.txt: pip下载命令的选项,用于指定包含要下载的依赖包列表的文本文件.

5.2 tensorflow 2.1.0

  1. 问题描述:tensorflow2.1.0 下载包,找不到。
  2. 错误:
ef@ef-AI:offline_packages$ pip3 download tensorflow==2.1.0
Collecting tensorflow==2.1.0
	Could not find a version that satisfies the requirement tensorflow==2.1.0 (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.9.0, 1.10.0, 1.10.1, 1.11.0, 1.12.0, 1.12.2, 1.12.3, 1.13.1, 1.13.2, 1.14.0)
No matching distribution found for tensorflow==2.1.0
  1. 解决办法:
conda deactivate
conda: 包管理器的命令工具
deactivate: 停用当前环境命令

conda create -n  mypython3.6.5 python=3.6.5
create: conda创建环境的命令
-n: 可以用--name是一个选项
mypython3.6.5: 环境的名称,可以自己命名。
python=3.6.5: 指定环境中安装的python版本。

conda activate mypython3.6.5
activate: 激活当前环境命令

pip3 download tensorflow==2.1.0
pip3: Python的包管理工具,用于安装,升级和管理python包。
download: pip3的一个命令,用于下载python包的源代码或二进制分发包。
tensorflow==2.1.0:tensorflow包的名称和版本号。

在这里插入图片描述

第 6 章 matplotlib

6.1 图片空白

  1. 问题描述:我们将画好的图片保存后,是一张空白图片。
  2. 问题:
from matplotlib import pyplot as plt
import numpy as np

def sigmoid(t, k=1, r=1):
    return k / (1 + np.exp(-r * t))

x = np.linspace(-100, 100, 1000)
y = sigmoid(x)
y_1 = sigmoid(x, k=0.5)
y_2 = sigmoid(x, k=3)

plt.figure(dpi=300)
plt.plot(x, y, c='k', alpha=0.7)
plt.plot(x, y_1, c='r', alpha=0.7)
plt.plot(x, y_2, c='g', alpha=0.7)
plt.title('Sigmoid Increment Model')
plt.legend(['K=1', 'K=0.5', 'K=3'])
plt.show()
plt.savefig('sigmoid_increment_model.png')
  1. 解决办法:
    在调用 plt.show() 后,图形对象会被关闭,如果之后再调用 plt.savefig() 来保存图形,可能会得到一片空白的图片。为了避免这种情况,可以在调用 plt.savefig() 之后再调用 plt.show()。
plt.savefig('sigmoid_increment_model.png')
plt.show()

第 7 章 目标检测

7.1 目标检测服务

from flask import Flask, request, jsonify, send_file
from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import argparse
import tempfile
import os

# 创建应用程序对象
app = Flask(__name__)  

# 设置图像检测模型的配置文件路径和权重文件路径
config_file = './configs/detector/object_detector.py'  
checkpoint_file = './configs/model/weight.pth'         

# 初始化图像检测模型
model = init_detector(config_file, checkpoint_file, device='cuda:0')


@app.route('/detect', methods=['POST'])
def detect_objects():
    # 获取上传的图像文件
    image_file = request.files['image']

    # 创建临时文件对象,设置delete为False, 关闭文件后不会自动删除该文件
    temp_file = tempfile.NamedTemporaryFile(delete=False)
    
    # 将上传图像保存到临时文件中, 其中temp_file.name为临时文件路径
    image_file.save(temp_file.name)
	
	# 关闭临时文件,关闭文件可以释放资源并确保文件的完整性
    temp_file.close()

    # 使用模型对图像进行推断,以进行对象检测
    result = inference_detector(model, temp_file.name)
    
    # 创建临时文件,并设置文件名后缀
    output_file = tempfile.NamedTemporaryFile(suffix='.jpg', delete=False)

	# 将检测结果保存在临时文件中
    show_result_pyplot(model, temp_file.name, result, out_file=output_file.name)
    output_file.close()

    # 删除临时文件
    os.unlink(temp_file.name)

    # 返回带有检测结果的图像
    return send_file(output_file.name, mimetype='image/jpeg')

def argsParser():
	# 创建命令解析对象
    parser = argparse.ArgumentParser() 
	
	# 设置默认参数
    parser.add_argument("--host", default="0.0.0.0", type=str, help="ip address")
    parser.add_argument("--port", default=8080, type=int, help="port")
	
	# 将命令行参数解析为一个命名空间对象,可以通过属性的方式来访问这些值
    args = parser.parse_args()
    return args

if __name__ == '__main__':
    arg = argsParser()

    host = arg.host
    port = arg.port

    app.run(host=host, port=port)

第 8 章 日志

8.1 打印日志

  1. 问题描述:logging.info()无法在终端窗口显示
  2. 解决办法:
# 配置日志记录器
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# 创建一个终端处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)

# 创建一个格式化器
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

# 将格式化器添加到终端处理器
console_handler.setFormatter(formatter)

# 将终端处理器添加到日志记录器
logger = logging.getLogger()
logger.addHandler(console_handler)

第 9 章 git

9.1 git所有权问题

  1. 错误描述: Git 检测到了仓库中的文件或目录存在可疑的所有权设置而引起的。它指出在指定的路径下存在一个所有权问题,即文件或目录的所有者与当前用户不匹配。
$ git add lighting_arrester.py
fatal: detected dubious ownership in repository at 'E:/EnergyFly/Platform/SurgeArrester'
'E:/EnergyFly/Platform/SurgeArrester' is owned by:
        'S-1-5-32-544'
but the current user is:
        'S-1-5-21-1328744092-2206425613-3480276468-1001'
To add an exception for this directory, call:

        git config --global --add safe.directory E:/EnergyFly/Platform/SurgeArrester
  1. 修改办法:
git config --global --add safe.directory "*";
 - git config: git的配置命令;
 - --global: 对全局的git进行操作;
 - --add: 向配置里面添加新的键值对;
 - "*": 通配符,表示所有目录。

第 10 章 pycharm

10.1 conda创建的环境不显示安装依赖

  1. 错误描述: 路径中有空格
C:\Users\Lee Wen-tsao>conda create --name pytorch python=3.10
WARNING: A space was detected in your requested environment path:
'D:\Users\Lee Wen-tsao\anaconda3\envs\pytorch'
Spaces in paths can sometimes be problematic. To minimize issues,
make sure you activate your environment before running any executables!

Collecting package metadata (current_repodata.json): / ERROR conda.auxlib.logz:stringify(171): Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 165, in stringify
    requests_models_Response_builder(builder, obj)
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 141, in requests_models_Response_builder
    resp = response_object.json()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
ERROR conda.auxlib.logz:stringify(171): Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 165, in stringify
    requests_models_Response_builder(builder, obj)
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 141, in requests_models_Response_builder
    resp = response_object.json()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
- ERROR conda.auxlib.logz:stringify(171): Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 165, in stringify
    requests_models_Response_builder(builder, obj)
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 141, in requests_models_Response_builder
    resp = response_object.json()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
ERROR conda.auxlib.logz:stringify(171): Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 165, in stringify
    requests_models_Response_builder(builder, obj)
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\conda\auxlib\logz.py", line 141, in requests_models_Response_builder
    resp = response_object.json()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Users\Lee Wen-tsao\anaconda3\Lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
done
Solving environment: done

## Package Plan ##

  environment location: D:\Users\Lee Wen-tsao\anaconda3\envs\pytorch

  added / updated specs:
    - python=3.10


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    openssl-3.0.9              |       h2bbff1b_0         7.4 MB  https://mirrors.aliyun.com/anaconda/pkgs/main
    pip-23.1.2                 |  py310haa95532_0         2.8 MB  https://mirrors.aliyun.com/anaconda/pkgs/main
    python-3.10.12             |       he1021f5_0        15.8 MB  https://mirrors.aliyun.com/anaconda/pkgs/main
    setuptools-67.8.0          |  py310haa95532_0         1.1 MB  https://mirrors.aliyun.com/anaconda/pkgs/main
    wheel-0.38.4               |  py310haa95532_0          83 KB  https://mirrors.aliyun.com/anaconda/pkgs/main
    ------------------------------------------------------------
                                           Total:        27.1 MB

The following NEW packages will be INSTALLED:

  bzip2              anaconda/pkgs/main/win-64::bzip2-1.0.8-he774522_0
  ca-certificates    anaconda/pkgs/main/win-64::ca-certificates-2023.05.30-haa95532_0
  libffi             anaconda/pkgs/main/win-64::libffi-3.4.4-hd77b12b_0
  openssl            anaconda/pkgs/main/win-64::openssl-3.0.9-h2bbff1b_0
  pip                anaconda/pkgs/main/win-64::pip-23.1.2-py310haa95532_0
  python             anaconda/pkgs/main/win-64::python-3.10.12-he1021f5_0
  setuptools         anaconda/pkgs/main/win-64::setuptools-67.8.0-py310haa95532_0
  sqlite             anaconda/pkgs/main/win-64::sqlite-3.41.2-h2bbff1b_0
  tk                 anaconda/pkgs/main/win-64::tk-8.6.12-h2bbff1b_0
  tzdata             anaconda/pkgs/main/noarch::tzdata-2023c-h04d1e81_0
  vc                 anaconda/pkgs/main/win-64::vc-14.2-h21ff451_1
  vs2015_runtime     anaconda/pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2
  wheel              anaconda/pkgs/main/win-64::wheel-0.38.4-py310haa95532_0
  xz                 anaconda/pkgs/main/win-64::xz-5.4.2-h8cc25b3_0
  zlib               anaconda/pkgs/main/win-64::zlib-1.2.13-h8cc25b3_0


Proceed ([y]/n)?

第 11 章 Linux

11.1 压缩文件(tape archive)

  1. 问题描述:压缩文件和解压文件
  2. 解决方法:
mkdir day01    // 创建目录
touch abc.txt  // 创建文件
echo Hello World, Linux! > abc.txt  // 给新创建的文件夹添加文本
cat abc.txt    // 查看文件内容
tar zcvf day01.tar.gz day01
|-- z: 通过gzip处理备份文件
|-- c: 建立备份文件
|-- v: 显示指令执行过程
|-- f: 指定备份文件
tar zxvf day01.tar.gz
|-- x: 从备份文件中还原文件

11.2 制作链接文件(lnk files)

  1. 制作快捷方式
  2. 解决方法:
ln [参数][源文件或目录][目标文件或目录]
ln abc.txt bb.txt
ln -s abc.txt bb.txt
|-- 软链接

11.3 查看进程状态(process status)

  1. 显示当前进程状态
  2. 解决办法:
ps      // 显示当前进程状态

在这里插入图片描述

第 12 章 Pycharm

12.1 pycharm关闭卡顿问题

步骤 1:在菜单栏点击help;
在这里插入图片描述
步骤 2:在help下拉菜单中,点击Find Action…
在这里插入图片描述
步骤 3:搜索Registry,点击Registry…;
在这里插入图片描述
步骤 4:ctrl + f搜索ide.await.scope.completion,将其禁用。
在这里插入图片描述

第13章 Ubuntu系统

13.1 u盘挂载问题

第一步:运行以下命令,查看已连接的设备列表;

sudo fdisk -l
-- fdisk: 磁盘分区命令行工具,通过fdisk可以查看和管理计算机的磁盘分区。

第二步:创建目录,用于挂载u盘;

mkdir myusb

第四步:挂载u盘。

mount /dev/sdb1 myusb/
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值