Ubuntu 命令总结

一、基本命令

pwd(present working directory)# 显示当前的工作目录/路径。
cd (change directory) # 改变目录,用于输入需要前往的路径/目录。


有一些特殊命令也很常用 :
前往同一级的另一个目录
cd ../directory name
cd .. 表示进入上层目录
cd ../.. 进入上上层目录,后面还可以加更多。
前往同一级的另一个目录
cd ../directory name
cd -  //表示返回上一次的目录
cd ~  //进入home主目录,即/home/用户名的简写

ls // 显示当前目录下的文件(不包括隐藏文件和缓存文件等);
ls -a // 列出目录下所有文件
ll // 以列表形式显示当前路径下的所有文件的详细信息(包括隐藏文件和缓存文件等)。


mkdir (make directory) // 创建目录,后面接上directory的名字。
mkdir I_dont_care // 创建一个“我不在乎”目录

rm (remove) // 删除文件,后面接上要删除的文件名。如果要删除目录,需要这样写:
rm -I <目录名>  // 这样做会删除指定目录中的所有子目录和包含的文件

touch // 创建任意格式的文件,包括源代码、文本等等,通过后缀来决定。例如,.cpp/.cc是c++源代码,而.py是python源代码。
touch hello_world.cpp  //创建hello_world源代码


cp (copy) //复制命令。通用格式为
cp -? <源文件/源目录> <目的目录>  //第一个"-?"表示参数,出发地在左,目的地在右
// 特别的,如果想把某目录下所有文件都复制,可以使用参数-r
cp -r cangjingkong/ xuexi    //将canjingkong目录下的所有资源都复制到xuexi目录中

mv (move) //移动+重命名命令。格式类似于cp命令
mv -? <源文件/源目录> <目的目录> //第一个"-?"表示参数,出发地在左,目的地在右
以移动txt文件为例 可以分为以下三种情况:
mv a.txt b.txt                 //出发地和目的地是同一路径,名称从a.txt变为b.txt,那仅仅是重命名
mv ~/目录1/a.txt ~/目录2       //出发地和目的地是不同路径,没有指定新的名称,那仅仅是移动
mv ~/目录1/a.txt ~/目录2/b.txt //出发地和目的地是不同路径,指定了新的名称,那就是移动+重命名
//移动目录到另一目录中
mv 目录1/ 目录2
// 将某目录下所有的文件和目录都移动到当前目录下
mv ~/videos/p_hub .

gedit // 在桌面临时新建一个text editor(文本编辑器)显示文件内的文本,并且支持修改。按ctrl+c退出文件显示。
gedit <文件名>
gedit single_ladies_contacts.csv

cat // 在终端打印出文本内容。

cat <文件名>  //在terminal内部打印,和gedit相区分
code/nano/vi/vim

使用Visual Studio Code/Nano/vi/vim这四种编辑器,打开或者新建一个源代码文件。

apt/apt-get // 更推荐使用apt命令而不是apt-get命令,它的命令更精简而且易用。
sudo apt install <软件名>  //安装软件最简单的方式
sudo apt list               //查看所有已安装的软件列表
sudo apt search <软件名>       //搜索某个软件
sudo apt remove <软件名>       //删除某个软件包
sudo apt purge <软件名>        //删除某个软件包以及配置文件,更彻底

// 还有我们最最常用的更新相关命令
sudo apt update
sudo apt upgrade

dpkg (Debian package) //包管理工具。
// 首先是下载功能。先在官网下载软件的deb格式安装包,然后cd到下载文件夹,打开terminal(终端)输入:
dpkg -i <.deb后缀的软件名>  //i 表示 install
//其次是卸载功能。和apt系列命令类似,也可以查看安装列表,搜索指定安装包和卸载。
dpkg -r <包的名字>  //r 表示 remove, 此种方法会保留配置文件
dpkg -P <包的名字>  //直接全删了,配置也不会保留
dpkg -l            //查看安装列表
dpkg -S <包的名字>   //搜索某个包

kill // 结束指定进程时使用,就比如某个软件不响应了,这时候kill就相当于windows系统中的任务管理器中的“结束进程”按钮。我们只要指定进程的编号(ID#)
kill <ID#>  //结束编号为<ID#>的进程
进程编号如何获得?引出下一个函数。


ps (process status) // 查看所有进程;
ps -A  // 查看所有包含其他使用者的进程;
ps -aux // 关键字查找某个进程,这个办法用于结束指定进程很方便。
ps -ef | grep <关键字>


 grep // Linux grep 命令用于查找文件里符合条件的字符串。

find // 用于查找目录中的文件。

ln (link files) //插入链接。
ln -sft
ln -hard

chmod (change mode) // 改变权限。
chmod +x dir/file or. chmod 777 dir/file
// 改为可执行
du(disk usage)
du -h -l -d 1
-h: --human readable 会显示Mb, Kb, G之类的单位,方便阅读
-d 1: 表示深度为1,只会查看下一级目录的空间占用大小

df(disk space filesystem)
df -h


//如果碰到不会的命令,或者忘记了具体的options(操作选项),可以使用帮助命令:
命令名 -h or --help

// 如果嫌每次都要sudo太麻烦,可以先登录,获取root权限。
sudo su //输入并回车
//就会让你输入root密码

学会以下代码就可以在技能中写上“熟悉linux系统的开关机”
reboot  //重启
poweroff //关机

二、CUDA相关

查看cuda版本

nvidia-smi
nvcc -V
cat /usr/local/cuda/version.txt

有时①查看的cuda版本和②、③查出来的会不同,这是什么原因呢。原来cuda的API分为两种类型,一种是驱动(driver)API,另一种是运行(runtime)API。而我们通过nvidia-smi查看的cuda版本正是驱动API版本。通过nvcc -V 和 cat /usr/local/cuda/version.txt查看的一般是运行API,因此两者存在出入是正常的。

但是我们运行程序时所使用的是运行API,我们时常讲的cuda,cudnn,tensorflow-gpu版本之间的对应,也是针对运行API来讲的,也就是后两者查看的版本。


可以执行相关训练文件查看是否有gpu信息输出,或监控一下gpu状态
 

watch -n 1 nvidia-smi

查看cudnn版本:
 

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

或者
 

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyHandCode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值