linux简单入门

目录

  • Linux简介
  • Linux目录结构
  • Linux文件命令
    • 文件处理命令
    • 文件查看命令
      • 常用文件查看命令
    • Linux的用户和组介绍
    • Linux权限管理

Linux简介

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。----来自百度

Linux目录结构

linux没有像windows一样的盘符该鸟,所有文件都在根目录下存储。
在这里插入图片描述

  • 绝对路径:以根目录为起点,完整地表示到目标文件或目录的路径。

    • 比如就是/home/kali/1,表示的就是根目录下home目录下kali目录下的1文件
  • 相对路径:以当前目录为起点,完整地表示到目标文件或目录的路径。比如./kali/1

/ bin :基本程序,存放着最经常使用的命令
/boot:存放linux启动时的引导文件
/ dev :设备信息
/etc:存放系统管理所需的配置文件
/home:普通用户家目录
/lib:存放最基本的动态链接共享库,类似windows里的dll文件。
/media:系统识别的一些U盘、光驱等设备挂载到这个目录下
/mnt:默认临时挂载目录
/opt:这是给主机额外安装软件所摆放的目录
/proc:进程信息
/root:root用户家目录
/run:是一个临时文件系统,存储系统启动以来的信息
/sbin:存放的是系统管理员使用的系统管理命令
/srv:存放一些服务启动之后需要提取的数据
/sys:内核文件系统
/tmp:存放临时文件,重启后清空
/usr:用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
/var:存放日志等不断扩充的文件目录

Linux文件命令

  • linux命令遵循一定的基本格式:Command [options] [argument] 也就是命令 [选项] [参数]

文件处理命令

  • ls:命令显示指定工作目录下的内容,如果不提
    供参数,ls将在当前目录上运行。

    • 选项与参数:
      -a:列出指定目录下的所有文件和子目录(包括以“.”开头的隐藏文件)。
      -l:使用长格式显示文件或目录的详细属性信息。

    • ls -al:使用格式化列出隐藏文件

  • touch:更新已存在的文件的事件标签,若文件不存在则创建一个新的文本文件

  • mkdir:创建目录

    • 参数:
      -p:若路径中目录不存在,则创建新目录
      mkdir -p dir/1/2/3/4创建多层目录
      -v:查看文件创建过程
  • cp:将一个或多个源文件复制到指定目录

    • 参数:
      -r :递归处理,将指定目录下的文件及子目录一并处理
      -p:拷贝的同时不修改文件属性,包括所有者,所属组,权限和时间
  • mv:命令用于移动或重命名目录或文件

    • 参数:
      -b: 若需覆盖文件,则覆盖先前备份
      -f:强制的意思,如果文件已经存在,不会询问直接覆盖
  • rm:用于删除一个文件或目录

    • 参数:
      -f:强制删除文件或目录
      -rf:选项-r与-f结合,删除目录中所有文件和子目录,且不一一确定
      -i:在删除文件或目录对要删除的内容逐一进行确认
  • rmdir:删除目录

    • 比如 rmdir dir
  • pwd:显示当前目录绝对路径
    cd命令:改变当前工作目录
    cd ~ //进入home目录,~表示home目录,每个用户的home目录不同,root用户的home目录为/root,其他用户的home目录默认为/home/用户名
    cd / 回到根目录
    cd … 回到上一级目录

文件查看命令

