Linux CentOS 7.9
1.Linux常用命令
文件与目录操作
命令 | 解析 |
---|---|
cd /home | 进入 ‘/home’ 目录 |
cd .. | 返回上一级目录 |
cd ../.. | 返回上两级目录 |
cd - | 返回上次所在目录 |
cp file1 file2 | 将file1复制为file2 |
cp -a dir1 dir2 | 复制一个目录 |
cp -a /tmp/dir1 . | 复制一个目录到当前工作目录(.代表当前目录) |
ls | 查看目录中的文件 |
ls -a | 显示隐藏文件 |
ls -l(ll) | 显示详细信息 |
ls -lrt | 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) |
pwd | 显示工作路径 |
mkdir dir1 | 创建 ‘dir1’ 目录 |
mkdir dir1 dir2 | 同时创建两个目录 |
mkdir -p /tmp/dir1/dir2 | 创建一个目录树 |
mv dir1 dir2 | 移动/重命名一个目录 |
rm -f file1 | 删除 ‘file1’ |
rm -rf dir1 | 删除 ‘dir1’ 目录及其子目录内容 |
查看文件内容
命令 | 解析 |
---|---|
cat file1 | 从第一个字节开始正向查看文件的内容 |
head -2 file1 | 查看一个文件的前两行 |
more file1 | 查看一个长文件的内容 |
tac file1 | 从最后一行开始反向查看一个文件的内容 |
tail -3 file1 | 查看一个文件的最后三行 |
vi file | 打开并浏览文件 |
文本内容处理
命令 | 解析 |
---|---|
grep str /tmp/test | 在文件 ‘/tmp/test’ 中查找 “str” |
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 |
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含数字的行 |
grep str -r /tmp/* | 在目录 ‘/tmp’ 及其子目录中查找 “str” |
diff file1 file2 | 找出两个文件的不同处 |
sdiff file1 file2 | 以对比的方式显示两个文件的不同 |
vi file | :w 保存文件但不退出vi |
:w file 将修改另外保存到file中,不退出vi | |
:w! 强制保存,不推出vi | |
:wq 保存文件并退出vi | |
:wq! 强制保存文件,并退出vi | |
:q 不保存文件,退出vi | |
:q! 不保存文件,强制退出vi | |
:e! 放弃所有修改,从上次保存文件开始再编辑 | |
yy 复制 p粘贴 uu撤销 |
查询操作
命令 | 解析 |
---|---|
find / -name file1 | 从 ‘/’ 开始进入根文件系统查找文件和目录 |
find / -user user1 | 查找属于用户 ‘user1’ 的文件和目录 |
find /home/user1 -name *.bin | 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 |
find /usr/bin -type f -atime +100 | 查找在过去100天内未被使用过的执行文件 |
find /usr/bin -type f -mtime -10 | 查找在10天内被创建或者修改过的文件 |
locate *.ps | 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令 |
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ | 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’ |
find -type f -print0 | xargs -r0 grep -F ‘expr’ | 在当前目录及其子目录的常规文件中查找 ‘expr’ |
find -maxdepth 1 -type f | xargs grep -F ‘expr’ | 在当前目录中查找 ‘expr’ |
压缩、解压
命令 | 解析 |
---|---|
bzip2 file1 | 压缩 file1 |
bunzip2 file1.bz2 | 解压 file1.bz2 |
gzip file1 | 压缩 file1 |
gzip -9 file1 | 最大程度压缩 file1 |
gunzip file1.gz | 解压 file1.gz |
tar -cvf archive.tar file1 | 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) |
tar -cvf archive.tar file1 dir1 | 把 file1,dir1 打包成 archive.tar |
tar -tf archive.tar | 显示一个包中的内容 |
tar -xvf archive.tar | 释放一个包 |
tar -xvf archive.tar -C /tmp | 把压缩包释放到 /tmp目录下 |
zip file1.zip file1 | 创建一个zip格式的压缩包 |
zip -r file1.zip file1 dir1 | 把文件和目录压缩成一个zip格式的压缩包 |
unzip file1.zip | 解压一个zip格式的压缩包到当前目录 |
unzip test.zip -d /tmp/ | 解压一个zip格式的压缩包到 /tmp 目录 |
yum安装器
命令 | 解析 |
---|---|
yum -y install [package] | 下载并安装一个rpm包 |
yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 |
yum -y update | 更新当前系统中安装的所有rpm包 |
yum update [package] | 更新一个rpm包 |
yum remove [package] | 删除一个rpm包 |
yum list | 列出当前系统中安装的所有包 |
yum search [package] | 在rpm仓库中搜寻软件包 |
yum clean [package] | 清除缓存目录(/var/cache/yum)下的软件包 |
yum clean headers | 删除所有头文件 |
yum clean all | 删除所有缓存的包和头文件 |
网络相关
命令 | 解析 |
---|---|
ifconfig eth0 | 显示一个以太网卡的配置 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置网卡的IP地址 |
ifdown eth0 | 禁用 ‘eth0’ 网络设备 |
ifup eth0 | 启用 ‘eth0’ 网络设备 |
iwconfig eth1 | 显示一个无线网卡的配置 |
iwlist scan | 显示无线网络 |
ip addr show | 显示网卡的IP地址 |
系统相关
命令 | 解析 |
---|---|
su - | 切换到root权限(与su有区别) |
shutdown -h now | 关机 |
shutdown -r now | 重启 |
top | 罗列使用CPU资源最多的linux任务 (输入q退出) |
pstree | 以树状图显示程序 |
man ping | 查看参考手册(例如ping 命令) |
passwd | 修改密码 |
df -h | 显示磁盘的使用情况 |
cal -3 | 显示前一个月,当前月以及下一个月的月历 |
cal 10 1988 | 显示指定月,年的月历 |
date –date ‘1970-01-01 UTC 1427888888 seconds’ | 把一相对于1970-01-01 00:00的秒数转换成时间 |
du | 显示每个文件和目录的磁盘使用空间~~~文件的大小 |
-h #以K M G为单位显示,提高可读性~~~(最常用的一个~也可能只用这一个就满足需求了) | |
-su ./ | |
stat | 命令查看文件或文件系统的状态时间等属性 简单的介绍一下stat命令显示出来的文件其他信息: - File:显示文件名 - Size:显示文件大小 - Blocks:文件使用的数据块总数 - IO Block:IO块大小 - regular file:文件类型(常规文件) - Device:设备编号 - Inode:Inode号 - Links:链接数 - Access:文件的权限 - Gid、Uid:文件所有权的Gid和Uid。 |
touch |
2.修改主机名
2.1查看主机名:
//查看一下当前主机名的情况,查看全部三种主机名 hostnamectl
//或者,查看全部三种主机名 hostnamectl status
//只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项[root@xh00 ~]# hostnamectl --static
[root@xh00 ~]# hostnamectl --transient
[root@xh00 ~]# hostnamectl --pretty
//或者,查看到的是瞬态的(Tansient hostname)hostname
//或者查看主机名配置文件,查看到的是静态的(Static hostname)
cat /etc/hostname
2.2临时修改主机名(重启后失效):
hostname xxx
2.3永久生效(重启后生效):
hostnamectl set-hostname xxx
重启
shutdown -r now
###
3.CenrOS 7.9配置网络
配置静态ip:
通过配置文件ens33指定ip(不同版本的文件名称会有所不同)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网卡 :service network restart
测试是否成功:*ping www.baidu.com*
4.配置 hosts文件
如果需要进行虚拟机复制的话需要配置hosts文件
vi /etc/hosts
5.systemctl 命令
5.1 chkconfig与service
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、重新加载配置(reload)、查看状态(status)等。
chkconfig主要包括5个原始功能:为系统管理增加新的服务、为系统管理移除服务、列出单签服务的启动信息、改变服务的启动信息和检查特殊服务的启动状态。当单独运行chkconfig命令而不加任何参数时,他将显示服务的使用信息。
5.2 systemctl命令
主要负责控制systemd系统和服务管理器。
我们可以把systemctl理解为systemd的一个工具。也可以认为systemctl命令将service和chkconfig命令结合在了一起。
-
列出所有可用单元
systemctl list-unit-files
-
列出所有运行中单元
systemctl list-units
-
列出所有失败的单元
systemctl --failed
-
检查某个单元是否启用
systemctl is-enabled mysql.service
-
查看某个服务的状态
systemctl status mysql.service
5.3systemd系统
CentOS 7 使用systemd替换了SysV。Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。 systemd的特性有:
-
支持并行化任务; 同时采用socket式与D-Bus总线式激活服务; 按需启动守护进程(daemon); 利用 Linux 的 cgroups 监视进程; 支持快照和系统恢复; 维护挂载点和自动挂载点; 各服务间基于依赖关系进行精密控制。
6.关闭防火墙操作
6.1查看防火墙运行状态
通过 systemctl status firewalld
查看firewalld状态
6.2开启防火墙、关闭防火墙,查看防火墙状态
[root@centos7 ~]# systemctl start firewalld
//开启防火墙
[root@centos7 ~]# firewall-cmd --state
//查看防火墙状态 running //表示运行状态
[root@centos7 ~]# systemctl stop firewalld
//关闭防火墙
[root@centos7 ~]# firewall-cmd --state
//查看防火墙状态 not running //表示停用状态
[root@centos7 ~]# firewall-cmd --reload
//重启动防火墙 success
systemctl disable firewalld.service
//禁止firewall开机启动
6.3开放端口 如80
开放端口 firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入 firewall-cmd --reload
查看端口 firewall-cmd --zone=public --query-port=80/tcp
删除端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent
7.selinux以及sshd
7.1selinux功能
selinux:内核级加强型防火墙
功能:
当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件 当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为off状态,来保证服务安全性,当需要此功能时需要超级用户手动调节
7.2禁用selinux
vim /etc/selinux/config
修改为 SELINUX=disabled
7.3禁用sshd
vim /etc/ssh/sshd_config
shift+g 跳转至文件底部
/UseDNS 回车 跳转至#UseDNS=yes 该行
#UseDNS=yes修改为UseDNS=no
8 man
安装man: yum install man man-pages -y
汉化
安装:yum install man-pages-zh-CN -y
临时修改
LANG=‘zh_CN.UTF-8’
echo $LANG
修改环境配置文件
vim /etc/locale.conf
LANG=‘zh_CN.UTF-8’
9yum install vim
vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。 vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计; 因为程序简单,编辑速度相当快速。 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。 vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。 vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。