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一样的盘符该鸟,所有文件都在根目录下存储。
linux简单入门_第1张图片

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

    • 比如就是/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 键:退出。
      linux简单入门_第2张图片
  • 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:进行递归的持续变更,亦即连同次目录下的所有档案都变更

你可能感兴趣的:(学习,linux,unix,windows)