Linux之基础指令

摘要:本文主要介绍了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 路径

含义:列出指定路径下的所有文件/文件夹的名称

关于路径(可以分为相对路径和绝对路径):

  1. 相对路径:相对首先得有一个参照物(一般就是当前的工作路径);其写法为:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。
  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 桌面

注解:

  1. 上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”表示文档类型为文件夹
  2. 在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              //合并成功

转载于:https://www.cnblogs.com/lzy820260594/p/11424925.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值