Linux中shell和Vim的常用命令及Linux下常用快捷键

1 Shell

1.1 Shell概述

操作系统的核心功能就是管理和控制计算机硬件、软件资源,以尽量合理、有效的方法组织多个用户共享各种资源,而Shell则是介于使用者和操作系统核心程序(Kernel)间的一个接口。在各种Linux发行版中,目前虽然已经提供了丰富的图形化接口,但是Shell仍然是一种非常方便、灵活的途径。
Linux中的Shell又被称为命令行,在这个命令行窗口中,用户输入指令,操作系统执行指令并将结果回显在屏幕上。

1.2 Shell的使用

1.2.1 打开终端窗口

两种方式:

  • 右击桌面后选择“在终端中打开”;
  • 打开系统菜单”应用程序”—>”工具” —>”终端”。
1.2.2 切换账户方式

在进入linux系统时如果是用普通用户账号登录,进入终端窗口时命令行提示符以“$”结尾;
如果是超级用户root则是以“#”结尾的。

可以使用su命令在终端窗口中切换账户:

  • su root 切换到root账户
  • su 切换到root账户
  • su (普通用户名称) 切换到该普通用户

注意:超级用户切换到普通用户时,不需要输入密码,普通用户切换到超级用户或普通用户时,需要输入密码。

1.2.3 使用Shell提示符

在Linux系统启动的最后定义了6个虚拟终端,可以供用户随时切换,切换时用Ctrl+Alt+F1~Ctrl+Alt+F6组合键可以打开其中任意一个。不过,此时需要重新登录。
返回原来的图形桌面环境:Ctrl+Alt+F7

1.2.4 Shell中的文件及目录管理命令

1.拷贝文件——cp [-f -i -r] 源文件 目标文件

  • -f 表示直接覆盖
  • -r 递归复制该目录及其子目录下的文件(拷目录)
  • -i 表示要征求用户的意见(用户同意按y才覆盖,按n不覆盖)

例:

命令选项源文件目标文件
cp/etc/passwd/tmp
cp-r/etc/yum/tmp
cp*.c/home/sjh

2.移动文件——mv [-f、-i] 源文件 目标文件

命令选项源文件目标文件
mv/tmp/passwd/etc
mv/tmp/yum/etc
mv*.c/home/sjh
mvtest.txttest222.txt

mv test.txt test222.txt 可以实现重命名操作

3.文件和目录列表——ls [-a -A -d -l -i ]

  • -a 显示包括隐藏文件在内的所有文件
  • -A 显示除隐藏文件“.”和“…”以外的所有文件列表
  • -d 显示目录自身的信息
  • -l 以长格式显示文件或目录的信息
  • -i 显示文件索引节点号(inode)
命令选项文件名或目录名
ls
ls-l
ls- a/root
ls-dil /root

4.删除文件或目录——rm [-i f r] 文件名或目录名

  • -f 直接删除
  • -i 询问删除
  • -r 加上可以删除目录
