摘要:本文主要介绍了Linux指令的基本概念,然后介绍了ls、pwd、cd、mkdir、touch、cp、mv、rm、vim、输出重定向、cat等基础指令,并且举例进行实验。
1、指令的基本概念
1.1 Linux的指令
指在Linux终端(命令行)中输入的内容就称之为指令。
1.2 指令的格式
#指令主体(空格) [选项](空格) [操作对象]
一个指令可以包含多个选项,也可以省略;操作对象可以是多个,也可以省略。例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。
2、基础指令
2.1 ls指令
- 用法1:#ls
含义:列出当前工作目录下的所有文件/文件夹的名称
代码示例:
1 [root@localhost ~]# ls //指令 2 anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 //黑体字表示文件,蓝体字表示文件夹
- 用法2:#ls 路径
含义:列出指定路径下的所有文件/文件夹的名称
关于路径(可以分为相对路径和绝对路径):
- 相对路径:相对首先得有一个参照物(一般就是当前的工作路径);其写法为:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。
- 绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;
代码示例:
1 [root@localhost 下载]# ls //在下载文件夹下建立一个新文件夹001,使用ls指令 2 001 3 [root@localhost 下载]# ls ./ // ./表示当前目录下 4 001 5 [root@localhost 下载]# ls ../ // ../表示下上一级目录下(这里就是root目录下) 6 anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 7 [root@localhost 下载]# ls /root //绝对路径root目录下 8 anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
- 用法3:#ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
常见的语法:
#ls -l 路径
#ls -la 路径
选项解释:
-l:表示list,表示以详细列表的形式进行展示
-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
代码示例:
1 [root@localhost 下载]# ls -l /root 2 总用量 8 3 -rw-------. 1 root root 1523 8月 28 02:32 anaconda-ks.cfg 4 -rw-r--r--. 1 root root 1571 8月 28 02:34 initial-setup-ks.cfg 5 drwxr-xr-x. 2 root root 6 8月 28 10:56 公共 6 drwxr-xr-x. 2 root root 6 8月 28 10:56 模板 7 drwxr-xr-x. 2 root root 6 8月 28 10:56 视频 8 drwxr-xr-x. 2 root root 6 8月 28 10:56 图片 9 drwxr-xr-x. 2 root root 6 8月 28 10:56 文档 10 drwxr-xr-x. 3 root root 17 8月 28 14:24 下载 11 drwxr-xr-x. 2 root root 6 8月 28 10:56 音乐 12 drwxr-xr-x. 2 root root 6 8月 28 10:56 桌面 13 [root@localhost 下载]# ls -la /root 14 总用量 52 15 dr-xr-x---. 14 root root 4096 8月 28 11:47 . 16 dr-xr-xr-x. 17 root root 265 8月 28 11:10 .. 17 -rw-------. 1 root root 1523 8月 28 02:32 anaconda-ks.cfg 18 -rw------- 1 root root 97 8月 28 14:23 .bash_history 19 -rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout 20 -rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile 21 -rw-r--r--. 1 root root 176 12月 29 2013 .bashrc 22 drwx------. 14 root root 276 8月 28 11:42 .cache 23 drwxr-xr-x. 16 root root 4096 8月 28 11:44 .config 24 -rw-r--r--. 1 root root 100 12月 29 2013 .cshrc 25 drwx------. 3 root root 25 8月 28 02:34 .dbus 26 -rw-------. 1 root root 16 8月 28 10:56 .esd_auth 27 -rw-------. 1 root root 1240 8月 28 11:45 .ICEauthority 28 -rw-r--r--. 1 root root 1571 8月 28 02:34 initial-setup-ks.cfg 29 drwx------. 3 root root 19 8月 28 10:56 .local 30 -rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc 31 -rw------- 1 root root 634 8月 28 11:47 .viminfo 32 drwxr-xr-x. 2 root root 6 8月 28 10:56 公共 33 drwxr-xr-x. 2 root root 6 8月 28 10:56 模板 34 drwxr-xr-x. 2 root root 6 8月 28 10:56 视频 35 drwxr-xr-x. 2 root root 6 8月 28 10:56 图片 36 drwxr-xr-x. 2 root root 6 8月 28 10:56 文档 37 drwxr-xr-x. 3 root root 17 8月 28 14:24 下载 38 drwxr-xr-x. 2 root root 6 8月 28 10:56 音乐 39 drwxr-xr-x. 2 root root 6 8月 28 10:56 桌面
注解:
- 上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”表示文档类型为文件夹。
- 在Linux中隐藏文档一般都是以“.”开头。
- 用法4:#ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示。
代码示例:
1 [root@localhost 下载]# ls -lh /root 2 总用量 8.0K 3 -rw-------. 1 root root 1.5K 8月 28 02:32 anaconda-ks.cfg //和上面相比,显示出了文件的大小 4 -rw-r--r--. 1 root root 1.6K 8月 28 02:34 initial-setup-ks.cfg 5 drwxr-xr-x. 2 root root 6 8月 28 10:56 公共 6 drwxr-xr-x. 2 root root 6 8月 28 10:56 模板 7 drwxr-xr-x. 2 root root 6 8月 28 10:56 视频 8 drwxr-xr-x. 2 root root 6 8月 28 10:56 图片 9 drwxr-xr-x. 2 root root 6 8月 28 10:56 文档 10 drwxr-xr-x. 3 root root 17 8月 28 14:24 下载 11 drwxr-xr-x. 2 root root 6 8月 28 10:56 音乐 12 drwxr-xr-x. 2 root root 6 8月 28 10:56 桌面
2.2 pwd指令
作用:(print working directory,打印当前工作目录)
代码示例:
1 [root@localhost 下载]# pwd 2 /root/下载
2.3 cd指令
作用:用于切换当前的工作目录的
语法:#cd 路径
代码示例1:当前在“/”下,需要使用绝对路径切换到/usr/local。
1 [root@localhost 下载]# cd /boot/grub //原来在root下 2 [root@localhost grub]# pwd 3 /boot/grub //切换正确
代码示例2:
1 [root@localhost /]# cd /boot/grub //绝对路径,切换到grub下 2 [root@localhost grub]# pwd 3 /boot/grub //切换正确 4 [root@localhost grub]# cd ../../root/linux //相对路径退两次,退到目录下,再转到linux下 5 [root@localhost linux]# cd ../ 6 [root@localhost ~]# ls //注意~表示转到home目录下,也就是root下 7 anaconda-ks.cfg linux 模板 图片 下载 桌面 8 initial-setup-ks.cfg 公共 视频 文档 音乐 9 [root@localhost ~]# ls /root 10 anaconda-ks.cfg linux 模板 图片 下载 桌面 11 initial-setup-ks.cfg 公共 视频 文档 音乐
2.4 mkdir指令
- 用法1:#mkdir 路径 【路径,可以是文件夹名称也可以是包含名称的一个完整路径】
含义:创建文件
案例:在当前路径下创建出目录“linux”
1 [root@localhost ~]# mkdir /root/linux //指定路径下建立文件夹 2 [root@localhost ~]# ls 3 anaconda-ks.cfg linux 模板 图片 下载 桌面 4 initial-setup-ks.cfg 公共 视频 文档 音乐 5 [root@localhost ~]# mkdir 001 //当前路径内建立文件夹 6 [root@localhost ~]# ls 7 001 initial-setup-ks.cfg 公共 视频 文档 音乐 8 anaconda-ks.cfg linux 模板 图片 下载 桌面
注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限。
- 用法2:#mkdir -p 路径
含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
代码示例:
1 [root@localhost ~]# mkdir -p /root/001/a/b/c/d //一次创建多个文件夹 2 [root@localhost ~]# ls /root/001/a/b/c 3 d //证明创建成功
- 用法3:#mkdir 路径1 路径2 路径3 ….
含义:表示一次性创建多个目录
代码示例:
1 [root@localhost ~]# mkdir a b c 2 [root@localhost ~]# ls 3 001 anaconda-ks.cfg c linux 模板 图片 下载 桌面 4 a b initial-setup-ks.cfg 公共 视频 文档 音乐
2.5 touch指令
用法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】
含义:创建文件(使用和mkdir很相似)
代码示例:
1 [root@localhost ~]# cd /root/001 //转到001文件夹下 2 [root@localhost 001]# touch 001.txt //在当前文件夹下创建文件001 3 [root@localhost 001]# ls 4 001.txt //创建成功 5 [root@localhost 001]# touch 002.txt 003.txt //在当前文件夹下继续创建002和003文件 6 [root@localhost 001]# ls 7 001.txt 002.txt 003.txt //创建成功 8 [root@localhost 001]# touch /root/001.txt //在指定路径下创建文件001 9 [root@localhost 001]# ls /root 10 001 anaconda-ks.cfg 公共 视频 文档 音乐 11 001.txt initial-setup-ks.cfg 模板 图片 下载 桌面 //创建成功
2.6 cp指令
作用:复制文件/文件夹到指定的位置
用法:#cp 被复制的文档路径 文档被复制到的路径
代码示例(一):文件复制
1 [root@localhost ~]# ls 2 001 anaconda-ks.cfg 公共 视频 文档 音乐 3 001.txt initial-setup-ks.cfg 模板 图片 下载 桌面 4 [root@localhost ~]# cp 001.txt /root/001/001.txt //不改名复制 5 [root@localhost ~]# cp 001.txt /root/001/010.txt //改名复制 6 [root@localhost ~]# ls /root/001 7 001.txt 010.txt //复制成功
代码示例(二):文件夹复制
1 [root@localhost ~]# cp -r 001/ /root/002 //加-r 2 [root@localhost ~]# ls ./002 //./当前文件夹 3 001
注意:复制文件夹的时候要带/
2.7 mv指令
作用:移动文档到新的位置
用法:#mv 需要移动的文档路径 需要保存的位置路径
注意:移动之后原始文件是不在原始位置的
代码示例(一):文件移动
1 [root@localhost ~]# ls 2 001 002 initial-setup-ks.cfg 模板 图片 下载 桌面 3 001.txt anaconda-ks.cfg 公共 视频 文档 音乐 4 [root@localhost ~]# mv 001.txt ./002 5 [root@localhost ~]# ls 6 001 anaconda-ks.cfg 公共 视频 文档 音乐 7 002 initial-setup-ks.cfg 模板 图片 下载 桌面 8 [root@localhost ~]# ls ./002 9 001 001.txt
代码示例(二):文件夹移动
1 [root@localhost ~]# ls 2 001 003 initial-setup-ks.cfg 模板 图片 下载 桌面 3 002 anaconda-ks.cfg 公共 视频 文档 音乐 4 [root@localhost ~]# mv ./003/ ./001 //将003文件夹移动到001下 5 [root@localhost ~]# ls 6 001 anaconda-ks.cfg 公共 视频 文档 音乐 7 002 initial-setup-ks.cfg 模板 图片 下载 桌面 8 [root@localhost ~]# ls ./001 9 001 001.txt 003 010.txt //操作成功
2.8 rm指令
作用:移除/删除文档
用法:#rm 选项 需要移除的文档路径
选项: -f:force,强制删除,不提示是否删除
-r:表示递归
代码示例(一):
1 [root@localhost ~]# rm 001.txt //直接删除文件,会提示是否删除 2 rm:是否删除普通空文件 "001.txt"?y //输入y或者n表示删除与否 3 [root@localhost ~]# ls 4 001 anaconda-ks.cfg 公共 视频 文档 音乐 5 002 initial-setup-ks.cfg 模板 图片 下载 桌面
代码示例(二):
1 [root@localhost ~]# rm -f 001.txt //表示直接强制删除,无需判断 2 [root@localhost ~]# ls 3 001 anaconda-ks.cfg 公共 视频 文档 音乐 4 002 initial-setup-ks.cfg 模板 图片 下载 桌面
代码示例(三):
1 [root@localhost ~]# rm -rf ./001/ //删除文件夹 2 [root@localhost ~]# ls 3 002 initial-setup-ks.cfg 模板 图片 下载 桌面 4 anaconda-ks.cfg 公共 视频 文档 音乐 //操作成功
代码示例(四):
1 [root@localhost ~]# rm -rf /root/002/ //绝对路径删除文件夹 2 [root@localhost ~]# ls 3 anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 //操作成功
代码示例(五):
1 [root@localhost ~]# rm -rf 001 001.txt //删除多个文件 2 [root@localhost ~]# ls 3 anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
代码示例(六):
1 [root@localhost ~]# rm -f 001* //删除有公共特性的文档(这里是开头是001的文件) 2 [root@localhost ~]# ls 3 a initial-setup-ks.cfg 公共 视频 文档 音乐 4 anaconda-ks.cfg linux 模板 图片 下载 桌面
在上面的例子中,*称之为通配符,意思表示任意的字符,Linux*,则表示只要文件以Linux开头,后续字符则不管。
2.9 vim指令
语法:#vim 文件的路径
作用:打开一个文件(可以不存在,也可以存在)
[root@localhost ~]# vim /root/002.txt
退出打开的文件:在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可
2.10 输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令 > / >> 文件的路径
注意:文件可以不存在,不存在则新建
代码示例(一):
1 [root@localhost ~]# ls > /root/002.txt //覆盖显示 2 [root@localhost ~]# vim /root/002.txt
在002文件中显示如下:
1 001 2 002.txt 3 a 4 anaconda-ks.cfg 5 initial-setup-ks.cfg 6 公共 7 模板 8 视频 9 图片 10 文档 11 下载 12 音乐 13 桌面
代码示例(二):
1 [root@localhost ~]# ls -la >> /root/002.txt //追加显示 2 [root@localhost ~]# vim /root/002.txt
在002中显示如下:
1 001 2 002.txt 3 a 4 anaconda-ks.cfg 5 initial-setup-ks.cfg 6 公共 7 模板 8 视频 9 图片 10 文档 11 下载 12 音乐 13 桌面 14 总用量 56 15 dr-xr-x---. 16 root root 4096 8月 29 13:44 . 16 dr-xr-xr-x. 17 root root 265 8月 29 11:21 .. 17 drwxr-xr-x 2 root root 21 8月 29 11:51 001 18 -rw-r--r-- 1 root root 107 8月 29 13:40 002.txt 19 drwxr-xr-x 2 root root 6 8月 28 16:26 a 20 -rw-------. 1 root root 1523 8月 28 02:32 anaconda-ks.cfg 21 -rw------- 1 root root 991 8月 28 21:37 .bash_history 22 -rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout 23 -rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile 24 -rw-r--r--. 1 root root 176 12月 29 2013 .bashrc 25 drwx------. 14 root root 276 8月 28 11:42 .cache 26 "~/002.txt" 42L, 1612C
2.11 cat指令
- 用法1:#cat 文件的路径
作用:cat有直接打开一个文件的功能。
代码示例:
1 [root@localhost ~]# cat /root/002.txt 2 001 3 002.txt 4 a 5 anaconda-ks.cfg 6 initial-setup-ks.cfg 7 公共 8 模板 9 视频 10 图片 11 文档 12 下载 13 音乐 14 桌面 15 总用量 56 16 dr-xr-x---. 16 root root 4096 8月 29 13:44 . 17 dr-xr-xr-x. 17 root root 265 8月 29 11:21 .. 18 drwxr-xr-x 2 root root 21 8月 29 11:51 001 19 -rw-r--r-- 1 root root 107 8月 29 13:40 002.txt 20 drwxr-xr-x 2 root root 6 8月 28 16:26 a 21 -rw-------. 1 root root 1523 8月 28 02:32 anaconda-ks.cfg 22 -rw------- 1 root root 991 8月 28 21:37 .bash_history 23 -rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout 24 -rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile 25 -rw-r--r--. 1 root root 176 12月 29 2013 .bashrc 26 drwx------. 14 root root 276 8月 28 11:42 .cache 27 drwxr-xr-x. 16 root root 4096 8月 28 11:44 .config 28 -rw-r--r--. 1 root root 100 12月 29 2013 .cshrc 29 drwx------. 3 root root 25 8月 28 02:34 .dbus 30 -rw-------. 1 root root 16 8月 28 10:56 .esd_auth 31 -rw-------. 1 root root 1550 8月 29 10:05 .ICEauthority 32 -rw-r--r--. 1 root root 1571 8月 28 02:34 initial-setup-ks.cfg 33 drwx------. 3 root root 19 8月 28 10:56 .local 34 -rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc 35 -rw------- 1 root root 1167 8月 29 13:44 .viminfo 36 drwxr-xr-x. 2 root root 6 8月 28 10:56 公共 37 drwxr-xr-x. 2 root root 6 8月 28 10:56 模板 38 drwxr-xr-x. 2 root root 6 8月 28 10:56 视频 39 drwxr-xr-x. 2 root root 6 8月 28 10:56 图片 40 drwxr-xr-x. 2 root root 6 8月 28 10:56 文档 41 drwxr-xr-x. 3 root root 17 8月 28 14:24 下载 42 drwxr-xr-x. 2 root root 6 8月 28 10:56 音乐 43 drwxr-xr-x. 2 root root 6 8月 28 10:56 桌面
- 用法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
作用:cat还可以对文件进行合并
1 [root@localhost ~]# cat /root/002.txt /root/003.txt > /root/004.txt //002和003合并到004 2 [root@localhost ~]# cat /root/004.txt //打开004 3 001 //原002内容 4 002.txt 5 a 6 anaconda-ks.cfg 7 initial-setup-ks.cfg 8 公共 9 模板 10 视频 11 图片 12 文档 13 下载 14 音乐 15 桌面 16 总用量 56 17 dr-xr-x---. 16 root root 4096 8月 29 13:44 . 18 dr-xr-xr-x. 17 root root 265 8月 29 11:21 .. 19 drwxr-xr-x 2 root root 21 8月 29 11:51 001 20 -rw-r--r-- 1 root root 107 8月 29 13:40 002.txt 21 drwxr-xr-x 2 root root 6 8月 28 16:26 a 22 -rw-------. 1 root root 1523 8月 28 02:32 anaconda-ks.cfg 23 -rw------- 1 root root 991 8月 28 21:37 .bash_history 24 -rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout 25 -rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile 26 -rw-r--r--. 1 root root 176 12月 29 2013 .bashrc 27 drwx------. 14 root root 276 8月 28 11:42 .cache 28 drwxr-xr-x. 16 root root 4096 8月 28 11:44 .config 29 -rw-r--r--. 1 root root 100 12月 29 2013 .cshrc 30 drwx------. 3 root root 25 8月 28 02:34 .dbus 31 -rw-------. 1 root root 16 8月 28 10:56 .esd_auth 32 -rw-------. 1 root root 1550 8月 29 10:05 .ICEauthority 33 -rw-r--r--. 1 root root 1571 8月 28 02:34 initial-setup-ks.cfg 34 drwx------. 3 root root 19 8月 28 10:56 .local 35 -rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc 36 -rw------- 1 root root 1167 8月 29 13:44 .viminfo 37 drwxr-xr-x. 2 root root 6 8月 28 10:56 公共 38 drwxr-xr-x. 2 root root 6 8月 28 10:56 模板 39 drwxr-xr-x. 2 root root 6 8月 28 10:56 视频 40 drwxr-xr-x. 2 root root 6 8月 28 10:56 图片 41 drwxr-xr-x. 2 root root 6 8月 28 10:56 文档 42 drwxr-xr-x. 3 root root 17 8月 28 14:24 下载 43 drwxr-xr-x. 2 root root 6 8月 28 10:56 音乐 44 drwxr-xr-x. 2 root root 6 8月 28 10:56 桌面 45 dwcsvdvdfvbdfb //原003内容 46 csd 47 v 48 dsv 49 50 vd 51 sddv 52 sd 53 v 54 sd 55 v //合并成功