Linux笔记1(安装,目录结构,远程登录,vi和vim,用户管理,实用指令。定时调度,挂载。)

1.linux的安装

1.先安装virtualmachine15.5

2.再安装Linux(CentOS7.6/centOS8.1) 

首先在自己的window电脑上安装虚拟机,然后虚拟机相当于一台电脑,里面在安装一个linux系统

 

 虚拟机网络连接的三种方式

 桥接模式:直接使用主机网段的ip地址,虚拟机可以与外部系统通讯,但是这样可能会ip冲突。

NAT模式:网络地址转换模式,虚拟机可以和外部通信,不造成冲突。因为会自动建立一个虚拟ip,在不同的网段。相当于将主机的ip地址当做一个外部的代理对象,里面自己在建立一个路由,所有的信息都是通过主机的名义发出,。nat相当于转发主机的路由。

主机模式:独立的一个系统

虚拟机的克隆

 方法1:直接拷贝一份安装好的虚拟机文件,(在文件的安装目录中直接拷贝一份副本) 

方法2:使用vmware的克隆操作,注意,克隆时,需要先关闭linux系统(右键,管理,克隆)

虚拟机的快照

相当于windows的系统还原点 ,游戏篡纯当点 

如果你在使用虚拟机系统的时候(比如linux),你想回到原先的某一个状态,也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行的状态,vmware也提供了这样的功能,就叫快照管理。

安装vmtools 

安装这个东西之后,可以让我们在windows之下更好管理vm虚拟机

可以设置主机和虚拟机共享的文件夹 

  • 开启虚拟机的时候,点击虚拟机----》安装vmtools。
  • 使用root登录,然后能看见一个vm安装包xx.tar.gz
  • 拷贝到/opt(约定放在这)
  • 解压tar -zxvf xx.tar.gz
  • 进去解压目录,
  • 安装./vmware-install.pl

然后设置共享文件夹

虚拟机右键->设置->选项,-》共享文件夹—》添加就可以了

然后这个目录在mnt/hgfs/下

2.linux的目录结构

基本介绍

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

深刻理解linux树状文件目录 是非常重要的,在linux的世界里,一切皆文件

示意图

 具体的目录结构

 /bin 【常用】

这个目录存放着经常使用的命令

/sbin

存放管理员使用的系统管理命令

/home

存放普通用户的目录,每个普通用户都有一个自己的目录,一般是账户的命名、

/root

该目录为系统管理员,也被称为超级权限者的主目录

/lib

系统开机所需要最基本的动态链接库,作用类似于windows中的dll文件,几乎所有的应用程序都需要用到这些共享库

/lost+fount
这个目录一般是空的,存放非法关机的文件

/etc

所有系统管理所需要的配置文件和子目录,被逼入安装mysql的config文件

/usr

用户的很多应用程序和文件都放在这个目录下面,类似于windows的program files目录

/boot

存放的是linux启动使用的核心文件,包括一些链接文件和镜像文件

/proc

虚拟目录,系统内存的映射,访问这个目录来获取系统信息

/srv

service缩写,存放服务启动之后需要的数据

/sys

这是linux2.6内核一个很大的变化,这个和上面两个别动就是了

/tmp

存放临时文件

/dev

类似于windows的设备管理器,存放所有设备(硬件,鼠标键盘等)文件形式存储

/media

linux自动识别一些设备,u盘,光驱。识别后会将设备挂载到这个目录

/mnt

临时挂载别的文件系统的,将外部的共享文件就挂载在这个目录

 主机ping虚拟机的方法:

首先虚拟机连上网络

终端使用ifconfig查看虚拟机ip 

在nat模式下,主机需要将 虚拟机适配器的ip改为同一个网段。这样才可以ping通

 如果找不到这个网络适配器,则需要勾选

 如果这个无法勾选,则说明以前安装过的vm注册表没有删除干净,需要下载一个

ccleaner

这样就可以了。(本虚拟机关闭了防火墙) 

 3.远程登录到Linux服务器

为什么要远程登录 

linux服务器是开发小组共享的,正事上线的时候项目运行在公网 

因此程序员需要远程登录在linux进行项目管理或开发

远程登录有两个工具,一般是使用Xshell6:用于远程操作

第二个是Xftp:用于交互文件

