Linux学习-Linux系统及编程基础笔记

useradd zhangsan

passwd zhangsan

visudo往/etc/sudoers文件中添加zhangsan

#visudo 找到如下的行 root ALL=(ALL) ALL

往该行下面添加zhangsan zhangsan ALL=(ALL) ALL

2.2 Linux的基本结构

一些根文件系统中较为重要的二级目录:

①/boot: 存放系统引导时所需的文件,包括Linux内核以及引导装载程序(boot loader)等。

②/bin(binary): 存放可执行程序。

③/dev(device): 存放设备文件和特殊文件。

④/etc: 存放系统配置文件。

⑤/home: 普通用户的主目录所在位置。

⑥/lib: 存放基本共享库文件和内核模块。

⑦/mnt(mount): 用于为需要挂载的文件系统提供挂载点。

⑧/proc(process): 存放与内核和进程有关的信息。

⑨/root: 根用户的主目录

⑩/tmp(temporary): 存放临时性文件

?/usr(user): 存放可共享的只读数据文件

?/var(variable): 存放各类数据文件

2.2.3 基本shell命令

1、文件管理命令

  1. (list)命令

    列出目录的内容,包括文件和子目录的名称

    • -a:列出所有文件,包括“.”开头的隐含文件

    • -d:将目录按照文件显示

    • -F:加上文件类型指示符 ,其中 * 表示可执行普通文件,“/”表示目录,“@”表示符 链接,“|”管道,“=”套接字

    • -R:用于递归列出子目录中的内容(大写)

    • -l:以列表形式列出详细信息

基本用法:

  1. 命令模式

    输入vi [文件路径],如果文件不存在则会创建。

    • i:从当前位置插入
    • a:从当前位置的下一个位置插入
    • /字符串:输入搜索的在字符串,定位在第一个匹配搜索字符串的地方
    • n:定位到下一个匹配搜素 字符串的地方
  2. 末行模式 输入“:”

    • :w 写入到指定路径下的文件
    • :q 退出vim
    • :q! 不保存直接退出
移动光标

按字移动光标

  • w/W:讲光标右移到下一个字(w是指小写字,W是大写字(字包括空格之间的内容))
  • b/B:左移

按句子和段落移动光标【左括 向左移、右括 向右移】

  • “()” 光标按句移动。“句”指的是以句 、问 、叹 结尾
  • “{}”将光标按段落移动。

按行移动

  • 0:移动到当前行 行首
  • $:移动到行尾
  • G:将光标移动到最末尾行首。或者[行 ]G,例如 5G移动到 第5行

屏幕内移动

  • H:屏幕第一行 最左端
  • M:中间
  • L:底部一行
文本插入
  • i/I:在光标位置前/行首插入
  • a/A:在光标位置 之后/行尾 追加文本
  • o/O:在当前行 的上面 /下面 打开一行
文本删除

命令模式下:

  • x/X:删除当前/光标左边 字符

  • dd:删除当前行

文本赋值与粘贴
  • yw:将光标所在位置 到字尾 的字符 复制到 缓冲区
  • yy:将一行复制到缓冲区
  • p:将缓冲区的字符粘贴到光标所在位置
文本查找与替换
  1. 查找
    • /text再按回车:向下搜索text出现位置
    • ext:向上搜索
  2. 替换

3、shell命令进阶

3.1.1 通配符

  1. 表示任意长度的任何字符

  2. 表示任意一个字符

  3. 指定一个符 的取值范围,可以用!取反

3.1.2 特殊符

  1. 分 隔开多条命令并使他们能够连续执行

  2. :指定当前命令在后台执行(用户可以继续输入下一个命令)

  3. 转义符 (原本通用符 和特殊符 被解释为某种含义和功能,要表示为本身的话要用转义字符)

3.2 正则表达式

使用gerp举例

grep [选项] ‘模式字符串 ’ 文件列表

  • -n 输出行
  • -i:忽略大小写
  • -v:反转匹配(过滤掉不符合的)

按终端属性过滤

  • /etc/shadow:用户密码加密后存储的位置,仅root可以访问

  • 用户组群管理:

    • /etc/group:用户组群的基本信息

      组群名称 :组群密码:组群id:组群用户列表

    • /etc/gshadow:存储用户组群汇总与安全有关的基本信息(/etc/passwd的影子文件,存用户的加密口令)

    4.1 主要管理命令

    把 /etc/passwd 和 /etc/shadow理解为两张数据表,表里每一行对应的是一个用户账 。那么所有的都是增删改查。

    1. :添加一个用户账 (需要有根用户权限)

      • :已存在一个组,新增用户要加入的主要组
      • :已存在一个组,新增用户要加入的附件组
      • :指定用户主目录

    2. 命令:设置密码(只有root用户可以)

      [选项] [用户]

      举例:

    3. 命令

      查看用户账 的UID、GID以及所属组群等信息

    4.2 组群管理命令

    1. 命令:增加一个用户组群

      • groupadd [-g gid] groupname

      -g:该选项后面需给出数字参数,用于指定新建组群的GID。

    2. 命令 :查看用户所属的所有组群

    4.3 用户账 切换

    可以用命令切换为根用户,操作完之后使用命令重新切换回原用户,或者普通用户切换要密码

    由于执行命令还需要输人用户密码,当普通用户需要利用命令切换为根用户并执行管理操作时,还需要提供根用户密码才能进行操作。然而这样显然并不利于根用户密码的保护和管理。更为稳妥的方法是让普通用户直接使用命令执行某个管理操作,此时只需输入普通用户的密码即可。不过作为安全保护机制,普通用户在使用命令之前

    1. (substitute user)命令:切换用户
    2. :以root用户执行命令操作

    100 道 Linux 笔试题笔记(四)31-40_暮雨橙海的博客-CSDN博客_使用ln命令可生成一个名为old

    • :改变文件或目录访问权限(所有者)

    • :改变文件所属的用户组(组ID、组名)

    • 用于转换删除字符

      • tr a-z A-Z
    • swap为交换分区,也就是虚拟内存

      • 以显示当前系统未使用的和已使用的内存数目
    • 系统每分钟会处理一次计划任务

    • 扩展:Linux下各种查找命令(find, grep, which, whereis, locate)
      https://blog.csdn.net/wzzfeitian/article/details/40985549

    • 显示Linux系统用户数:

    • **/etc/mtab文件的作用:**记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的
      **etc/fstab文件的作用 :文件系统挂载表,用于管理文件系统信息。开机的时候设备与入口对应关系 开机自动挂载列表。**记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。

    • (1)软连接可以跨文件系统,硬连接不可以
      (2)硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加,只要结点的连接数不是O,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点 作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名。
      (3)软连接可以对一个不存在的文件名进行连接。
      (4)软连接可以对目录进行连接。

    5、文件管理

    5. 1 Linux的文件类型

    一切皆文件。

    命令使用 的文件类型代码

    普通文件
    目录 d
    字符设备文件 c
    块设备文件 b
    符 链接文件 l
    套接字 s
    管道 p
    1. 普通文件

      还有的二进制文件是特殊数据类型。如:和,他们需要last和lastb命令读出文件中的信息。

    2. 目录

      属于特殊文件;

      记录了 它内部 所有文件的属性信息。

    3. 设备文件

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年6月1日
    下一篇 2022年6月1日

    相关推荐