本文已参与「新人创作礼」活动.一起开启掘金创作之路。
服务器基本信息
1、查看系统主机名称
hostname
hostname,顾名思义,就是 host name,主机名称的意思,其实就是 @ 符号右边的内容,比如我们连上服务器后,shell 窗口里最左边一般是 [root@xxx ]#,root 表示当前登录的账号,@ 符号右边就是主机名,再然后是当前所在目录( 表示家目录),最后是命令提示符,# 符号是 root 用户的,$ 符号是普通用户的。
2、查看系统内核版本
uname -r
uname,是 unix name 的缩写。-r 或 --release,显示操作系统的发行编号。
3、查看 RedHat 版本
cat /etc/redhat-release
cat,是 concatenate 的缩写,一般用来查看文件的内容。
4、查看 CentOS 版本
cat /etc/centos-release
cat,是 concatenate 的缩写,一般用来查看文件的内容。CentOS 版本和 RedHat 版本,查出来其实是一样的。
5、查看 CPU 信息
lscpu
或
cat /proc/cpuinfo
lscpu,是 list cpu 的缩写,可查看 CPU 的架构、核数等信息。
6、列出所有可用块设备
l****lk
l****lk 是 list block(block 就是块)的缩写,默认情况下将以树形结构列出服务器上所有的可用块设备,可以看到每个块设备的容量大小及对应的挂载点等信息。
7、查看磁盘空间占用
df -h
df,是 disk free 的缩写,可以看到具体文件系统的容量、可用容量、已用容量占比、挂载点等信息。
8、查看内存占用
free -h
free 命令显示系统已使用和空闲的内存情况,包括物理内存、交互区(swap)内存和内核缓冲区(buff/cache)内存。从应用程序的角度来说,可用内存 = 系统 free memory + buff + cache,buff/cache 如果很大(也就意味着 free 内存很小)导致应用被系统杀死,可以手动清理它们,如下所示——
sync;sync;sync
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
先运行 3 个 sync 命令进行数据同步,避免数据丢失,等 5~10 秒后,再运行下面的 buff/cache 命令即可。
当然,我们也可以写个 shell 脚本,然后通过 crontab 定时运行脚本来清理 buff/cache。
9、查看文件/目录空间占用
du -hd1 / | sort -hr
du,是 disk usage 的缩写,它与上面的 df 命令并不相同。-h 选项表示以适合人类阅读的格式展示结果,-d 选项表示最多再往下查找几层子目录,后面跟个 1 就表示查找当前目录以及当前目录的子目录这两级目录,最后跟上要查看的目标目录或文件,然后将结果按适合人类阅读的格式倒序展示。上面的命令意思就是查查看根目录 / 本身及其一级子目录、文件的空间占用情况。
10、查看时间与时区
date
date 命令可查看服务器当前时间, CST 表示是中国标准时间,如果显示了 UTC(协调世界时) 或 GMT(格林尼治标准时间),则需要修改,也就是要同步网络时间。
目前比较常用的做法是使用 ntpdate 命令来同步时间,ntp 是 Network Time Protocol(网络时间协议)的缩写,这个命令在服务器上需要额外安装一下——
# 安装 ntpdate
yum -y install ntpdate
# 同步网络时间
ntpdate -u cn.pool.ntp.org
# 同步完成后,再用 date 命令查看下时间是否正确
date
# 将系统时间写入硬件时间,重启也不会失效
hwclock --systohc
同步时间后可能部分服务器过一段时间又会出现偏差,因此最好设置 crontab 来定时同步时间,方法如下——
# 安装 crontab
yum -y install crontab
# 创建 crontab 任务
crontab -e
# 添加定时任务
*/20 * * * * /usr/****in/ntpdate cn.pool.ntp.org > /dev/null 2>&1
# 重载 crontab
systemctl reload crond
上面的计划任务会在每 20 分钟进行一次时间同步,注意上面的 ntpdate 命令路径是 **/usr/**in/ntpdate,真实项目上不一定是这个路径,可以用 which ntpdate 命令查下具体的路径。
timedatectl status
上述命令用来查看服务器当前时区,如果 Time zone 那一行没显示 Asia/Shanghai (CST,+0800) ,就表示不是中国时区,需要修改。
执行下面的命令设置时区——
# 设置硬件时钟调整为与本地时钟一致
timedatectl set-local-rtc 1
# 设置时区为上海
timedatectl set-timezone Asia/Shanghai
11、查看当前登录用户
whoami
顾名思义,whoami 就是我是谁的意思。
id
id 命令会显示当前登录用户的用户 ID(uid)、用户名称,组 ID(gid)、组名称等信息。
12、注销登录&重启服务器
logout
logout,注销登录。
reboot
reboot,重启服务器,需要有 root 权限。