一、文本编辑器(vi/vim) 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
(一)命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
-
iao
切换到输入模式,以输入字符。 -
x
删除当前光标所在处的字符。 -
:
切换到底线命令模式,以在最底一行输入命令。
i:在光标所在字符前开始输入
a:在光标所在字符后开始输入
o:在光标所在行的下面另起一新行输入
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
(二)输入模式
在命令模式下按下i就进入了输入模式。
在输入模式下,按Insert切换输入/替换模式。
在输入模式下,按Esc键退出输入模式,切换到命令模式。
(三)底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
在底线命令模式中,基本的命令有:
-
q
退出程序 -
w
保存文件 -
q!
撤销本次修改并退出编辑
按ESC键可随时退出底线命令模式。
二、基础命令
(一)目录操作命令
1、目录切换 cd
命令:cd 目录
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ~ 切换到home目录
cd - 切换到上次访问的目录
2、目录查看 ls
命令:ls [-al]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
3、目录操作【增删改查】
(1) 创建目录【增】 mkdir
命令:mkdir 目录
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
(2) 删除目录或文件【删】rm
命令:rm [-rf] 目录
删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录下的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf* 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
(3) 目录修改【改】mv 和 cp
重命名目录:
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
剪切目录:
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
拷贝目录:
命令:cp -r 目录名称 目录拷贝的目标位置
(-r代表递归)
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
(4) 搜索目录【查】find
命令:find 目录 参数 文件名称
示例:find /usr/tmp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件( *匹配多字符,?匹配单字符)
(二)文件操作命令
1、文件操作【增删改查】
(1) 新建文件【增】 touch
命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt
(2) 删除文件 【删】 rm
命令:rm -rf 文件名
(-r 递归删除 -f 强制删除)
(3) 修改文件【改】 vi或vim
vi编辑器的3种模式
(4) 文件的查看【查】 cat/more/less/tail
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
tail -10 sudo.conf
2、权限修改 chmod
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。读取的权限等于4,写入的权限等于2,执行的权限等于1。
通过4、2、1的组合,得到以下几种权限:
0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限
命令:chmod +x aaa.txt
或者采用8421法
命令:chmod 100 aaa.txt
(三)su、sudo
1 su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录
su - test : 切换到test用户,路径变成了/home/test
su : 切换到root用户,但是路径还是原来的路径
su - : 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit
2 sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
进入sudo配置文件命令:
vi /etc/sudoer或者visudo
案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop ALL=(ALL) ALL
注意:第一个 ALL 是指网络中的主机, 我们可以指定主机名, 这样 hadoop 只可以. 在此主机上执行后面的命令。第二个括号里的 ALL 是指目标用户,也就是以谁的身份去执行命令。最后一个 ALL 是指命令名了。
例如,我们想让 hadoop 用户在 node-23 主机上以 allen 的身份执行 kill 命令, 就这样编写配置文件:
hadoop node-23= (allen) /bin/kill.