zoukankan      html  css  js  c++  java
  • 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              //合并成功
  • 相关阅读:
    CAS无锁模式
    Redis 字符串结构和常用命令
    Redis 链表结构 和 常用命令
    Redis hash结构 和常用命令
    Spring + Redis ( 简单使用)
    使用idea 搭建一个 SpringBoot + Mybatis + logback 的maven 项
    Java 208道面试题及部分答案
    面试相关知识点
    使用IDEA 搭建一个SpringBoot + Hibernate + Gradle
    Java相关知识点
  • 原文地址:https://www.cnblogs.com/lzy820260594/p/11424925.html
Copyright © 2011-2022 走看看