• 【基础】Linux 基础


    Linux 目录结构

    • /bin:Binary 的缩写,这个目录存放着最常使用的指令;
    • /home:存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,该目录名一般以用户账号命名;
    • /root:该目录为系统管理员,也称超级权限者的用户主目录;
    • /sbin:s 即 Super,该目录存放系统管理员使用的系统管理程序;
    • /lib:系统开机时所需要的最基本的动态链接共享库,几乎所有的应用程序都需要用到这些共享库;
    • /lost+found:该目录一般为空,当系统非法关机之后存放一些文件;
    • /etc:所有系统管理所需要的配置文件和子目录 my.config;
    • /usr:用户的很多应用程序和文件都存放在这个目录下,类似于 windows 下的 program files 目录;
    • /boot:存放启动 Linux 时的一些核心文件,包括一些连接文件以及镜像文件;
    • /dev:类似于 windows 的设备管理器,将所有的硬件用文件的形式存储;
    • /media:Linux 系统自动识别的一些设备,如 U 盘、光驱等,被识别的设备将会挂载在这个目录下;
    • /mnt:该目录用于让用户临时挂载别的文件系统,我们可将外部的存储挂在在 /mnt 上,然后进入该目录就可以查看里面的内容了;
    • /opt:存放安装软件的目录;
    • /var:存放不断扩充的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件;

    Linux 运行级别

    运行级别解释
    0关机
    1单用户模式
    2多用户状态无网络服务
    3多用户状态有网络服务
    4图形未使用保留给用户
    5图形界面
    6系统重启

    系统运行级别的配置文件路径:/etc/inittab

    指定运行级别

    • CentOS7 之前在文件/etc/inittab中进行设置
    • CentOS7 之后对设置进行了简化
      • multi-user.target代表运行级别3;
      • graphical.target代表运行级别5;
    • systemctl get-default:查看当前系统的运行级别
    • system set-default multi-user.targetsystemctl set-default graphical.target:设置默认运行级别

    Linux 常用操作

    帮助指令

    • man指令
      • 功能:获取帮助信息
      • 注意:信息可能包含多页,使用空格或者下方向键可以向下查看
    • help命令
      • 功能:获得 Shell 内置命令的帮助信息

    关机重启与用户管理

    关机与重启

    • shutdown -h now:立刻进行关机;
    • shutdown -r now:立刻重启计算机;
    • sync:将内存数据同步到磁盘;

    用户管理

    • Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须先向系统管理员申请一个账号,然后以该账号的身份进入系统;
    • 一个 Linux 系统只有一个 root 用户,其可以创建多个其他用户并分配权限,其中每一个用户都会对应一个目录,即家目录;
    用户管理
    • 添加用户:useradd [username]
      • 当创建用户成功后,系统会创建与用户同名的家目录,家目录默认在 home 目录下
      • useradd -d [/home/test] [username]:创建新用户并指定家目录
    • 修改密码:passwd [username]
      • 注意:要写用户名,不写用户名则默认修改当前用户的密码
    • 删除用户:userdel [username]
      • 普通用户不能删除其他用户,只有 root 可以,用户也不能自己删除自己
      • 普通删除将保留其家目录;user -r [username]:将用户与其家目录一并删除(建议保留)
    • 查询用户:id [username]
      • 用户信息包含uid=0(root) gid=0(root) groups=0(root)
    • 切换用户:su - [username]
      • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
      • 若想返回原来的用户,使用exitlogout指令
    • 查看当前用户:who an i
      • 该指令查询的是原始登录系统的用户的信息,与是否切换账号无关
    用户组

    类似于角色,可以将具有相同权限的多个用户放进同一个组,对组赋权进行统一的管理

    • 新增用户组:groupadd [groupname]
      • 新增一个用户时,会默认生成一个与用户名相同的组,然后把用户放进该组
      • 新增一个用户并将其直接放进一个组:useradd -g [groupname] [username](该组需必须存在)
    • 修改用户组:usermod -g [groupname] [username](该组需必须存在)
    • 删除用户组:groupdel [groupname]

    用户组相关的文件

    • /etc/passwd
      • 每新增一个用户,系统都会把用户的信息保存到该文件;
      • 每行都是一个用户,对应含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
    • /etc/shadow
      • 口令配置文件
      • 对应含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间
    • /etc/group
      • 组配置文件
      • 对应含义:组名:口令:组标识号:组内用户列表

    Vim 编辑器的使用

    Vim 的三种模式

    • 正常模式:以vim打开一个文件就直接进入了一般模式。该模式中可以使用上下左右来移动光标,可以删除字符或者删除整行,也可以使用复制、粘贴来处理文件的内容;
    • 插入模式:按下 i o a 任意一个字母后才会进入编辑模式;
    • 命令行模式:该模式种可以根据相关的指令,完成读取、存盘、替换、离开 Vim、显示行号等操作;

    正常模式下按 i 进入插入模式 – 插入模式下按 esc 返回一般模式
    正常模式下按 : 或 / 进入命令行模式 – 命令行模式下按 esc 返回一般模式

    Vi、Vim 常用操作

    • 一般模式
      • yy:拷贝当前行,前面加数字 X 表示拷贝 X 行,使用 p 粘贴;
      • dd:删除当前行,前面加数字 X 表示删除 X 行;
      • G\gg:光标定位到文档的最末行\最首行;
      • X shift + g:将光标定位到第 X 行;
      • u:撤销;
    • 命令行模式
      • :q:退出,加!表示强制执行;
      • :wq:保存并退出加!表示强制执行;
      • /keyword:查找某个单词,输入 n 表示查找下一个;
      • set nu/set nonu:显示/关闭行号;

    目录与文件操作指令

    目录的切换

    • pwd:显示当前目录的绝对路径
    • ls [选项] [目录或者文件]:展示当前目录
      • 常用选项:
        • -a:显示当前目录的所有文件夹和子目录,包括隐藏的;
        • -l:以列表的形式进行展示;
    • cd [参数]:切换目录
      • cd ~cd:回到当前用户的家目录
      • cd ..:返回上一级目录

    目录与文件的基本操作

    • mkdir [选项] [要创建的目录路径]
      • 常用选项:
        • -p:创建多级目录
    • rmdir [选项] [要删除的空目录路径]
      • 该指令只能删除空目录,若目录下有内容是无法删除的
      • 若要删除非空目录,则需要使用rm -rf [要删除的目录路径]
    • touch [文件名]:创建空文件
    • cp [选项] [被copy的文件路径] [copy目的地路径]
      • 常用选项:
        • -r:递归复制整个文件夹
    • rm [选项] [要删除的文件或目录]:移除文件或目录
      • 常用选项:
        • -r:递归删除整个文件夹
        • -f:强制删除,不提示
    • mv:移动或重命名文件与目录
      • mv [原文件名] [新文件名]:重命名文件或目录
      • mv [被移动文件] [移动目的地路径]:移动文件或目录
      • mv [被移动文件] [移动目的地/新文件名]:移动并重命名

    文件查看

    • cat [选项] [要查看的文件]:查看文件内容
      • 常用选项:
        • -n:显示行号
      • cat指令只能进行查看,不能修改,更加安全
    • more [要查看的文件]:以全屏的方式按页显示文件内容,其内置了很多交互指令
      • space:向下翻页
      • Enter:向下翻一行
      • q:立即离开more,不再显示文件内容
      • Ctrl + F:向下滚动一屏
      • Ctrl + B:返回上一屏
      • =:输出当前行号
      • :f:输出文件名与当前行行号
    • less [要查看的文件]:分屏查看文件内容,部分加载文件内容,因此大文件查看推荐less,其同样有很多交互指令
      • space:向下翻页
      • pagedown:向下翻页
      • pageup:向上翻页
      • /字符串:向下搜索【字符串】,n 向下查找;N 向上查找
      • ?字符串:向上搜索【字符串】,n 向下查找;N 向上查找
      • q:离开less
    • head [选项] [要查看的文件]
      • 常用选项:
        • -n:查看文件开始的前 n 行内容
    • tail [选项] [要查看的文件]
      • 常用选项:
        • -n:查看文件末尾的 n 行内容
        • -f:实时追踪文件的更新,只要文件有改动就可以实时看到

    修改文件内容

    • echo [选项] [输出内容]:输出内容至控制台,常与>>>指令配合使用
      • >:输出重定向,即覆盖原内容
      • >>:追加,在文件末尾追加内容

    日期相关指令

    • date:显示当前时间
      • date -s [时间字符串]:设置系统时间
    • cal:查看日历
      • cal [年份]:显示对应年份日历

    搜索与查找

    • find [搜索范围] [选项]
      • 常用选项:
      • -name [文件名]:按照文件名进行查询
      • -user [用户名]:查询用户名称为…的文件
      • -size [文件大小]:按照文件大小进行查询,+ 表示大于;- 表示小于
    • witch [指令]:查询某个指令位于那个目录下
    • grep + 管道符|
      • grep [选项] [查找内容] [源文件]
        • -n:显示匹配行及行号
        • -i:忽略字母大小写
      • 管道符表示将前面指令的结果传递给后面的指令处理

    压缩与解压缩

    • gzip/gunzip [文件路径]:压缩/解压缩文件,处理*.gz文件
    • zip/unzip:压缩文件及目录
      • zip [选项] [压缩文件名] [要压缩的文件路径]:压缩文件和目录
        • -r:递归压缩,用于压缩目录
      • unzip [选项] [要解压的文件名]:解压缩
        • -d:指定解压后文件的存放目录
    • tar [选项] XXX.tar.gz [打包的内容]:压缩或解压
      • -c:产生.tar打包文件
      • -v:显示详细信息
      • -f:指定压缩后的文件名
      • -z:打包同时压缩
      • -x:解包.tar文件
  • 相关阅读:
    23种设计模式之:命令模式
    4. SQL语法中的一些基本概念
    C- 可变参数的简单版实现
    本地新建项目如何推到码云上去
    动态爬虫管理平台构建与实现_kaic
    Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改
    SY6288AAAC低耗配电开关USB限流开关600MA
    本地项目上传至码云gitee
    基于.NetCore开发博客项目 StarBlog - (30) 实现评论系统
    HTML5-创建HTML文档
  • 原文地址:https://blog.csdn.net/zqf787351070/article/details/126149238