VIM文本编辑器:
vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。VIM工作模式:一般模式、插入模式、底行模式
插入命令:
i | 在光标前插入 |
I | 在光标当前行开始插入 |
a | 在光标后插入 |
A | 在光标当前行末尾插入 |
o | 在光标当前行的下一行插入新行 |
O | 在光标当前行的 |
定位命令:
:set nu | 显示行号 |
:set nonu | 取消行号 |
gg | 到文本的第一行 |
G | 到文本的最后一行 |
:n | 到文本的第n行 |
删除命令:
x | 删除光标所在处字符 |
nx | 删除光标所在处后的n个字符 |
dd | 删除光标所在行。ndd删除n行 |
dG | 删除光标所在行到末尾行的所以内容 |
D | 删除光标所在处到行尾的内容 |
:n1,n2d | 删除指定范围的行 |
替换和取消命令:
u | undo,取消上一步操作 |
Ctrl + r | redo,返回到undo之前 |
r | 替换光标所在处的字符 |
R | 从光标所在处 |
常用快捷键:
Shift+ zz | 保存退出,与“:wq”作用相同 |
v | 进入字符可视模式 |
V 或 Shift + v | 进入行可视模式 |
Ctrl + v | 进入块可视模式 |
2.用户和组账户管理
linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
配置文件:
保存用户信息的文件:/etc/passwd
保存密码的文件:/etc/shadow保存用户组的文件:/etc/group保存用户组密码的文件:/etc/gshadow用户配置文件:/etc/default/useradd/etc/passwd格式
使用命令:man 5 passwd
account:password:UID:GID:GECOS:directory:shell用户名 | 用户登陆系统的用户名 |
密码 | 密码位 |
UID | 用户标示号 |
GID | 默认组标示号 |
描述信息 | 存放用户的描述信息 |
宿主目录 | 用户登陆系统的默认目录,默认是在/home/下 |
命令解析器 | 用户使用的Shell,默认是bash |
Linux用户分类:
超级用户:(root,UID=0)
普通用户:(UID在500到60000) 伪用户:(UID在1到499) 系统和服务相关的:bin、daemon、shutdown等 进程相关的:mail、news、games等 为用户不能登陆系统,而且没有宿主目录/etc/shadow格式:
查看命令:man 5 shadow
用户名 | 登陆系统的用户名 |
密码 | 加密密码 |
最后一次修改时间 | 用户最后一次修改密码距现在的天数,从1970-1-1起 |
最小时间间隔 | 两次修改密码之间的最小天数 |
最大时间间隔 | 密码有效天数 |
警告时间 | 从系统警告到密码失效的天数 |
账号闲置时间 | 账号闲置时间 |
失效时间 | 密码失效的天数 |
标志 | 标志 |
用户组:
每个用户至少属于一个用户组
每个用户组可以包含多个用户 同一个用户组的用户享有该组共有的权限/etc/group格式:
组名 | 用的所在的组 |
组密码 | 密码位,一般不使用 |
GID | 主标示号 |
组内用户列表 | 属于改组的用户列表 |
操作用户命令:
添加用户命令:useradd
-u 指定组ID(uid)-g 指定所属的组名(gid)-G 指定多个组,用逗号“,”分开(Groups)-c 用户描述(comment)-e 失效时间(expire date)例子:useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsanpasswd zhangsan修改用户命令:usermod(user modify)
-l 修改用户名 (login)usermod -l a b(b改为a)-g 添加组 usermod -g sys tom-G添加多个组 usermod -G sys,root tom–L 锁定用户账号密码(Lock)–U 解锁用户账号(Unlock)删除用户命令:userdel(user delete)-r 删除账号时同时删除目录(remove)注:userdel –r 删除账号时同时删除目录
操作用户组命令:
添加组:groupadd
-g 指定gid 修改组:groupmod -n 更改组名(new group) 删除组:groupdel groups 显示用户所属组3.权限管理:
三种基本权限
r 读权限(read) w 写权限(write) x 执行权限 (execute)-rwxrw-r--
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户权限,用u(user)表示 第5-7位:所属组权限,用g(group)表示 第8-10位:其他用户权限,用o(other)表示 第2-10位:表示所有的权限,用a(all)表示 完整信息:一个文件,所属用户具有读写执行权限;所属组的用户 有读写权限,没有执行权限;其他用户只有读权限更改操作权限:
chmod修改文件权限命令(change mode)
参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的) 例如:chmod u+x a.txt用数字来表示权限(r=4,w=2,x=1,-=0) 例如:chmod 750 b.txt rwx用二进制表示是111,十进制4+2+1=7 r-x用二进制表示是101,十进制4+0+1=5 3.RPM软件包管理:RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
RPM命令使用:rpm的常用参数
i:安装应用程序(install)e:卸载应用程序(erase)vh:显示安装进度;(verbose hash) U:升级软件包;(update) qa: 显示所有已安装软件包(query all)结合grep命令使用例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpmYUM命令:
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
例子(需要上网,没有网络可以建本地源):yum install gcc-c++yum remove gcc-c++yum update gcc-c++