4 磁盘管理
df du
df -lh
du -h --max-depth=1 /
查看磁盘
fdisk -l
查看分区挂载
df -T
创建分区
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xd00ce343.
Command (m for help): p
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xd00ce343
Device Boot Start End Blocks Id System
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-419430399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):
Using default value 419430399
Partition 1 of type Linux and of size 200 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
格式化分区
mkfs.xfs /dev/sda1
挂载
mount /dev/sda1 /tmp/data
df -h
vim /etc/fstab
# 写
echo /dev/sda1 /tmp/data xfs defaults 0 0 >> /etc/fstab
5 进程管理
ps
ps aux
ps -ef
ps -lu ${username}
ps -ajx
pgrep
#进程名包含foo的进程
pgrep -l foo
lsof(list opened file)
# 端口占用
lsof -i:80
# 用户打开文件
lsof -u ${username}
# 查看指定进程
lsof -c ${cmd}
lsof -p ${pid}
# 查看指定目录
lsof +d ${dir}
kill
# 默认是15 SIGTERM
kill ${pid}
# 9是 SIGKILL
kill -9 ${pid}
# 列出所有信号
kill -l
分析线程
pmap
pmap ${pid}
6 性能监控
sar
# CPU 使用率
sar -u
# 每秒采样1一次,一共采样两次
sar -u 1 2
# CPU平均负载
sar -q
sar -q 1 2
# 内存
sar -r
sar -r 1 2
# 内存换页
sar -W
sar -W 1 3
free
free -m
top
watch
7 网路工具
netstat
netstat -a
# tcp
netstat -at
8 用户和权限
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
useradd foo -p ${加密后的密码,明文不行的}
# 交互式修改密码
passwd foo
# 批量修改密码。用户名:密码 -e 是口令是加密的
echo "foo:foo" | chpasswd
userdel foo
其他
SSH
ssh -p 20002 root@host ls -l
ssh-keygen -t dsa
# 查找和删除主机密钥
ssh-keygen -F host
ssh-keygen -R host
用户配置文件 (~/.ssh/config)
系统配置文件 (/etc/ssh/ssh_config)
免密登录
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
HOST文件主机更新要刷新客户端缓存
ssh-keygen -R host
开SSH服务
sudo service sshd start
时间同步
ntpdate cn.pool.ntp.org
apt-get
update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
upgrade 是升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的。
apt-get update
apt-get upgrade
# 更新已安装的软件包(识别并处理依赖关系的改变)
apt-get dist-upgrade
国内源
/etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
链接
rm –rf 软链接名称(注意不要在后面加”/”)
ln –snf [新的源文件或目录] [目标文件或目录]