Linux02——基础篇1

文章目录

二、Linux02——基础篇1

1. 目录结构

目录含义
/bin[常用]是Binary的缩写,这个目录存放着最经常使用的命令
/sbins就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/home[常用]存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
/root[常用]该目录为系统管理员,也称作超级权限者的用户主目录
/lib系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的 DLL文件。几乎所有的应用程序都需要用到这些共享库
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/etc[常用]所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf
/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[常用]这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
/var[常用]这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
/selinux [security-enhanced linux]SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置.

2. 远程登录Linux服务器

2.1 XShell
2.1.1 演示
image-20210802173618504
2.2 XFTP(主要用来传资源,文件可视化)
  • 软件下载

    • 链接:https://pan.baidu.com/s/1YdLFb_7OaapIOEL1qfex-g 
      提取码:3x96
      
  • 界面展示

    • image-20210802174910986
  • 中文乱码问题

    • image-20210802174813167

3. Vi 和 Vim编辑器

3.1 三种模式
模式解释
正常模式用vim打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右」按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、粘贴』来处理你的文件数据。
插入模式按下i,L, o,O, a,A, r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可.
命令行模式输入esc再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等动则则是在此模式中完成的
3.2 快捷键
3.2.1 复制-粘贴-删除-撤销-定位首行末行-定位指定行

在正常模式下

  1. 操作一行数据

    1. 拷贝当前行–yy
    2. 粘贴-------p
    3. 删除当前行–dd
  2. 操作多行数据

    1. 需要在个指令前键入数字:5yy–表示从当前光标所在行向下5行内容都会被复制
    2. 需要在个指令前键入数字:5dd–表示从当前光标所在行向下5行内容都会被删除
  3. 撤销

    1. 键入字符u即可
  4. 定位首行末行

    1. G  ---定位首行
      gg ---定位末行
      
  5. 定位指定行

    • 1. 输入想要查找的行号
      2. 按shift+g
      3. 回车
      
3.2.2 查找字符-设置行号

在命令行模式下

  1. 查找字符

    • /关键字
      
    • 回车查找

    • 输入n就是查找下一个

  2. 设置行号

    • :set nu     ---代表设置行号
      :set nonu   ---代表取消行号
      

4. 开机、重启、用户登录注销操作

  • 开关机、重启
指令说明
shutdown -h now立刻进行关机
shutdown -h 1/shutdown1分钟后关机
shutdown -r now现在重启计算机
halt关机
reboot下载重启计算机
sync关机前的操作,把内存的数据同步到磁盘
  • 用户登录注销
指令说明
su - 用户切换用户
logout在图形运行级别无效,xshell远程操作,可以退出当前用户

5. 用户/用户组管理 组管理和权限管理

在root用户权限下进行操作

5.1 用户管理
5.1.1 添加用户
useradd 用户名   //默认用户的文件夹在/home下
useradd -d 指定目录 用户名   //给新创建的用户指定家目录
5.1.2 修改密码
 passwd 用户名
  • pwd    //显示当前用户所在的目录
    
5.1.3 删除用户
userdel 用户名   //仅删除用户,不删除它的家目录
userdel -r 用户名//删除用户及其家目录
5.1.4 查询用户
id 用户名    //查看指定用户信息
whoami 或者 who am i //查看当前用户
image-20210803125330384
5.1.5 切换用户
su - 切换用户名
  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
  • 当需要返回到原来用户时,使用exit/logout指令
5.2 用户组管理
5.2.1 添加用户组
groupadd 用户组名称		   //创建用户组
groupadd -g 用户组 用户名	  //增加用户时直接加上组
5.2.2 修改用户的组
usermod -g 用户组 用户名
5.2.3 删除用户组
groupdel 组名
5.3 用户和组相关文件
5.3.1 读取用户的配置文件,记录用户的各种信息
cat /etc/passwd
  • 每行的含义
    • 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
      • Shell:是解释用户输入的指令然后翻译给Linux内核的中间处理。国内用的bash
image-20210803161943523
5.3.2 读取口令的配置文件
cat /etc/shadow
  • 每行的含义
    • 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
5.3.3 读取组的配置文件,记录Linux包含的组的信息
cat /etc/group
  • 每行的含义
    • 组名:口令:组标识号:组内用户列表
5.4 Linux组管理和权限管理
  • 在linux 中的每个用户必须属于一个组,不能独立于组外。在 linux中每个文有所有者、所在组、其它组的概念。
5.4.1 查看文件、目录的所有者/所在组
指令说明
ll -h(ls -ahl)查看文件或目录所有者

image-20210804232436183

