【Linux】当初的学习笔记 2

简介: 【Linux】当初的学习笔记 2

vim文本编辑器

命令模式

dd:删除(剪切)光标所在整行

ndd:删除(剪切)从光标开始的n行

yy:复制光标所在整行

nyy:复制从光标处开始的n行

n:显示搜索命令定位的下一个字符串

N:显示搜搜命令定位到的上一个字符串

u:撤销上一步操作

p:将之前删除(dd)或复制(yy)过来的数据粘贴到光标后面

work:查找work。从下往上搜索work这个字符串。

/work:查找work。从上往下搜索work这个字符串。

输入模式

a:在光标所在字符后插入

i:在光标所在字符前插入

o:在光标下插入新行

A:在光标所在行尾插入

I:在光标所在行首插入

末行模式

:q:退出

:w:保存

:q!:强制退出(不保存)

:wq!:强制保存退出

:setnu:显示行号

:setnonu:隐藏行号

:行号:定位到该行

:命令:执行该命令

:整数:跳转到该行

:n1,n2s/word1/word2/gc:从n1行到n2行的字符串,将word1替换为word2。gc表示是否确认替换的询问肯定回答。

定位

gg:到第一行

G:到最后一行

nG:到n行

$:行尾

0:行首

查找

eg:例如要查找/boot

因为/有特殊含义,所以需要使用\将其转换为一个普通字符

:?\/boot

eg:例如查找特殊单词 io

\<io\>

向上查找
:?
向下查找
:/

