天天看点

Centos7 简介及常用命令

前言

这是我鹏哥的讲义,被我偷来了。一阵窃喜…

发这篇主要是自己留个底,没事的时候可以看看,鹏哥写这个的时候好费劲呢,爱他…

这篇写的是Linux常用的操作指令,会这些使用Linux就不愁了,有些像用户添加之类的可以不用记,一般的非运维的程序员是用不到这些指令的,知道些常用的,对开发有帮助。

大纲

1. Linux概述

2. Linux的安装

3. Linux的目录介绍

4. 常用指令

5. 环境搭建

Linux概述

如Windows一样,Linux也是一款操作系统,它并不像Windows那样提供很友好的图形界面以及丰富的应用程序,因此与Windows相比更加稳定,更适合在开发中部署服务器。

其实在我们的日常生活中,已经遇到过大量的Linux系统,比如很多的硬件设备的底层:安卓、路由器等等。

Linux的版本:Linux分为内核版本和发行版本,可以类比安卓版本,每年更新的安卓系统为原生系统,各大手机厂商,比如小米、华为,再对其进行封装。

通常我们说Linux版本指的就是发行版本,主流版本有:

  • Red Hat:RHEL(Redhat Enterprise Linux),也就是所谓的Redhat Advance Server收费版本. 红帽企业级Linux
  • CentOS:RHEL的社区克隆版本,免费
  • SuSE:最华丽的Linux发行版, 企业服务器端 X windows和程序应用方面做的确实不错。尤其与Microsoft的合作关系,应该是在所有的Linux发行版本中最亲密的。
  • Debian:运行起来极其稳定,这使得它非常适合用于服务器
  • Ubuntu:是Debian的一款衍生版,也是当今最受欢迎的免费操作系统, 最流行的linux桌面系
  • Fedora: 想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。

Linux安装

虚拟机:使用计算机中的一部分资源,运行一台虚拟计算机。

安装时注意:

  • 关闭杀毒软件
  • 关闭防火墙
  • 管理员身份

    虚拟机安装完成后,可以安装Linux系统,我们安装的Linux版本为CentOS,安装步骤如下:

    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令
    Centos7 简介及常用命令

Linux的目录介绍

Centos7 简介及常用命令
  • /

    整个系统的根目录
  • /bin

    bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  • /boot

    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev

    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc

    这个目录用来存放所有的系统管理所需要的配置文件和子目录。例如防火墙文件、网络设置文件、JDK环境配置文件、mysql配置文件等。
  • /home

    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib

    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found

    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media

    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt

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

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

    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root

    该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin

    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /selinux

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

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

    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp

    这个目录是用来存放一些临时文件的。
  • /usr

    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。例如JDK、tomcat、mysql、redis等应用程序。
  • /usr/bin

    系统用户使用的应用程序。
  • /usr/sbin

    超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src

    内核源代码默认的放置目录。
  • /var

    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

Xshell的安装及使用

实际开发中,tomcat、数据库等,是部署在Linux服务器上的(不再是虚拟机),直接操作这台电脑是很不方便的,因此可以远程连接这台服务器,可以用Xshell来实现。

安装过程很简单,安装后配置连接。

成功连接后就可以远程使用Linux系统了,使用起来非常方便。

如果想要传输文件,还可以安装XFtp。

MacOS下可使用终端来进行远程连接Linux。

磁盘命令

  • ls

    命令:用来查看目录的内容

    参数:

    • -a

      列举目录中的全部文件,包括隐藏文件
    • -l

      列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
    • -f

      列举的文件显示文件类型
    • -r

      逆向,从后向前地列举目录中内容
    • -R

      递归,该选项递归地列举当前目录下所有子目录内的内容
    • -s

      大小,按文件大小排序
    • -h

      以人类可读的方式显示文件的大小,如用K、M、G作单位
    例:
    • ls -l

      详细显示当前目录下所有非隐藏内容
    • ll

      相当于ls -l
    • ls -l -a

      详细显示当前目录下所有内容(包含隐藏文件)
    • ls -la

      相当于ls -l -a
    • ll -a

      相当于ls -l -a
    • ll /etc

      详细显示etc目录下所有非隐藏内容
      Centos7 简介及常用命令
    上图红框内的三种字符,代表了该项的类别:
    • -

      代表普通文件
    • d

      代表文件夹
    • l

      代表链接(相当于Windows的快捷方式)
  • cd

    命令:切换目录

    例:

    • cd /

      转到根目录
    • cd ~

      转到当前用户目录

      ~:

      • 若当前用户为root用户,则~代表/root目录
      • 若当前用户为普通用户,则~代表/home/用户名
    • cd ..

      转到上一级目录
    • cd /usr

      转到根目录下的usr目录中(绝对路径)
    • cd test

      转到当前目录下的test子目录中(相对路径)
  • pwd

    命令:输出当前目录
  • mkdir

    命令:创建目录

    例:

    • mkdir test

      在当前目录下创建test目录
    • mkdir /root/test

      在root目录下创建test目录
  • rmdir

    命令:删除空目录

    例:

    • rmdir test

      删除当前目录下的test目录,该目录必须为空

