Shell 可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。我们可以 通过终端控制台来输入命令,由 shell 进行解释并最终交给内核执行。 本章就将分类介绍 常用的基本 shell 命令。
7.1 帮助命令 7.1.1 man 获得帮助信息 1)基本语法 man [命令或配置文件] (功能描述:获得帮助信息) 2)显示说明 3)案例实操 (1)查看 ls 命令的帮助信息
[ root@hadoop101 ~ ] # man ls
7.1.2 help 获得 shell 内置命令的帮助信息 一部分基础功能的系统命令是直接内嵌在 shell 中的,系统加载启动之后会随着 shell 一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”;相应的其它命令 被称为“外部命令”。 1)基本语法 help 命令(功能描述:获得 shell 内置命令的帮助信息) 2)案例实操 (1)查看 cd 命令的帮助信息
[ root@hadoop101 ~ ] # help cd
7.1.3 常用快捷键
ctrl + c 停止进程 ctrl+l 清屏,等同于 clear;彻底清屏是:reset 善于用 tab 键 提示(更重要的是可以防止敲错) 上下键 查找执行过的命令
7.2 文件目录类 7.2.1 pwd 显示当前工作目录的绝对路径
pwd: print working directory 打印工作目录
1)基本语法 pwd (功能描述:显示当前工作目录的绝对路径) 2)案例实操 (1)显示当前工作目录的绝对路径
[ root@hadoop101 ~ ] # pwd
/root 7.2.2 ls 列出目录的内容 ls:list 列出目录内容 1)基本语法 ls [选项] [目录或是文件] 2)选项说明 表7-3 选项说明 选项 功能 -a 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) -l 长数据串列出,包含文件的属性与权限等等数据;(常用)等价于“ll” 3)显示说明 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte 来表示 建立或最近修改的时间 名字 4)案例实操 (1)查看当前目录的所有内容信息
[ atguigu@hadoop101 ~ ] $ ls - al
总用量 44
drwx-- -- -- . 5 atguigu atguigu 4096 5 月 27 15 : 15 .
drwxr- xr- x. 3 root root 4096 5 月 27 14 : 03 . .
drwxrwxrwx. 2 root root 4096 5 月 27 14 : 14 hello
- rwxrw- r-- . 1 atguigu atguigu 34 5 月 27 14 : 20 test. txt
7.2.3 cd 切换目录 cd:Change Directory 切换路径 1)基本语法 cd [参数] 2)参数说明 3)案例实操 (1)使用绝对路径切换到 root 目录
[ root@hadoop101 ~ ] # cd / root/
(2)使用相对路径切换到“公共的”目录
[ root@hadoop101 ~ ] # cd 公共的/
(3)表示回到自己的家目录,亦即是 /root 这个目录
[ root@hadoop101 公共的] # cd ~
(4)cd- 回到上一次所在目录
[ root@hadoop101 ~ ] # cd -
(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;
[ root@hadoop101 公共的] # cd . .
7.2.4 mkdir 创建一个新的目录
mkdir: Make directory 建立目录
1)基本语法 mkdir [选项] 要创建的目录 2)选项说明 表 7-5 选项说明 选项 功能 -p 创建多层目录 3)案例实操 (1)创建一个目录
[ root@hadoop101 ~ ] # mkdir xiyou
[ root@hadoop101 ~ ] # mkdir xiyou/ mingjie
(2)创建一个多级目录
[ root@hadoop101 ~ ] # mkdir - p xiyou/ dssz/ meihouwang
7.2.5 rmdir 删除一个空的目录
rmdir: Remove directory 移除目录
1)基本语法 rmdir 要删除的空目录 2)案例实操 (1)删除一个空的文件夹
[ root@hadoop101 ~ ] # rmdir xiyou/ dssz/ meihouwang
7.2.6 touch 创建空文件 1)基本语法 touch 文件名称 2)案例实操
[ root@hadoop101 ~ ] # touch xiyou/ dssz/ sunwukong. txt
7.2.7 cp 复制文件或目录 1)基本语法 cp [选项] source dest (功能描述:复制source文件到dest) 4)经验技巧 强制覆盖不提示的方法:\cp 5)案例实操 (1)复制文件
[ root@hadoop101 ~ ] # cp xiyou/ dssz/ suwukong. txt xiyou/ mingjie/
(2)递归复制整个文件夹
[ root@hadoop101 ~ ] # cp - r xiyou/ dssz/ . /
7.2.8 rm 删除文件或目录 1)基本语法 rm [选项] deleteFile (功能描述:递归删除目录中所有内容) 2)选项说明 3)案例实操 (1)删除目录中的内容
[ root@hadoop101 ~ ] # rm xiyou/ mingjie/ sunwukong. txt
(2)递归删除目录中所有内容
[ root@hadoop101 ~ ] # rm - rf dssz/
7.2.9 mv 移动文件与目录或重命名 1)基本语法 (1)mv oldNameFile newNameFile (功能描述:重命名) (2)mv /temp/movefile /targetFolder (功能描述:移动文件) 2)案例实操 (1)重命名
[ root@hadoop101 ~ ] # mv xiyou/ dssz/ suwukong. txt xiyou/ dssz/ houge. txt
(2)移动文件
[ root@hadoop101 ~ ] # mv xiyou/ dssz/ houge. txt
7.2.10 cat 查看文件内容 查看文件内容,从第一行开始显示。 1)基本语法 cat [选项] 要查看的文件 2)选项说明 3)经验技巧 一般查看比较小的文件,一屏幕能显示全的。 4)案例实操 (1)查看文件内容并显示行号 [atguigu@hadoop101 ~]$ cat -n houge.txt
7.2.11 more 文件内容分屏查看器 more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件 的内容。more 指令中内置了若干快捷键,详见操作说明。 1)基本语法 more 要查看的文件 2)操作说明
操作 空白键 (space) 代表向下翻一页; Enter 代表向下翻『一行』; q 代表立刻离开 more ,不再显示该文件内容。 Ctrl+F 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号
3)案例实操 (1)采用more查看文件 [root@hadoop101 ~]# more smartd.conf
7.2.12 less 分屏显示文件内容 less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加 强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后 才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。 1)基本语法 less 要查看的文件 2)操作说明 3)经验技巧 用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。 4)案例实操 (1)采用less查看文件
[ root@hadoop101 ~ ] # less smartd. conf
7.2.13 echo echo 输出内容到控制台 1)基本语法 echo [选项] [输出内容] 选项: -e: 支持反斜线控制的字符转换
控制字符 作用 \ 输出\本身 \n 换行符 \t 制表符,也就是 Tab 键
2)案例实操
[ atguigu@hadoop101 ~ ] $ echo “hello\tworld”
hello\tworld
[ atguigu@hadoop101 ~ ] $ echo - e “hello\tworld”
hello world
7.2.15 tail 输出文件尾部内容 tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。 1) 基本语法 (1)tail 文件 (功能描述:查看文件尾部10行内容) (2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数) (3)tail -f 文件 (功能描述:实时追踪该文档的所有更新) 3)案例实操 (1)查看文件尾 1 行内容
[ root@hadoop101 ~ ] # tail - n 1 smartd. conf
(2)实时追踪该档的所有更新
[ root@hadoop101 ~ ] # tail - f houge. txt
7.2.16 > 输出重定向和 >> 追加 1)基本语法 (1)ls -l > 文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
(2)ls -al >> 文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾) (3)cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2) (4)echo “内容” >> 文件
2)案例实操 (1)将 ls 查看信息写入到文件中
[ root@hadoop101 ~ ] # ls - l> houge. txt
(2)将 ls 查看信息追加到文件中
[ root@hadoop101 ~ ] # ls - l>> houge. txt
(3)采用 echo 将 hello 单词追加到文件中
[ root@hadoop101 ~ ] # echo hello>> houge. txt
7.2.17 ln 软链接 软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径。 1)基本语法 ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接) 2)经验技巧 删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/ 如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉 查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。 3)案例实操 (1)创建软连接
[ root@hadoop101 ~ ] # mv houge. txt xiyou/ dssz/
[ root@hadoop101 ~ ] # ln - s xiyou/ dssz/ houge. txt . /houzi
[ root@hadoop101 ~ ] # ll
lrwxrwxrwx. 1 root root 20 6 月 17 12 : 56 houzi ->
xiyou/ dssz/ houge. txt
(2)删除软连接(注意不要写最后的/)
[ root@hadoop101 ~ ] # rm - rf houzi
(3)进入软连接实际物理路径
[ root@hadoop101 ~ ] # ln - s xiyou/ dssz/ . /dssz
[ root@hadoop101 ~ ] # cd - P dssz/
7.2.18 history 查看已经执行过历史命令 1)基本语法 history (功能描述:查看已经执行过历史命令) 2)案例实操 (1)查看已经执行过的历史命令
[ root@hadoop101 test1] # history