查找后定位到下一个字符(n),上一个字符(N

替换

:n1,n2s/word1/word2

将n1到n2行的字符串中的word1替换为word2

替换前询问是否替换

:n1,n2s/word1/word2/gc

恢复

撤销快捷键:Ctrl+r

vim崩溃恢复:

if(vim.崩溃==true){
恢复文件(.xxxx.swp){
R;
}
}

文件系统架构

文件通配符

只能匹配非隐藏文件

快速创建多个文件

touch 文件名{num1..num2}

实例:Practice

目录管理

创建目录

mkdir文件夹名称

嵌套创建目录

mkdir-pdirA/dirB

mkdir-pdirA/dir{x,y}

复制文件cp

如果复制文件夹,需要添加参数 -r

如果存在同名文件,需要添加参数-i

删除文件rm

删除目录 -r

全部删除 -f

移动文件mv

-i 交互式操作,如果文件存在,出现覆盖情况会先询问,要求用户回答以避免误操作覆盖文件

-f 禁止交互式操作,覆盖也不会给出提示

归档管理tar  gzip

tar

-c 创建压缩文件

-x 解压

-t 查看压缩包内文件

-z 用Gzip压缩或者解压

-j 用bzip2压缩或者解压

-v 显示压缩或者解压的过程

-f 目标文件名

-p 保留原始属性与权限

-P 使用绝对路径来压缩

-C 解压到指定目录

创建压缩包 tar -zcvf fileName filePwdAndName

解压 tar -zxvf fileName

gzip

-c 把压缩后的文件输出到标准输出设备,不去更动原始文件

-d 将压缩文件解压

-数字 压缩效率是介于1-9的数值,预设值为6,指定越大的数值,压缩率越高

Linux文件安全模型

用户组

相同特征的用户集合。用户组作为用户容器,方便管理用户

文件类型 文件属主 同组用户 其他用户
d(目录文件) r(读)w(写)x(执行)
-(非目录文件)

链接数:可来到该文件的所有路径

用户名:

组名:

文件大小:

文件修改日期:

文件名:

字符设备:一个字节一个字节读写(鼠标,键盘,LED设备等)

修改所属用户和用户组chown

只能有用户本身或超级用户才能去修改文件的权限

chown [参数] 属主[:组] 文件或者目录

同时修改目录及其子目录所属用户和用户组

chown -R root:root 文件夹名称

读取4,写入2,执行1

所有者、用户组,公共

q1.png

修改文件或者目录的权限 chmod
chmod g- rx,o- rx 文件夹名称

u:所属用户

g:用户组

o:公共

-:减去权限

+:增加权限

=:赋予新的权限(覆盖旧的权限)

r:4

w:2

x:1

组、用户组、存储文件

/etc/passwd

内容包括:用户名 | 用户ID | 用户主组ID | 家目录 | 用户Shell

字段意义:(书上也有)

序号 说明 备注
1 用户组名
2 组密码 没有太大作用,一般都显示“x”字符(实际密码存放在:/etc/gshadow 文件夹中)
3 GID 用户组ID,GID是用户组的唯一标识
4 组中附加用户

/ect/shadow

字段 说明 备注
用户名
加密密码
密码最后一次修改日期
两次密码修改间隔时间
密码有效期
密码修改到期前的警告天数
密码过期后的宽限天数
账号失效时间。留空则永不失效

/ect/gshadow

/ect/gshadow 是 ect/passwd的影子文件,二者互补

useradd命令

作用:添加用户。默认创建与用户同名的组

-u UID

-d 家目录

-g 用户组

-b, --base-dir BASE_DIR 指定新账户的家目录;

-c, --comment COMMENT 新账户的 GECOS 字段;

-d, --home-dir HOME_DIR 新账户的主目录;

-D, --defaults 显示或更改默认的 useradd 配置;

-e, --expiredate EXPIRE_DATE 新账户的过期日期;

-f, --inactive INACTIVE 新账户的密码不活动期;

-g, --gid GROUP 新账户主组的名称或ID;

-G, --groups GROUPS 新账户的附加组列表;

-h, --help 显示此帮助信息并推出;

-k, --skel SKEL_DIR 使用此目录作为骨架目录;

-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值;

-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库;

-m, --create-home 创建用户的主目录;

-M, --no-create-home 不创建用户的主目录;

-N, --no-user-group 不创建同名的组;

-o, --non-unique 允许使用重复的 UID 创建用户;

-p, --password PASSWORD 加密后的新账户密码;

-r, --system 创建一个系统账户;

-R, --root CHROOT_DIR chroot 到的目录;

-s, --shell SHELL 新账户的登录 shell;

-u, --uid UID 新账户的用户 ID;

-U, --user-group 创建与用户同名的组;

-Z, --selinux-user SEUSER 为SELinux 用户映射使用指定 SEUSER。

id
id 用户名

查询用户信息

usermod

修改组

添加扩展组

usermod -G 扩展组 用户名
usermod -u {ID} -g {初始组} -G {扩展组} {用户名}
passwd

-l 锁定用户,禁止登陆

-u 解锁

-S 查看状态

echo '密码' | passwd --stdin 用户名
userdel

-r 删除和用户相关的目录例如用户家目录

groupadd

创建用户组

-r :系统用户组

让渡用户权限
1./etc/sudoers

文件类型:文本文件

打开方式:visudo

2.字段
字段 说明
1 授权给用户或者用户组。①不以%开头的表示“被授权的用户”,eg:root | ②以%开头的表示“被授权用户组”,eg:wheel
2 允许登陆的主机。
3 授权哪些用户或用户组的权限
4 执行指定指令时是否需要输入当前用户密码(不需要 则写:NOPASSWD:
5 授权给用户的命令。多个命令逗号(英文输入状态下)隔开

注意事项:

1.命令要使用绝对路径(可以通过whereis查询命令路径)

<用户名> <权限> <切换sudo时是否需要输入密码> 添加记录

重定向和管道

一、输入输出重定向

标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令中输入

标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕

错误输出重定向(STDERR,文件描述符2):默认输出到屏幕

文件描述符是一个非负整数,用于指代被打开的文件,所有与文件读写相关的系统调用都是通过文件描述符调用起来的。

符号 作用 备注
命令 > 文件 标准输出重定向到一个文件中(会清空原有文件数据) 命令 1> 文件
命令 2> 文件 错误输入重定向到一个文件中(会清空原有文件数据)
命令 >> 文件 标准输出重定向到一个文件中(会追加到原有文件数据后) 命令 1>> 文件
命令 2>> 文件 错误输出重定向到一个文件中(会追加到原有文件数据后)
命令 >> 文件 2>&1
命令 &>> 文件

标准输入错误重定向到回收站:命令 2>/dev/null

输入重定向

统计文本文件行数

wc -l < stderr.txt

-l

-w

-c

二、简单过滤器命令

more
head -行数 文件名(顺序)
tail -行数 文件名(倒叙)

替换

tr 原始字符 目标字符

提取

cut 参数 文本

用“列”提取文本字符

按列搜索,要用-f 参数设置需要查看的列数,-d设置间隔符号

排序

sort -r /etc/passwd |  sort

去重

uniq 消除连续重复的行

sort 文件名 | uniq 
sort 文件名 | uniq -c

三、管道命令符

序号 字段
1 远程主机IP
2 远端用户标识(已废弃)
3 远程用户名
4 请求时间
5 请求第一行(典型格式:请求方法/访问资源协议)
6 状态代码(显示客户端的请求是否成功)
7 发送字节数(服务器发送给客户端的总字节数)
8 请求来源
9 客户端浏览器识别信息
相关文章
|
6月前
|
网络协议 Java Linux
Linux学习笔记
Linux学习笔记
108 0
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
存储 运维 Shell
运维.Linux.bash学习笔记.数组及其使用
运维.Linux.bash学习笔记.数组及其使用
36 0
|
4月前
|
Shell Linux
RSIC-V“一芯”学习笔记(二)——Linux入门教程
RSIC-V“一芯”学习笔记(二)——Linux入门教程
|
5月前
|
数据可视化 Shell Linux
技术笔记:Linux学习笔记1
技术笔记:Linux学习笔记1
33 0
|
6月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
6月前
|
缓存 Unix Linux
Linux学习笔记
Linux学习笔记
278 0
|
6月前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念