知识小分享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识小分享相关的知识,希望对你有一定的参考价值。

知识小分享

hello,大家好,又到了一周一分享的时候了,今天我们来说些什么呢?请看下面:


 首先是通配符(可以认为是初级别的正则表达式),所以要理解透彻啊,为以后的学习打下基础。  

1文件通配符

^:以什么什么开头
*:匹配零个或多个字符
?:匹配任何单个字符
~:当前用户家目录
~mage: 用户mage家目录
~+ :当前工作目录
~-:前一个工作目录
【0-9】匹配数字范围
【a-z】匹配小写字母范围
【A-Z】匹配大写字母范围
【xingtao】匹配列表中的任何一个字符
【^xingtao】匹配列表中的所有字符以外的字符
通配符特殊符号
【:digit:】任意数字,比如0-6
【:lower:】任意小写字母
【:upper:】任意大写字母
【:alpha:】任意大小写字母
【:alnum:】任意数字和字母 所有的字母和数字
【:blank:】t水平空白字符
【:space:】所有横向或纵向的空白
【:punct:】标点符号
【:print:】可打印字符(所有课打印字符和空白)
【:cntrl:】控制(非打印)字符
【:graph:】图形字符
【:xdigit:】十六进制字符

.:任意长度的任意字符;
\? : 匹配其前面的字符0或1次;
+ :匹配其前面的字符至少1次;
n :匹配前面的字符n次;
m,n : 匹配前面的字符至少m次
,n :匹配前面的字符至多n次;
n, :匹配前面的字符至少n次。
: :匹配前面字符出现任意次
?: :匹配前面出现字符0次或1次;
+: ;匹配前面出现字符1次或多次;
m: :匹配前面出现字符m次;
m,n: :匹配前面出现字符最少m次,最多n次

2文件管理

用户密码
passwd [OPTIONS] UserName: 修改指定用户的密码
常用选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码 =chage -d 0 用户名,
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
示例:echo "PASSWORD" | passwd --stdin USERNAME
newusers: passwd格式文件,批量创建用户 chpasswd:批量修改用户口令
更改和查看组成员
groupmems [options] [action]
options:
-g, --group groupname 更改为指定组 (只有root)
actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
groups [OPTION].[USERNAME]... 查看用户所属组列表
用户,组,和权限:
Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
用户创建:useradd
默认值配置:/etc/default/useradd=useradd -D
useradd [options] LOGIN 显示或更改默认设置
-u: UID useradd
-o :配合-u 选项,不检查UID的唯一性 -s:SHELL
-g :GID 指明用户所属基本组,(创建主组)
-c :注释信息,增加描述
-g:group
-d :HOME_DIR 以指定的路径为家目录,若无会自动生成。
-s :SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G :创建附加组,组须事先存在(-aG,追加新的附加组)
-N :不创建私用组做主组,使用users组做主组
-r :创建系统用户
CentOS 6: ID<500,CentOS 7: ID<1000(不会默认创建家目录)
-m: 创建家目录,用于系统用户
-M :不创建家目录,用于非系统用户
/etc/skel/ :创建用户家目录的模板
若失误删掉了用户家目录,
(1)cp /etc/skel/ /home/xing/
(2)chmod 744 /home/xing/
(3) chown xing /home/xing
/etc/login.defs:关于创建用户时的默认配置
用户修改:usermod
-l:改名字,
列如:usermod -l zhang yang -d /home/zhang
把×××改为小张,并创建小张的家目录。
-L:锁定
-e:指定账号过期日期
-U:将/etc/shadow中的!除掉。
删除用户:userdel:
-r:删除用户家目录
su - root -c ‘cat /etc/passwd‘:表示切换到root,执行完命令后再回到原用户
chfn:指定个人信息
chsh:指定SHELL
finger:用户信息
groupadd
-g gid:指定gid号
-r:创建系统组
groupmod -n newname :该为newname
groupdel group:删除组
gpasswd -a user:将user添加至指定组中
-d user :从指定组中移除用户
user -A user1,user2,... 设置有管理权限的用户列表
newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码

这一部分比较杂,得花点功夫呀!

3 文件编辑之神--vim


vim [OPTION]... FILE...
+# : 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN :让光标处于第一个被PATTERN匹配到的行的行首
–b file :二进制方式打开文件
–d file1 file2… : 比较多个文件
-m file : 只读打开文件
vim -e file 或 ex file 直接进入ex模式
如果该文件存在,文件被打开并显示内容
如果该文件不存在,当编辑后第一次存盘时创建它


共有三种模式:命令模式;插入模式;扩展命令模式
命令模式 到 插入模式:
i :insert, 在光标所在处输入
I :在当前光标所在行的行首输入
a :append, 在光标所在处后面输入
A :在当前光标所在行的行尾输入
o :在当前光标所在行的下方打开一个新行
O :在当前光标所在行的上方打开一个新行

扩展命令模式:关闭模式

:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出

命令模式

ZZ 保存退出
ZQ 不保存退出
“:”进入Ex模式:即扩展命令模式
创建一个命令提示符: 处于底部的屏幕左侧
常见命令
w :写(存)磁盘文件
wq :写入并退出
x :写入并退出
q :退出
q! 不存盘退出,即使更改都将丢失
r filename : 读文件内容到当前文件中
w filename :将当前文件内容写入另一个文件!command :执行命令
r!command :读入命令的输出


