系统篇
1
2
|
# 查看LBS 发行版本
cat /etc/lsb-release
|
1
2
3
4
5
|
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
|
1
2
3
4
5
6
7
8
9
|
# 查看系统有哪些shell
cat /etc/shell
# 创建用户spaceack; 生成home目录 /home/spaceack ; 指定默认使用zsh
sudo adduser --home /home/spaceack --shell /usr/bin/zsh spaceack
# 用户给予sudo权限, 直接加入sudo组
sudo usermod -aG sudo spaceack
# 其它实现方法
sudo useradd -d /home/spaceack -s /bash/zsh spaceack
|
linux 查询进程所在目录
1
2
3
4
5
|
# 找到进程id
ps -aux | grep xxx
ll /proc/进程pid
lsof -p 进程pid
|
CPU
1
2
3
4
|
lscpu
cat /proc/cpuinfo
# 查看CPU架构
uname -a | awk '{print $12}'
|
内存
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 查看主板内存插槽数及使用情况
dmidecode|grep -P -A 5 "Memory\s+Device" | grep Size|grep -v Range
# 查看主板支持最大内存
sudo dmidecode | grep -P 'Maximum\s+Capacity'
# 查看内存频率
sudo dmidecode | grep -A16 "Memory Device"|grep 'Speed'
# 查看内存及交换空间使用情况
# -h 以 Gibibytes为单位查看.
free -m
|
磁盘 df
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 查看目录的剩余空间, 本质是查看该目录挂载的磁盘的剩余空间。 默认是千字节。
ubuntu@primary:~$ df /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 4911436 2261092 2633960 47% /
# -T显示磁盘分区类型
ubuntu@primary:~$ df -T /tmp
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 4911436 2265444 2629608 47% /
# 配合管道命令 sed awk。 提取 某个数值,如可用空间(Available)
ubuntu@primary:~$ df /tmp| sed '1d' | awk '{print $4}'
2629608
# -i 查看 inode 的使用情况
ubuntu@primary:~$ df -i /tmp
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 648320 137952 510368 22% /
|
快速删除大量文件
1
2
3
4
5
6
|
# 创建空目录
mkdir /tmp/empty/
# 使用 rsync 快速删除 /data/logs/ 目录下文件
rsync --delete-before -d /tmp/empty/ /data/logs/
# 删除空目录
rmdir /tmp/empty/
|
禁用某个目录的写入权限
交换分区
查看类型为 swap 的 交换分区名称
sudo fdisk -l | grep swap
查看已存在的交换分区名称
swapon -s
临时关闭交换分区
关闭交换分区时, 会把交换分区的数据转移到内存(需确保可用内存 大于 交换分区的已用空间.)
sudo swapoff /dev/sda5
开启交换分区
sudo swapon /dev/sda5
硬件设备
1
2
3
4
5
6
7
8
|
# 查看硬件设备
lshw
# PCI 设备列表
lspci
# 列出区块设备
lsblk
# 列出分区表
fdisk -l
|
网络
1
2
3
4
5
6
|
# 改ip
sudo ifconfig down
sudo ifconfig eth0 192.168.0.200 netmask 255.255.255.0 up
# 免sudo密码交互
echo 'password' | sudo -S ifconfig eth0 192.168.0.200 netmask 255.255.255.0 up
sudo /etc/init.d/networking restart
|
传输篇
-
scp
1
2
3
4
5
6
|
# 使用scp 传输文件 将本地文件data.zip 传到服务器 /data 目录 -
# P ssh端口号
scp -P 22 /data/data.zip [email protected]:/data
# 使用scp 传输文件 将远程目录 remote_path 传到本地当前目录
scp -r remote_username@remote_ip:/remote_path/* .
|
使用rsync断点续传备份包含大量数据的资源目录
-v, –verbose 详细模式输出.
-r, –recursive 子目录递归处理.
-t, –times 保持文件时间信息.
-P,–partial 断点续传, –progress 显示传输过程.
–rsh=COMMAND 指定使用rsh、ssh方式进行数据同步, rsh为明文传输.
-u, 只进行更新,防止本地新文件被重写(不覆盖更新的文件).
–ignore-existing, 跳过接收端已存在的文件,目录增量备份会用到.
curl
1
2
3
4
5
6
|
# 下载文件
curl -O http://spaceack.com/data.zip
# 上传文件
curl -F "file=@/data/data.zip" http://spaceack.com/upload
# https忽略证书验证 -k 参数
curl -k https://spaceack.com
|
其它
1
2
3
4
5
6
7
8
9
|
# 查看主机 ssh 连接数
w | grep pts |wc -l
# 文件批量重命名
apt install rename
# 制作U盘启动盘(Centos7)
pv -cN source < CentOS-7-x86_64-DVD-1804.iso | sudo dd of=/dev/sdc
|
选择时区 tzselect
1
2
3
|
tzselect
# 查看时间
date
|