安装这俩玩意的时候可能会出现无法启动说你版本不对的情况,这时候需要更改一个配置文件中的16进制数据。需要你有处理16进制的软件。

4.Linux实操篇-Vi和Vim编辑器

vi和vim的基本介绍

linux会内置vi文本编辑器,vim是具有程序编辑能力,可以看做是vi的增强版。可以主动的以字体颜色来辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富。

vim有三种模式

(1)正常模式:使用vim 文件 进入之后就是正常模式 ,这种模式之下可以移动光标,可以删除字符,也可以复制粘贴。

(2)插入模式:按下i,o,a,r等字母的大小写任意一个就可以进入编辑模式

(3)按esc会直接进去命令模式,可以执行一些命令

 vim的快捷键

yy:拷贝当前行,然后p粘贴。相当于idea里面的ctrl+d。 5yyp相当于复制当前行向下五行粘贴(正常模式)

dd:删除当前行,5dd删除当前行连带着五行

查找:命令模式下:/关键字,输入n下一个    

设置文件行号,取消文件行号:命令模式下set nu和set nonu

移动到文件首位:正常模式最末行G,首行gg

ctrl+z:正常模式u

移动光标位置:20G代表移动到20行的位置

5.Linux实操篇-开机、重启和用户登录注销

 基本的开关机命令

 shutdown -h now 直接关机

shutdown -h 1 一分钟关机

shutdown -r now重启

halt关机

reboot重启

sync把内存的数据写到磁盘

所以在关机之前,首先运行sync,保存数据更稳妥。虽然 shutdown/reboot/halt等命令均已经在关机前进行了sync。

用户的登录和注销

(1)用户切换登录命令:su -用户名     低权限向高权限登录需要密码,反之不需要。

(2)注销用户指的是切换用户:logout,在远程登录的时候这个代表退回到上一次登录的用户名,如果没有就退出远程。(这里是运行级别三,也就是远程登录)

(3)在可视化的终端的时候使用的是exit。 (这里是运行级别5,可视化级别)

6. Linux实操篇-用户管理

linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户都必须向管理员申请一个账号。

 (1)添加用户:adduser 用户名  或者useradd 用户名

创建之后默认会建立一个组合一个文件以用户名命令。文件放在home下面

(2) 也可以通过创建的时候指定目录名称,指定的时候前面加上/home

 (3)指定密码 passwd 用户名,这里记住如果不写用户名默认更改自己的密码。

 可以设置密码较为简单,但是需要输入两次,这里是root

(4)删除用户userdel -r  用户名,这样表示删除用户的同时删除其所在的目录。不删就不加上-r

(5)查询用户: id 用户名,查询之后返回用户id,组id和名称

(6)查看当前登录用户:只能查看登录的第一个,切换了看不到who am i

 用户组

 

用户在创建的时候就会创建自己对应的一个组,linux里所有的用户都是存放在组里面的。

我们可以声明一个组,然后将多个用户放入一个组内,然后赋给组权限,组里面的用户就都有一样的权限了。 

(1)新增组:groupadd 组名

(2)删除组:groupdel 组名

(3)添加进新组:adduser -d 组名 用户名

(4)移动用户到组:usermod -g 组名 用户名

这里没法删除有用户的组。

用户和组相关的文件

 /etc/passwd文件:用户的配置文件,每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

 /etc/shadow文件:口令的配置文件,每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

。这种有红色的是密码的加密。没有的是用户没有设置密码。 

/etc/group文件每行含义:组名:口令:组标识号:组内用户列表

7.Linux实用指令

运行级别说明

0:关机

1:单用户(用于找回管理员密码)

2:多用户状态没网

3:多用户有网(常用)

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

5:图形界面

6:系统重启

(1)直接使用 init 1就可以 

在centos7以前,/etc/inittab文件中.进行了简化,如下:

找回root密码

启动界面e

 然后再utf-8后面输入

 init=/bin/sh

 然后ctrl+x

 进入单用户模式输入

 mount -o remount,rw /

 (千万注意空格)

 然后输入passwd

重复输入两次密码

touch /.autorelabel

exec /sbin/init 

等待 

帮助指令

man获得帮助信息基本语法:

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

案例:查看ls命令的帮助信息manls

(1)在linux下,隐藏文件是以.开头,选项可以组合使用比如ls-al,比如ls-al/root

