我好难啊,用了八百遍的命令,一段时间不用就丢回计算机了,为什么记忆不能久一点呢...
conda
| 指令 | 功能 |
|---|---|
| conda clean -p | 删除下载的库安装包 |
| conda clean -t | 删除初始的库安装包 |
| conda create -n name python=x | 创建名为name的python环境,x为python版本号 |
| conda remove name | 删除名为name的python库 |
| conda remove -n name --all | 删除名为name的python环境 |
| conda/source activate name | 激活名为name的python环境 |
| conda/source deactivate | 退出python环境 |
| conda info -e/conda env list | 查看已安装的环境列表 |
| conda -v | 查看conda版本 |
| conda list | 查看已安装的包 |
| conda info -e | 查看已安装的环境列表 |
| pip install XXX -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com | 使用阿里源安装xxx |
文件操作
文件信息
| 指令 | 功能 | |
|---|---|---|
| ls -hl filename | 以Human-Readable(GB,MB等易读的格式)显示文件大小 | |
| du -h --max-depth=1 | 查看文件/文件夹的磁盘使用空间 --max-depth用于指定目录深度 | |
| tail/head -n 5 filepath | 查看文件后/前五行的内容 | |
| sh xxx.sh > xxx.log 2>&1 | 将脚本信息输出到xxx.log | |
| ls -l | grep "^-" | wc -l | 统计当前目录下文件个数(不包括目录) | |
| ls -lR| grep "^-" | wc -l | 统计当前目录下文件个数(包括子目录) | |
| awk '{print NR}' test1.sh | tail -n1 | 输出文本文件中总行数 |
文件移动/拷贝/删除
| 指令 | 功能 |
|---|---|
| ln -s 源目录 目标目录 | 创建软链接(如果提示 cd: 符号连接的层数过多 使用绝对路径) |
| rm 目标目录 | 删除软链接 |
| mv 源文件(夹) 目标目录 | 移动文件(夹) |
| mv 源目录/* 目标目录 | 移动文件夹下所有文件(这个有点坑,最好是带文件夹一起移动) |
| cp -r 源目录 目标目录 | 拷贝文件夹 |
| rm test_{1..20}.txt | 删除有相同前缀的文件 |
文件权限
| 指令 | 功能 |
|---|---|
| sudo chown -R username:groupname filesname | 修改文件夹的用户所有者 |
| sudo chowd rwx files | 修改文件夹读写权限 |
| stat filename | 查看文件最近修改、创建时间 |
| ls -l filaname | 查看文件权限 |
文件解压/打包 (zsh x)
| 文件类型 | 指令 | 备注 |
|---|---|---|
| .tar | tar -xvf | x:extract v:显示执行过程 f:指定文件 t:列出文件内容 |
| .gz | gzip -d/gunzip directory | c:保留原始文件 |
| .tar.gz/.tgz -C directory | tar -xzf | tar.gz压缩占用cpu小 |
| .rar | unrar x | 需要安装unrar |
| .zip | unzip -d directory | 用的最多的文档格式,压缩率不高,l:列出文件内容 |
查找文件
| 指令 | 功能 |
|---|---|
| which filename | 在环境变量$PATH中查找(寻找可执行文件) |
| find |grep info | 查找当前目录(包括子目录)下文件名中含fileinfo的文件 |
| find /指定文件夹 -name filename | 查找当前目录(包括子目录)下文件名中含fileinfo的文件 |
| ll |grep info | 功能同上,但无法递归子目录 |
| find | xargs grep info | 查找当前目录(包括子目录)下文件内容中含info的文件 |
| locate filename | linux将所有文件存在一个数据库中(一周更新一次,实时性不好),但效率比find高 |
| whereis (-b -m -s)xxx | 只能用于搜索程序名(-b 二进制文件 -m man说明文件 -s源代码文件) |
| grep "word1" | file.txt | "word2" | 筛选file.txt中同时包含word1和word2的行 |
系统相关
| 指令 | 功能 |
|---|---|
| source ~/.zshrc | 激活环境变量 |
| free -m | 查看内存使用 |
| nvidia-smi -l | 查看gpu状态 -l持续 |
| top -p | 查看指定进程号(其实用htop就好) |
| ps 进程号 | 查看进程详细状态 |
| ps -aux|grep | ”query“ | grep查找后台进程(新终端) |
| jobs -l | 查看运行的后台进程(当前终端) |
| df -h | 查看文件系统的磁盘空间占用情况 |
| fdisk -l | 查看磁盘分区 |
| sudo passwd userName | 设置密码 |
| sudo smartctl --all /dev/sda | 查看硬盘 /dev/sda的基本信息 |
| sudo useradd -m -s /bin/bash XXX | 创建XXX新用户 |
| sudo adduser XXX | 傻瓜式创建XXX新用户 |
| sudo userdel -r userName | 彻底删除XXX用户 |
| kill (-9) PID | (强制)杀死进程 |
| lsof -i:9696 | 查看网络端口使用 |
| iotop | 查看io进程,查看磁盘读写速度 |
| halt/poweroff/shltdown -h now | 立刻/十分钟后关机 |
| reboot/shutdown -r now | 重启系统 |
| sudo vim /etc/sudoers | 将用户添加进sudoers(可能需要先修改sudoer权限) |
| type command | 查看shell命令的路径 |
| cat /proc/version 或 uname -a | 查看linux内核版本 |
| lsb_release -a(推荐) | 列出所有版本信息 |
服务器相关
| 指令 | 功能 |
|---|---|
| nvcc --version | 查看服务器CUDA版本 |
| cat /usr/local/cuda/version.txt | 查看服务器CUDA版本-方法二 |
bash与zsh
| 指令 | 功能 |
|---|---|
| cat /etc/shells | 查看系统shell版本 |
| chsh -s /bin/zsh | 切换zsh |
| nohup python -u xxx.py > result.log 2>&1 & | 后台运行python程序 |