【汇总记忆:命令、语法、函数、等】

目录

 Linux常用操作

Python语法

numpy&scipy语法

Python常用 函数 和 操作


 Linux常用操作

  1. 查看硬件信息
    1. 磁盘空间:df -h
    2. 显卡型号和个数(没装驱动时):lspci |grep -i nvidia
    3. 显卡使用情况:
      1. nvidia-smi
      2. 每0.1秒刷新一次显卡利用率:watch -n 0.1 -d nvidia-smi
    4. CPU型号和核心数:lscpu
    5. 内存大小:free
  2. 操作系统版本:head -n 1 /etc/issue
  3. 远程ssh连接Linux服务器命令:ssh 服务器用户名@服务器IP(执行后再键入服务器密码即可)
  4. 多重视窗管理screen命令:一般ssh服务器并通过终端运行训练代码时,如果想关闭ssh连接后下次还能找回上次启动的服务器终端及其终端中显示的内容,就可以使用screen功能。
    1. 创建screen终端的命令:screen -S yourname
    2. 下次恢复screen终端的命令:screen -r yourname
    3. 查看服务器中当前已经新建的screen:screen -ls
  5. 查找文件:sudo find / -name +文件名(在本地全部路径查找)
  6. 删除操作:
    1. 删除一个非空文件夹:sudo rm -r 目录名
    2. 删除一个文件:sudo rm 文件名
    3. 删除当前路径下,所有文件和子文件(不建议用此命令,不建议使用rm,用mv操作更安全)sudo rm -rf ./*千万别忘记要加个'.',不然把整个服务器内容给删了。
  7. 转移文件夹或文件:(移动用mv,复制用cp
    1. sudo cp 路径/文件名  目的地路径
    2. sudo cp  -r  路径/文件名  目的地路径
    3. 移动当前文件内前N个文件到另一个目录内:sudo mv `ls | head -N` XXX另一个目录(备注:`' 是不同的东西!)
  8. 本机向服务器传输文件
    1. scp 文件名 username@XXX.XXX.XXX.XXX:/data/ym_data/
  9. 文件夹权限:sudo chmod 777  ××× (每个人都有读和写以及执行的权限)
  10. 查看后台当前运行的python脚本名称:ps -ef | grep python
  11. 查看日志文件常用方法
    1. 实时刷新日志文件形式查看:tail -f XXX
    2. 查看日志文件的最后500行:tail -n 500 XXX
  12. 解压缩
    1. 压缩
      1. 把当前路径内所有文件压缩:tar cvzf my.tar ./*
      2. 压缩一个或多个文件:tar cvzf my.tar file1 file2 file3
    2. 解压
      1. 解压一个tar文件到当前文件夹:sudo tar -xvf xxx.tar
    3. rar文件解压:这样的后缀是在win系统压缩的,Ubuntu系统默认没有,需要安装rar解压软件:sudo apt-get install rar。
      1. sudo unrar x XXX.rar 解压到一个文件夹
      2. sudo unrar e XXX.rar 解压到当前路径下
  13. 查看当前目录下文件大小

    1. du -sh *

Python语法

  1. 类中的def __call__()函数:它可以使得以“对象名()”的形式使用类,并执行def __call__()函数里面的内容并返回结果。Python __call__()方法(详解版)
  2. sys.path.append(XXX):导入XXX临时路径,使得该Python脚本执行时,能够在此路径下去检索脚本中引用的文件夹。

    1. import sys
      sys.path.append('/home/ym/xidiji/nanodet-main') # 绝对路径
  3. map(function,iterable):根据提供的函数对指定的序列做映射(就是对iterable中每一个元素,单独执行function操作,得到一个新的iterable)

    1.  map(function,iterable,...) 
      (1)参数
      function是一个函数名称,通过该函数对后续参数iterable进行处理
      iterable是一个可迭代对象,比如:字符串、列表、字典、元组、集合等
      (2)返回值
      map函数通过将指定的function函数依次作用在给定序列iterable中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
      
  4. Q

numpy&scipy语法

重要备注在numpy中,用2维矩阵而不是1维矩阵来表示行向量和列向量。如列向量np.array( [[1], [2], [3]] ),行向量np.array( [ [1, 2, 3] ] )。而np.array( [1, 2, 3] )这种形式的矩阵严格意义上既不是行向量也不是列向量。但在某些numpy函数中,会将np.array( [1, 2, 3] )默认为一个列向量(注意不是不是直觉认为的行向量)

  1. python中的“*”,“np.dot()” 和 “@” 的区别:假设AB都是2维数组
    1. np.dot(A, B) : 就是矩阵乘法

    2. A * B:这个很杂乱,不管A和B形态怎么样,A*B都会有个结果。。。只说两种情况①如果AB行列完全一致,则相当于相应位置的元素做个乘法。②如果A仅只有一个元素,如[ [ 5 ] ],相当于B数组每个元素乘以5。

  2. np.eye(N, M):返回的是一个二维2的数组(N,M),对角线的地方为1,其余的地方为0。
  3. np.diag(X):生成或提取X的对角线部分(diagonal)

    1. X是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵。

    2. X是一个二维矩阵时,结果输出矩阵的对角线元素。

    3.  ​​​​​

  4. np.square(array):array内各元素值做个平方(不改变array维度)。
  5. 矩阵拼接:

    1. np.c_(array1, array2):(column列方向)左右拼接两个矩阵(要求两个矩阵 行 数相等)。

    2. np.r_(array1, array2):(row行方向)上下拼接两个矩阵(要求两个矩阵 列 数相等)。
  6. np.linalg.multi_dot(array1, array2 , , , ) :矩阵乘法。
  7. scipy.linalg.solve_triangular(a, b):已知a(必须是三角矩阵)和b,求解方程a x = b中的x。

    1. 验证返回的结果是否正确的方法:看看 a.dot(x) 是否等于b。

  8. T

Python常用 函数 和 操作

  1. 遍历文件夹内所有子文件夹及其内容

    1. import os
      
      # 遍历文件夹
      def walkFile(file):
          for root, dirs, files in os.walk(file):
      
              # root 表示当前正在访问的文件夹路径
              # dirs 表示该文件夹下的子目录名list
              # files 表示该文件夹下的文件list
      
              # 遍历所有的子文件夹
              for d in dirs:
                  print(os.path.join(root, d))
      
              # 遍历每个子文件夹内文件
              for f in files:
                  print(os.path.join(root, f)) #在win系统里,这里的路径结果同时包含‘/’和‘\’,需要replace把‘\’全部替换成‘/’
      
      walkFile("E:/project_jy/data/training_top3")
  2. 遍历某文件夹内所有子文件名称
    1. import os
      
      file_NameLists = os.listdir(file_dir) # file_dir:某文件夹路径
      
      if len(file_NameLists) != 0:
          for file_name in file_NameLists:
              print(file_name)
  3. 读取和写入txt文件
    1. 一行行读取
      1. with open("test.txt", "r") as f:
            data = f.readline()
            print(data)
    2. 所有内容放到列表中
      1. with open("test.txt", "r") as f:
            data = f.readlines()
            print(data)
        
        
        
        #备注:readlines会读到换行符,可用如下方法去除:
        with open("test.txt", "r") as f:
            for line in f.readlines():
                line = line.strip('\n')  #去掉列表中每一个元素的换行符
                print(line)
    3. 写入txt
      1. with open("test.txt","w") as f:
            f.write("这是个测试!")  # 自带文件关闭功能,不需要再写f.close()

        读写模式

        要了解文件读写模式,需要了解几种模式的区别,以及对应指针

        r :   读取文件,若文件不存在则会报错

        w:   写入文件,若文件不存在则会先创建再写入,会覆盖原文件

        a :   写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

        rb,wb:  分别于r,w类似,但是用于读写二进制文件

        r+ :   可读、可写,文件不存在也会报错,写操作时会覆盖

        w+ :   可读,可写,文件不存在先创建,会覆盖

        a+ :  可读、可写,文件不存在先创建,不会覆盖,追加在末尾

  4. 3
  5. 3
  6. 3
  7. 3
  8. 3
  9. 3

通用性问题:

  1. ssh配置免密登录失败问题(见第4项:设置StrictModes no) ​​​​​​https://jingyan.baidu.com/article/454316ab3176d8f7a7c03ab9.html
  2. Ubuntu16.04系统无法上网问题解决 Ubuntu16.04系统无法上网问题解决 - 知乎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值