1.vi和vim简介
vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。
尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
vim是vi的增强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
vi和vim具有三种模式:
一般模式: 用vi或者vim命令打开文件(vim test.txt),进入了一般模式;
可以查看文件的内容,并且可以通过上下左右键移动光标,查看文件的某一部分,但是不能编辑文件内容
编辑模式:在一般模式下,按下 i 或 a,进入编辑模式;可以编辑文件内容;但是不能保存编辑的内容
按下 Esc 键回到一般模式
命令模式:在一般模式下,按下 shift + :进入命令模式
输入: q! ------- 不保存强制退出编辑器
wq ------ 保存并且退出编辑器
q ------- 只是退出编辑器
vi 和 vim 编辑器的快捷键
1.复制当前行:在一般模式下,按 yy , 把光标所在行复制到剪切板
按 p,把剪切板中的内容粘贴到光标所在的下一行
2.复制当前行往下5行:在一般模式下,按 5yy , 把光标所在行往下5行复制到剪切板
按 p,把剪切板中的内容粘贴到光标所在的下一行
3.在文本文件中查找关键字:在命令行模式下,输入/关键字,回车,按n表示光标查询下一个关键字
4.删除光标所在当前行:在一般模式下,按 dd , 删除光标所在行
5.删除光标所在当前行往下5行:在一般模式下,按 5dd
6.撤销上次编辑的内容:在一般模式下,按 u
7.显示行号:命令行模式下,设置文件的行号,取消文件的行号.[命令行下(: set nu) 和(:set nonu)]
注意:在编辑模式和命令模式都可以通过Esc 回到一般模式下
2.Linux用户管理
1.任何一个要使用Linux系统资源的用户,都必须首先向**系统管理员**申请一个账号,然后以这个账号的身份进入系统。
root用户是系统安装时候默认创建的管理员账号。由root账号创建普通账号
2.添加用户:useradd [选项] 用户名
useradd lisi
创建一个用户 lisi
在/home目录下创建用户的根目录,目录名称默认跟用户名相同
在Linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中
useradd -d /home/ww wangwu 创建用户的同时,指定用户的根目录,此种用法较少
3.给用户设置密码:passwd 用户名
passwd lisi 回车 输入密码 密码要满足一定的复杂度
4.删除用户:userdel 用户名
userdel lisi 保留用户名的主目录
userdel -r lisi 删除用户的同时级联删除用户名的主目录
5.查看用户信息:id 用户名
id admin 查看用户admin的信息
例如:uid=1003(admin) gid=1003(admin) groups=1003(admin) 包含用户ID 组ID groups 包含了用户所在的所有组。
6.切换用户:su 用户名
su admin:切换到admin用户。
注意:从高权限用户切换到低权限用户时,不需要输密码;否则,需要输密码。
另:exit命令可以回到原来的用户
3.Linux组管理
Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。
每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中
root用户默认属于root组
1.添加组:groupadd 组名
groupadd dev
2.删除组:groupdel 组名
groupdel dev
3.把用户添加到组中:gpasswd -a 用户名 组名
gpasswd -a zhangsan dev 把zhangsan添加到dev组
4.把用户从组中移除:gpasswd -d 用户名 组名
gpasswd -d zhangsan dev:把zhangsan从dev组中移除。
5.创建用户的时候指定组(主组):useradd -g 组名 用户名
useradd -g dev lisi
4.Linux中的系统操作命令
关机:
shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now 立即重启
重启: reboot
同步数据库:sync
5.Linux中的帮助命令
1.用来查看Linux系统手册上的帮助信息:man 命令名称
man ls
分屏显示,按回车翻一行,按空格翻一页,按q退出查看
2.用来查看命令的内置帮助信息:help 命令名称
help cd
6.Linux中目录和文件的操作指令
1.查看当前所在目录:pwd
例如:
[root@localhost testDir]# pwd
/opt/testDir
注意:是绝对路径
2.查看指定目录下所有的子目录或文件列表:ls [指定目录]
例如:
[root@localhost home]# ls /home
lisi wangqing
ls 查看当前目录下的所有子目录和文件列表
ll 以列表的形式显示当前目录下的所有子目录和文件(ls -l 的简写)
ls -a /home:显示指定目录下的所有子目录和文件(包括虚拟的目录)
例如:
[root@localhost opt]# ls /home
lisi wangqing
[root@localhost opt]# ls -a /home
. .. lisi wangqing
[root@localhost opt]# ll /home
总用量 4
drwx------. 5 lisi lisi 128 4月 25 11:24 lisi
drwx------. 14 wangqing wangqing 4096 4月 25 16:35 wangqing
[root@localhost opt]# ll -a /home
总用量 4
drwxr-xr-x. 4 root root 34 4月 25 11:04 .
dr-xr-xr-x. 17 root root 233 4月 23 17:07 ..
drwx------. 5 lisi lisi 128 4月 25 11:24 lisi
drwx------. 14 wangqing wangqing 4096 4月 25 16:35 wangqing
3.切换目录:cd 目录名 (目录中可以是绝对目录或相对目录)
绝对目录:以盘符开始的目录,从盘符开始查找目标目录 cd /opt/testDir
相对目录:以目录名开始的目录,从当前目录开始查找目标目录 cd testDir
注意:~表示当前用户的根目录 cd ~ 表示进入当前用户的根目录
若当前是lisi用户
例如:[lisi@localhost ~]$ cd ~
[lisi@localhost ~]$ pwd
/home/lisi
若当前是root用户
例如:
[root@localhost ~]# cd ~
[root@localhost ~]# pwd
/root
注意:.. 表示当前目录的上一级目录 cd .. 表示进入当前目录的上一级目录
. 表示当前目录
4.创建目录:mkdir 目录名 (可以是绝对目录也可以是相对目录)
例如:mkdir /opt/testDir/test1 在testDir目录下创建了一个目录test1
例如:[root@localhost testDir]# mkdir test2 在当前目录testDir下创建子目录test2
在testDir下面创建特test3目录,并且test3下面创建test4目录
例如:[root@localhost testDir]# mkdir -p test3/test4
5.删除目录:rmdir 目录名
rmdir test3 只能删除空目录
若要删除一个非空目录 则使用 rm -rf 目录名
例如:rm -rf test3
6.创建文件 vi/vim 创建后并打开文件(且只能创建一个文件)
创建一个或多个空文件:touch 文件名列表(文件名之间用空格隔开)
touch t1.txt t2.txt t3.txt
7.复制文件:cp source(源) desc(目标目录)
例如:文件复制
test和testDir在同层级,且testDir下有一个text1.txt文件,将此文件复制到test目录下
cp t1.txt ../test
例如:文件夹复制 -r 表示递归复制
test和testDir在同层级,且test目录非空,将test目录复制到testDir目录下
cp -r test testDir
注意:若复制中出现重复文件或目录,例如:p:是否覆盖"../test/t1.txt"? 输入y表示覆盖 输入n表示不覆盖
若复制的是目录,且出现重复那么可以在cp前添加\表示强制覆盖,无需确认 \cp -r test testDir
8.删除文件或目录:rm 文件名或目录名 f表示强制(force) r(recursion)表示递归
rm t1.txt 提示删除文件,但是有提示 rm:是否删除普通空文件 "t1.txt"?输入y表示确定 输入n表示取消
rm -f t1.txt 强制删除文件,没有提示
rm -rf test2 强制递归删除目录(目录中有文件),没有提示
9.移动文件或目录:mv source(源) desc(目标目录)