Linux 常用命令总结

编程入门 行业动态 更新时间:2024-10-15 18:28:17

本篇博客记录读研以来高频使用的 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:也可使用python中自带的 logging 库直接在指定路径下创建并记录日志文件,方法见此篇博客。

  • 查看进程运行起止时间:
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状态
  • top:实时显示系统中各个进程的资源占用状况,类似于windows的任务管理器。
  • glances:系统资源实时监控工具,监测 cpu、负载均衡、内存、网络设备、磁盘 I/O、进程和文件系统使用等。(Ubuntu系统通过命令 pip3 install glances -i https://pypi.douban/simple 安装)使用方法详见链接。


文件处理

注:/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 -l | grep "^-" | wc -l:查看当前路径下文件的个数(不包括子目录)
ls -lR| grep "^-" | wc -l:查看当前路径下文件的个数(包括子目录)
ls -lR | grep "^d" | wc -l:查看当前路径下文件夹的个数
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)
  2. tmux使用教程 - 知乎 (zhihu)
  3. Glances - Linux 上的实时系统监控工具 - 知乎 (zhihu)
  4. Python中的log文件(详细教程)_python log_王张飞的博客-CSDN博客

更多推荐

Linux 常用命令总结

本文发布于:2023-06-11 01:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1365989.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:常用命令   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!