Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)

  • 创建、查看和编辑文本文件
    • 将输出重定向到文件或程序
      • 输入和输出
      • 输出重定向
      • 输入重定向
      • 管道符 |
      • 管道和重定向——tee
    • 通过命令行编辑文件
      • vim命令行文本编辑工具
  • 管理本地用户和组
    • 概念
      • 用户
      • 用户配置文件
    • 管理用户
      • 新建用户
      • 删除用户
      • 修改用户属性
  • 练习题
  • 教材总结

创建、查看和编辑文本文件

将输出重定向到文件或程序

输入和输出

标准输入STDIN 默认是键盘输入,也可以是其他命令处理的结果,或是一个文件里的内容

标准输出STDOUT 正确的结果,默认传送到终端窗口,可以输出给下一个命令或一个文件

标准错误输出STDERR 警告信息,默认传送到终端窗口,可以输出给下一个命令或一个文件

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第1张图片

输出重定向

> 覆盖式重定向

ls > 1.txt  #将ls的结果重定向到1.txt  重定向可以同时新建文件(覆盖)

>>附加式重定向

ls >> 1.txt #将ls的结果追加重定向到1.txt    不会覆盖原有内容

标准输出重定向

1 > right.txt

标准错误重定向

2>error.txt

丢弃错误(删除)

ls 2 > /dev/null

标准输出和错误都重定向到一个文件

 ls & > file.txt 或 ls > file.txt 2 > &1

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第2张图片

输入重定向

一般只在写脚本或一些高级操作时才用,例如数据的备份恢复 mysqldump < 备份

< 和<<

管道符 |

一个或多个命令的序列,将一个命令的标准输出连接到下一个命令的标准输入(两个进程间加一条管道,让一个进程的输出流向另一个进程)

ls -l /usr/bin | less    #ls输出并使用less在终端上以一次一屏方式显示输出

ls /dev | grep a  #grep是筛选,筛选/dev中包含a字符的文件和目录

ls /dev | grep a | grep "1$" #先筛选带a结果,再筛选1结尾结果

cat 文件 | wc -l  #看看文件几行(几核?)

管道和重定向——tee

重定向与管道结合时,shell会先设置整个管道,然后重定向输入/输出

如果在管道的中间使用了输出重定向,则输出将转至文件,并且less不会在终端上显示任何内容

tee克服这个限制,将标准输入复制到标准输出中,并且将标准输出重定向到指定为命令参数的文件
Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第3张图片

ls -l | tee /tem/saved-output | less  #ls输出重定向到文件,并且输出传递到less在终端一次一屏显示

注意

使用tee后不再需要再使用>进行重定向

tee应用于重定向以及前往下一个进程的使用,而不是简单的“三通接口”

tee命令用在管道末尾将会重定向到文件中,同时输出到终端

通过命令行编辑文件

vim命令行文本编辑工具

vim模式(模式切换)

vim 文件名(直接创建文件进入文件)

编辑模式(插入模式)、命令模式(普通模式)、

扩展命令模式(末行模式)、可视模式(shift+V:行模式;ctrl+V:块模式;这两种模式可以选择一片区域的内容)
Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第4张图片

修改模式快捷键【普通模式】

跳到文件首行:gg 跳到文件末尾:G 清空行:cc 删除所选:x 复制(拖拉):y 粘贴(放置):p

剪切行:dd 撤销:u 列出/撤销行序号:set nu/nonu 查找:/

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第5张图片

管理本地用户和组

概念

用户

用户账户用于在运行命令的不同人员和程序之间提供安全界限

用户类型

超级用户:0 root用户,系统中至高无上权限

系统用户:1-999,用来做系统服务的用户

普通用户:1000+,基本使用系统的用户

用户配置文件

/etc/passwd 存储所有用户的大部分信息

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第6张图片

/etc/shadow 存储用户密码信息

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第7张图片

root用户具有直接修改这两个文件的权限(不受文件系统限制)

管理用户

新建用户

useradd <用户名> 

passwd <用户名> 设置用户密码(不设则无法登录,复杂度有要求,root用户不受限)

新建用户 ken,要求 UID 为610,注释为 thisisken,家目录为 /ken,非交互式登录

useradd –u 610 –c thisken –d /ken –s /sbin/nologin ken 
tail -1 /etc/passwd #查看最后一行

默认情况下,新建用户会从1000开始分配 UID,具有同样 UID 的用户具有同样的权限,并且可以接管之前用户的文件。

解决方案:

userdel -r <用户名> #同步删除文件 

find / -nouser -nogroup #查找无人拥有的目录和文件(因为拥有者被删除了),然后再 手动分配至这些文件。

删除用户

userdel <用户名>

可能正在运行某个程序导致删不了,要逐层退出结束前面的进程

修改用户属性

usermod [选项] <用户>

usermod -l bob ken  #修改ken用户的名称为bob。

使用-l 选项修改用户名称,选项与 useradd 基本一致

不同机但UID相同的用户对同一对应文件有权限

usermod -L/-U <用户>  #锁定/解锁用户

useradd -o -u 0 admin #使用 -o 选项去除 UID 的唯一性 

usermod -L root #锁定 root 用户,U 解锁

由于 root 用户具有非常高的权限,因此,锁定 root 用户是非常的操作,使用 -L 选 项进行锁定的原理是在 root 用户的密码前加了一个感叹号。

除此以外,可以将 root 用户的 shell 修改为 nologin shell 也可以显示禁止 root 用 户登录的效果。

练习题

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第8张图片
Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第9张图片
Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第10张图片

教材总结

Linux基础:创建、查看和编辑文本文件+管理本地用户和组(20210712笔记)_第11张图片

你可能感兴趣的:(学习笔记,linux)