【Linux】一篇文章搞定Linux的基础操作!

一篇文章搞定Linux的基础操作!

Linux基础

本文以CentOS为例,讲解Linux的基本操作

文件系统目录结构

基本介绍:

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录。

在linux世界里,一切皆文件

image-20200917163850018

基本的目录结构

  • /bin【重点】(/usr/bin、/usr/local/bin)
    • 是Binary的缩写,这个目录存放着最经常使用的命令
  • /sbin(/usr/sbin、/usr/local/sbin)
    • s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
  • /home重点
    • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /root重点
    • 该目录为系统管理员,也称作超级权限者的用户主目录
  • /lib
    • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found
    • 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /etc重点
    • 所有的系统管理所需要的配置文件和子目录
  • /usr重点
    • 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录
  • /boot重点
    • 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
  • /proc
    • 这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息
  • /srv
    • service缩写,该目录存放一些服务启动之后需要提取的数据
  • /sys
    • 这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的文件系统sysfs
  • /tmp
    • 用来存放一些临时文件
  • /dev
    • 类似于windows的设备管理器,把所有的硬件用文件的形式存储
  • /media重点
    • linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
  • /mnt重点
    • 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了
  • /opt
    • 这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放到该目录下。默认为空。
  • /usr/local重点
    • 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
  • /selinux【security-enhanced linux】
    • SELinux是一种安全子系统,它能控制程序只能访问特定文件

总结

  1. linux的目录中有且只有一个根目录 /
  2. linux的各个目录存放的内容是规划好的,不用乱放文件
  3. linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件

Linux实际操作

Vi和Vim编辑器

Vi和Vim常用的三种模式
  • 正常模式

以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。

  • 插入模式

按下i、o、a、r 等任何一个字母后才会进入编辑模式

  • 命令行模式

在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等动作。

快捷键的使用案例
  1. 复制当前行:yy,复制当前行向下的5行:5yy,粘贴:p
  2. 删除当前行:dd,删除当前行向下的5行:5dd
  3. 在文件中查找某个单词【命令行下/关键字,回车查找,输入n就是查找下一个】
  4. 设置文件的行号,取消文件的行号【命令行下:set nu:set nonu
  5. 编辑/etc/profile文件,使用快捷键到文档的最末行【G】和最首行【gg
  6. 在一个文件中输入"hello",然后又撤销这个动作:u
  7. 编辑etc/profile文件,并将光标移动到第20行:先输入20 再按下shift+g
  8. vimtutor帮助文档

常用命令

关机、重启、用户登录注销
关机&重启命令
  • shutdown
    • shutdown -h now:表示立即关机
    • shutdown -h 1:表示1分钟后关机
    • shutdown -r now:立即重启
  • halt:直接使用,效果等价于关机
  • reboot:重启
  • sync:把内存的数据同步到磁盘上
用户登录和注销

基本介绍:

  1. 登录时尽量少用root账号登录,因为它是系统管理员,有最大的权限,为避免操作失误,可以使用普通用户登录,登录后再用su-用户名命令来切换成系统管理员身份。
  2. 在提示符下输入logout即可注销用户

使用细节:

  1. logout注销指令在图形运行级别无效,在运行级别3下有效
用户管理

基本介绍:

  1. Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
  2. Linux的用户至少要属于一个组。

添加用户:

基本语法:

useradd 用户名

细节说明:

  1. 当创建用户成功后,会自动创建和用户同名的家目录
  2. 也可以通过useradd -d 【指定目录】 【用户名】,给新创建的用户指定家目录

指定/修改密码:

基本语法:

passwd 用户名

删除用户:

基本语法:

userdel 用户名

应用案例:

  1. 删除用户,但是要保留家目录——userdel 用户名
  2. 删除用户以及用户的主目录——userdel -r 用户名

细节说明:

在删除用户时,一般不会删除家目录

查询用户信息:

基本语法:

id 用户名

细节说明:

当用户不存在时,返回无此用户

切换用户:

介绍:

在操作Linux中,如果当前用户的权限不够,可以通过su指令,切换到高权限用户,比如root用户

基本语法:

su [-] 用户名,中间的-可以加也可以不加

su命令加上-后,在切换用户之后,使用新用户的工作环境

