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" zhangsan
passwd 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.rpm
YUM命令:
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
例子(需要上网,没有网络可以建本地源):
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++