5.4.2 修改文件、目录的所有者/所在组
指令说明举例
chown [选项] 用户名 文件名修改文件所有者eg: chown tom hello.txt (将hello.txt文件所有者改成tom)
chgrp [选项] 组名 文件名修改文件所在组eg:chgrp jerry hello.txt(修改hello.txt文件组为jerry)
  • 选项
    • -R:将其下面子目录子文件递归更改(全部)
5.4.3 权限的基本介绍

image-20210804233739703

位数解释
第0位(灰色)确定文件类型
1. l代表连接,相当于快捷方式(见ln语法)
2. d代表目录,相当于文件夹
3. c是字符设备文件,比如鼠标,鼠标(比如dev目录下)
4. b是块设备,比如硬盘
5. -代表一般文件,比如.txt
第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User rwx(代表读写执行权限)
第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
第7-9位确定其他用户拥有该文件的权限—Other
第11位表示里面的文件和文件夹之和数
第一个root代表用户
第二个root代表所在组
字符1213代表字节大小
5.4.4 rwx权限详解
①rwx作用到文件
1、r代表可读(read):可以读取,查看
2、w代表可写(write)可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
3、x代表可执行(execute);可以被执行
②rwx作用到目录
1、r代表可读(read):可以读取,ls查看目录内容
2、w代表可写(write);可以修改,对目录内创建+删除+重命名目录
3、x代表可执行(execute):可以进入该目录
③修改权限
  • u:所有者 g:所在组 o:其他组 a:所有的人

  • 语法1

    chmod	u=rwx,g=rx,o=x	文件或目录名
        //解释:给XX文件的所有者读写执行权限,给所在组读执行权限,给其他组读指向权限
    chmod	o+w	文件或目录名
        //解释:给其他组添加写的权限
    chmod	a-x	文件或目录名
        //给所有人除去执行的权限
    
  • r=4 w=2 x=1 rwx=4+2+1=7

  • 语法2

    chmod u=rwx,g=rx,o=x 文件目录名 <==>  chmod751 文件目录名
    

6. 实用指令

6.1 指定运行级别
指令说明
init 0关机
init 1单用户(找回丢失密码)
init 2多用户状态没有网络服务
**init 3****多用户状态有网络服务**
init 4系统未使用保留给用户
init 5图形界面
**init 6****系统重启**
6.2 找回root密码
  1. 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图image-20210803164835139

  2. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh。如图image-20210803165529459

  3. 输入完成后,按Ctrl+x进入单用户模式

  4. 接着输入mount -o remount,rw /,回车image-20210803165711891

  5. 输入passwd,总共需要输入两次

  6. 然后输入touch /.autorelabel,回车

  7. 最后输入exec /sbin/init,回车后,必须等待系统自动重启,即可

6.3 帮助指令类
6.3.1 获得帮助信息
man [命令或配置文件] //获得指令的帮助信息
eg: man ls     //查看ls命令的帮助信息
6.3.2 获得shell内置命令的帮助信息
help 命令
6.4 文件目录类
1. 查看文件
1.1 more–vim编辑器文本交互器
操作说明
空格键向下翻一页
Enter向下翻一行
q立刻退出more,不显示该文件内容
Ctrl+F向下滚动给一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
  1. 语法

    more 文件名
    
1.2 less–查看文件内容,和more指令类似,但是更强大
操作说明
空白键向下翻动一页
[pagedown]向下翻动一页
[pageup]向下翻动一页
/字串向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串向上搜寻『字串』的功能;n:向下查找;N:向上查找;
q离开less
1.3 echo–输出内容到控制台
  1. 语法

    echo [选项] [输出内容]
    
  2. 案例

    echo $PATH   //输出环境变量
    
1.4 head–查看文件的开头部分内容
  1. 语法

    head 文件        //默认看文件头10行内容
    head -n 5 文件   //查看文件头5行内容,数字自定
    
1.5 tail–查看文件的尾部内容
  1. 语法

    tail 文件        //默认看文件尾10行内容
    tail -n 5 文件   //查看文件尾5行内容,数字自定
    tail -f 文件	   //实时追踪文档的所有更新,有更新立马显示
    
1.6
2. 文件基本操作
2.1 创建目录mkdir
  1. 语法

    mkdir [选项] 要创建的目录
    
  2. 常用选项

    1. -p:创建多级目录,如:

      mkdir -p aa/bb    //当前目录下创建aa , aa下创建bb目录
      mkdir /home/aa/bb  //绝对路径下创建
      