例:如果不加-切换到root用户时,当前目录没有变化;而如果加上-切换到root账户时,当前目录为root账户的家目录。

exit,返回到原来的用户

查看当前用户/登录用户:

基本语法:

whoami

用户组

介绍:

类似于角色,系统可以对有共性的多个用户进行统一的管理

新增组:

groupadd 组名

删除组:

groupdel 组名

添加用户时直接加上组:

useradd -g 用户组 用户名

修改用户的组:

usermod -g 用户组 用户名

用户和组的相关文件:

  • /etc/passwd文件:

    用户(user)的配置文件,记录用户的各种信息

    每行的意义:用户名:口令:用户标识:组标识号:注释性描述:主目录:登录Shell

  • /etc/shadow文件:

    口令配置文件

    每行的意义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group文件:

    组(group)的配置文件,记录Linux包含的组的信息

    每行的意义:组名:口令:组标识号:组内用户列表

实用指令

指定运行级别
运行级别说明:

image-20200920105609163

常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittabid:5:initdefault这一行中的数字

0:关机

1:单用户状态【找回丢失密码】

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

切换到指定运行级别的指令:

init[012356]

例:从运行级别5切换到运行级别3:init 3;关机:init 0

面试题

如何找回root密码?

思路:进入到单用户模式,然后修改root密码,因为进入单用户模式,root不需要密码就可以登录

帮助指令
基本语法

man [命令或配置文件](功能描述,获得帮助信息)

help指令

help命令(功能描述,获得shell内置命令的帮助信息)

文件目录类
pwd指令

pwd(功能描述,显示当前工作目录的绝对路径)

ls指令
  • 基本语法

    • ls [选项] [目录或是文件]
  • 常用选项:

    • -a:显示当前目录所有的文件和目录,包括隐藏的
    • -l:以列表的方式显示信息
cd指令

cd [参数](功能描述,切换到指定目录)

cd ~或者cd,回到自己的家目录

cd ..回到当前目录的上一级目录

mkdir指令

用于创建目录

  • 基本语法

  • mkdir [选项] 要创建的目录

  • 常用选项

  • -p创建多级目录

  • 应用实例

    • 创建一个目录/home/dog

      mkdir /home/dog:表示在home目录下创建dog目录

    • 创建多级目录/home/animal/tiger

      mkdir /home/animal/tiger

rmdir指令

用于删除空目录

  • 基本语法

    • rmdir [选项] 要删除的空目录
  • 应用实例

    • 删除一个目录/home/dog

      rmdir /home/dog

  • 使用细节

    • rmdir不能删除非空目录
    • 如果要删除非空目录,使用rm -rf 要删除的目录
touch指令

创建空文件

  • 基本语法
    • touch 文件名(可以一次性创建多个文件)
cp指令

拷贝文件到指定目录

  • 基本语法

    • cp [选项] source dest
  • 常用选项

    • -r:递归复制整个文件夹
  • 应用实例

    • 将/home/aaa.txt拷贝到/home/bbb目录下【拷贝单个文件】

      cp aaa.txt /home/bbb

    • 递归复制整个文件夹,将/home/test整个目录拷贝到/home/temp

      cp -r /home/test /home/temp

  • 使用细节

    • 强制覆盖相同的文件,不提示

      \cp -r /home/test /home/temp

rm指令

移除【删除】文件或目录

  • 基本语法

    • rm [选项] 要删除的文件或目录
  • 常用选项

    • -r:递归删除整个文件夹
    • -f:强制删除不提示
  • 应用实例

    • 将/home/aaa.txt删除

      rm aaa.txt

    • 递归删除整个文件夹/home/bbb

      rm -rf bbb/

  • 使用细节

    • 强制删除不提示的方法,带上-f参数即可
mv指令

移动文件与目录或重命名

  • 基本语法

    • mv oldNameFile newNameFile(功能描述:重命名)
    • mv [文件名] 目标目录(功能描述:移动文件)
  • 应用实例

    • 将/home/aaa.txt文件重命名为pig.txt

      mv aaa.txt pig.txt

    • 将/home/pig.txt文件移动到/root目录下

      mv pig.txt /root

cat指令

