centos常用命令收藏
本文主要记录常用的命令……
以备查询使用……
查看各种硬件信息
https://blog.csdn.net/dream_broken/article/details/52883883
日志
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
查看系统信息
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/issue
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
查看端口占用
netstat -lnp|grep 8000
设置自启动
在生产环境,一些基础应用环境需要系统启动的时候自动启动……
服务自启动设置
执行命令systemctl enable *
即可。
例如设置docker
服务自启动:systemctl enable docker.service
脚本自启动
参考:
一、添加开机自启服务
在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):
systemctl enable jenkins.service #设置jenkins服务为自启动服务
sysstemctl start jenkins.service #启动jenkins服务
二、添加开机自启脚本
在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:
#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/startup.sh #启动tomcat
方法一
1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)
chmod +x /opt/script/autostart.sh
2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容
/opt/script/autostart.sh
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
方法二
1、将脚本移动到/etc/rc.d/init.d目录下
mv /opt/script/autostart.sh /etc/rc.d/init.d
2、增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/autostart.sh
3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on
系统进程管理
查看进程信息
1.根据端口,查看进程信息
# lsof -i:8011 //查看端口,找到进程pid
# cd /proc/pid
# ll
---------------------------------------------------------
[root@izwz9bwlp4pyxy4mnxaycez 1113]# ll
total 0
dr-xr-xr-x 2 root root 0 10月 31 17:30 attr
-rw-r--r-- 1 root root 0 11月 5 10:24 autogroup
-r-------- 1 root root 0 11月 5 10:24 auxv
-r--r--r-- 1 root root 0 11月 5 10:24 cgroup
--w------- 1 root root 0 11月 5 10:24 clear_refs
-r--r--r-- 1 root root 0 10月 8 21:02 cmdline
-rw-r--r-- 1 root root 0 11月 5 10:24 comm
-rw-r--r-- 1 root root 0 11月 5 10:24 coredump_filter
-r--r--r-- 1 root root 0 11月 5 10:24 cpuset
lrwxrwxrwx 1 root root 0 11月 5 10:24 cwd -> /
-r-------- 1 root root 0 11月 1 15:13 environ
lrwxrwxrwx 1 root root 0 11月 5 10:24 exe -> /server/java/jdk/bin/java
dr-x------ 2 root root 0 10月 31 17:30 fd
dr-x------ 2 root root 0 11月 1 11:53 fdinfo
-rw-r--r-- 1 root root 0 11月 5 10:24 gid_map
-r-------- 1 root root 0 11月 5 10:24 io
-r--r--r-- 1 root root 0 11月 5 10:24 limits
-rw-r--r-- 1 root root 0 11月 5 10:24 loginuid
dr-x------ 2 root root 0 11月 5 10:24 map_files
-r--r--r-- 1 root root 0 11月 5 10:24 maps
-rw------- 1 root root 0 11月 5 10:24 mem
-r--r--r-- 1 root root 0 11月 5 10:24 mountinfo
-r--r--r-- 1 root root 0 11月 5 10:24 mounts
-r-------- 1 root root 0 11月 5 10:24 mountstats
dr-xr-xr-x 5 root root 0 11月 5 10:24 net
dr-x--x--x 2 root root 0 11月 5 10:24 ns
-r--r--r-- 1 root root 0 11月 5 10:24 numa_maps
-rw-r--r-- 1 root root 0 11月 5 10:24 oom_adj
-r--r--r-- 1 root root 0 11月 5 10:24 oom_score
-rw-r--r-- 1 root root 0 11月 5 10:24 oom_score_adj
-r--r--r-- 1 root root 0 11月 5 10:24 pagemap
-r-------- 1 root root 0 11月 5 10:24 patch_state
-r--r--r-- 1 root root 0 11月 5 10:24 personality
-rw-r--r-- 1 root root 0 11月 5 10:24 projid_map
lrwxrwxrwx 1 root root 0 11月 5 10:24 root -> /
-rw-r--r-- 1 root root 0 11月 5 10:24 sched
-r--r--r-- 1 root root 0 11月 5 10:24 schedstat
-r--r--r-- 1 root root 0 11月 5 10:24 sessionid
-rw-r--r-- 1 root root 0 11月 5 10:24 setgroups
-r--r--r-- 1 root root 0 11月 5 10:24 smaps
-r--r--r-- 1 root root 0 11月 5 10:24 stack
-r--r--r-- 1 root root 0 10月 8 21:02 stat
-r--r--r-- 1 root root 0 11月 5 10:24 statm
-r--r--r-- 1 root root 0 10月 8 21:02 status
-r--r--r-- 1 root root 0 11月 5 10:24 syscall
dr-xr-xr-x 30 root root 0 11月 5 10:24 task
-r--r--r-- 1 root root 0 11月 5 10:24 timers
-rw-r--r-- 1 root root 0 11月 5 10:24 uid_map
-r--r--r-- 1 root root 0 11月 5 10:24 wchan
2.查看进程
# ps aux | less --查看所有运行中的进程
# ps -A --查看系统中的每个进程。
# ps -u vivek --查看用户vivek运行的进程
3.动态显示进程
# top
按q退出,按h进入帮助
4.树状显示进程
[root@izwz9bwlp4pyxy4mnxaycez ~]# pstree
systemd─┬─aliyun-service
├─atd
├─auditd───{auditd}
├─crond
├─dbus-daemon
├─dhclient
├─irqbalance
├─26*[java───27*[{java}]]
├─java───26*[{java}]
├─2*[java───32*[{java}]]
├─java───23*[{java}]
├─java───21*[{java}]
├─java───61*[{java}]
├─java───247*[{java}]
├─java───57*[{java}]
├─java───49*[{java}]
├─login───bash
├─mysqld_safe───mysqld───128*[{mysqld}]
├─mysqld_safe───mysqld───194*[{mysqld}]
├─10*[nginx───nginx]
├─ntpd
├─polkitd───5*[{polkitd}]
├─redis-server───2*[{redis-server}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd─┬─3*[sshd───bash]
│ ├─2*[sshd───bash───2*[tail]]
│ ├─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─wrapper─┬─java───53*[{java}]
└─{wrapper}
将进程快照储存到文件中
输入下列命令:
# top -b -n1 > /tmp/process.log
你也可以将结果通过邮件发给自己:
# top -b -n1 | mail -s 'Process snapshot' you@example.com
查看服务器情况
1.查看服务器CPU型号
grep "model name" /proc/cpuinfo | cut -f2 -d:
2.查看服务器内存容量
grep MemTotal /proc/meminfo
grep MemTotal /proc/meminfo | cut -f2 -d:
free -m |grep "Mem" | awk '{print $2}'
3.查看服务器的CPU是32位还是64位
getconf LONG_BIT
4.查看当前Linux的版本
more /etc/redhat-release cat /etc/redhat-release
5.查看Linux内核版本
uname -r
uname -a
6.查看服务器当前时间
date
7.查看服务器硬盘和分区
df -h
fdisk -l
8.查看挂载情况
mount
9.查看目录大小
du /etc -sh
10.查看服务器初始安装的软件包
cat -n /root/install.log
more /root/install.log | wc -l
11.查看已经安装的软件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
12.查看服务器键盘布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
13.查看Selinux状态
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
14.查看服务器网卡的ip,Mac地址,在ifcfg-eth0 文件里你可以看到mac,网关等信息。
ifconfig
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
15.查看服务器默认网关
cat /etc/sysconfig/network
16.查看服务器的默认DNS
cat /etc/resolv.conf
17.查看服务器默认语言
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
18.查看服务器所属时区和UTC时间
cat /etc/sysconfig/clock
19.查看服务器主机名
hostname
cat /etc/sysconfig/network
20.查看文件大小
ll -h a.txt
CentOS挂载新硬盘
参考:http://blog.sina.com.cn/s/blog_6177e8400101ntvu.html
1.查看当前硬盘使用状况:
df -h
2.查看新硬盘
fdisk -l
新添加的硬盘的编号为 /dev/xvdb /dev/xvde /dev/vdb
3.硬盘分区
1)进入fdisk模式
/sbin/fdisk /dev/vdb
2)输入n进行分区
3)选择分区类型
这里有两个选项:
- p: 主分区 linux上主分区最多能有4个
- e: 扩展分区 linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。
这里我选择的p。
4)选择分区个数
可以选择4个分区,这里我只分成1个分区
5)设置柱面,这里选择默认值就可以
6)输入w,写入分区表,进行分区
4.格式化分区
将新分区格式化为ext4文件系统
1)如果创建的是主分区mkfs -t ext4 /dev/vdb1
5.挂载硬盘
1)创建挂载点
在根目录下创建sqjr目录mkdir /server /sqjr
2)将/dev/vdb1挂载到/sqjr下
mount /dev/vdb1 /server /sqjr
6.设置开机启动自动挂载
新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。
设置开机自动挂载需要修改/etc/fstab文件vi /etc/fstab
在文件的最后增加一行/dev/vdb1 /server ext4 defaults 1 2
7.取消挂载 /dev/xvdb1umount /dev/vdb1
8.重启reboot -n
清理缓存,释放内存
1.清理yum缓存使用yum clean 命令,yum clean 的参数有headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all
yum clean headers #清理/var/cache/yum的headers
yum clean packages #清理/var/cache/yum下的软件包
yum clean metadata
...
2.Linux释放内存
释放网页缓存(To free pagecache):
sync; echo 1 > /proc/sys/vm/drop_caches
释放目录项和索引(To free dentries and inodes):
sync; echo 2 > /proc/sys/vm/drop_caches
释放网页缓存,目录项和索引(To free pagecache, dentries and inodes):
sync; echo 3 > /proc/sys/vm/drop_caches
利用curl获取本机的外网ip
#oray国内地址,返回速度快
curl -s http://ddns.oray.com/checkip | awk -F ": " '{print $2}' | awk -F "\<" '{print $1}'
#返回快
curl ident.me
curl myip.dnsomatic.com
#返回较快
curl whatismyip.akamai.com
curl https://tnx.nl/ip
#返回慢,不推荐
curl ifconfig.me
curl icanhazip.com
curl ipecho.net/plain
挂载磁盘
1.查看已挂载1
2
3
4
5
6
7
8
9[root@xc-product-server-hn003 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 564K 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/vda1 40G 4.3G 36G 11% /
overlay 40G 4.3G 36G 11% /var/lib/docker/overlay2/fe37037ef94f25079e4fdaeb9bc4485574cb309d032839b9638db0c1ffd88802/merged
tmpfs 755M 0 755M 0% /run/user/0
2.查看磁盘情况1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23[root@xc-product-server-hn003 ~]# fdisk -l
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: dos
Disk identifier: 0x4500abcf
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 83886046 83883999 40G 83 Linux
Disk /dev/vdb: 100 GiB, 107374182400 bytes, 209715200 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
```
有磁盘`/dev/vdb`未挂载。下面挂载到目录`/server`下。
3.创建挂载点`/server`
```shell script
mkdir /server
4.格式化磁盘1
2
3
4
5
6
7
8
9
10
11
12[root@xc-product-server-hn003 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: 0a280208-edad-4186-8ded-ab5550fdb0dc
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done
5.永久挂载1
vim /etc/fstab
添加一行:/dev/vdb /server ext4 defaults 0 0
1 | # |
保存,退出vim。
6.重启系统生效1
reboot
7.再次查看,看是否挂载成功1
2
3
4
5
6
7
8
9
10[root@xc-product-server-hn003 ~]# clear
[root@xc-product-server-hn003 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 472K 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/vda1 40G 4.3G 36G 11% /
/dev/vdb 98G 61M 93G 1% /server
tmpfs 755M 0 755M 0% /run/user/0
看到/dev/vdb
已经挂载成功。
路由
https://blog.csdn.net/hzhsan/article/details/44753533
1.查看路由表
1 | route -n # 查看路由表 |
2.添加路由
1 | sudo route add -net 172.17.1.0 netmask 255.255.255.0 gw 192.168.0.48 |
3.删除路由
防火墙
开启防火墙提示:Unit is masked的解决办法
那是因为锁定了防火墙,需要解锁。
防火墙锁定,解锁
解锁:1
2[root@website ~]# systemctl unmask firewalld
Removed symlink /etc/systemd/system/firewalld.service.
再次锁定:
1 | [root@website ~]# systemctl mask firewalld |
启动、关闭防火墙
查看防火墙状态1
2
3
4
5
6
7
8
9
10
11
12
13
14[root@xc-product-server-hn002 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2021-01-12 14:43:51 CST; 10min ago
Docs: man:firewalld(1)
Process: 90155 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 90155 (code=exited, status=0/SUCCESS)
Jan 12 14:39:26 xc-product-server-hn002 systemd[1]: Starting firewalld - dynamic firewall daemon...
Jan 12 14:39:27 xc-product-server-hn002 systemd[1]: Started firewalld - dynamic firewall daemon.
Jan 12 14:39:27 xc-product-server-hn002 firewalld[90155]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
Jan 12 14:43:50 xc-product-server-hn002 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jan 12 14:43:51 xc-product-server-hn002 systemd[1]: firewalld.service: Succeeded.
Jan 12 14:43:51 xc-product-server-hn002 systemd[1]: Stopped firewalld - dynamic firewall daemon.
启动防火墙:
1 | systemctl start firewalld.service |
关闭防火墙:
1 | systemctl stop firewalld.service |
CentOS7安装源配置详解
源配置目录及默认配置文件
1 | /etc/yum.repos.d/ |
修改安装源
1.备份1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.从阿里云下载新的CentOS-Base.repo 到/etc/yum.repos.d/
centos7
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
或者:
1 | curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
centos6
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo |
或者:
1 | curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo |
3.之后生成缓存
1 | yum makecache |
4.更新缓存并安装常用工具1
2 yum makecache
yum install -y wget net-tools vim chrony rsync