H :跳到行首 L:跳到行尾 M :跳到中间
字符间跳转:
h: 左 l: 右 j: 下 k: 上
#COMMAND:跳转由#指定的个数的字符
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
#COMMAND:由#指定一次跳转的单词数
当前页跳转:
H:页首 M:页中间行 L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
#G :跳到#行
G :跳到末行 列如:10G,跳到第十行
行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
行间移动:
#G :或者扩展命令模式下:# 跳转至由第#行
G :最后一行
1G, gg :第一行
句间移动:
) :下一句
( :上一句
段落间移动:
:下一段
: 上一段
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏

命令模式下:

100iwang [ESC] 粘贴“wang” 100次
<start position><command><end position>
常见Command
y 复制、d 删除、gU 变大写、
例如: 0y$ 命令
0 → 先到行头 y → 从这里开始拷贝 $ → 拷贝到本行最后一个字符
di" 光标在 ” “ 之间,则删除”“之间的内容
yi( 光标在( )之间,则复制( )之间的内容
vi[ 光标在[]之间,则选中[]之间的内容
dtx 删除字符直到遇见光标之后的第一个 x 字符
ytx 复制字符直到遇见光标之后的第一个 x 字符
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向 N:与命令反方向

扩展命令模式:

ctrl+ v :选中
w:另存 (r :读入)
vim + o + 文件 + 文件 :两个文件都可显示,上下视图。
ctrl +w+上/下方向键:切换光标位置 q:退出
help option-list
配置文件:
/etc/vimrc (全局)
~/.vimrc (个人)
vi/vim内置帮助
help
help topic
Use :q to exit help
vimtutor:vim练习场,边看边练

在扩展模式下完成查找替换查找:

/要查找的内容/替换为的内容/修饰符
要查找的内容:可使?模式
替换为的内容:不能使?模式,但可以使?\1,\2,...等后向引?符号,还可使?&引?前?查找时查找到的整个内容
修饰符:
i:忽略??写
g:全局替换,默认情况下,每??只替换第?次出
gc:全局替换,每次替换前询问
查找替换中的分隔符(/),可替换为其它字符,例如:
s@/etc@/var@g
s#/boot#/#i
撤销更改:
u:撤销最近的更改
#u:撤销之前的#次更改
U:撤销光标落在这?后所有的此?的更改
Ctrl+r:重做最后的撤销更改 ctrl +v:选中
.(点号):重复前?个操作
n.:重复前?个操作n次

这个大神貌似东西也相当多啊,默默不吭声,加油!!!

4文件权限

文件属性操作
chown 设置文件的所有者 (可以同时该所有者和所属组)
-R:递归修改,(不仅文件夹更改,文件夹中文件也会更改)
--reference f1,f2 :表示参考f1修改f2
chgrp: 设置文件的属组信息

文件权限

文件:
r :可使用文件查看类工具获取其内容
w :可修改其内容
x :可以把此文件提请内核启动为一个进程
目录:(即文件夹)x权限对目录来说是基本权限
r :可以使用ls查看此目录中文件列表
w :可以删除和创建新文件
x :进入目录,访问目录
X :只给目录x权限,不给文件x权限(只针对目录)
mkdir f2 -m 700:表示新建f2文件夹,权限为700,-m:后面跟权限
umask值 可以用来保留在创建文件权限
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建目录的默认权限: 777-umask
非特权用户umask是 002
root的umask 是 022
umask: 查看
umask # 设定 比如:umask224,即umask值为224
示例:umask 002
umask u=rw,g=r,o=
umask –S 模式方式显示
umask –p 输出可被调用
全局设置: /etc/bashrc 用户设置:~/.bashrc
特殊权限:
suid:(用单独的数字4表示)
作用于二进制可执行程序,当用户执行此程序时,将会临时继承此程序所有者的权限
sgid:(用单独的数字2表示)
1)作用于二进制可执行程序,当用户执行此程序时,将会临时继承此程序所属组的权限
2)作用于目录,当用户在此目录下创建新文件时,文件的所属组会自动继承此目录的所属组
stikcy:作用于目录,用户只能删除自已的文件(属于other,chmod o+t 文件名,即加上此权限
chatti
+i:不能删除,改名,更改。
+a:只能增加,不能删改。
-R:递归,针对于全部文件下。
lsattr:看此权限,显示特定属性。
ACL:访问控制列表
生效顺序:1所有者 2acl权限 3对用户 4other
对用户设置acl权限:列如:setfacl -m u:xing:rw f2
对组设置acl权限:setfacl -m g:g1:rw f2
解除facl权限 :
setfacl -x u:xing f2
setfacl -x g:g1 f2
查看文件权限:getfacl f2
setfacl -R -b dir/ ;直接清掉所有acl权限
设置facl权限后:组权限就变成了mask权限
mask权限可以更改:setfacl -m umask::rw f1
除了root 其他用户权限 都不能超过mask(相对于acl设置的用户)
如果用户在两个组里,则用户的权限是两个组的权限的叠加,但不能超过mask权限)

时间紧,任务重,记了忘,忘了再记,记了再忘,如此循环中,便将知识都给消化了,学习知识无捷径,只要功夫到,就能学到真本领,不说了,我要去大海边去收集知识了。下周见,bye!

以上是关于知识小分享的主要内容,如果未能解决你的问题,请参考以下文章

初学LINUX,一些自己的小分享

函数式编程小分享

校招面试经验小分享,阿里腾讯美团字节实习offer

Js模型和封装(没毕业的孩子,一点拙劣的小分享,欢迎批评和补充)

unity3d俯视角简易移动控制脚本及其易错点小分享

python简单爬虫