centos7基本使用教程

centos7基本使用教程

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

/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/localtime2. 对准时间,如果没有安装ntp服务器(yum install ntp)ntpdate asia.pool.ntp.org3. 设置硬件时间和系统时间一致并校准/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

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

相关推荐

dnf无尽多久做出来
365足球外围平台

dnf无尽多久做出来

📅 08-18 👁️ 2156
我的世界好玩在哪?看完这5方面分析你就明白为何这么多人喜欢mc
中兴(ZTE) Q501T 移动3G手机双核双卡双待 TD-SCDMA/GSM(中兴Q501T 黑色 官方配置)
联想H50 1TB
365官网国内怎么进

联想H50 1TB

📅 09-22 👁️ 3276
身体元素钒超标的危害
Bet—288365

身体元素钒超标的危害

📅 09-04 👁️ 5389
【乾坤方向】揭秘《周易》乾坤方向之謎:西北乾、西南坤,解讀方位與禁忌