4 磁盘管理

df du

  1. df -lh
  2. du -h --max-depth=1 /

查看磁盘

  1. fdisk -l

查看分区挂载

  1. df -T

创建分区

  1. # fdisk /dev/sda
  2. Welcome to fdisk (util-linux 2.23.2).
  3. Changes will remain in memory only, until you decide to write them.
  4. Be careful before using the write command.
  5. Device does not contain a recognized partition table
  6. Building a new DOS disklabel with disk identifier 0xd00ce343.
  7. Command (m for help): p
  8. Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
  9. Units = sectors of 1 * 512 = 512 bytes
  10. Sector size (logical/physical): 512 bytes / 512 bytes
  11. I/O size (minimum/optimal): 512 bytes / 512 bytes
  12. Disk label type: dos
  13. Disk identifier: 0xd00ce343
  14. Device Boot Start End Blocks Id System
  15. Command (m for help): n
  16. Partition type:
  17. p primary (0 primary, 0 extended, 4 free)
  18. e extended
  19. Select (default p): p
  20. Partition number (1-4, default 1): 1
  21. First sector (2048-419430399, default 2048):
  22. Using default value 2048
  23. Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):
  24. Using default value 419430399
  25. Partition 1 of type Linux and of size 200 GiB is set
  26. Command (m for help): w
  27. The partition table has been altered!
  28. Calling ioctl() to re-read partition table.
  29. Syncing disks.

格式化分区

  1. mkfs.xfs /dev/sda1

挂载

  1. mount /dev/sda1 /tmp/data
  2. df -h
  1. vim /etc/fstab
  2. # 写
  3. echo /dev/sda1 /tmp/data xfs defaults 0 0 >> /etc/fstab

5 进程管理

ps

  1. ps aux
  2. ps -ef
  3. ps -lu ${username}
  4. ps -ajx

pgrep

  1. #进程名包含foo的进程
  2. pgrep -l foo

lsof(list opened file)

  1. # 端口占用
  2. lsof -i:80
  3. # 用户打开文件
  4. lsof -u ${username}
  5. # 查看指定进程
  6. lsof -c ${cmd}
  7. lsof -p ${pid}
  8. # 查看指定目录
  9. lsof +d ${dir}

kill

  1. # 默认是15 SIGTERM
  2. kill ${pid}
  3. # 9是 SIGKILL
  4. kill -9 ${pid}
  5. # 列出所有信号
  6. kill -l

分析线程

pmap

  1. pmap ${pid}

6 性能监控

sar

  1. # CPU 使用率
  2. sar -u
  3. # 每秒采样1一次,一共采样两次
  4. sar -u 1 2
  5. # CPU平均负载
  6. sar -q
  7. sar -q 1 2
  8. # 内存
  9. sar -r
  10. sar -r 1 2
  11. # 内存换页
  12. sar -W
  13. sar -W 1 3

free

  1. free -m

top

watch

7 网路工具

netstat

  1. netstat -a
  2. # tcp
  3. netstat -at

8 用户和权限

adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。

  1. useradd foo -p ${加密后的密码,明文不行的}
  2. # 交互式修改密码
  3. passwd foo
  4. # 批量修改密码。用户名:密码 -e 是口令是加密的
  5. echo "foo:foo" | chpasswd
  6. userdel foo

其他

SSH

  1. ssh -p 20002 root@host ls -l
  2. ssh-keygen -t dsa
  3. # 查找和删除主机密钥
  4. ssh-keygen -F host
  5. ssh-keygen -R host

用户配置文件 (~/.ssh/config)
系统配置文件 (/etc/ssh/ssh_config)

免密登录

  1. ssh-keygen -t rsa
  2. ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

HOST文件主机更新要刷新客户端缓存

  1. ssh-keygen -R host

开SSH服务

  1. sudo service sshd start

时间同步

  1. ntpdate cn.pool.ntp.org

apt-get

update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
upgrade 是升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的。

  1. apt-get update
  2. apt-get upgrade
  3. # 更新已安装的软件包(识别并处理依赖关系的改变)
  4. apt-get dist-upgrade

国内源

/etc/apt/sources.list

  1. deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
  2. deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

链接

rm –rf 软链接名称(注意不要在后面加”/”)

ln –snf [新的源文件或目录] [目标文件或目录]