先了解下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 unzipunzip 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

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

centos7基本使用教程相关推荐

  1. VMware15.5安装Linux虚拟机(Centos7)图文教程

    前言 搞开发的大多都需要接触Linux ,所以就很有必要搞一套Linux虚拟机环境,可以去跑一跑程序等.所以记录一下VMware15.5 安装Centos7的图文教程. 1.安装环境 本教程使用的是V ...

  2. Centos7修改DNS教程

    DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和对应I ...

  3. CentOS7.4安装教程

    CentOS7.4安装教程: centos系统自行网上查找链接下载,我使用的是最小安装版本,搞服务器用 1.进入操作系统,选择第一项进行安装: 2.耐心等待,直到弹出这个界面: 3.下拉选择中文: 4 ...

  4. centos7 安装rtl8821ce教程

    centos7 安装rtl8821ce教程 搜索到的教程都参差不齐,针对自己的安装经历自己写了一个,本人安装版本7.9 参考:Linux centos7升级内核(两种方法:内核编译和yum更新) ce ...

  5. 软碟通制作自启动U盘并安装CentOS7系统详细教程

    软碟通制作自启动U盘并安装CentOS7系统详细教程 最近连续加班三周,感觉身体被掏空,今天终于闲下了,发一个我工作中遇到的小坑,希望帮助博友们轻松跨过! 一.软碟通制作U盘 首先附上软碟通工具下载地 ...

  6. centos7使用基础教程_如何在CentOS 7上使用Metricbeat收集基础结构指标

    centos7使用基础教程 The author selected the Computer History Museum to receive a donation as part of the W ...

  7. 1.2虚拟机VirtualBox+centos7下载安装教程

    虚拟机VirtualBox+centos7下载安装教程 安装前要求:下载安装目录不要带中文! 1.VirtualBox下载: 网址:https://www.virtualbox.org/wiki/Do ...

  8. 阿里云 Centos7 安装PostgreSQL教程

    阿里云 Centos7 安装PostgreSQL教程 1.选择版本 2. 选择平台 3. 选择架构 4. 安装repository RPM 5. 安装客户端包 6. 可选的服务端安装包 7. 可选的初 ...

  9. 【Windows】Windows10基于VMware安装CentOS7的全面教程

    文章目录 前言 安装 VMware Player 下载 CentOS 阿里云 iso 镜像 使用 BIOS 配置 Intel VT-x 安装配置CentOS 登录的坑 VMX文件损坏 选择语言的问题 ...

  10. centOS7安装Python3教程,很简单

    注意:以下教程是让centOS7里面的Python2和Python3共存,并不是替换Python2. 一.检查系统是否有gcc gcc --version  --查询是否安装 gcc -v --查询版 ...

最新文章

  1. GeoPandas 笔记: GeoDataFrame.plot()
  2. 体验产品一 | 悦动圈VS咕咚竞品分析报告
  3. go run 和 go build 和 go install 命令区别
  4. ironpython3发布时间_.NET 基金会项目介绍-DLR/IronPython2/IronPython3
  5. JFreeChart(七)之气泡图表​​​​​​​
  6. java c 客户端_java基于C/S模式实现聊天程序(客户端)
  7. 32 MM配置-采购-采购订单-定义编码范围
  8. 【C/C++学院】0805-语音识别控制QQ/语音控制游戏
  9. IDEA中Ctrl+Shift+f快捷键无效的解决方式
  10. 中职 计算机 教案,中职计算机基础教案.doc
  11. 革文B2B行业洞察:增长/存亡,中国医疗加速器第三方维保市场迷局
  12. 【暴力破解】medusacrowbar工具
  13. 产品生命周期管理(PLM)的内涵
  14. 百度浏览器的编程html,百度来路浏览器劫持代码(替换浏览器正在浏览页面)...
  15. java gef_GEF最简单的入门-helloword(1)
  16. 自动驾驶专题介绍 ———— 动力传动系统
  17. 人工智能一词,正在被“夸克们”玩坏
  18. 谷歌浏览器不能正常显示
  19. Google chrome插件 | pagenote 网页标记
  20. 项目如何进行压力测试?

热门文章

  1. 第十八届全国大学生智能车竞赛车模技术检查文档
  2. 定制版MacBook Air各项跑分测试结果
  3. 浅谈平面设计师如何转为APP设计师
  4. BeeWare 峰器 中文文档 - 教程 6 - 开始这个(第三方)
  5. 专业又好用的物业管理软件推荐—快鲸物业管理软件
  6. 笔记93--完全退出应用程序
  7. 小学生算法系统 c语言编程,小学生心算C系统.doc
  8. absolute和relative定位总结(水平居中和垂直居中)
  9. 一个IT从业人员的职业道德与素养
  10. HTTP请求(Request)详解