Linux

1.Linux的目录结构

介绍

Linux的文件系统采用层级式的树状结构,根目录为“/”。

Linux里,一切皆文件。

常见目录

  • /bin (/usr/bin /usr/local/bin)存放常用指令
  • /sbin (/usr/sbin /usr/local/sbin) 系统管理员的管理程序
  • /home 存放普通用户的主目录
  • /root root的主目录
  • /etc 存放配置文件目录
  • /usr 存放用户的应用程序和文件
  • /boot 存放Linux系统启动的一些核心文件
  • /dev 类似windows的设备管理器,将硬件设备已文件存储
  • /media 存放系统自动识别的设备如U盘/光驱等,识别后将设备挂载到该目录
  • /mnt 存放用户临时挂载别的文件系统的文件,如虚拟机共享文件
  • /opt 给主机额外安装软件存放的目录,如Oracle
  • /usr/local 另一个给额外安装软件存放的目录,一般通过编译源码方式安装。
  • /var 存放不断扩充的东西,一般将经常修改的文件放在这个目录,包括各种日志文件

2.Vi和Vim编辑器

简介

Linux系统会内置vi编辑器,vim可以看成是vi的增强版,就好比是在idea中编写代码,关键字,语句都会用不同颜色来表示,方便程序设计,代码补全,编译等操作

vi和vim的三种模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNMulN8w-1653476846587)(/linux.assets/linux01.png)]

vi和vim的常用快捷键

  • 拷贝—>使用yy(复制) + p(粘贴)的操作即可拷贝(其效果等同于在windows下使用ctrl + c ctrl + v)
  • 拷贝多行 使用(需要拷贝几行)+ yy + p
  • 删除 —>使用dd,若要是删除多行需要进行和拷贝多行一样的操作,数字 + dd
  • 在文件中查找某个单词—>[命令行下/需要查找的单词,使用n查找下一个]
  • 设置文件的行号 [:set nu] 取消文件的行号[:set nonu]
  • 进入文件之后,使用G进入到文件末尾,使用gg进入文件的最首行
  • 使用u进行撤销动作(等同于windows下ctrl + z)
  • 使用shift + g快速定位到某一行的行首

3.关机、重启和用户切换注销

1.关机&重启相关命令

shutdown -h now #立即关机
shutdown -h 1	#1分钟后关机
shutdown -r now #立即重启
halt			#关机
reboot			#重启
sync			#将内存数据同步到磁盘

注意:

不管是重启系统还是关闭系统,都要先进行sync操作,把内存的数据同步到磁盘(尽管目前以上的操作均在关机前进行了sync操作)

2.用户登录&切换用户

  • 用户建议不用root登录,因为root权限过高,容易造成操作失误,建议使用普通用户登录
  • 切换用户相关操作 su - 用户 ,然后输入密码即可进行切换
  • 使用logout或exit可以退回上一级的用户(logout注销指令在图形运行级别无效,在运行级别3一下有效)

4.用户管理

Linux是一个多用户多用户的操作系统,任何一个使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号进入系统

1.用户相关指令

  • 添加用户

    useradd 用户名				  #默认家目录名为用户名
    useradd -d 文件名 用户名		#指定一个家目录的目录名
    
  • 删除用户

    userdel 用户名 	#只删除用户,不删除家目录
    userdel -r 用户名  #表示删除包含用户的家目录
    
  • 指定/修改密码

    passwd 用户名
    
  • 切换用户

    su - 用户名
    
  • 查询用户信息

    id 用户名
    
  • 查看当前登录用户

    who am i / whoami
    

2.组相关指令

组概念:类似于角色,可以对有共性/相同权限的多个用户进行统一管理,创建用户时,未显式分配组,系统默认分配一个跟用户名相同的组

  • 新增组

    gounpadd 组名
    
  • 删除组

    groupdel 组名
    
  • 修改已存在用户所在组

    usermod -g 组名 用户名
    
  • 新建用户时指定组

    useradd -g 组名 用户名		#新建用户时指定用户所在组
    

3.用户和组相关文件

  • /etc/passwd
    • 用户配置文件,记录用户的各种信息
    • 每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
  • /etc/shadow
    • 口令(密码)的配置文件
    • 每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • /etc/group
    • 组的配置文件,记录组的信息
    • 每行含义:组名:口令:组标识号:组内用户列表

5.Linux运行级别

运行级别说明

  • 0 关机

  • 1 单用户【可用来找回丢失密码】

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

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

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

  • 5 图形界面

  • 6 系统重启

    切换运行级别命令

    init [运行级别]
    

修改系统默认运行级别

  1. CentOS 7以前修改默认运行级别,需修改 /etc/inittab 文件

  2. CentOS 7以后进行了简化

    • multi-user.target 相当于运行级别 3

    • graphical.target相当于运行级别 5

      systemctl get-default 					#获取系统默认运行级别
      systemctl set-default 【运行级别target】  #设置系统默认运行级别
      

