centos7基本使用教程

先了解下linux系统的目录结构,如图: 

centos7基本使用教程_第1张图片

  • /bin(指向/usr/bin):
    存放最经常使用的程序和命令,bin 是 Binaries (二进制文件) 的缩写 

  • /boot:
    存放启动 Linux 时使用的核心文件

  • /dev :
    存放设备文件,如声卡,磁盘,在 Linux 中访问设备的方式和访问文件的方式是相同的

  • /etc:非常重要!!
    存放所有的配置文件,etc 是 Etcetera(附加物) 的缩写

  • /home
    普通用户的家目录,类似于C:\Users\xxx.在 Linux 中,每个普通用户都有一个自己的家目录,一般该目录名是以用户的账号命名的,如 alice、bob

  • /lib(指向/usr/lib)     /lib64(指向/usr/lib64)
    存放.so之类的库文件类似于 Windows 里的 dll文件。几乎所有的应用程序都需要用到这些共享库

  • /lost+found
    存放系统非法关机后的文件,一般是空的

  • /media

    存放设备挂载的文件,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
  • /mnt

  • 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的

  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root超级用户的家目录

  • /sbin(指向/usr/sbin):
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序

  • /selinux
     这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的

  • /srv
     该目录存放一些服务启动之后需要提取的数据

  • /tmp

    存放一些临时文件

  • /usr非常重要!!
    类似于C:/Windows, usr是 unix system resources的缩写 

  • /usr/bin:非常重要!!
    类似于C:/Windows/System32,存放众多应用程序和命令.该目录默认被添加到环境变量.一般通过yum安装的软件如mysql就在这个目录下,可使用which mysql查看;通过yum安装的redis也在这个目录下

  • /usr/sbin:非常重要!!
    存放超级用户专用的应用程序和命令,该目录默认被添加到环境变量

  • /usr/local/bin:非常重要!!

    存放用户自己的软件,只是一种规范,该目录默认被添加到环境变量
  • /usr/local/sbin:非常重要!!

    存放超级用户专用的软件,只是一种规范,该目录默认被添加到环境变量

  • /usr/src:存放内核源代码 

  • /var:存放日志等文件,var 是 variable(变量) 的缩写

  • 环境变量优先级:

    /usr/local/sbin > /usr/local/bin > /usr/sbin > /usr/bin

已经说得相当清楚了,还理解不了那也真的是没救了

一.软件安装篇

安装清华大学的yum源
yum install epel-release

查看当前yum源

yum repolist

查找yum源中的可安装的软件
yum list|grep jdk

安装软件(yum与rpm的区别:rpm适用于所有环境,而yum要搭建本地yum源才可以使用!yum能自动解决安装依赖,rpm不能自动解决安装依赖)
例1:yum -y install java-1.8.0-openjdk-src.x86_64(一键安装)
例2:yum -y install mysql-community-server.x86_64(一键安装)
例3:yum -y install xxx.rpm
例4:rpm -ivh xxx.rpm
例5:rpm -ivh --nodeps --force(跳过依赖,强制安装)
具体例子:
安装mysql5.7,因为yum源中没有mysql5.7的rpm包,所以需要
1.先下载rpm文件:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.再安装该rpm:yum -y install mysql57-community-release-el7-10.noarch.rpm
3.最后安装mysql57:yum -y install mysql-community-server

查看安装的软件
例1:yum list installed|grep jdk
例2:rpm -qa|grep jdk

查看安装的软件在什么位置

which mysql,可输出mysql可执行程序的路径

或者
rpm -qa|grep mysql 得到安装包名
然后
rpm -ql mysql-server-5.1.73-8.el6_8.x86_64(安装包名) 即可知道

which与whereis的区别:

which:获得环境变量下的可执行文件路径

whereis:获得更详细的信息,且不限于环境变量

卸载软件
例1:yum -y remove nginx(有依赖会自动删除依赖,若只想删除nginx,应rpm -e --nodeps nginx)
例2:yum -y remove mysql57-community-release.noarch(有依赖会删除依赖)
例3:rpm -e mysql57-community-release.noarch(有依赖不会删除依赖,还会报错,可加--nodeps强制删除)

下载软件
例1:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
例2:wget -i -c https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz

二.文件操作篇 

新建目录

mkdir 目录名

新建文件

touch 文件名

显示当前工作目录的绝对路径

pwd

复制
cp 源文件 目标文件
例1:单个文件->目录
将/a目录下的file1复制到/b目录下
cp /a/file1 /b

例2:单个文件->目录(含改名)
将/a目录下的file1复制到/b目录下,并将文件名改为file2
cp /a/file1 /b/file2

