Linux学习记录(一):终端常用命令
此篇文章为博主在Linux学习过程中的一些记录,记录在此方便查阅。
文件系统
-
ls 显示目录内容 (list directory contents)
ls不显示隐藏的文件和子目录ls -a显示目录中所有的文件和子目录(包括隐藏文件)ls -l显示目录中文件和子目录的详细信息(包括权限、大小、创建/修改时间等)ll为ls -l的别名(alias):https://www.cnblogs.com/kongzhongqijing/p/3488884.html
ls -lh文件大小以KB/MB为单位- Linux统计文件夹下的文件个数
-
cd 切换目录 (change working directory)
cd -返回上一步的目录
-
pwd 打印当前工作目录(Print Working Directionary)
-
mkdir 创建目录 (make a directory)
mkdir -p A/B新建目录A和A中的目录B,无需mkdir两次
-
touch 用于新建文件(这可能是最基本的用法了)
touch log.txt新建一个文本文件
-
rm 删除 (remove)
- 删除文件夹
rm -rf my_folder删除文件夹my_folder及文件夹中的文件 (⚠️慎重使用)
- 删除文件夹
-
cp 复制 (copy)
- 复制文件夹
cp -r <source_folder> <destination_folder>-r/-R为recursive的意思
- 复制文件夹
-
mv 移动文件/目录(可用作重命名)
- mv 移动文件夹时无需加
-r
- mv 移动文件夹时无需加
-
man 显示命令的详细使用说明,即使用手册 (manual)
-
echo 可用于在shell脚本中输出变量/常量
echo "Hello, World!" > my_file.txt> vs >>(output-vs-append)- echo打印字符串,需要加双引号
''my string''
-
printf 格式化输出(同C语言用法)
-
cat/head/tail: 打印文件内容/开始10行/末尾10行
-
文件夹/文件权限
- Linux查看文件读写权限
- chmod指令修改权限
- 添加可执行权限:
chmod +x xxx.sh - https://blog.csdn.net/pythonw/article/details/80263428
chmod 777 file/dir
- 添加可执行权限:
-
df 查看磁盘可用空间 (Disk Free)
df -h查看磁盘信息,-h选项为根据大小适当显示(--human-readable)
-
du 显示磁盘使用情况 (Disk Usage)
du /my_dirdu -h /my_dirdu -sh /my_dir- AOSP源码大小约几百G
终端(Terminal)中常用快捷键(shortcuts)
Ctrl+L清屏(并不是真正意义上的清屏,和Windows中cls还是有差异的)Ctrl+U清除当前命令Ctrl+A移动到行首Ctrl+E移动到行尾- 复制/粘贴需要按住Shift键
- 复制
Ctrl+Shift+C - 粘贴
Ctrl+Shift+V
- 复制
解压/压缩命令
Linux上常见的压缩包类型:.zip .7z 和 .tar系列
-
zip文件
- 解压缩:
- 解压文件:
unzip xxx.zip(解压速度快于解压软件) - 查看压缩包内容
unzip -l xxx.zip无需解压文件-l list files - 解压到指定文件夹
unzip xxx.zip -d dir_name其中-d为directory目录的缩写
- 解压文件:
- 压缩:
- 压缩文件:
zip archive_name.zip file1 file2 file3 - 压缩文件夹:
zip -r archive_name.zip directory_name,其中-r为递归处理,将指定目录下的所有文件和子目录一并处理。
- 压缩文件:
- 解压缩:
-
7z文件
- 解压
7z x abc.7z其中abc.7z为待解压的文件
- 解压
-
tar.xz文件
- 解压
tar -xf xxx.tar.xz - https://cloud.tencent.com/developer/article/1626115
- 解压
-
tar.gz文件
- 解压
tar -zxvf xxx.tar.gz
- 解压
-
tar.bz2文件
- 解压
tar -xvjf xxx.tar.bz2 - 参考:https://blog.csdn.net/qq_29695701/article/details/86088250
- 解压
-
.tgz文件
- 解压
tar xvf xxx.tgz
- 解压
-
.bz2文件
文件/内容查找
- 根据文件名查找文件
find ./ -name "xxx.cpp" - 根据关键词查找文件内容
grep "关键词" -r 搜索目录其中-r为--recursive的意思(即递归查询、搜索) - 文件目录中包含abc名称:
ll my_dir | grep -i abc-i表示ignore大小写
- 查看文件类型:
file- 查看图像文件
- 查看
so库文件
dos2unix my_file.txt用于去除Windows系统文本文件末尾的^M符号
操作系统版本相关
uname -a或cat /proc/version- 波浪线
~和$HOME均为当前用户的主目录路径
软件包安装
sudo apt-get install <package>其中apt为Advanced Package Tools的缩写- Linux系统apt-get安装和源码安装的区别
系统软件更新相关
sudo apt-get update更新源/查找更新sudo apt-get upgrade一键更新可以更新的软件- update与upgrade之间的区别:https://blog.csdn.net/get_set/article/details/50706276
NVIDIA GPU相关
nvidia-smi查看GPU显存占用情况,参数详细说明 http://www.manongjc.com/article/64818.htmlnvidia-smi -l 2按指定时间间隔(2s)查看GPU显存占用情况,还有第二种方法:watch -n 2 nvidia-smi- 算力(Compute Capability)查询 https://developer.nvidia.com/cuda-gpus#collapse4
- 查看nvcc版本
nvcc --version注意是两个--, 因为version没有缩写 - 利用
gpustat库来监控显存占用pip install gpustat gpustat -i
线程相关
ps aux | grep PID查看线程号为PID的线程
ps为process status(进程状态)的缩写ps -eo pid,lstart,etime,cmd | grep PID查看线程号为PID的线程的开始时间&持续时间
注意:逗号之间不要有空格! etime 我认为是elapsed time的缩写kill -9 PID杀死线程号为PID的线程
其中PID为线程号- Linux线程
https://linux.cn/article-9344-1.html
Misc
nohup不挂断地运行命令,nohup命令用于解决终端意外关闭的问题,为no hangup(挂断)的缩写- 如何使用
nohup your_cmd,例如nohup python xxx.py - watch指令
watch -n 2 nvidia-smi同nvidia-smi -l 2其中-n为时间间隔的意思。 - 查看可执行文件所依赖的动态链接库:
ldd(list dynamic dependencies), 参考 - alias 别名
远程文件传输scp
语法:scp [可选参数] file_source file_target,参考链接
将本地文件复制至远程服务器:scp file username@ip:location

浙公网安备 33010602011771号