前言
本文记录了一些Linux指令,用于备忘和查找,无序排列。
指令
查看系统内核版本(多条可用指令)
1 | $ cat /proc/version |
在本地和远程之间复制文件
- scp指令
1
2$ scp username@servername:/path/filename local_dir # 从远程机器下载文件
$ scp /local_path/filename username@servername:/path # 上传本地文件到远程机器 - rsync 指令
1
2
3
4
5
6rsync -av -e ssh --exclude='*.pth' username@servername:/path/filename local_dire # 从远程机器下载文件
rsync -av -e ssh --exclude='*.pth' /local_path/filename username@servername:/path # 上传本地文件到远程机器
-a:递归目录
-v:详细输出
-e ssh:使用ssh作为远程shell,保证传输过程加密
--exclude='*.pth':排除匹配文件
zip 压缩/解压缩文件
1 | $ zip -r filename.zip filename filedir/ # 压缩指定文件和文件目录 |
tar 压缩/解压缩文件
1 | $ tar -zcvf filename.tar.gz filename # 压缩指定文件或文件目录 |
常用参数选项
1 | -z --gzip, --gunzip, --ungzip :通过 gzip 来归档压缩,压缩后的文件为*.tar.gz |
进程
1 | $ ps aux|grep python # 显示所有与python相关的进程 |
ps常用参数选项
1 | -a 显示现行终端机下的所有程序,包括其他用户的程序 |
1 | $ kill -l # 查看linux下所有信号 |
fuser
fuser 功能:显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。更多参考见Linux fuser 命令详解
1 | $v fuser -v /dev/nvidia* # 显示当前有哪些占用GPU资源的pid |
文件查找
- findfidn的常用参数
1
$ find / -name filename # 在指定目录(/)下寻找指定文件
1
2
3
4
5-name s #寻找文件名带s的文件
-name *s #寻找以s结尾的文件
-name s* #寻找以s开头的文件
find -amin 10 #寻找过去10分钟访问过的文件
find -mtime 1 #寻找过去24小时修改过的文件 - locate该方法从Linux文件数据库中查找,效率更高。但该数据库默认一天更新一次,最近新建文件无法找到,可用如下指令更新该数据库
1
$ locate filename # 定位文件位置
1
sudo updatedb
- 全面搜索正则表达式
1
2$ grep xxx # 在输出中查找带有xxx的行
$ grep -v xxx # 滤掉输出中带有xxx的行 - 全面搜索正则表达式配合使用的指令
1
$ cut -c 9-16 # 在输出的每行中选取9到16行(不包含第16行)返回
ssh密钥生成
生成的密钥存放在1
$ ssh-keygen -t rsa
~/.ssh文件夹下。watch
watch 提供了周期性的方式执行给定的命令的功能。
1 | $ watch -n 1 nvidia-smi # 每隔一1秒查看一次显存信息 |
磁盘大小统计
1 | $ df -h # 统计磁盘分区大小和使用情况 |
建立软链接
1 | $ ln -s source target-symbol # 将source 软连接到target-symbol目录下/target-symbol文件 |
注:使用target-symbol软链接时,若出现报错Too many levels of symbolic links,将source和target-symbol改为绝对路径即可。
文件查看
1 | $ ls|wc –l # 查看当前目录文件数量 |
命令二次解释
1 | $ eval command_with_param # 将参数连接在一起构造指令,并执行 |
例如:eval echo '$'$# 会先将 指令翻译为echo ${param_num},然后执行指令echo ${param_num}。
Bash $+x 含义
此处方便起见,省去代表bash指令的$
1 | $0 # 执行脚本的文件名 |
identify
查看图像参数信息
1 | identify image_name # 查看图像具体信息 |
指令用例
1 | tmux ls | grep -oP '^\S+' | grep wm | sed 's/://g' | xargs -I {} tmux kill-session -t {} |
提取tmux中以wm开头的会话名称,并kill这些会话。