查看文件内容

  • 基本语法

    • cat [选项] 要查看的文件
  • 常用选项

    • -n:显示行号
  • 应用实例

    • 查看/etc/profile文件内容,并显示行号

      cat -n /etc/profile

  • 使用细节

    • cat只能浏览文件,而不能修改文件
    • 为了浏览方便,一般会带上管道命令| more
more指令

是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

more指令中内置了若干快捷键,详见操作说明

  • 基本语法
    • more 要查看的文件
  • 操作说明
操作功能说明
空格键【space】代表向下翻一页
Enter代表向下翻一行
q代表立即离开more,不再显示该文件内容
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
less指令

用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

  • 基本语法
    • less 要查看的文件
  • 操作说明
操作功能说明
空格键向下翻动一页
【pagedown】向下翻动一页
【pageup】向上翻动一页
/字符串向下搜寻[字符串]的功能,n:向下查找;N:向上查找
?字符串向上搜寻[字符串]的功能,n:向上查找;N:向下查找
q离开less这个程序
> 指令和 >> 指令

>输出重定向,>>追加

  • 基本语法
    • ls -l > 文件(功能描述,列表的内容写入文件a.txt中(覆盖写))
    • ls -al >> 文件(功能描述,列表的内容追加到文件aa.txt的末尾)
    • cat 文件1 > 文件2(功能描述,将文件1的内容覆盖到文件2)
    • echo "内容" >> 文件(功能描述,将“内容”追加到文件的末尾)
  • 应用实例
    • 将/home目录下的文件列表写入到/home/info.txt中
    • 将当前日历信息(cal),追加到/home/mycal文件中
echo指令

输出内容到控制台

  • 基本语法

    • echo [选项] [输出内容]
  • 应用实例

    • 使用echo指令输出环境变量路径

      echo $PATH

    • 使用echo指令输出hello world!

      echo "hello world"

head指令

用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

  • 基本语法

    • head 文件(功能描述,查看文件头10行内容)
    • head -n 5 文件(功能描述,查看文件头5行内容,5可以是任意行数)
  • 应用实例

    • 查看/etc/profile的前面5行代码

      head -n 5 /etc/profile

tail指令

用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容*

  • 基本语法
    • tail 文件(功能描述,查看文件后10行内容)
    • tail -n 5 文件(功能描述,查看文件后5行内容,5可以是任意行数)
    • tail -f 文件(功能描述,实时追踪该文档的所有更新)
  • 应用实例
    • 查看/etc/profile最后5行的代码
    • 实时监控mydate.txt,看到文件有变化时,是否看到,实时的追加日期
ln指令

软链接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

  • 基本用法

    • ln -s [原文件或目录] [软链接名](功能描述,给原文件创建一个软链接)
  • 应用实例

    • 在/home目录下创建一个软链接linkToRoot,连接到/root目录

      ln -s /root linkToRoot

    • 删除软链接linkToRoot

      rm -rf linkToRoot

  • 细节说明

    • 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录
history指令

查看已经执行过的历史命令,也可以执行历史指令

  • 基本语法

    • history(功能描述,查看已经执行过的历史命令)
  • 应用实例

    • 显示所有的历史命令

      history

    • 显示最近使用过的10个指令

      history 10

    • 执行历史编号为5的指令

      !5

时间日期类
date指令

显示当前日期

  • 基本语法
    1. date(显示当前时间)
    2. date "+%Y"(显示当前年份)
    3. date "+%m"(显示当前月份)
    4. date "+%d"(显示当前是哪一天)
    5. date "+%Y-%m-%d %H:%M:%S"(显示年月日时分秒)
  • 应用实例
    • 显示当前时间信息
      • date
    • 显示当前时间年月日
      • date "+%Y %m %d"
    • 显示当前时间年月日时分秒
      • date "+%Y-%m-%d %H:%M:%S"

设置日期

  • 基本语法
    • date -s 字符串时间
cal指令

查看日历信息

  • 基本语法
    • cal [选项](不加选项,显示本月日历)
搜索查找类
find指令

从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端

  • 基本语法:
    • find [搜索范围] [选项]
  • 选项说明
选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件
  • 应用实例
    • 按文件名,根据名称查找/home目录下的hello.txt文件
      • find /home -name hello.txt
    • 按拥有者:查找/opt目录下,用户名称为nobody的文件
      • find /opt -user nobody
    • 查找整个linux系统下大于20m的文件(+n大于;-n小于;n等于)
      • find / -size +20M
