Linux学习笔记(一)——基本命令及vim文档

一、文本编辑器(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.

上一篇:python-- json 序列化


下一篇:题解 UVA12727 The Sightseeing Tour