2.2 删除目录rmdir
  1. 语法

    rmdir [选项] 要删除的空目录
    
  2. 使用注意

    1. rmdir删除的是空目录,如果目录下有内容无法删除

    2. 删除不为空的目录需要使用

      rm -rf 要删除的目录   eg:rm -rf /home/animal
      //解释 -f:强制删除 -r:级联递归删除
      
2.3 touch–创建空文件
  1. 语法

    touch 文件名称
    
2.4 cp–拷贝指令
  1. 语法

    cp [选项] 源地址 目标地址
    
  2. 常用选项

    1. -r:递归复制,建议使用
  3. 注意

    1. 重复覆盖可能需要多次确认是否覆盖原文件,如下可避免

      \cp -r /home/source /home/dest
      
2.5 rm–删除文件或目录
  1. 语法

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

    1. -r:递归删除整个文件/文件夹
    2. -f:强制删除不提示
2.6 mv–重命名/移动文件
  1. 语法

    mv oldNameFile newNameFile   //重命名
    mv 文件路径 /targetFolder     //移动文件
    
2.7 >(覆盖写)和>>(追加写)
  1. 举例

    ls -l>文件	//列表的内容写入文件中(覆盖写)
    ls -al>>文件	//列表的内容追加到文件的末尾
    cat 文件1 > 文件2 //将文件1的内容覆盖到文件2
    echo "内容" >> 文件   (追加)
    
3. 其他操作
3.1 pwd–显示当前工作目录的绝对路径
3.2 ls–列表显示文件名
  1. 语法

    ls [选项] [目录或者文件]
    
  2. 常用选项

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

    2. -l:以列表的方式显示信息

    3. **注意:**指令可以进行组合,如:

      ls -al h或 ls -la   //表示-a和-l一起结合的结果
      
3.3 cd–切换到指定目录
  1. 语法

    cd [参数]   
    
  2. 常用实例

    1. cd ~或者cd:回到当前用户的家目录
    2. cd ..:回到当前目录的上一级目录
3.4 cat–查看文件内容
  1. 语法

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

    1. -n:显示行号
  3. 使用细节

    1. cat只能游览文件,不能修改文件,为了游览方便加上管道命令 | more
      cat -n /home/a.txt | more  
      
3.5 ln–符号连接;类似于快捷方式
  1. 语法

    ln -s [原文件或目录] [软连接名]  //给源文件创建一个软连接
    
3.6 history–查看已经执行过的历史命令
操作说明
history显示所有的历史命令
history 10显示最近使用的10个指令
!5执行历史编号为5的指令
6.5 时间日期类
1. date–显示当前日期
  1. 语法

    操作说明
    date显示当前时间
    date +%Y显示当前年份
    date +%m显示当前月份
    date “+%Y-%m-%d %H:%M:%S”显示年月日时分秒
    date -s “时间”设置时间
2. cal–显示日历
  1. 语法

    操作说明
    cal查看日历
    cal 年份查看当年的所有日历
6.6 搜索查找类
1. find–查找满足条件的文件
  1. 语法

    find [搜索范围] [选项]
    
  2. 选项说明

    选项说明
    -name按照指定的文件名查找文件
    -user查找属于指定用户名所有文件
    -size按照指定的文件大小查找文件(+n:大于 -n:小于 n:等于,单位有K,M,G)
  3. 案例演示

    1. 查找后缀名为txt的文件
    	find / -name *.txt
    2. 按拥有者查找/home目录下,jerry的文件
    	find /home -user jerry
    3. 查找整个系统下大于200M的文件()
    	find / -size +200M
    

    image-20210804162538878

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

  2. 语法

    1. updatedb       //先执行这条,代表更新数据库
    2. locate 搜索文件//再进行搜索
    
3. grep和管道符号–过滤查找
  • grep过滤查找,管道符,“"I’,表示将前一个命令的处理结果输出传递给后面的命令处理。
  1. 语法

    grep [选项] 查找内容 源文件  //grep 前面查找出来的东西交给grep进行过滤
    
  2. 常用选项

    选项功能
    -n显示匹配内容所在的行号
    -i忽略字母大小写
  3. 案例

    1. cat hello.txt | grep -n 'j' //查看hello.txt且查找j所在行
    
6.7 压缩和解压类
1. gzip/gunzip–压缩文件/解压文件(.gz)
  • 只能压缩文件,不能压缩目录,即使使用选项-r压缩,也只能是对目录下的所有文件压缩
  1. 语法

    gzip [选项] 文件 	//压缩文件,只能将文件压缩为*.gz文件
    gunzip [选项] 文件.gz//解压缩文件
    
  2. 选项

    选项说明
    -c将压缩数据输出到标准输出中,并保留源文件。
    -d对压缩文件进行解压缩。
    -r递归压缩,即压缩目录