locate指令

可以快速定位文件路径。

locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

  • 基本语法
    • locate 搜索文件
  • 特别说明
    • 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
  • 应用实例
    • 请使用locate指令快速定位hello.txt文件所在目录
grep指令和管道符号 |

grep过滤查找,管道符|,表示将前一个命令的处理结果输出传递给后面的命令处理。

  • 基本语法
    • grep [选项] 查找内容 源文件
  • 常用选项
选项功能
-n显示匹配行及行号
-i忽略字母大小写
  • 应用实例
    • 请在hello.txt文件中,查找"yes"所在行,并且显示行号
压缩和解压类
gzip/gunzip指令

gzip用于压缩文件,gunzip用于解压

  • 基本语法
    • gzip 文件(压缩文件,只能将文件压缩为*.gz文件)
    • gunzip文件(解压缩文件命令)
  • 应用实例
    • gzip压缩,将/home下的hello.txt文件进行压缩
      • gzip hello.txt
    • gunzip解压缩,将/home下的hello.txt.gz文件进行解压缩
      • gunzip hello.txt.gz
  • 细节说明
    • 当我们使用gzip对文件进行压缩后,不会保留原来的文件。
zip/unzip指令

zip用于压缩文件,unzip用于解压

  • 基本语法
    • zip [选项] xxx.zip 将要压缩的内容(压缩文件和目录的命令)
    • unzip [选项] xxx.zip(解压缩文件)
  • zip常用选项
    • -r:递归压缩,即压缩目录
  • unzip常用选项
    • -d <目录>:指定解压后文件的存放目录
  • 应用实例
    • 将/home下的所有文件压缩成mypackage.zip
      • zip -r mypackage.zip /home/
    • 将mypackage.zip解压到/opt/tmp目录下
      • unzip -d /opt/tmp mypackage.zip
tar指令

是打包指令,最后打包后的文件是.tar.gz的文件

  • 基本语法
    • tar [选项] xxx.tar.gz 打包的内容(打包目录,压缩后的文件格式.tar.gz)
  • 选项说明
选项功能
-c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
  • 应用实例

    • 压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz

      • tar -zcvf a.tar.gz a1.txt a2.txt
    • 将/home的文件夹压缩成myhome.tar.gz

      • tar -zcvf myhome.tar.gz /home/
    • 将a.tar.gz解压到当前目录

      • tar -zxvf a.tar.gz
    • 将myhome.tar.gz解压到/opt/tmp目录下

      • tar -zxvf a.tar.gz -C /opt/tmp
      • 解压到的那个目录事先要存在,否则会报错

组管理和权限管理

Linux组的基本介绍

在Linux中的每个用户必须属于一个组,不能独立于组外,在Linux中每个文件有所有者,所在组,其他组的概念。

文件:1.所有者;2.所在组;3.其他组;4.改变用户所在组

文件/目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者

查看文件的所有者
  • 指令:ls -ahl

  • 应用实例:创建一个组police,再创建一个用户tom,将top放在police组

groupadd police
useradd -g police tom
passwd tom
修改文件所有者
  • 指令:chown 用户名 文件名
  • 应用案例
    • 使用root创建一个文件apple.txt,然后将其所有者修改成tom
      • chown tom apple.txt
文件/目录所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组

查看文件/目录所在组
  • 指令:ls -ahl
修改文件所在的组
  • 指令:chgrp 组名 文件名

  • 应用实例

    • 使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到police组

    touch orange.txt
    ls -ahl
    chgrp police orange.txt

    
    
改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

  • 指令
    • usermod -g 组名 用户名
    • usermod -d 目录名 用户名 改变该用户登录的初始目录
  • 应用实例
    • 创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到bandit组
      • usermod -g bandit tom
权限的基本介绍
0~9位说明:
  1. 第0位确定文件类型
    • -普通文件
    • d目录
    • l软链接
    • c字符设备【键盘,鼠标】
    • b块文件,硬盘
  2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限——User
  3. 第4-6位确定所属组(同用户组的)拥有该文件的权限——Group
  4. 第7-9位确定其他用户拥有该文件的权限——Other
rwx权限详解
rwx作用到文件
  1. r代表可读(read):可以读取,查看
  2. w代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  3. x代表可执行(execute):可以被执行
