shell命令运行方式

  1. 在终端中直接运行
  2. 写在shell文件中,在终端中 sh 运行脚本文件

.sh即脚本文件在shell中运行 sh

要使脚本可执行: chmod +x filename 这样才能用./filename 来运行
执行一个脚本 时,会先开启一个子 shell 环境,然后将父 shell 中的所有系统环境变量复制过来,父 shell 的环境变量在子 shell 中可以调用,但反过来就不行

#!/bin/sh
#!/usr/bin/env bash
#!:由谁运行
$0:命令本身(shell文件名)
$1:第一个命令行参数
$2:第二个命令行参数
$*:所有命令行参数,以空格间隔
$#:命令行参数个数
$:引用变量

 a="hello world"
 echo $a

notebook

一个cell是一个shell环境

#运行shell命令,尽量用第二种,第一种export设置不起作用
方法1:!pip install xx
方法2:
	%%bash
	pip install xx

#计算该cell运行时间
%%timeit

shell命令

#打印 (变量)
 echo “haha”
 a=0#自变量
 export a=0#环境变量,export设置的环境变量可以在其进程(shell)的子进程中继续有效,但是关闭该进程就失效了,不是永久的
 echo $a
 #解压 zip 或 rar
 7z x compress.zip -o/hy-nas/compress
 unzip a.zip#把a.zip解压到当前目录
 unzip a.zip -d /aa #把a.zip解压到/aa目录下
 unzip -q a.zip -d /aa #把a.zip解压到/aa目录下,且执行时不显示信息
 unzip -oq a.zip -d /aa #把a.zip解压到/aa目录下,且执行时不显示信息且覆盖已存在的文件#复制
 cp -r 文件 dir2
 #重命名
 mv a.txt b.txt
 #把a.txt移动到/a目录下
 mv a.txt /a
 #把a目录移动到/aa目录下
 mv a /aa
 #查看文件内容
 cat a.txt
 #分页查看文件内容
 more a.txt#删除文件,提示是否删除
 rm 文件
 #删除文件,强制删除
 rm -f 文件
 #删除文件夹,每个子文件夹提示是否删除
 rm -r 文件夹
 #删除文件夹,强制删除
 rm -rf 文件夹#查看文件及文件夹数量
 ls | wc -w#查看 gpu 使用情况
 nvidia-smi#每隔 1s 查看 gpu 使用情况
 watch -n 1 nvidia-smi#创建软链接
 ln -s /hy-nas/VOCdemo【源地址】 /home/mmdetection/data/VOCdevkit#自动补全 各种补全 当只有一个子文件时或打了一部分名字,自动补全该名字
 table 键df 磁盘使用情况
 df 文件名 / 文件夹名
 #查看使用情况
 df -h 文件名 / 文件夹名 数据有单位
 df -h #子文件 / 文件夹的情况 数据有单位du -sh 文件夹 #使用了多少 g
 du -sh ./* #子文件或子文件夹使用了多少 g#以树状显示文件夹内容 apt-get (或者 yum) install tree
 tree
 tree z
 #子
 ls
 #详细 子
 ll
 #详细 子 数据量有单位
 ll -h
 #修改权限
 chmod -R 777 文件夹名 #所有用户有读和写以及执行的权限#查看(显示)Shell 环境变量
 export 或者 export -p
 #临时设置shell环境变量,设置的环境变量可以在其进程(shell)的子进程中继续有效,但是关闭该进程就失效了,不是永久的
 export a=7