(2)基本语法:help命令(功能描述:获得shell内置命令的帮助信息)

目录类指令

 (1)pwd:显示当前工作的绝对路径

(2)ls 【选项】 【目录或者文件】:查看当前所有的目录

选项-a:显示当前目录所有的文件和目录,包括隐藏文件

-l:以列表的形式显示(两个选项可以组合使用)

 (3)cd 【参数】切换到指定目录,可以选绝对路径和相对路径

root和home是根目录下的同级目录,这里先使用相对路径从root到home,在使用绝对路径

cd ..:返回上一级

cd ~:返回用户自己的目录(例如/home/liu)

(4)mkdir 【选项】 目录名称 :创建目录

-p创建多级目录

(5)rmdir 【选项】 目录名:删除目录

如果是非空目录就需要使用rm -rf

(6)touch 文件名称:创建文件名称

(7)cp 【选项】 要复制的文件名称  复制到的位置:用于文件复制。

-r:递归复制整个文件夹

(8)rm 【选项】要删除的文件

        -r:递归删除整个文件夹

        -f:强制删除不提示

 

(9) mv 旧文件 新文件(在同一个位置就重命名)

(10)cat 【选项】 需要查看的文件

          -n:显示行号

          使用管道加上more或者less

加上more的话查看长文件更加方便

less和more差不多,但是比more更强大,显示文件的时候会根据需求加载内容,效率高。

(11)echo 【选项】 【输出内容】

可以输出一些内容到控制台,可以是hello word ,也可以是环境变量等。

 也可以搭配输出重定向(覆盖)和追加(追加末尾)向文件输入内容

 (12)head -n5文件:显示文件的前五行

            tail -n5 文件:显示文件后五行

            tail -f 文件:监控文件变化

(13)> 指令和  >>指令

         覆盖和追加

(14)in -s 【源文件目录】 【快捷方式名称】 

 

(15)history 查找历史命令      !2:执行编号为2的命令

 

 时间日期类

(1)date指令

1)date(功能描述:显示当前时间)】

2)date+%Y(功能描述:显示当前年份)

3)date+%m(功能描述:显示当前月份)

4)date+%d(功能描述:显示当前是哪一天)

5)date"+%Y-%m-%d%H:%M:%S"(功能描述:显示年月日时分秒)

设置当前系统时间:date-s“2020-11-0320:02:10”

(2)cal 【选项】显示日历

 (3)find 【搜索范围】 【选项】

(4)locate指令可以快速定位文件路径,locate指令将所有的文件名称建立成一个数据库,快速定位查找,无需遍历这个文件系统。管理员必须定期更新locate。

 (5)grep 【选项】 查找内容 源文件

-n:显示行号

-i:忽略大小写

 压缩和解压

压缩的三种方式

gzip和gunzip(压缩文件):压缩成.gz格式,源文件会消失。

 zip和unzip(压缩文件和目录):压缩文件指定一个文件名就可以,压缩目录的时候需要加上-r来遍历目录。压缩过后的后缀是.zip  并且源文件还在

解压的时候需要执行unzip -d 解压位置  需要解压的文件

tar(常用,压缩文件和目录):可以一次性压缩多个文件,也可以压缩一个目录

tar -zvcf  压缩文件名 文件1 文件2

tar -zcvf 压缩文件名 目录

 tar -zxvf 压缩文件名

 

第七章, 组管理和权限管理

 linux每个用户都必须属于一个组。

 1)所有者:文件的持有者,默认是创建者

2)所在组:持有者所在的组

3)其它组:持有者不在的组

查询文件的信息:ls -alh      这是三个指令拼接,a:显示隐藏文件  l显示详细信息 h大小显示为单位

 解析一下文件显示信息 

第一位代表文件属性:

-表示普通文件

rw-表示所有者的权限,读写

r--表示同组全选,读

r--表示其他组权限

第一个root表示作者

第二个root表示所在组

然后就是大小,最后修改时间,还有命名 

(1)chown 用户名 文件名 :修改文件所有者    必须使用管理员才可以更改

(2)修改文件、目录所在的组chgrp 组名 文件名

 (3)改变用户所在组

usermod–g新组名用户名

usermod–d目录名用户名改变该用户登陆的初始目录。特别说明:用户需要有进入到新目录的权限。

