当前位置: 首页 > article >正文

Linux 常用命令总结

本篇博客记录读研以来高频使用的 linux 系统下的命令合集

命令分类

  • 程序运行
  • 系统相关
  • 文件处理
    • 文件传输相关命令
    • 文件显示相关命令
    • 文件排列相关命令
  • Anaconda 相关命令
  • tmux 终端复用神器使用tips

程序运行

  • 自动保存日志,替代write命令:
xxx | tee ./xxx.log
nvidia-smi | tee ./test.txt
python xx.py | tee ./xxxx 

PS:上述命令本人现在使用的不是很多了,目前是使用 Logger类 直接将日志动态存储到指定文件中, Logger类 的代码如下:

class Logger(object):
    def __init__(self, log_path="default.txt"):
        import sys
        self.terminal = sys.stdout
        self.log = open(log_path, "w", buffering=128, encoding="utf-8")
 
    def print(self, message):
        message = str(message)
        self.terminal.write(message + '\n')
        self.log.write(message + '\n')
 
    def flush(self):
        self.terminal.flush()
        self.log.flush()
 
    def close(self):
        self.log.close()

使用方法:log = Logger(log_path]) 实例化一个日志,参数log_file_path为日志保存路径,log.print(message)message写入log_path路径下的文件中,log.flush()刷新日志文件,更新到最新版本。

  • 查看进程运行起止时间:
ps -o lstart -p PID             #根据PID来查询
ps -o lstart,etime -p PID       #根据PID来查询,打印出启动时间和已经运行的时间
ps -eO lstart | grep PROCESS    #根据进程名字查询
  • 查看程序中的变量所在设备:
print(变量名.device)

系统相关

  • uname -a:查看服务器系统信息
  • pwd: 显示当前所在绝对路径
  • su: 切换到 root 账号
  • df -h: 查看系统存储空间
  • free -g: 查看存储使用情况
  • lscpu: 查看系统cpu数量
  • gpustat --force-color -cp -i 1:实时监测gpu状态

文件处理

注:/root下的 隐藏文件夹 .cache 文件要定期清理,以防空间不足

文件传输相关命令

使用 scp 命令将当前账号下的文件/文件夹复制到另一台服务器的目标路径下:

# local_file:当前账号下文件
# local_folder:当前账号下文件夹
# remote_username:对方服务器账号
# remote_ip:对方服务器ip地址
# remote_file:对方服务器的目标传输文件
# remote_folder:对方服务器的目标传输路径
# -P 参数指定端口号 port_id

scp local_file remote_username@remote_ip:remote_folder 

scp -P port_id -r local_folder remote_username@remote_ip:remote_file #P一定要大写!!!

scp local_file remote_ip:remote_folder  

scp local_file remote_ip:remote_file 

Rsync 命令 增量传输,详见链接

文件显示相关命令

du -sh *: 查看当前文件夹大小
du -sh .[!.]*:命令查看 目录下全部隐藏文件夹的大小
rm -f *:清空当前目录下所有文件
ls | wc -w:当前路径下文件数目
ll :详细显示文件信息
ls -a:粗略显示文件(-a包括隐藏文件)

文件排列相关命令

ll -hS:按照文件大小进行降序排列
ll -hrS:按照文件大小进行升序排列
du -b * | sort -n:按照 B(字节)单位转换排序(升序排序)
du -b * | sort -nr:按照 B(字节)单位转换排序(降序排序)
du -k * | sort -nr:按照 KB 单位转换排序
du -m * | sort -nr:按照 MB 单位转换排序
find ./ -type f -printf '%s %p\n' | sort -rn:按照文件大小进行降序排列
find ./ -type f -printf '%s %p\n' | sort -n:按照文件大小进行升序排列


Anaconda 相关命令

首先使用 bash 命令切换至 bashshell 中,然后才可以执行相关命令

  • 新建conda环境:
conda create -n your_env_name python==3.6.12
  • 删除conda环境:
conda remove -n your_env_name --all
  • 切换conda环境:
conda activate env_name
  • 安装cuda11.6支持的torch和torchvision版本到指定虚拟环境python3.7
pip install --target=/root/anaconda3/envs/python3.7/lib/python3.6/site-packages torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
  • pip安装某个包到指定虚拟环境python3.7
pip install --target=/root/anaconda3/envs/python3.7/lib/python3.6/site-packages opencv-python==4.2.0.34  -i  https://pypi.doubanio.com/simple

tmux 终端复用神器使用tips

  • tmux下复制粘贴
    tmux内部之间复制:前缀键Ctrl b + [,然后鼠标选中目标文本即可;粘贴:前缀键Ctrl b + ]。
    tmux复制到windows的剪切板:按住Shift,鼠标选中文本,Ctrl + insert为复制,Shift + insert为粘贴。

tmux介绍及使用方式详见链接


PS:本篇文章首发于2023年妇女节,还是要祝各位女性同胞节日快乐哈~一起加油!

参考资料

  1. Rsync(远程同步): linux中Rsync命令的实际示例 - Oops!# - 博客园 (cnblogs.com)
  2. tmux使用教程 - 知乎 (zhihu.com)

http://www.kler.cn/a/819.html

相关文章:

  • More Effective C++之效率Efficiency_下
  • 在Windows11上编译C#的实现Mono的步骤
  • Mysql 查询性能调优总结
  • 在 CentOS 系统上安装 ClickHouse
  • 【自动化测试】windows下安装Selenium浏览器界面测试工具
  • 大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入
  • JavaEE--Thread 类的基本用法(不看你会后悔的嘿嘿)
  • new bing的chatGPT如何解析英文论文pdf
  • 【Linux学习】进程间通信——system V(共享内存 | 消息队列 | 信号量)
  • 【Linux】 Linux用户权限、文件权限、权限操作相关介绍
  • 力扣-超过经理收入的员工
  • Android之屏幕适配方案
  • 产品经理面经|当面试官问你还有什么问题?
  • 机器看世界
  • 到底什么是线程?线程与进程有哪些区别?
  • 分布式ID生成方案总结
  • 关于SQL优化的几点说明
  • 8年Java架构师面试官教你正确的面试姿势,10W字面试题带你成功上岸大厂
  • 「操作系统」进程间的通信方式全面解析
  • JVM调优,调的是什么?目的是什么?
  • java中如何优化大量的if...else...
  • SpringSecurity学习(七)授权
  • Vue3通知提醒框(Notification)
  • ChatGPT 4 测试 两数比较大小问题。
  • 【LeetCode】二叉树基础练习 5 道题
  • SpringBoot IOC容器的高级特性