在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
在模式下,程序员可以输入内容。
按下i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按i 即可
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
:wq 保存并退出
:q 不保存退出
:q! 强制退出
命令行 vi或vim xxx
编辑模式<----(i)------正常模式----(:或/)------>命令模式-------->:wq或:q或:q!
------(esc)-----> <---(esc)------
在linux 中的每个用户必须属于一个组,不能独立于组外。在linux 中每个文件有所有者、所在组、其它组的概念。
1) 所有者
2) 所在组
3) 其它组
4) 改变用户所在的组
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
1) 指令:ls -ahl
2) 应用实例:创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组 ,然后使用 tom 来创建一个文 件 ok.txt,看看情况如何
groupadd police
useradd -g police tom
passwd tom
touch ok.txt
指令:chown 用户名 文件名
要求:使用root 创建一个文件apple.txt ,然后将其所有者修改成 tom
chown tom apple.txt
groupadd 组名
创建一个组,monster
创建一个用户 fox ,并放入到 monster 组中
groupadd monster
useradd -g monster fox
id fox
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。
基本指令
ls –ahl
基本指令
chgrp 组名 文件名
使用root 用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police 组。
chgrp police orange.txt
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组.
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root 的管理权限可以改变某个用户所在的组。
1) usermod –g 组名 用户名
2) usermod –d 目录名 用户名 改变该用户登陆的初始目录。
创建一个土匪组(bandit)将 tom 这个用户从原来所在的police 组,修改到 bandit(土匪) 组
usermod -g bandit tom
id tom
运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3 和5,
要修改默认的运行级别可改文件 /etc/inittab 的id:5:initdefault:这一行中的数字
init [012356]
案例1: 通过init 来切换不同的运行级别,比如动 5->3 , 然后关机
init 3
init 5
init 0
请设置我们的 运行级别,linux 运行后,直接进入到 命令行界面,即进入到3 运行级别
vim /etc/inittab
将 id:5:initdefault:这一行中的数字, 5 这个数字改成对应的运行级别即可。
如何找回root 密码,如果我们不小心,忘记root 密码,怎么找回。
思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。
开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用passwd 指令来修改root 密码。
当我们对某个指令不熟悉时,我们可以使用Linux 提供的帮助指令来了解这个指令的使用方法。
man [命令或配置文件](功能描述:获得帮助信息)
案例:查看ls 命令的帮助信息
man ls
help 命令 (功能描述:获得shell 内置命令的帮助信息)
案例:查看cd 命令的帮助信息
help cd
pwd (功能描述:显示当前工作目录的绝对路径)
案例:显示当前工作目录的绝对路径
pwd
ls [选项] [目录或是文件]
•常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
案例:查看当前目录的所有内容信息
ls -l
cd [参数] (功能描述:切换到指定目录)
常用参数
绝对路径和相对路径
cd ~ 或者cd :回到自己的家目录
cd .. 回到当前目录的上一级目录
案例1:使用绝对路径切换到root 目录
cd /root
案例2: 使用相对路径到/root 目录
假如现在位置在/usr/lib
cd ../../root
案例3:表示回到当前目录的上一级目录
cd ..
案例4:回到家目录
cd
cd ~
mkdir 指令用于创建目录(make directory)
基本语法
mkdir [选项] 要创建的目录
常用选项
-p :创建多级目录
案例1:创建一个目录 /home/dog
mkdir /home/dog
案例2:创建多级目录 /home/animal/tiger
mkdir -p /home/animal/tiger
介绍
rmdir 指令删除空目录
基本语法
rmdir [选项] 要删除的空目录
使用细节
rmdir 删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
案例1:删除一个目录 /home/dog
rmdir /home/dog
rm -rf /home/dog
touch 指令创建空文件
基本语法
touch 文件名称
案例1: 创建一个空文件 hello.txt
touch hello.txt
touch ok1.txt ok2.txt
cp 指令拷贝文件到指定目录
基本语法
cp [选项] source dest
常用选项
-r :递归复制整个文件夹
案例1: 将 /home/aaa.txt 拷贝到 /home/bbb 目录下[拷贝单个文件]
touch aaa.txt
mkdir bbb
cp aaa.txt bbb/ 表示将当前目录的文件拷贝到当前目录的文件夹
案例2: 递归复制整个文件夹,
举例:将/home/test 整个目录拷贝到 /home/zwj 目录
cp -r test/ zwj/
强制覆盖不提示的方法:\cp
\cp -r test/ zwj/
rm 指令移除【删除】文件或目录
基本语法
rm [选项] 要删除的文件或目录
常用选项
-r :递归删除整个文件夹
-f : 强制删除不提示
案例1: 将 /home/aaa.txt 删除
rm aaa.txt
案例2: 递归删除整个文件夹 /home/bbb
rm -rf bbb/
mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
案例1: 将 /home/aaa.txt 文件 重新命名为 pig.txt
mv aaa.txt pig.txt
案例2:将 /home/pig.txt 文件 移动到 /root 目录下
mv pig.txt /root/
cat 查看文件内容,是以只读的方式打开。
基本语法
cat [选项] 要查看的文件
常用选项
-n :显示行号
使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
cat 文件名 | more [分页浏览]
案例1: /etc/profile 文件内容,并显示行号
cat -n /etc/profile | more
more 指令是一个基于VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
基本语法
more 要查看的文件
快捷键
空格键:向下翻一页
enter:向下翻一行
q:立即离开
ctrl+f:向下滚动一屏幕
ctrl+b:返回上一屏幕
=:输入当前行的行号
:f :输出文件名和当前行的行号
案例: 采用more 查看文件 /etc/profile
more /etc/profile
less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
基本语法
less 要查看的文件
快捷键
空格键:向下翻一页
pagedown:向下翻一页
pageup:向上翻一页
/字符串 :向下搜寻字符串:n:向下查找,N:向上查找
?字符串 :向上搜寻字符串:n:向上查找,N:向下查找
q:离开
案例: 采用less 查看一个大文件文件 /opt/金庸-射雕英雄传txt 精校版.txt
less 金庸-射雕英雄传txt 精校版.txt
> 指令 和 >> 指令
> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
基本语法
ls -l >文件 (功能描述:列表的内容写入文件a.txt 中(覆盖写))
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt 的末尾)
cat 文件1 > 文件2 (功能描述:将文件1 的内容覆盖到文件2)
echo "内容" >> 文件
案例1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中
ls -l /home/ > /home/info.txt
案例2: 将当前日历信息 追加到 /home/mycal 文件中 [提示 cal ]
cal >> /home/mycal
echo 输出内容到控制台。
基本语法
echo [选项] [输出内容]
案例: 使用echo 指令输出环境变量,输出当前的环境路径。
echo $PATH
head 用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容
基本语法
head 文件 (功能描述:查看文件头10 行内容)
head -n 5 文件 (功能描述:查看文件头5 行内容,5 可以是任意行数)
案例: 查看/etc/profile 的前面5 行代码
head -n 5 /etc/profile
tail 用于输出文件中尾部的内容,默认情况下tail 指令显示文件的后10 行内容。
基本语法
tail 文件 (功能描述:查看文件后10 行内容)
tail -n 5 文件 (功能描述:查看文件后5 行内容,5 可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)
案例1: 查看/etc/profile 最后5 行的代码
tail -n 5 /etc/profile
案例2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
tail -f mydate.txt
软链接也叫符号链接,类似于windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
细节说明
当我们使用pwd 指令查看目录时,仍然看到的是软链接所在目录。
案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
ln -s /root linkToRoot
案例2: 删除软连接 linkToRoot
rm -rf linkToRoot
查看已经执行过历史命令,也可以执行历史指令
基本语法
history (功能描述:查看已经执行过历史命令)
案例1: 显示所有的历史命令
history
案例2: 显示最近使用过的10 个指令。
history 10
案例3:执行历史编号为5 的指令
!5