Linux学习记录(一):终端常用命令

此篇文章为博主在Linux学习过程中的一些记录,记录在此方便查阅。

文件系统

  • ls 显示目录内容 (list directory contents)

  • 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
  • man 显示命令的详细使用说明,即使用手册 (manual)

  • echo 可用于在shell脚本中输出变量/常量

    • echo "Hello, World!" > my_file.txt
    • > vs >> (output-vs-append)
    • echo打印字符串,需要加双引号''my string''
  • printf 格式化输出(同C语言用法)

  • cat/head/tail: 打印文件内容/开始10行/末尾10行

  • 文件夹/文件权限

  • df 查看磁盘可用空间 (Disk Free)

    • df -h 查看磁盘信息, -h选项为根据大小适当显示(--human-readable)
  • du 显示磁盘使用情况 (Disk Usage)

    • du /my_dir
    • du -h /my_dir
    • du -sh /my_dir

终端(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.gz文件

    • 解压 tar -zxvf xxx.tar.gz
  • tar.bz2文件

  • .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 -acat /proc/version
  • 波浪线~$HOME均为当前用户的主目录路径

软件包安装

系统软件更新相关

NVIDIA GPU相关

线程相关

  • 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-sminvidia-smi -l 2 其中-n为时间间隔的意思。
  • 查看可执行文件所依赖的动态链接库:ldd (list dynamic dependencies), 参考
  • alias 别名

远程文件传输scp

语法:scp [可选参数] file_source file_target参考链接
将本地文件复制至远程服务器:scp file username@ip:location

新建/删除用户

  • su: Super User即系统管理员
  • useradd: 新建用户
  • userdel: 删除用户
  • passwd : 修改密码
posted @   达可奈特  阅读(627)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示