2. zip/unzip–压缩文件/解压文件(.zip)
  1. zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的

  2. 语法

    zip [选项] 压缩包名 源文件或源目录列表	//压缩文件和目录的命令
    unzip [选项] 压缩包名 源文件或源目录列表	 	//解压缩文件
    
  3. zip常用选项

    选项说明
    -r递归压缩
  4. unzip常用选项

    选项说明
    -d 目录指定解压后文件的存放目录
3 tar–打包指令(.tar.gz)
  1. 语法

    tar [选项] 打包后的名字.tar.gz 打包的内容    
    
  2. 选项说明

    选项说明
    -c产生.tar打包文件
    -v显示详细信息
    -f指定压缩后的文件名
    -z打包同时压缩
    -x解压.tar文件
    -C解压到指定路径下
  3. 案例

    //案例1:压缩多个文件,将/home/pig.txt和/home/cat.txt压缩成pc.tar.gz
    	tar -zcvf pc.tar.gz/home/pig.txt 
    /home/cat.txt
    //案例2:将/home 的文件夹压缩成myhome.tar.gz
    	tar -zcvf myhomc.tar.gz /home/
    //案例3:将pc.tar.gz解压到当前目录
        tar -zxvf pc.tar.gz
    //案例4:将当前目录下的mysource.tar.gz解压到source/下
    	tar -zxvf mysource.tar.gz -C source/
    

7. 定时任务调度

7.1 crontab
1. 定义
  • 进行定时任务的设置
2. 语法
crontab [选项]
3. 选项
选项说明
-e编辑crontab定时任务,开始编辑内容
-l查询crontab任务
-r删除当前用户所有的crontab任务
4. 案例
1. 设置任务调度文件:/etc/crontab
2. 设置个人任务调度。执行crontab -e 命令
3. 编辑如下内容:*/1 * * * * ls -l /etc/ > /tmp/to.txt   //每小时的每分钟执行该命令
5. 占位符说明
占位符含义范围
第一个"*"一小时当中的第几分钟0-59
第二个"*"一天当中的第几小时0-23
第三个"*"一个月当中的第几天1-31
第四个"*"一年当中的第几月1-12
第五个"*"一周当中的星期几0-7(0、7都代表星期日)
6. 特殊符号的说明
符号含义
*代表任何时间。
,代表不连续的时间,如:“0 8,12,16 * * * …”,代表在每天的8点0分,12点0分,16点0分都一行一次命令
-代表连续的时间范围,如:“0 5 * * 1-6 …”,代表周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次,如:"*/10 * * * * …"代表每隔10分钟就执行一次命令
7. 特殊时间执行案例
命令含义
45 22 * * * 命令在22点45分执行命令
0 17 * * 1 命令每周一的17点0分执行命令
0 5 1,15 * * 命令每月1号到15号的凌晨5点0分执行命令
40 4 * * 1-5 命令每周一到周五的凌晨4点40分执行命令
*/10 4 * * * 命令每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令每月1号和15号,每周1的0点0分执行命令
8. 综合案例
8.1 每个一分钟,就将当前的日期信息,追加到文件中
1. crontab -e       //进行编辑任务

2. */1 * * * * date >> /home/mydate.txt  //每分钟执行date命令追加到mydate.txt文件,这个文件会自动创建

8.2 每隔1分钟,将当前日期和日历都追加到文件中

1. vim my.sh	//创建一个脚本
2. date >> /home/mydate.txt cal >> /home/mydate.txt 	//在脚本中写入命令
3. crontab -e	//编辑任务
4. */1 * * * * /home/my.sh 每分钟执行该命令
7.2 at–一次性定时计划任务
1. 定义
  1. at命令是一次性定时计划任务,at 的守护进程atd会以后台模式运行,检查作业队列来运行。

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

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

  4. 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看

    ps -ef | grep atd  //可以检测atd是否在运行
    
2. 语法
at [选项] [时间]	注意:结束at命令需要按两次Ctrl+D
atrm 编号	//删除编号的定时任务
3. 选项
选项含义
-m当指定的任务被完成后,将给用户发送邮件,即使没有标准输出
-Iatq的别名
-datrm的别名
-v显示任务将被执行的时间
-c打印任务的内容到标准输出
-V显示版本信息
-q <队列>使用指定的队列
-f <文件>从指定文件读入任务而不是从标准输入读入
-t <时间参数>以时间参数的形式提交要运行的任务
4. 时间
时间说明
hh:mm形式04:00
英文的时间词汇noon/midnight
采用12小时计时制12pm / 4am
具体日期04:00 2021-08-05
相对计时法now + 5 minutes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值