常用文件查看命令

  • cat

    • 原意:concatenate and display files
    • 文件功能:打印文件内容到输出设备
    • 格式:cat 文件名
    • 实例: cat 123.txt
    • 选项和参数
      -b:列出行号,仅针对非空白行号显示,空白行不标行号;
      -n:打印出行号,连同空白行也会有行号,与-b的选项不同
  • more

    • 查看file的内容(一页一页的显示档案内容)
    • 空格键(space):代表向下翻一页
      回车键(Enter):代表向下翻一行
      b 键:往前查看一页;
      q 键:退出。
      在这里插入图片描述
  • head:

    • 查看file的前10行
    • head -n 20 fliename 查看前20行
  • tail:

    • tail -n 文件名查看文件的后n行
    • tail -2 filename 查看一个文件的最后两行
      tail -n +100 只列出100行及以后的数据
  • grep命令可以在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容。

    • 命令格式: grep [选项] 关键字 查找范围
    • 常用选项
      -e:指定字符串做为查找文件内容
      -n: 在显示符合样式的那一行之前,标示出该行的行号
      -r:以递归的方式查找符合条件的文件,并打印出该字符串所在行的内容

编辑文件

  • vi编辑器

vi/vim 的介绍

是linux中最通用的文本编辑器,vim编辑器是从vi发展出来的一个性能能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计,vim与vi编辑器完全兼备

vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。

插入模式:

在一般模式下按下键盘【i, I, o, O, a, A】进入插入模式,屏幕的左下方会出现【–INSERT–】的字样,表示当前模式下,用户可以编辑修改文本的内容。按下【Esc】则退出编辑模式。

末行模式/指令命令模式:

在一般模式下按下键盘【: / ?】任意一个,光标移动到最下面一行,进入末行模式。可以查找数据、替换、可保存文件、退出 vi、显示行号等操作。

  • 复制粘贴:
    yy 复制光标所在行
    p 粘贴
    dd 删除光标所在行(实际是剪切)
    x 删除当前光标所在的字符
    X(大写) 删除当前光标前一个字符
    光标移动:
    h 左移 j 下移 k 上移 l 右(四个箭头也可以上下左右移动)
    H 当前屏幕第一行
    M 当前屏幕中间
    L 当前屏幕最后一行

命令模式
:或者/
w 保存
q 退出
wq 或 x 保存退出
q!不保存强制退出
wq!强制保存并退出,管理员才有权限

Linux的用户和组介绍

用户

  • Linux用户类型分为三类:超级用户、系统用户和普通用户
  • 超级用户:用户名为root或USER ID(UID)为0的账号,具有一切权限,可以操作系统中的所有资源。Root用户可以进行基础的文件操作及特殊的系统管理,可以修改系统中的任何文件。
  • 系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏围。
  • 普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户,能够使用Linux的大部分资源,一些特定的权限受到控制。用户只对自己的目录有写权限,读写权限受一定的限制,有效保证了系统安全性。
  • 需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000开始的(即使前面有闲置的号码)。

用户组

  • 有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,此时最好的方式是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中。那么,所有用户就具有了和组一样的权限,这就是用户组。
  • 用户和用户组的对应关系有以下 4 种:
    • 一对一:一个用户可以存在一个组中,是组中的唯一成员;
    • 一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
    • 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限
    • 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

相关命令
id 查看当前用户身份信息
id user 查看user用户身份信息
whoami 查看当前登录用户名

sudo 以管理员身份执行命令,普通用户默认无法使用sudo命令,需要将用户添加到wheel组当中

su - username是用来改变当前用户的,如:su - root,就是将当前用户切换为root连同环境变量一同切换到root用户,用了su - root之后,下面所有的命令就可以不用打sudo了,因为当前用户已经是管理员root了。同时当从 root用户切换到普通用户时不需要输入密码,而从普通用户切换成 root用户需要进行验证;


  • useradd 创建新的用户
  • 格式:user [选项] 用户名
  • 选项:-d制定用户的家目录 ; -u指定用户逇默认UID; -g制定一个初始的用户基本组

  • passwd 修改用户密码、过期时间、认证信息等
  • 格式:passwd [选项] [用户名]
  • 参数
    • -l 锁定用户,禁止其登录
      -u 解除锁定,允许用户登录
      -d 使该用户可用空密码登录系统
      -e 强制用户在下次登录时修改密码

  • userdel 命令用于删除用户
  • 格式为“userdel [选项] 用户名”。
  • -r //同时删除用户及用户家目录

  • usermod用于修改用户的属性
  • 格式为“usermod [选项] 用户名”。
  • 参数
    • -d -m 参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去
      -u 修改用户的 UID
      -g 变更所属用户组
      -G 变更附加用户组
      -l 修改用户名称