命令选项文件名或目录名
rm/tmp/*
rm-rf/tmp

5.创建目录——mkdir [-p] 目录名

  • -p 创建多级空目录
命令选项目录名
mkdirfoo
mkdir-pzzti/cs/wl16

6.删除空目录——rmdir [-p] 目录名

  • -p 删除多级空目录
命令选项目录名
rmdirfoo
rmdir–pzzti/cs/wl16

注意:删除非空目录用命令 rm -r

7.查看当前工作目录——pwd

8.切换目录——cd

  • cd 等价于 cd ~ 进入当前用户的主目录
  • cd … 进入当前目录的上一级目录,即当前目录的父目录
  • cd / 进入根目录
  • cd /root 进入/root
  • cd - 返回刚才的工作目录

9.查找文件或目录——find <指定目录> <指定条件> <指定动作>

find是最常见和最强大的查找命令,你可以使用它找到任何 你想要的文件。

  • <指定目录>:所要搜索的目录及其所有子目录。默认为当前目录。
  • <指定条件>:所要搜索的文件的特征。
  • <指定动作>:对搜索结果进行特定的处理。
    如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find / –name wl11.txt 在根目录中查找名称为wl11.txt的文件。
find . -name 'my*' -ls搜索当前目录(含子目录)中,所有文件名以my开头的文件,并列出详细信息。
find / -user sjh 在根目录中查找所有者为sjh的文件。
find / -perm +4000
find /etc -newer /etc/passwd

10.查找文件或目录——locate [-i] keyword
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库。

/var/lib/mlocate/mlocate.db),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

$ locate/etc/sh//搜索etc目录下所有以sh开头的文件。
$ locate~/m//搜索用户主目录下,所有以m开头的文件。
$ locate-i~/m//搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

11.寻找“执行文件”——which [-a] command
根据PATH这个环境变量所规范的路径去查询“执行文件”的文件名。
例如:which ls
which ifconfig
which cd(找不着cd的原因是cd是bash内置的命令,使用type cd试试)
注意:which后面接的是完整文件名。

12.寻找特定文件——whereis [-b、-m、-s、-u] 文件或目录名

  • -b:只找二进制格式的文件
  • -m:只找在说明文件manual路径下的文件
  • -s:只找source源文件
  • -u:查找不在上述三个选项当中的其他特殊文件
whereisifconfig
whereispasswd

13.查询命令的作用——whatis 相当于man –f
例如:whatis ls(等价于man -f ls)

14.查看文件的类型——file
例如:file /bin/ls
file /etc/passwd

2 Linux常用快捷键

快捷键功能
【Tab】①命令补全;②文件名或目录名补全;③连续按下两次【Tab】,显示以输入字符开头的所有命令
【Ctrl】+c①结束目前正在运行的程序;②取消当前命令行的编辑
【Ctrl】+d①结束键盘的输入;②让用户离开文字界面,相当于输入exit;③在命令行中向右删除,相当于按下Del键
【Ctrl】+l终端清屏
【Ctrl】+z将正在运行的程序送到后台
【Ctrl】+r搜索历史命令
【Ctrl】+a移动光标到所在行的行首
【Ctrl】+e移动光标到所在行的行尾
【Ctrl】+u输入了错误的命令,使用该快捷键会擦除从当前光标位置到行首的全部内容
【Ctrl】+k输入了错误的命令,使用该快捷键会擦除从当前光标位置到行尾的全部内容
【Ctrl】+w擦除光标位置前的单词(以空格划分);如果光标在一个单词本身上,它将擦除从光标位置到该单词词首的全部字母
【Ctrl】+y粘贴使用Ctrl+w,Ctrl+u和Ctrl+k快捷键擦除的文本

3 Linux运行级别

Linux系统中定义的7种运行级别:

级别号类型是否常用
0halt(系统关机)
1Single user mode(单用户模式)
2Multiuser,without NFS
3Full Multiuser mode (多用户状态)
4unused
5X11 (登录图形界面)
6Reboot(重启)

从纯命令行模式进入图形用户界面的命令:startx
在/etc/inittab文件中 id:3:initdefault:

运行级别3默认不启动X window图形界面服务;
默认级别5默认启动X window。

  • 运行级别的原理:
    1、在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);
    2、在/etc/rc.d下有7个名为rcN.d(N的取值为0-6)的目录,对应系统的7个运行级别;
    3、rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,这些链接文件的命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字;
    4、系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K(Kill)开头的文件,系统将终止对应的服务;对于以S(Start)开头的文件,系统将启动对应的服务。
  • 与运行级别有关的命令:
    查看运行级别:runlevel
    进入其它运行级别:init N(N的取值为0 1 2 34 5 6)
    init 1 进入单用户模式
    init 3 进入多用户模式
    init 5 登录图形界面
    init 0 系统关机
    Init 6 系统重启

CentOS7.3中设置运行级别的命令:
查看运行级别:systemctl get-default
修改为运行级别3:
systemctl set-default multi-user.target
修改为运行级别5:
systemctl set-default graphical.target

4 Vim

4.1 Vim概述

vi是Visual Editor的缩写,它是一种命令行界面的文本编辑器。而vim则代表了Vi IMproved(增强版vi)。vim不但可以用不同颜色显示文字内容,还能够进行诸如shell脚本,c等程序编辑功能,你可以将vim视为一种程序编辑器。

4.2 Vim的工作模式

  • 一般模式(也叫指令模式):光标移动、删除、复制粘贴、查找替换。

  • 编辑模式:编辑文本,进行文本的插入或者替换等。

  • 命令行模式:保存文件,离开vi,读入文件,显示行号等。

运行vim
vim filename
如果有该文件,则打开文件;如果没有,则新建文件,因此,该命令无论什么时候都不会报错。

4.3 Vim常用命令

4.3.1 编辑模式

vim刚启动的时候,一般处于指令模式,可以利用以下命令进入编辑模式。
①插入模式(insert):i, I
②插入模式(append):a , A
③插入模式(open): o , O
④替换模式(replace):r, R

注意:按【Esc】键退出编辑模式,回到一般模式中。

从一般模式(指令模式)进入编辑模式

指令功能
i在光标前插入字符
I在光标所在行的行首插入字符
a在光标后插入字符
A在光标所在行的行末插入字符
o在光标所在行下插入新的一行
O在光标行所在行上插入新的一行
r替换光标所在的字符,只替换一次
R一直替换光标所在行的字符,直到按下Esc键
4.3.2 一般模式(指令模式)

一般模式下移动光标:

指令功能
h或者←(向左方向键)光标向左移动一个字符
j或者↓(向下方向键)光标向下移动一个字符
k或者↑(向上方向键)光标向上移动一个字符
l或者→(向右方向键)光标向右移动一个字符
Ctrl+f或者PgDn屏幕向文件尾移动
Ctrl+b或者PgUp屏幕向文件头移动一页
n空格(n=1、2…)按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下一行开始向右移动,一直到n
0(数字0)或者Home移动到本行行首
$ 或者End移动到本行行尾
H光标移动到当前屏幕的最顶行
M光标移动到当前屏幕的最中央那一行
L光标移动到当前屏幕的最底行
G光标移动到当前文本的最末行
nG(n=1、2、…)光标移动到文本的第n行
gg光标移动到文本的首行
n回车(n=1、2、…)光标向下移动n行

一般模式下删除、复制、粘贴:

操作功能
/word向光标之后寻找word的字符串,当找到第一个word后,按下“n”继续查找后一个,按下“N”,反方向查找下一个。
?word向光标之前寻找word的字符串,当找到第一个word后,按下“n”继续查找后一个,按下“N”,反方向查找下一个。
:n1,n2s/word1/word2/g在n1和n2之间查找word1字符串并替代成word2
:1,$s/word1/word2/gc在第一行和最末行之间查找word1,替换为word2之前需要用户确认
4.3.3 命令行模式
操作功能
:w保存文本
:w!如果文件属性为只读时,强制保存
:q退出vim
:q!强制退出vim,不管编辑还是未编辑都不保存退出
:wq保存之后退出
:e!将文档还原成最原始状态
ZZ等价于:wq
:w [filename]将文档另存为filename
:r[filename]在光标所在行的下面读入filename文档的内容
:set nu在每行的行首设置行号
:set nonu取消行号
:n1,n2 w [filename]将n1到n2行的内容另存为filename文件中
:! command暂时离开vim,执行某个Linux命令,例如::! ls/home 暂时列出/home下的文件,然后会提示按回车返回vim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值