Linux常用命令

统计磁盘占用情况

  • ncdu

    • 安装:sudo apt install ncdu 或者 yum install ncdu -y
    • 命令格式:ncdu <option> <dir>
    • 示例:ncdu ~/
  • du

    • 命令格式:du <option> <dir>
    • 关于du,只分享2条比较常用的具体命令,不对option做说明
      • 显示总体磁盘使用情况摘要: du -sh
      • 显示路径下各子文件夹 / 子文件(深度为1)的情况:du -h --max-depth=1

结束进程

  • 强制结束某一进程:kill -9 PID
    Tips. 使用top,查看运行程序对应的PID
  • 强制结束某一用户的进程:pkill -u username

查看用户UID,GID

  • 解释:UID是对用户的单一身份标识,而GID是用户所属的组的组标识,多个user可对应同一个GID
  • 命令:id <option> username
  • 示例:id root
    输出图片展示

根据PID,查看该进程被哪个用户执行

  • 命令:ps -u -p PID
  • 示例:ps -u -p 47212
    img

给用户添加sudo权限

  • 添加命令:usermod -aG sudo username
  • 检查是否添加成功的命令:sudo whoami (输出为root,则成功添加)

更改用户主目录

  1. 第一步查看UID, GID
    id username

  2. 第二步改变用户的主目录
    sudo usermode -d new_dir/username -u UID

  3. 第三步将原来的主目录移到现在的主目录,有cp, mv两种选择:

    • cp -r old_dir/username new_dir/

    • mv old_dir/username new_dir/

      这俩者有些不同之处

      cp mv
      是否删除源文件
      主目录的owner 发生变化 不发生变化

使用scp复制文件

使用背景

本人使用习惯是本地台式机 / 笔记本,远程连接多台服务器服务器,所以涉及到本地-服务器,服务器-服务器之间的文件传输

  • 本地-服务器
    - 命令:scp -r -v -P 322 /local/some_dir username@IP:/remote/data/

    • 条件:需要知道服务器用户:username对应的密码
    • 执行的结果:将/local/some_dir 复制到/remote/data/ (出现/remote/data/some_dir
    • 参数解释:
      • /local/some_dir:源目录
      • /remote/data/:目标目录
      • username@IP:服务器的用户名和IP地址
      • -r: 递归的复制文件夹,如是单一文件,可省略
      • -v: 是展示一些过程信息,如不想展示,可省略(常用于:不确定是否正在进行传输)
      • -P(uppercase) 322: 指定服务器端口为322,如为默认的22端口,则可省略
  • 服务器-服务器

    • 建议登录其中一台服务器,则方法可参考以上:本地-服务器
    • 如果没登录,则:
      • 命令:scp -r -v user1@IP1:/remote1/some_dir user2@IP2:/remote2/data/
        • 不知道怎么指定两个服务器的端口
posted @ 2022-12-06 12:13  徐嘻嘻xixi  阅读(40)  评论(0)    收藏  举报