权限的介绍

 ls-l中显示的内容如下:-rwxrw-r--1rootroot1213Feb209:39abc

0-9位说明第0位确定文件类型(d,-,l,c,b)

l是链接,相当于windows的快捷方式d是目录,相当于windows的文件夹c是字符设备文件,鼠标,键盘b是块设备,比如硬盘

第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User

第4-6位确定所属组(同用户组的)拥有该文件的权限,---Group第

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):可以进入该目录

 可用数字表示为:r=4,w=2,x=1因此rwx=4+2+1=7,数字可以进行组合

(4)修改权限chmod

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

1)chmod u=rwx,g=rx,o=x文件/目录名

2)chmod o+w文件/目录名

3)chmod a-x文件/目录名

4)chmod 751文件/目录名

8.定时任务调度

crontab 定时任务调度

任务调度:是指系统在某个时间执行特定的命令或程序

 基本语法crontab 【选项】

-e 编辑定时任务

-l查看定时任务

-r删除所有的定时任务

快速入门:设置个人的任务调度

cronrtab -e  进入编辑任务调度文件,这里面的操作方式就是正常的vim文本编辑,可以直接输入指令执行,也可以执行脚本

每隔一分钟执行一个脚本

(1)vim/home/my.sh写入内容date>>/home/mycal和cal>>/home/mycal

(2)给my.sh增加执行权限,chmodu+x/home/my.sh

(3)crontab-e增加*/1****/home/my.sh

 

 

 

 at指令

1)at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。

2)默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。

3)at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了

4)在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看ps-ef|grepatd//可以检测atd是否在运行

执行的方式是,at创建一个作业,设置时间。然后atq进程会每六十秒检查作业和他设定的时间,时间对就会执行。

 用法:at 【选项】 时间

 at指定时间的方法

1)接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如:04:00

2)使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。

3)采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如:12pm

4)指定命令执行的具体日期,指定格式为monthday(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。例如:04:002021-03-1

5)使用相对计时法。指定格式为:now+counttime-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。例如:now+5minutes6)直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

两天后的下午五点执行指令,操作方式直接输入,删除是ctrl+back。输入完成是ctrl+d(两次)

明天下午五点,执行

 

 atq查看at任务,atrm 4删除编号为4的作业

 9.Linux磁盘分区、挂载

1)Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

2)Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

 系统中有自己的目录结构,也有我们所分配的磁盘空间。将磁盘空间给分配的目录使用,这个过程就是挂载。虚拟目录与物理路径的映射。

1)Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

2)对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

3)对于SCSI硬盘则表示为sdx~,第一块硬盘的三个分区就是sda1,sda2,sda3.第二块就是sdb1

查看所有设备挂载情况lsblk或者lsblk -f第二种显示文件系统,名称

 挂载案例

 (1)首先需要增加一块硬盘

 (2)对硬盘分区

fdisk /dev/sdb

开始对/sdb分区

m显示命令列表

p显示磁盘分区同

n新增分区

d删除分区

w写入并退出

说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。

 (3)格式化磁盘,设置文件系统类型

分区命令:mkfs -text4 /dev/sdb1其中ext4是分区类型

(4)挂载,将分区挂载到某个目录

mount   /dev/sdb1   /newdisk

卸载

umount  /dev/sdb1或者umount  /newdisk

但是这样不是永久挂载

(5)永久挂载

通过修改/etc/fstab实现挂载

将挂载信息写进去,建议在这一步之前使用快照。

 这就是挂载文件内容,这里写着我三个分区的挂载信息,可以添加一个一样的

/dev/sdb1              /newdisk           etx4  defaults        0 0 

磁盘情况查询

(1)基本语法: df -h 

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

du -h

s指定目录占用大小汇总

-h带计量单位

-a含文件

--max-depth=1子目录深度

-c列出明细的同时,增加汇总值

(3)磁盘情况工作实用指令

统计home文件下的文件个数

统计home文件下的文件目录个数

统计home文件夹下目录个数,包括子目录

 解释:grep “^-” 正则表达式,表示第一个为-的文件,-代表的就是普通文件

d代表的是目录。然后wc是统计数目的。R代表遍历子文件

(4)树状显示目录结构,tree 目录。需要安装该指令 yun install tree

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值