rwx作用到目录
  1. r代表可读(read):可以读取,ls查看目录内容
  2. w代表可写(write):可以修改,目录内创建+删除+重命名目录
  3. x代表可执行(execute):可以进入该目录
修改权限——chmod
基本说明

通过chmod指令,可以修改文件或目录的权限

第一种方式:+、-、=变更权限

u:所有者;g:所有组;o:其他人;a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名
  • 案例演示
    • 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限。
      • chmod u=rwx,g=rx,o=rx abc
    • 给abc文件的所有者除去执行的权限,所在组增加写的权限
      • chmod u-x,g+w abc
    • 给abc文件的所有用户添加读的权限
      • chmod a+r abc
第二种方式:通过数字变更权限

r=4;w=2;x=1;rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录名相当于chmod 751 文件目录名

  • 案例演示
    • 将/home/abc.txt文件的权限修改成rwxr-xr-x,使用给数字的方式实现
      • chmod 755 /home/abc.txt
修改文件所有者
  • 基本介绍

    • chown newowner file改变文件的所有者
    • chown newowner:newgroup file改变用户的所有者和所有组
    • -R如果是目录,则使其下所有子文件或目录递归生效
  • 案例演示

    • 请将/home/abc.txt文件的所有者修改成tom
      • chown tom /home/abc.txt
    • 请将/home/kkk目录下所有的文件和目录的所有者都修改成tom
      • chown -R tom /home/kkk/(使用root用户操作)
修改文件所在组 chgrp
  • 基本介绍
    • chgrp newgroup file改变文件的所有组
  • 案例演示
    • 请将/home/abc.txt文件的所在组修改成bandit
      • chgrp bandit /home/abc.txt
    • 请将/home/kkk目录下所有文件和目录的所在组都修改成bandit
      • chgrp -R bandit/home/kkk/

定时任务调度

crond任务调度

crontab进行定时任务的设置

  • 概述
    • 任务调度:是指系统在某个时间执行的特定的命令或程序。
    • 任务调度分类:
      • 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
      • 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
  • 基本语法
    • crontab [选项]
  • 常用选项
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务
  • 快速入门

    • 设置任务调度文件:/etc/crontab
    • 设置个人任务调度。执行crontab -e命令
    • 接着输入任务到调度文件,如:*/1 * * * * ls -l /etc/>/tmp/to.txt
    • 意思说每小时的每分钟执行ls -l /etc/>/tmp/to.txt
    crontab -e
    */1 * * * * ls -l /etc/>/tmp/to.txt
    
  • 参数细节说明

    • 5个占位符的说明
    项目含义范围
    第一个"*"一个小时当中的第几分钟0~59
    第二个"*"一天当中的第几小时0~23
    第三个"*"一个月当中的第几天1~31
    第四个"*"一年当中的第几个月1~12
    第五个"*"一周当中的星期几0~7(0和7都代表星期日)
    • 特殊符号说明
    特殊符号含义
    *代表任何时间。比如第一个"*"就代表一个小时中每分钟都执行一次的意思
    ,代表不连续的时间比如"0 8,12,16 * * * 命令",就代表在每天的8点0分,12点0分,16点0分都执行一次命令
    -代表连续的时间范围。比如"0 5 * * 1-6 命令",代表在周一到周六的凌晨5点0分执行命令
    */n代表每隔多久执行一次。比如"*/10 * * * * 命令",代表每隔10分钟就执行一遍命令

Linux磁盘分区、挂载

分区基础知识
分区的方式
  • mbr分区:
    • 最多支持四个主分区
    • 系统只能安装在主分区
    • 扩展分区要占一个主分区
    • MBR最大只支持2TB,但拥有最好的兼容性
  • gtp分区
    • 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
    • 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
    • windows7 64位以后支持gtp
Linux分区
原理介绍
  • Linux无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
  • Linux采用了一种叫“载入”的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
查看所有设备挂载情况

命令:lsblk 或者 lsblk -f

挂载的经典案例
  • 如何增加一块硬盘
    • 虚拟机添加硬盘
    • 分区 mkfs -t ext4 /dev/sdb1
    • 格式化
    • 挂载 mount 设备名称 挂载目录umount 设备名称或挂载目录
    • 设置可以自动挂载:通过修改/etc/fstab实现挂载,添加完成后执行mount -a即刻生效