Linux权限管理

之前写过,点这里看

每个文件的权限针对三类对象进行定义:

  • 它的所有者(由u表示)
  • 它的所有组(由g代表),代表该组的所有成员
  • 其他(由o表示,除所有者和所有组的用户)

  • 以下三个命令控制与文件关联的权限:
  1. chmod 更改文件的权限
  2. chown 更改文件的所有者
  3. chgrp 更改所有者组

chmod 修改文件权限
选项
-R : 对目标目录下的所有文件与子目录进行相同的权限变更(以递归的方式逐个变更)

示例:
chmod o=w file 表示给其他人授予写入file这个文件的权限
chmod go-rw file 表示删除file中组群和其他人的读和写的权限


chgrp 更改文件的属组

语法格式
chgrp 选项 username filename

选项
-R:进行递归的持续变更,亦即连同次目录下的所有档案都变更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/2663.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Nginx二】——Nginx常用命令 配置文件

Nginx常用命令 配置文件常用命令启动和重启 Nginx配置文件maineventshttp常用命令 安装完成nginx后,输入 nginx -?查询nginx命令行参数 nginx version: nginx/1.22.1 Usage: nginx [-?hvVtTq] [-s signal] [-p prefix][-e filename] [-c filename] [-…

[数据结构]直接插入排序、希尔排序

文章目录排序的概念和运用排序的概念排序运用常见的排序算法常见的排序算法直接插入排序希尔排序性能对比排序的概念和运用 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操…

FastApi快速构建一个web项目

FastApi快速构建一个web项目 已经使用FastApi很久了。这个一个非常优秀的框架。和flask一样能够快速构建一个web服务。开发效率非常之高。今天我一个Demo来介绍一下这个框架的使用。供大家学习参考。 项目介绍 本项目主要介绍fastapi快速编写web服务,通过案例分别…

贪心算法(一)

一、概念 贪心算法的核心思想是,在处理一个大问题时,划分为多个局部并在每个局部选择最优解,并且认为在每个局部选择最优解,那么最后全局的问题得到的就是最优解。 贪心算法可以解决一些问题,但是不适用于所有问题&a…

音乐制作:Ableton Live 11 Suite Mac

Ableton Live 11 Suite Mac是一款非常专业的音乐制作软件,Live 是用于音乐创作和表演的快速、流畅和灵活的软件。它带有效果、乐器、声音和各种创意功能;制作任何类型的音乐所需的一切。以传统的线性排列方式进行创作,或者在 Live 的 Session 视图中不受…

MyBatisPlus的Wrapper使用示例

一、wapper介绍 1、Wrapper家族 在MP中我们可以使用通用Mapper(BaseMapper)实现基本查询,也可以使用自定义Mapper(自定义XML)来实现更高级的查询。当然你也可以结合条件构造器来方便的实现更多的高级查询。 Wrappe…

【Spring6】| Spring IoC注解式开发

目录 一:Spring IoC注解式开发 1. 回顾注解 2. 声明Bean的四个注解 3. Spring注解的使用 4. 选择性实例化Bean 5. 负责注入的注解(重点) 5.1 Value 5.2 Autowired与Qualifier 5.3 Resource 6. 全注解式开发 一:Spring I…

Springboot+vue开发的图书借阅管理系统项目源码下载-P0029

前言图书借阅管理系统项目是基于SpringBootVue技术开发而来,功能相对比较简单,分为两个角色即管理员和学生用户,核心业务功能就是图书的发布、借阅与归还,相比于一些复杂的系统,该项目具备简单易入手,便于二…

基于深度学习的车型识别系统(Python+清新界面+数据集)

摘要:基于深度学习的车型识别系统用于识别不同类型的车辆,应用YOLO V5算法根据不同尺寸大小区分和检测车辆,并统计各类型数量以辅助智能交通管理。本文详细介绍车型识别系统,在介绍算法原理的同时,给出Python的实现代码…

你掌握了吗?在PCB设计中,又快又准地放置元件

在印刷电路板设计中,设置电路板轮廓后,将零件(占地面积)调用到工作区。然后将零件重新放置到正确的位置,并在完成后进行接线。 组件放置是这项工作的第一步,对于之后的平滑布线工作是非常重要的工作。如果在接线工作期间模块不足…

MagicalCoder可视化开发平台:轻松搭建业务系统,为企业创造更多价值

让软件应用开发变得轻松起来,一起探索MagicalCoder可视化开发工具的魔力!你是否为编程世界的各种挑战感到头痛?想要以更高效、简单的方式开发出专业级的项目?MagicalCoder低代码工具正是你苦心寻找的产品!它是一款专为…

什么是Nginx

一.什么是nginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,是一款由俄罗斯的程序设计师Igor Sysoev使用c语言开发的轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,官方测试nginx能够支支撑5万…

蓝桥杯冲刺 - week1

文章目录💬前言🌲day192. 递归实现指数型枚举843. n-皇后问题🌲day2日志统计1209. 带分数🌲day3844. 走迷宫1101. 献给阿尔吉侬的花束🌲day41113. 红与黑🌲day51236. 递增三元组🌲day63491. 完全…

Java四种内部类(看这一篇就够了)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

详细介绍less(css预处理语言)

详细介绍less(css预处理语言)什么是lessless解决什么问题less相比于css的优点如何使用less第一步:创建一个less文件第二步:引入less文件第三步,编写less文件(和html一样的结构)完整代码示例什么…

C 单链表及其相关算法 万字详解(通俗易懂)

目录 一、前言 : 二、线性结构 1.介绍 2.分类 3.数组和链表的区别 : 三、链表 [离散存储] 1.定义 2.相关概念 3.如何确定一个链表? 4.如何表示链表中的一个结点? 5.链表的分类 四、链表的相关算法 1.链表的创建和遍历 ①准备工作 : ②创建链表 :…

【Vue全家桶】带你全面了解通过Vue CLI初始化Vue项目

【Vue全家桶】带你全面了解通过Vue CLI初始化Vue项目 文章目录【Vue全家桶】带你全面了解通过Vue CLI初始化Vue项目写在前面一、Vue CLI脚手架1.1 认识Vue CLI1.2 Vue CLI 安装和使用二、Vue create 项目的过程2.1 创建项目2.2选择 Manually select features创建2.3 选择Vue的版…

基于Springboot+Vue2前后端分离框架的智慧校园系统源码,智慧学校源码+微信小程序+人脸电子班牌

▶ 智慧校园开发环境: 1、使用springboot框架Javavue2 2、数据库MySQL5.7 3、移动端小程序使用小程序原生语音开发 4、电子班牌固件安卓7.1;使用Java Android原生 5、elmentui ,Quartz,jpa,jwt 智慧校园结构导图▶ 这…

后端接口返回近万条数据,前端渲染缓慢,content Download 时间长的优化方案

前言 性能优化,是前端绕过不去的一道门槛,甚是重要。最近一年,也很少有机会在项目中进行前端性能优化,一直在忙于业务开发。 最近终于是来了机会,遇到了这样的场景,心里也甚是激动,写个随笔记…

【K8S系列】深入解析Pod对象(二)

目录 序言 1.Volume 简单介绍 2 Projected Volume 介绍 2.1 Secret 2.1.1 yaml讲解 2.1.2 创建Pod 2.2 Downward API 2.2.1 yaml示例 2.2.2 Downward API 支持字段 3 投票 序言 任何一件事情,只要坚持六个月以上,你都可以看到质的飞跃。 在…