一、新建(添加)新用户
1.自动建立用户的登录目录(/home/xx
)
sudo useradd -m xx
2.切换到超级用户模式
su root
su xx #(切换到其他用户)
注意:
输入 su root
后提示:su:认证失败。则需要设置密码。
sudo passwd
3.更改用户密码
sudo passwd xx #(指定更改密码的用户名)
说明:
普通用户需要权限使用sudo,若切换至超级用户su root模式下,可直接输入命令,例如:passwd xx
4.vim 命令
退出 vim: Esc键 + :q
保存退出: Esc键 + :wq
强制退出: Esc键 +:q!
编辑 : i键
说明:使用vim 命令打开文件,发现权限为只读,若要编辑文件,需要超级用户模式下去编写,或者使用sudo
5.su xx 发现新建用户乱码
su xx
su root
vim /etc/passwd
将新建用户配置 xx.......::/home/xx:/bin/sh
修改为:xx.......::/home/xx:/bin/bash
二、注销(删除)用户
1. 删除用户
$: sudo userdel xx
提示:userdel :user xx is currently used by pricess 4380 (提示端口被占用),此时,需要把端口kill
.
方法1:关掉终端,终止进程,然后打开终端,重新输入指令:sudo userdel xx
(无法继续登录,但信息还保留着)
方法2:sudo userdel -r xx
(如果删除不成功,关掉终端再打开继续执行指令) (全部信息删除)
三、创建用户组
1.查看用户所在用户组的用户成员
$: groups
2.创建用户组
$: su root
#: groupadd name
3.切换组 (将xx划分到name组里)
$: su xx
$: sudo newgrp name
提示:xx不在sudoers文件中。此时将会被报告。(没有提权权限)
#: su root
#: cd /etc
#: vim sudoers #(只读)
#: ls -l #(查看权限)
-r--r----- 1 root root ... .. . .... sudoers
(root用户的权限只有r的权限,root用户组的权限也只有r的权限)
`#: chmod u+w sudoers` #(添加权限) 权限控制 (chmod 命令)
#: ls -l
-rw--r----- 1 root root ... .. . .... sudoers
#: vim sudoers #(可读可写)
添加xx的权限:
root ALL=(ALL:ALL) ALL
XX ALL=(ALL:ALL) ALL (添加)
4.重新用户组的切换
#: su xx
$: sudo newgrp name #(xx 切换到name组)
#: su xx
$: groups #(查看组成员)
四、删除用户组 (sudo groupdel name
)
$: su root
#: groupdel name
五、权限详解
$: ls -l #(查看文件权限)
-rw-r--r-- 1 bd bd 8980 10月 26 2019 examples.desktop
drwxr-xr-x 2 bd bd 4096 3月 12 09:21 py_ssh
1.第一个字符 (表示类型)
- : 文件
d :目录
2.第二列(表示文件或目录的权限,9个字符,3个字符为一组)
(
rw-)第一组:所有者(用户)的权限 u
(r--)第一组:所属组的权限 g
(r--)第一组:其他人的权限 o
r (4): 读
w (2): 写
x (1): 执行 (如果是可执行文件,必须有可执行权限才可以运行;如果是目录,表示有进入目录的权限)
- : 无
说明:第一第二列连在一起。1+2=3: 写和执行的权限;4+2+1=7:读、写、执行的权限
3.第三列(硬链接个数,文件夹引用计数)
1
4.第四列(所有者)
bd
5.第五列(所属组)
bd
6.第六列(文件大小或文件夹大小)
8980
7.第七列(修改时间)
10月 26 2019
8.第八列(文件名,目录名)
examples.desktop
六、权限设置 (chmod
)
语法:chmod 要操作的对象(+,-)权限 要操作的文件
$: chmod u-w test.py #所有者(用户)不能写这个文件
$: chmod u+w test.py #添加所有者(用户)写的权限
$: chmod o-r test.py #其他用户不能看这个文件
$: chmod o+wr test.py #添加其他用户读写的权限
七、更改文件或目录所属的用户组(chgrp
)
$: sudo chgrp xx text.py #(text.py属于一个这个组)
$: ls -l #(查看)
八、将文件或者目录更改新的属主与属组(chown
)
$: sudo chown -R xx:xx text.py # (xx(用户):xx(用户组))
九、vim 使用(vi 的升级版本,体积小,速度快,效率高,东西多不好记)
1.命令模式(打开vim就是命令模式)
yy : 复制当前行 (复制都是从光标开始,往后计算)
nyy : 复制n行
p :粘贴
yw :复制一个单词
u :撤销
ctrl+r :取消撤销
2.插入模式(进行文本编辑)
i 当前插入
a 后面插入
o 下行插入
esc键 退出插入模式,返回命令模式
3.末行模式(esc键,进入命令模式,:进入末行模式
)
退出 vim: Esc键 + :q
保存退出 Esc键 + :wq
强制退出 Esc键 +:q!
4.寄存器(Vim有多个寄存器:这个寄存器就相当于多个粘贴板, Vim提供了 a-z 26个命名寄存器, 0-9 10个数字寄存器,还有一些特殊寄存器)
复制内容存入指定的粘贴板:
3"ayy : 复制3行放到a寄存器 (行数"寄存器名yy)
"ap :粘贴
:reg :查看寄存器内容
5.末行模式下的替换 (先按ESC键)
:%s/^/#/g 快速全文注释 (%s:每行;/^:开头;/#:符号;/g:全局)
:%s/$/;/g 每行末加上 ;
:set nu 显示行号
:set ai 自动缩进
6.命令搜索
$: where ls ls命令所在的目录以及帮助文档所在的位置
$: which ls 查看ls命令的位置以及别名
7.find 命令 ( find 命令格式:find [-path] -options
)
$: find ./ -name "*.py" # (当前目录下查找任意内容开头,后缀名为.py的文件, ./ 可省略)
$: find -name "?.py" #(查找文件名为一个字符的.py文件)
$: find -name "?.py" | xargs rm #(删除文件名为一个字符的.py文件)
path :要查找的目录,默认是当前目录
option:
-name 按文件名的某种规则的查找
-type 按文件类型查找 f 普通文件 l 符号连接 d 目录
-size 按文件大小查找
通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
8.grep 命令 (grep 命令格式:grep –options file
)
-c 计算符合范本样式的列数。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-o 只输出文件中匹配到的部分。