CentOS常用命令

搞机 Dec 8, 2019 1

一、系统管理

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

六、磁盘管理

目录

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.