例3:所有文件->目录(不拷贝原目录本身)
将 /a目录下的所有文件拷到/b目录下,但不拷贝a目录本身
cp -rf /a/* /b

例4:目录->目录
将 /a目录拷到/b目录下
cp -rf /a /b

例5:目录->目录(含改名)
将 /a目录拷到/b目录下,并重命名为temp目录
cp -rf /a /b/temp

移动(剪切)
mv 源文件 目标文件
命令类似cp

重命名文件

mv 源文件 目标文件

解压

对于tar.gz文件

tar -xvf nginx-1.12.0.tar.gz
cd nginx-1.12.0

 对于zip文件

yum -y install unzip

unzip nginx-1.12.0.zip

 总结:

tar -xvf file.tar //解压 tar包(不能加-z参数)
tar -xvf file.tar.gz 或 tar -zxvf file.tar.gz //解压tar.gz
unzip file.zip //解压zip
unrar e file.rar //解压rar

删除

rm -rf

删除空目录

rmdir

全局查找文件

find / -name 文件名

全局搜索内容--显示匹配到的文件名称和内容

find / | xargs grep -ri 'tomcat'

全局搜索内容--只显示匹配到的内容

find / | xargs grep -ril 'tomcat'

查看文件的内容

cat或vim或nano(推荐)

查看文件中匹配的对应关键字的内容

cat /etc/my.cnf|grep validate

cat /etc/redis.conf|grep requirepass

查看文件中标不匹配的对应关键字的内容

cat /etc/redis.conf|grep -v requirepass

同时匹配多个关键字–与关系

|grep 关键字1 |grep 关键字2 |grep 关键字3
必须同时满足三个关键字才匹配。

同时匹配多个关键字–或关系

|grep -E "关键字1|关键字2|关键字3"

清空文件中的内容

> 文件名 

vim中查找关键字

向上查找 ?关键字   向下查找 /关键字

nano中查找关键字

ctrl+w 关键字 继续查找 ctrl+w 关键字

三.WEB篇

检测某项服务是否启动

    显示监听中的程序的网络信息(推荐)

    netstat -lnp|grep 443         netstat -lnp|grep java 

    显示进程名为java的进程信息
    ps -ef|grep java 或 pgrep nginx(会把父进程的id和本进程id从上往下显示出来)

强制杀死某个进程

kill -9 进程名

killall 进程名

springboot的jar包后台挂起启动

nohup java -jar xxx.jar & tail -f nohup.out

循环查看日志

tail -f xxx.log

查看日志末尾后10行

tail -n 10 xxx.log

后台运行

加&

查看当前有多少在后台运行的服务

jobs

linux中,&,&&, |,|| ,>,>>的含义

&   任务在后台执行

&& 前一条命令执行成功后,才执行后一条命令

||    前一条命令执行失败后,才执行后一条命令,与&&相反

|     前一条命令的输出,作为后一条命令参数(输入)

>    覆盖原文件内容(文件的日期也会自动更新)

>>  追加内容(会另起一行,文件的日期也会自动更新)

四.其它篇

系统状态:

uptime:显示系统运行时间及负载

lscpu: 查看cpu信息

free:查看内存

df:查看磁盘信息

top:实时显示系统资源使用情况

uname:显示操作系统相关信息的命令

hostname:显示或者设置当前系统的主机名

dmesg:显示开机信息,用于诊断系统故障

stat:显示文件或文件系统的状态

du:计算磁盘空间使用情况

linux修改root密码:passwd root

查看LINUX发行版:cat /proc/version
 

时间

date:显示与设置系统时间

  显示时间:直接date

  设置时间:

  方法一:

  设置月日年:date -s 11/25/2020

  设置时分:date -s 16:17

  设置时区:timedatectl set-timezone Asia/Shanghai

  将硬件时钟设置为与本地时钟一致, 0 为设置为 UTC 时间:timedatectl set-local-rtc 1

  写入Bios:clock -w

  方法二:

  • 1. linux的时区设置为上海
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 2. 对准时间,如果没有安装ntp服务器(yum install ntp
    ntpdate asia.pool.ntp.org
  • 3. 设置硬件时间和系统时间一致并校准
    /sbin/hwclock --systohc

cal:查看日历等时间信息

用户

useradd:添加用户

userdel:删除用户

passwd:修改用户密码

id:查看用户的uid,gid及归属的用户组

su:切换用户身份

网络

wget:命令行下载文件

ping:测试主机之间网络的连通性

ifconfig:查看、配置、启用或禁用网络接口的命令

ifup:启动网卡

ifdown:关闭网卡

telnet:使用TELNET协议远程登录

ssh:使用SSH加密协议远程登录

scp:全拼secure copy,用于不同主机之间复制文件

netstat:查看网络状态

ss:查看网络状态

route:显示和设置linux系统的路由表

其它

history: 显示历史命令

clear:清屏

chmod:改变文件或目录权限(chmod 777 文件名 表示给予该文件rwxrwxrwx权限)

last:显示登入系统的用户

lastlog:显示系统中所有用户最近一次登录信息

users:显示所有用户列表

shutdown:关机,关闭电源

poweroff:关机,关闭电源

halt:关机,不关闭电源

reboot:重启

ctrl+d:退出当前登录的Shell

logout:退出当前登录的Shell

exit:退出当前登录的Shell

pstree:树形显示进程

关于服务:

        启动,停止,重启,查看状态

                systemctl start(stop,restart,status) 服务名(如mysqld,redis,nginx)

                systemctl命令兼容了service,centos7以下使用

                service 服务名 start(stop,restart,status)

        添加服务开机启动:

                systemctl enable 服务名

        添加服务开机启动:

                systemctl disable 服务名

查看开机项:

        systemctl list-unit-files |grep enable

-----------------手写不易,未经许可,严禁转载,违者必究!-----------------

你可能感兴趣的:(Centos)