CentOS常用命令
一、系统管理
1.1 系统信息
1.1.1. 查看系统版本
# 查看Linux内核版本
cat /proc/version
# 查看CentOS版本
cat /etc/centos-release
# 查看Redhat版本
cat /etc/redhat-release
1.1.2. 查看硬件配置
# CPU
cat /proc/cpuinfo | grep name
# 内存
cat /proc/meminfo | head -4
1.1.3.查看端口占用情况
# 列出所有端口
netstat -ntlp
# 查看80端口占用情况
netstat -lnp|grep 80
# 或
lsof -i tcp:80
1.2 系统漏洞修复
# 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y update
# 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
yum -y upgrade
二、系统配置修改
2.1 修改密码
# 对于当前用户,输入passwd回车即可。
passwd
# 对于root用户来说,可以直接修改其他用户的密码:
passwd <user_name>
2.2 修改时间
安装在虚拟机上的CentOS7的时间分为系统时间和硬件时间。二者都修改,重启系统才会永久生效。
# 查看当前系统时间
date
# 修改当前系统时间
date -s "2019-11-28 10:26:30"
# 查看硬件时间
hwclock --show
# 修改硬件时间
hwclock --set --date "2019-11-28 10:26:30"
# 同步系统时间和硬件时间
hwclock --hctosys
# 保存时钟
clock -w
自动同步时间
# 安装ntpdate
yum install ntpdate -y
# 同步时间
ntpdate cn.ntp.org.cn
# 定时每隔10分钟同步一次时钟
crontab -e
0-59/10 * * * * /usr/sbin/ntpdate ntpdate cn.ntp.org.cn | logger -t NTP
2.3 防火墙设置
# 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 查看防火墙状态
firewall-cmd --state
# 查看以开放端口
firewall-cmd --list-ports
# 关闭防火墙
systemctl stop firewalld.service
# 关闭防火墙开机自启动功能
systemctl disable firewalld.service
2.4 IP地址配置
2.4.1 查看IP地址
ip addr
centos的ip地址是ens33条目中的inet值。
发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
从配置清单中可以发现 CentOS 7 默认是不启动网卡的(ONBOOT=no)。
把这一项改为YES(ONBOOT=yes)
重启网络服务。
2.4.2 修改固定IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
HWADDR=00:0C:29:74:46:FA
TYPE=Ethernet
# 这里改为静态IP
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=9cf9f870-d988-4b8a-a731-304de4e26059
# 这里改为开机生效
ONBOOT=yes
# 这里配置IP地址
IPADDR=192.168.12.99
GATEWAY=192.168.12.1
NETMASK=255.255.255.0
DNS1=202.106.0.20
DNS2=8.8.8.8
重启网络服务
service network restart
2.4.3 查看网关(Gateway)地址
1、netstat -rn
2、ip route show
3、route -n
三、软件安装卸载
3.1 rpm 包安装与卸载
# 查询已安装的rpm列表:rpm –qa|grep xx (q表示query,a表示查询所有,grep表示过滤)
例如:rpm -qa|grep gcc
# 安装rpm包: rpm -hvi RPM包全路径名称(i=install安装,v=verbose提示,h=hash 进度条)
例如:rpm -hvi /home/gtzb/Packages/gcc-c++-4.8.5-36.el7.x86_64.rpm
# 卸载rpm包:rpm -e RPM包的名称
例如:rpm -e gcc
3.2 解压文件
// 解压 tar包
tar –xvf file.tar
// 解压tar.gz
tar -xzvf file.tar.gz
命令详解
:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
3.3 make & make install
# 卸载编译安装的软件,卸载编译安装的软件的时必须先停止
rm -rf 软件的安装目录
四、用户管理
4.1 用户
# 增加用户
useradd test
# 设置密码
passwd test
# 修改用户
# 将用户test加入到test2组
gpasswd -a test test2
# 将用户test从test2组中移出
gpasswd -d test test2
# 将test用户的登录目录改成/home/test,并加入test2组,注意这里是大G。
usermod -d /home/test -G test2 test
# 删除用户
userdel test
# 创建用户组
groupadd testgroup
# 创建用户并加入组
useradd test -g testgroup -p pwdBytest
# 查看当前登录的用户列表,小写w
w
或者
who
# 查看自己的用户名
whoami
# 查看单个用户信息
id root
# 查看用户登录记录
# 查看登录成功的用户记录
last
# 查看登录不成功的用户记录
lastb
# 查看所有用户
cat /etc/passwd
# 查看所有用户,只显示用户名
cat /etc/passwd |awk -F \: '{print $1}'
# cat 命令所打印出来的东西太乱,以下命令优化了展现形式
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
普通用户切换root
su
root 切换普通用户
su username
4.2 组
# 创建组
groupadd test
# 修改组,将test组的名改成test2
groupmod -n test2 test
# 删除组
groupdel test2
# 查看组
cat /etc/group
五、文件管理
5.1 查找文件
5.1 .1查找文件
# 精确查找
find / -name 'full-filename'
# 模糊查找
find / -name 'finename*'
# 指定目录查询
find /home -name '*.txt'
# 指定目录忽略大小写查询
find /home -iname 'Abc.txt'
5.1.2查找目录
find / -name 'path' -type d
5.1.3查找内容
find . | xargs grep -ri 'content'
# 只显示文件名
find . | xargs grep -ril 'content'
5.2 文件管理
5.2.1 复制文件、目录
# 将文件夹A复制到文件B下面
cp -r 源目录 指定目录
# 将文件夹A下面的所有内容复制到B下面
cp -r 源目录/* 指定目录
5.2.2 文件重命名
# 文件重命名
mv a.txt a1.txt
# 文件重命名,如果a1.txt已经存在,则询问是否覆盖
mv -i a.txt a1.txt
# 文件重命名,即使a1.txt已经存在,也是直接覆盖掉
mv -f a.txt a1.txt
5.2.3 移动文件、目录
# 移动目录
mv dir1 dir2
# 移动文件
mv /tmp/a/1.txt /tmp/b
# 移动当前文件夹下的所有文件到上一级目录
mv * ../
5. 3 权限管理
5. 3.1 更改目录所有者
chown [可选项] user[:group] file...
chown -R 用户名 目录名
5. 3.2 更改目录权限
数字权限使用格式:
规定数字 4、2 和 1 表示读、写、执行权限,
即 r=4,w=2,x=1 。
其中
a,b,c各为一个数字,分别代表User、Group、及Other的权限。
相当于简化版的
chmod u=权限,g=权限,o=权限 目录名
// 设置所有人可以读写及执行(-R表示当前目录下与子目录下的所有文件)
chmod -R 777 目录名 (等价于 chmod -R u=rwx,g=rwx,o=rwx 目录名)
// 常见的权限表示形式有:
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
5.4 文件链接
5.4.1 软链接
软链接相当于Windows的快捷方式。
# 建立软链接,将uecom下的tomcat 映射到 zhangsan下的tomcat
ln -s /home/uecom/tomcat /home/zhangsan/tomcat
# 删除软链接
rm -rf /home/zhangsan/tomcat
5.4.2 硬链接
硬链接相当于Java的内存引用,删除不影响原文件/目录,修改会同时修改原文件/目录;原文件删除也不影响硬链接。
# 建立硬链接,将uecom下的tomcat 映射到 zhangsan下的tomcat
ln /home/uecom/tomcat /home/zhangsan/tomcat
# 删除硬链接
rm -rf /home/zhangsan/tomcat