6.找回root密码

  1. 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AxJCLJGh-1653476846589)(Linux.assets/linux02.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bfGzWJ6p-1653476846589)(Linux.assets/linux03.png)]

  1. 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式

  2. 接着,在光标闪烁的位置中输入:mount -o remount,rw /(注意:各个单词间有空格),完成后按键盘的回车键(Enter)。如图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vwxKUT2l-1653476846590)(Linux.assets/image-20220510232348073.png)]

  1. 在新的一行最后面输入:passwd, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(提示: 密码长度最好8位以上,但不是必须的), 密码修改成功后,会显示passwd…的样式,说明密码修改成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2b4VGLfO-1653476846590)(Linux.assets/image-20220510232500489.png)]

  1. 接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键(Enter)

  2. 继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(提示:这个过程时间可能有点长,耐心等待),完成后,系统会自动重启, 新的密码生效

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N02iWfIp-1653476846590)(Linux.assets/image-20220510232609250.png)]

7.帮助指令

man 指令

man [命令或配置文件] #获得帮助信息

help 指令

help [命令] #获得 shell 内置命令的帮助信息

8.文件目录类

  • pwd 指令:显示当前工作的绝对路径
  • ls 指令: 查看目录或文件
基本语法: ls [选项] [目录或文件]
常用选项: -a #显示当前目录所有文件和目录,包括隐藏的
		 -l #以列表方式显示信息 可简写为ll
  • cd 指令

    基本语法: cd [参数] #切换到指定目录
    理解:			绝对路径和相对路径
    cd~ 或 cd 	 回到当前用户家目录
    cd..		 返回当前目录的上一级目录
    
  • mkdir 指令:创建目录

    基本语法:mkdir [选项] 要创建的目录
    常用选项: -p #创建多级目录
    
  • rmdir 指令:删除空目录

    基本语法:rmdir [选项] 要删除的目录
    注意: rmdir只能删除空目录,若目录下有内容(文件或目录)无法删除,可用 rm -rf
    
  • touch 指令:创建空文件

    • 基本语法:touch 文件名
  • cp 指令:拷贝文件到指定目录

    语法: cp [选项] 源文件 要复制的地址
    常用选项: -r 递归复制整个文件目录(若目标文件非空,要强制覆盖不提示用 \cp)
    eg: cp -r home/aa /opt
    
  • rm 指令: 移除文件或目录

    rm [选项] 要删除文件或目录
    常用选项: -r: 递归删除整个文件
    		 -f:  强制删除不提示
    eg: rm -rf /home/aaa
    
  • mv 指令:移动或重命名文件、目录

    语法:mv 旧名 新名 #重命名
         mv 要移动文件 目标目录
    
  • cat 指令:查看文件内容

    cat [选项] 要查看文件
    常用选项:-n 显示行号
    提示:cat 只能查看不能修改文件,一般还会带上管道指令 |more
    eg: cat -n /etc/profile | more
    
  • more 指令:基于VI编辑器的文本过滤器,以全屏方式按页显示文本文件内容

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xBXx8EP1-1653476846591)(Linux.assets/image-20220511172932964.png)]

  • less 指令:用来分屏查看文件内容,类似more指令,但它显示内容时,并不是直接将整个文件进行加载后才显示,而是根据显示需要加载内容,对于显示大文件具有较高效率。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52KRtXbu-1653476846591)(Linux.assets/image-20220511173018547.png)]

  • echo 指令:输出内容到控制台

  • head 指令:用于显示文件的开头部分内容

    head 文件 #查看文件前10行
    head -n 5 文件 #查看文件前5行
    
  • tail 指令:用于显示文件的结尾部分内容

    tail  文件 #查看文件尾10行
    tail  -n 5 文件 #查看文件尾5行
    tail -f 文件 #实时追踪改文件所有更新
    
  • > 指令和 >> 指令: > 输出重定向 、>> 追加

    1. ls -l > 文件 #列表内容写入文件中(覆盖写)
    2. ls -l >> 文件 #列表内容追加到文件结尾
    3. cat 文件1 > 文件2 #将文件1的内容覆盖到文件2
    4. echo "内容" >> 文件 #追加
    
  • ln 指令:软链接或符号链接,(类似Windows里的快捷方式)

    基本语法 ln -s[原文件或目录] [软链接名] #给原文件创建一个软链接
    注意: 当我们用pwd指令查看目录时,看到的仍是软链接所在目录
    
  • history 指令:查看已经执行过的历史命令

    history #查看执行过的历史命令
    history 10 #查看最近使用过的10条命令
    !5 #执行历史编号为5的指令
    

9.时间日期类

date 指令

date #显示当前时间
date +%Y #显示当前年份
date +%m #显示当前月份
date +%d #显示当前日期
date "+%Y-%m-%d %H:%M:%S" #显示年月日时分秒
date -s 字符串时间 #设置系统当前时间 eg: date -s "2022-02-02 02:02:02:"

cal 指令

cal [选项] #不加选项,显示本月日历
cal 2022 #显示2022年日历
经执行过的历史命令

  ```sh
  history #查看执行过的历史命令
  history 10 #查看最近使用过的10条命令
  !5 #执行历史编号为5的指令

9.时间日期类

date 指令

date #显示当前时间
date +%Y #显示当前年份
date +%m #显示当前月份
date +%d #显示当前日期
date "+%Y-%m-%d %H:%M:%S" #显示年月日时分秒
date -s 字符串时间 #设置系统当前时间 eg: date -s "2022-02-02 02:02:02:"

cal 指令

cal [选项] #不加选项,显示本月日历
cal 2022 #显示2022年日历
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值