Linux基础知识(一)
vi的几种模式
- 一般模式
- 编辑模式
- 命令行模式
vim编辑器的使用
vim程序编辑器-插入模式
- i:在光标前插入
末行模式
- 保存::w
- 强制保存::w!
- 退出::q
- 强制退出::q!
- 保存并退出::wq 或者 ZZ
- 另存为filename文件::w[filename]
光标移动
- 屏幕向下移动一页:[ctrl]+f 或 [PgDn]
- 屏幕向上移动一页:[ctrl]+b 或 [PgUp]
- 屏幕向下移动半页:[ctrl]+d
- 屏幕向上移动半页:[ctrl]+u
- 光标移至行首:0(数字)、^或[Home]
- 光标移至行尾:$或[End]
- 光标移至文件的最后一行:G
- 光标移至文件的第一行:gg
- 光标向下移动n行:n+回车
- 移动到58行 :58
- 光标向右移动n个字符:n+空格
查找与替换
- 向下查找一个名称为word的字符串 :/word
- 向上查找一个名称为word的字符串 :?word
- 重复前一个查找操作 :n
- “反向”进行前一个查找操作 :N
- 将n1与n2行之间的字符串word1替换为word2: :n1,n2s/word1/word2/g
删除、粘贴与复制
- 复制光标所在行:yy
- 删除光标所在行:dd
- 删除一块光标下几行区域:Ndd
- 将已复制的数据在光标所在行的下一行粘贴:p(小写)
- 将已复制的数据在光标所在行的上一行粘贴:P(大写)
- 前删:x (相当于Backspace)
- 后删:X (相当于delete)
复制粘贴文件:cp filename
- 把整个目录复制到另一个目录
- cp -r 源目录 指定目录
- 例子:cp -r novel-manage /root
文件移动 mv
- mv 文件名/文件目录 指定文件目录
文件重命名
- mv 原文件名 更改文件名
查找文件
- find / -name 文件名
在第一行新增一行,并插入内容:
- 在非编辑模式下,使用键盘输入【1G】,将鼠标定位在第一行第一个字符
- 使用键盘输入【O】(大写),便新增加一行,再次输入内容
- 保存离开::wq
取消与重复
- 重复前一个操作:u
- 重复上一个操作:[ctrl] + r
块选择
- v : 字符选择,会将光标经过的地方高亮选择
- V :行选择,会将光标经过的行进行高亮选择
- [ctrl] + v :块选择,可以用长方形的方式选择数据
- y :将高亮的地方复制
- d :将高亮的地方删除
多文件编辑
- :n :编辑下一个文件
- :N : 编辑上一个文件
- :files : 列出目前vim(编辑器)打开的所有文件
环境设置参数
- :set nu : 设置 行号
- :set nonu : 取消行号
- :$ : 文件底行
- :1 : 文件首行
Linux用户与组管理
用户类型
- 超级用户(root,UID=0)
- 系统用户(UID=1~999)
- 普通用户(UID=1000~60000)
用户账号配置文件
用户账号配置文件:/etc/passwd
root:x:0:0:root:/root:/bin/bash
权限管理-用户组
Linux的组分为:
- 私有组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
- 系统组:系统组是Linux系统自动建立的
- 标准组:标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。
一个用户可以属于多个组,用户所在的组又有初始组和有效组之分。
- 用户登录时属于的组叫做这个用户的初始组
- 用户创建文件时,文件所属组称为用户的有效组。
权限管理-用户管理
- 添加用户命令:uesradd [选项] 用户名
- -u:设置UID,用户ID和用户名必须是唯一的。
- -g:指定用户所属的初始用户组(组必须存在)。
- -G:设置用户所属的其他用户组。
- -c:添加用户说明
- -d:设置用户主目录路径
- -s:设置用户登录时使用的shell
- 示例:
- useradd user1
- useradd -u 1002 -g users user1
- 删除用户命令
- -r:删除用户的同时将用户主目录删除
- 设置用户密码命令 :password [-r] 用户名
- -l:锁定用户(只有root用户可以操作)
- -u:解锁用户(只有root用户可以操作)
- 输入 “passwd 用户名”设置用户名的密码
权限管理-用户组管理
- 添加用户组命令:groupadd -g gid groupname
- 删除用户组命令:groupdel groupname
- 如果组中有用户,应先删用户,再删组。
- 当该组是某个用户的初始组时,不能删除
- 管理用户组属性
- groups:查看用户的所属组
- groupmod:-g指定GID,-n指定name;
- 注意,不要随便改动GID的值
- newgrp命令
- 如果一个用户同时属于多个组,用户可以在不同的用户组间进行切换
- newgrp 用户组
Linux文件权限
文件权限-访问权限
- 访问权限规定三种不同类型的用户
- 文件属主(user):文件的所有者,称为属主。
- 同组用户(group):文件属组的同组用户
- 可以访问系统的其他用户(other)
- 访问权限规定三种访问文件或目录的方式
- 读(r):允许读取文件内容或者列目录。
- 写(W):允许修改文件内容或者创建、删除文件
- 可执行或查找(x):允许执行文件或者允许使用cd命令进入目录
- 一些命令
- u:User,即文件或目录的拥有者
- g:group,即文件或目录的所属集群
- o:Other,除u和g,其他用户皆属于这个范围
- a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
- r:读取权限,数字代号为“4”
- w:写入权限,数字代号为“2”
- x:执行或切换权限,数字代号为“1”
- -:不具任何权限,数字代号为“0”
文件权限-数字形式修改文件权限
- 数字形式即由三位八进制数字组成,其命令格式为:
- chmod 八进制模式 文件名
举例:
chmod 641 f1
等价于 chmod u+wr,g+r,o+x f1
文件权限-默认权限
[root@localhost ~]# umask 结果:0022
[root@localhost ~]# umask -S 结果:u=rwx,g=rx,o=rx
- umask指定用户在新建文件和目录时候的权限默认值
- umask值可以修改 umask 044
- 默认情况下用户创建文件则没有可执行的权限 也即是666
-rw-rw-rw - 默认情况下用户创建目录权限是777
-rwxrwxrwx - 目录的权限x是指该用户能够进入到目录
- 创建目录时默认权限 drwxr-xr-x
文件权限-特殊权限SUID
当s这个标志出现在文件所有者的x权限上时,如”-rwsr-xr-x”,就被称为Set UID,简称SUID。这个特殊权限的特殊性的作用是:
- SUID的权限仅对二进制程序有效
- 执行者对于该程序需要具有x的可执行权限
- 本权限仅在执行该程序的过程中有效(run-time)。
- 执行者将具有该程序拥有者(owner)的权限。
文件权限-特殊权限SGID
当s这个标志出现在文件所属用户组的x权限上时,如”-r-x–s–x”,就被称为Set GID,简称SGID。这个特殊权限啊的特殊性的作用是:
- SGID对二进制程序有效
- 程序执行者对于该程序来说,需具备x的权限。
- SGID主要用在目录上。
- 执行者在执行的过程中,将会获得该程序用户组的支持。
文件权限-特殊权限SBIT
Sticky Bit(SBIT)当前只针对目录有效,对文件没有效果。其对目录的作用是:
- 在具有SBIT的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除。
- 换句话讲:当甲用户属于A目录的group成员或属于other,且拥有 w 权限时,可以对该目录内任何人建立的目录或文件进行“删除/重命名/移动”等操作。不过,如果将A目录加上了SBIT权限,则甲用户只能针对自己建立的文件或目录进行“删除/重命名/移动”等操作。
文件权限-ACL权限
设定ACL权限的命令:setfacl 选项 文件|目录
- -m:设定ACL权限
- -x:设定指定的ACL权限
- -b:删除所有的ACL权限
- -d:设定默认的ACL权限
- -k:删除默认的ACL权限
- -R:递归设定ACL权限
查看ACL权限的命令:getfacl 文件|目录
- -d:显示默认的ACL权限
- -R:显示目录及其子目录和文件的ACL权限
- -c:不显示文件或目录的基本信息
- -E:不显示有效权限
CentOS7命令行与图形界面启动模式修改
- 命令启动
systemctl set-default multi-user.target
- 图形界面模式
systemctl set-default graphical.target
补充:Ctrl+c,Ctrl+d,Ctrl+z在Linux中意义
- Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样
- Ctrl+c是强制中断程序的执行。
- Ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态。
- Ctrl+d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2017/07/24/Linux/Linux基础知识(一).html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)