磁盘情况查询

查询系统整体磁盘使用情况

  • 基本语法
    • df -h

查询指定目录的磁盘占用情况

  • 基本语法
    • du -h /目录
    • -s 指定目录占用大小汇总
    • -h 带计量单位
    • -a 含文件
    • -max -depth=1 子目录深度
    • -c 列出明细的同时,增加汇总量

查询指定目录的磁盘占用情况,默认为当前目录

  • 磁盘情况-工作实用指令
    • 统计/home文件夹下文件的个数
      • ls -l /home | grep "^-" | wc -l
    • 统计/home文件夹下目录的个数
      • ls -l /home | grep "^d" | wc -l
    • 统计/home文件夹下文件的个数,包括子文件夹里的
      • ls -lR /home | grep "^-" | wc -l
    • 统计文件夹下目录的个数,包括子文件夹里的
      • ls -lR /home | grep "^d" | wc -l
    • 以树状显示目录结构
      • tree

网络配置

Linux网络环境的配置
指定固定的IP
  • 直接修改配置文件来指定IP,并可以连接到外网,编辑vim /etc/sysconfig/network-scripts/ifcfg-eth0
  • 修改后重启网络服务:service network restart
修改主机名
  1. 查看当前主机名:hostname
  2. 修改Linux的主机映射文件

vim /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=black # 写入新的主机名
# 注意:主机名称不要有"_"下划线
  1. 修改/etc/hosts增加ip和主机的映射
192.168.xxx.xxx black
  1. 重启设备,生效
  2. 如果希望windows也可以通过主机名来连接centos,进入c:\Windows\System32\drivers\etc\hosts
192.168.xxx.xxx black

进程管理

显示系统执行的进程

基本介绍

ps命令是用来查看目前系统中,有哪些正在执行,以及它们的执行状况,可以不加任何参数。

字段说明
PID进程识别号
TTY终端机号
TIME此进程所消CPU时间
CMD正在执行的命令或进程名
STAT进程的状态(s:休眠;r:运行)

ps -a:显示当前终端的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台程序运行的参数

ps -aux | grep xxx:通过xxx过滤

ps -ef:以全格式显示当前所有的进程,查看进程的父进程

终止进程kill和killall

基本语法

kill [选项] 进程号(通过进程号杀死进程)

killall 进程名称(通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

常用选项

-9:表示强迫进程立即停止

服务管理

介绍

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如mysql,,sshd等,因此我们又称为守护进程。

service管理指令

service 服务名 start | stop | restart | reload | status

systemctl // CentOS7之后使用此命令

chkconfig指令

通过chkconfig命令可以给各个运行级别设置自启动/关闭

  • 查看服务:chkconfig --list | grep xxx
  • chkconfig 服务名 --list
  • chkconfig --level 5 服务名 on/off
动态监控进程

top [选项]

选项说明

选项功能
-d 秒数指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i使top不显示任何闲置或者僵死程序
-p通过指定监控进程ID来仅仅监控某个进程的状态
监控网络状态

查看系统网络情况netstat

  • 基本语法
    • netstat [选项]
  • 选项说明
    • -an 按一定顺序排列输出
    • -p 显示哪个进程在调用

检测主机连接命令ping

RPM和YUM

rpm包的管理
rpm包的简单查询指令

查询已安装的rpm列表,rpm -qa | grep xx

rpm包名的基本格式

一个rpm包名:firefox-45.0.1-1.el6.cent0s.x86_64.rpm

名称:firefox

版本号:45.0.1-1

适用操作系统:el6.cent0s.x86_64(表示centos6.x的64位系统,如果是i686、i386表示32位系统,noarch表示通用)

卸载rpm包
  • 基本语法
    • rpm -e RPM包的名称
    • rpm -e -nodeps RPM包的名称 强制删除
安装rpm包
  • 基本语法
    • rpm -ivh RPM包全路径名称
  • 参数说明
    • i=install 安装
    • v=verbose 提示
    • h=hash 进度条
yum包的管理
yum的基本指令
  • 查询yum服务器是否有需要安装的文件
    • yum list | grep xx软件列表
  • 安装指定的yum包
    • yum install xxx默认安装最新版本
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值