文件命令

  • cat

    命令:快捷查看文件内容(适合小文件)

    例:

    • cat 1.txt
  • more

    命令:分页展示文件内容(加载整个文件后分页展示)

    操作:

    • enter

      向下一行
    • 空格

      向下滚动一屏
    • b

      返回上一屏
    • =

      输出当前行的行号
    • +n

      从笫n行开始显示
    • q

      退出
  • less

    命令:分页展示文件内容(分页加载文件后展示)

    参数:

    • -m

      显示百分比
    • -N

      显示每行的行号
    操作:
    • enter

      向下一行
    • 空格

      向下滚动一屏
    • b

      返回上一屏
    • +n

      从笫n行开始显示
    • q

      退出
  • cp

    命令:复制文件或目录

    参数:

    • -r

      递归(可复制目录)
    例:
    • cp 1.txt ~/test/1.txt

      将当前目录下的1.txt复制到用户目录下test目录中
    • cp 1.txt 2.txt

      将当前目录下的1.txt复制一份,并命名为2.txt
    • cp test a/test

      将当前目录下的test目录及目录中全部内容,复制到a目录中
  • mv

    命令:移动文件或目录

    参数:

    • -f

      强制(不询问)
    例:
    • mv 1.txt ~/test/1.txt

      将当前目录下的1.txt移动到用户目录下test目录中
    • mv -f 1.txt ~/test/1.txt

      将当前目录下的1.txt移动到用户目录下test目录中,强制覆盖同名文件
    • mv 1.txt 2.txt

      将当前目录下的1.txt重命名为2.txt
  • rm

    命令:删除文件或者目录

    参数:

    • -r

      递归
    • -f

      强制(不询问)
    例:
    • rm 1.txt

      删除当前目录下的1.txt
    • rm -r test

      删除当前目录下的test目录以及该目录中的所有内容
    • rm -rf test

      删除当前目录下的test目录以及该目录中的所有内容,不询问
    • rm -rf *

      删除当前目录下所有内容
    • rm -rf /*

      删除系统中所有内容(不要执行!)
  • find

    命令:查询文件或者目录

    参数:

    • -name

      要查询的文件或目录名
    例:
    • find /root -name 'ins*'

      查询/root目录下面,所有以ins开头的文件或者目录
  • vim(vi)

    命令:编辑文档

    例:

    • vim 1.txt

      用vim编辑器打开1.txt
    操作:
    • 刚进入vim时为一般模式,一般模式切换到编辑模式:
      • i

        I

        :进入编辑模式
        • i

          从目前光标所在处插入
        • I

          在目前所在行的第一个非空格符处开始插入
      • a

        A

        :进入编辑模式
        • a

          从目前光标所在的下一个字符处开始插入
        • A

          从光标所在行的最后一个字符处开始插入
      • o

        O

        :进入编辑模式
        • o

          在目前光标所在的下一行处插入新的一行
        • O

          在目前光标所在处的上一行插入新的一行
    • 编辑模式切换回一般模式:
      • Esc

        :退出编辑模式,回到一般模式
    • 一般模式切换到命令行模式:
      • :w

        保存编辑的内容
      • :w!

        强制写入该文件,但跟你对该文件的权限有关
      • :q

        离开vi
      • :q!

        不想保存修改强制离开
      • :wq

        保存后离开
      • :x

        保存后离开
      • ZZ

        若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

压缩解压命令

Windows常见压缩格式:rar、zip

Linux常见压缩格式:tar、tar.gz

  • *.tar

    打包,不压缩文件大小
  • *.tar.gz

    打包并且压缩文件大小
  • tar

    命令

    参数:

    • -c

      创建新的压缩文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
    • -x

      从压缩文件中释放文件。相当于拆包。
    • -t

      列出档案文件的内容,查看已经备份了哪些文件。
    • -z

      是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
    • -j

      是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
    • -v

      压缩的过程中显示文件。
    • -f

      使用压缩包名,在f之后要立即接档名,不要再加其他参数。
    例:
    • tar -cvf 1.tar *

      将当前目录所有文件及目录打包为1.tar
    • tar -zcvf 1.tar.gz *

      将当前目录所有文件及目录打包压缩为1.tar.gz
    • tar -zxvf 1.tar.gz

      将1.tar.gz解压到当前目录
    • tar -zxvf 1.tar.gz -C test

      将1.tar.gz解压到当前目录下的test目录中

系统命令

  • ps

    命令:查看进程

    参数:

    • -A

      所有的进程均显示出来
    • -e

      与-A相同
    • -a

      显示现行终端机下的所有进程,包括其他用户的进程
    • -u

      以用户为主的进程状态
    • -f

      做一个更为完整的输出
    例:
    • ps -ef

      查看所有系统进程
      Centos7 简介及常用命令

上图中,UID指的是进程是被哪个用户打开的,root用户对所有的进程都由杀死和创建的权利;

PID是进程ID,可以根据PID来杀死相关的进程。

  • kill

    命令:强制杀死某个进程

    例:

    • kill -9 25948

      强制关闭PID为25948的进程

其他命令

  • adduser

    命令:创建用户

    参数:

    • -G

      分配工作组
    例:
    • adduser tom

      创建用户,用户名为tom
    • adduser -G test

      创建用户tom,并分配到test工作组
  • passwd

    命令:为用户设置密码

    例:

    • passwd tom

      为用户tom设置密码
  • groupadd

    命令:创建工作组

    例:

    • groupadd test

      创建test工作组
  • usermod

    命令:修改用户

    参数:

    • -G

      分配工作组
    例:
    • usermod -G test tom

      将用户tom分配到test工作组中

用户权限:

Centos7 简介及常用命令

图中红框内的9位字符,代表的是该文件或目录的权限信息。

每个文件或目录的权限分为三类:前三位为所属用户(u)权限,中间三位为所属组(g)权限,后三位为其他用户(o)权限。(a代表所有用户)

  • r

    :读
  • w

    :写
  • x

    :执行
  • chmod

    命令:修改文件或目录的用户权限

    例:

    • chmod g=rwx 1.txt

      将1.txt的工作组权限修改为所有权限
    • chmod a=r 1.txt

      将1.txt的所有用户权限修改为只读

继续阅读