• Linux基础命令学习笔记


    前言

    我说过我要学习Linux,也已经写了两篇博客了,是看书写的,但是我发现有些不足,不是我想要的

    我看的Linux学习笔记,感觉内容不是很深,快速入门的,一共就335多页。我感觉Linux学习的东西还是很多的

    看鸟哥的那本书,内容太多了,1100多页,我感觉我跟不上进度。然后我还想看另一本数据分析的书。更何况学期过半,我还要应付考试。

    然后目光转向了B站,一开始准备踏踏实实看韩顺平老师的Linux,也做了部分笔记,但是谁知道黑马程序员雪中送炭在B站上架了Linux的教程,这让我很犹豫究竟选哪个,其实内容大概都差不多。我想我的Java就是在B站上学的,于是就看的黑马程序员的Linux,做笔记

    Linux的基本操作。

    Linux目录

    Linux操作系统的目录结构

    • Linux的目录结构是一个树形结构
    • Windows系统可以拥有多个盘符,如C盘、D盘、E盘
    • Linux没有盘符这个概念,只有一个根目录/,所有文件都在下面

    Windows可以有多个顶级目录(C盘、D盘),而Linux只有一个顶级目录,根目录/

    这里对应了上一篇我的读书笔记的内容,Windows和Linux的文件系统最大的区别就是Windows是由盘符区分,而Linux没有。

    文件夹里面是文件夹,是文件这个还是没有变的

    Linux路径的描述方式

    • 在Linux系统中,路径之间的层级关系,使用:/来表示
    • 在Windows系统中,路径之间的层级关系,使用:\来表示

    实不相瞒,我还真没有注意这个问题,只知道在课上敲目录的都是用的/

    • D:\data\work\hello.txt

      D:表示D盘

      \表示层级关系

    这是Windows的路径描述,D盘下有一个data文件夹,文件夹中还有一个文件夹work,work文件夹里面有个hello.txt文件

    • /usr/llocal/hello.txt

      开头的/表示根目录

      后面的/表示层级关系

    第一个/表示根目录,其他的/表示层级关系/,那就是根目录下有一个usr文件夹,这个文件夹里面有一个local文件夹,里面是hello.txt文件

    这是老师举了个例子,说明Windows和Linux路径描述的区别,我以前还真没有注意过

    练习

    在根目录下有一个文件夹test,文件夹内有一个文件hello.txt,请描述文件的路径

    /test/hello.txt

    在根目录下有一个文件itheima.txt,请描述文件的路径

    /itheima.txt

    在根目录下有一个文件夹itcast,在itcast文件夹内有文件夹itheima,在itheima文件夹内有文件
    hello.txt,请描述文件的路径

    /itcast/itheima/hello.txt

    我的感觉是和Windows的路径描述基本一样,只不过开头部分,Windows可能是C盘、D盘,而Linux只有一个根目录/,然后是层级关系表示不一样,其他的都是一个思想

    Linux命令入门

    Linux命令基础

    什么是命令

    • 命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命
      令对系统发出操作指令。
    • 命令:即Liux程序。一个命令就是一个Liux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。

    我想到了一个直观的解释,python解释器和python代码是什么关系,就是python代码是运行在解释器上的,同理,命令是运行在命令行上的

    掌握Linux命令的基础格式

    首先要明白,无论是什么命令,用这个做什么,他们的格式都是相同的

    command [-aptions] [parameter]

    • command :命令本身
    • -aptions:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
    • parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

    语法中的[],表示可选的意思

    然后下面有个例子

    • ls -l/home/itheima,ls是命令本身,-l是选项,/home/itheima是参数
      意思是以列表的形式,显示/home/itheima目录内的内容
    • cp -r test1 test2,cp是命令本身,-r是选项,test1和test2是参数
      意思是复制文件夹test1成为test2

    command 就是要执行的命令,这个肯定不能少。因为这个步骤少了,计算机知道你要干什么吗,靠意念玩转Linux?

    -aptions我的理解是命令的模式,一个命令有好多模式。不同的模式是不同的效果。如果不填就是默认的。

    parameter:这个是要交代一下文件在哪里,你要对这个文件执行命令,那你就要说明白你的文件在哪里。

    ls命令入门

    ls命令介绍

    ls [-a -l -h] [Linux路径]

    • -a -l -h :是可选的选项
    • Linux路径是此命令的可选的参数

    当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    这个命令就类似查看文件夹里面有什么内容,在Windows里面双击这个文件夹就可以看见里面有什么文件,Linux的图形界面也是可以哒。但是在命令行下面,只能通过这种方式查看文件夹内容了。

    HOME目录和工作目录

    直接输入ls命令,表示列出当前工作目录下的内容,当前工作目录是?

    Linux系统的命令行终端,在启动的时侯。默认会加载:

    • 当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容
    • HOMW目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
      • 如吗,图中的Linux用户是itheima,其HOME目录是:/home/itheima
      • Windows系统和Linux系统均设有用户的HOME目录,如图

    在我启动终端时,那么我的工作目录就是我的家目录。

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    我现在在我的家目录里面进行工作,

    HOME目录,我的理解就是用来存放用户家目录的目录,我们可以看一下,

    [huan@localhost home]$ ls /home/
    huan
    
    • 1
    • 2

    现在可以看到在/home/目录下只有一个目录,也就是huan,我的家目录,

    我可以添加一个用户,然后再看看这个目录会发生什么

    [root@localhost ~]# adduser u1
    [root@localhost ~]# ls /home/
    huan  u1
    
    • 1
    • 2
    • 3

    adduser命令是添加用户的命令,我添加了一个用户u1,这时再看/home/目录,那么就有两个用户了,这里面存放了两个用户的家目录。

    Linux是多用户操作系统,所以每个用户的家目录都给放在/home目录里面

    Windows也有这种操作,Mac也有

    ls命令的参数和选项

    ls [-a -l -h] [Linux路径]

    在这里吧ls命令的完整形式展示一下

    ls命令的参数
    • ls不使用参数,表示列出:当前工作的内容,即用户的HOME目录
    • 当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定理解的内容

    我们重温一下ls命令,查看当前工作的内容,文件夹里面有什么。

    不给参数,那就是当前工作的文件夹

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    现在我的工作环境是我的家目录

    如果给定参数

    [huan@localhost root]$ ls /
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    
    • 1
    • 2

    给定一个/参数,那就是看一下根目录文件夹里面有什么东西

    /:根目录

    还有我上面的一个ls命令

    [root@localhost ~]# ls /home/
    huan  u1
    
    • 1
    • 2

    给定的参数是/home/那就是查看根目录下home文件夹里面都有哪些文件

    ls命令的选项
    • -a:表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)
    [huan@localhost ~]$ ls -a
    .   .bash_history  .bash_profile  .cache   .dbus      .ICEauthority  .mozilla  模板  图片  下载  桌面
    ..  .bash_logout   .bashrc        .config  .esd_auth  .local         公共      视频  文档  音乐
    
    • 1
    • 2
    • 3

    对比ls

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    展示的文件一下子就多了。

    .开头的文件或者文件夹都是Linux系统隐藏的文件,自动隐藏,只能通过-a选择查看

    • -l:表示:以列表(竖向排列)的形式展示内容,并展示更多信息
    [huan@localhost ~]$ ls -l
    总用量 0
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 公共
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 模板
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 视频
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 图片
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 文档
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 下载
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 音乐
    drwxr-xr-x. 2 huan huan 6 11月  4 02:41 桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    我学习过Linux,但是不深,这个展示的信息更多,有drwxr-xr-x权限、huan huan用户组和用户、6大小、11月 4 02:41创建日期等等。

    以列标的形式展示

    语法中的选项是可以组合使用的,比如学习的-a-l可以组合应用

    • ls -l -a
    • ls -la
    • ls -al
    [huan@localhost ~]$ ls -al
    总用量 36
    drwx------. 15 huan huan 4096 11月  4 21:20 .
    drwxr-xr-x.  4 root root   28 11月  4 20:02 ..
    -rw-------.  1 huan huan  149 11月  4 21:21 .bash_history
    -rw-r--r--.  1 huan huan   18 4月   1 2020 .bash_logout
    -rw-r--r--.  1 huan huan  193 4月   1 2020 .bash_profile
    -rw-r--r--.  1 huan huan  231 4月   1 2020 .bashrc
    drwx------. 16 huan huan 4096 11月  5 2022 .cache
    drwxr-xr-x. 14 huan huan 4096 11月  5 2022 .config
    drwx------.  3 huan huan   25 11月  4 02:41 .dbus
    -rw-------.  1 huan huan   16 11月  4 02:41 .esd_auth
    -rw-------.  1 huan huan 1240 11月  4 21:20 .ICEauthority
    drwx------.  3 huan huan   19 11月  4 02:41 .local
    drwxr-xr-x.  4 huan huan   39 11月  4 02:28 .mozilla
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 公共
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 模板
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 视频
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 图片
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 文档
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 下载
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 音乐
    drwxr-xr-x.  2 huan huan    6 11月  4 02:41 桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    展示其中一种用法,就是把他的选项功能全部加起来使用,展示所有文件包括隐藏文件,以列表形式展示

    除了选项本身可以组合以外,选项和参数也可以一起使用

    [huan@localhost ~]$ ls -al /
    总用量 20
    dr-xr-xr-x.  17 root root  224 11月  4 02:36 .
    dr-xr-xr-x.  17 root root  224 11月  4 02:36 ..
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4096 11月  4 02:37 boot
    drwxr-xr-x.  20 root root 3320 11月  4 21:10 dev
    drwxr-xr-x. 139 root root 8192 11月  4 21:22 etc
    drwxr-xr-x.   4 root root   28 11月  4 20:02 home
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 11月  4 02:28 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root    6 4月  11 2018 media
    drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
    drwxr-xr-x.   3 root root   16 11月  4 02:33 opt
    dr-xr-xr-x. 220 root root    0 11月  4 21:10 proc
    dr-xr-x---.   5 root root  205 11月  4 21:03 root
    drwxr-xr-x.  42 root root 1300 11月  4 21:22 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月  4 21:10 sys
    drwxrwxrwt.  21 root root 4096 11月  4 21:21 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    根目录隐藏文件好像不多,但是起到了演示的效果

    • -h:表示以易于阅读的形式,列出文件大小,如k、m、g
    • -h选项必须要搭配-l一起使用
    [huan@localhost ~]$ ls -l /
    总用量 20
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4096 11月  4 02:37 boot
    drwxr-xr-x.  20 root root 3320 11月  4 21:10 dev
    drwxr-xr-x. 139 root root 8192 11月  4 21:22 etc
    drwxr-xr-x.   4 root root   28 11月  4 20:02 home
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 11月  4 02:28 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root    6 4月  11 2018 media
    drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
    drwxr-xr-x.   3 root root   16 11月  4 02:33 opt
    dr-xr-xr-x. 221 root root    0 11月  4 21:10 proc
    dr-xr-x---.   5 root root  205 11月  4 21:03 root
    drwxr-xr-x.  42 root root 1300 11月  4 21:22 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月  4 21:10 sys
    drwxrwxrwt.  21 root root 4096 11月  4 21:21 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    740963320表示文件的大小,因为没有加h 默认是KB单位

    如果加个h

    [huan@localhost ~]$ ls -lh /
    总用量 20K
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4.0K 11月  4 02:37 boot
    drwxr-xr-x.  20 root root 3.3K 11月  4 21:10 dev
    drwxr-xr-x. 139 root root 8.0K 11月  4 21:22 etc
    drwxr-xr-x.   4 root root   28 11月  4 20:02 home
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 11月  4 02:28 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root    6 4月  11 2018 media
    drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
    drwxr-xr-x.   3 root root   16 11月  4 02:33 opt
    dr-xr-xr-x. 221 root root    0 11月  4 21:10 proc
    dr-xr-x---.   5 root root  205 11月  4 21:03 root
    drwxr-xr-x.  42 root root 1.3K 11月  4 21:22 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月  4 21:10 sys
    drwxrwxrwt.  21 root root 4.0K 11月  4 21:21 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    会发现上面的74096、3320变成了74.0k3.3k

    现在因为是新系统,文件都不大,所以都是bk。没有看见b,我想是因为默认显示了7b,b隐藏了。

    -lh提供三个单位KB、MB、GB

    目录切换相关命令(cd/pwd

    cd切换工作目录命令

    我们可以通过cd命令,更改当前所在的工作目录

    cd命令来自英文:Change Directory

    语法:cd [Linux路径]

    • cd命令无需选项,只有参数,表示要切换到哪个目录下
    • cd命令直接执行,不写参数,表示回到用户的HOME目录

    这个就类似于我们在Windows系统双击文件夹进入文件夹是一个道理,

    打开终端,我们会在自己的家目录

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    ls看一下我们家目录都有哪些文件夹,比如说我们打开桌面 这个文件夹

    [huan@localhost ~]$ cd 桌面
    [huan@localhost 桌面]$ ls
    test1
    
    • 1
    • 2
    • 3

    切换到桌面目录,然后我们看一下桌面文件夹都有哪些文件夹,有个test1

    我们切换到根目录

    [huan@localhost 桌面]$ cd /
    [huan@localhost /]$ ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    [huan@localhost /]$ ls /
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    
    • 1
    • 2
    • 3
    • 4
    • 5

    /根目录,所以cd / 切换到了根目录,我们查看了一下文件内容,又用ls查看了一下根目录,会发现是一个内容

    [huan@localhost /]$ cd
    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    cd不写路径,直接回到根目录。

    pwd展示当前工作目录命令

    通过ls来验证当前的工作目录,其实是不恰当的。

    我们可以通过pwd命令,来查看当前所在的工作目录。

    pwd命令来自:Print Work Directory

    语法:pwd

    • pwd命令,无选项,无参数,直接输入pwd即可

    如果一个文件夹里面的内容很多很多,那么用ls是很不方便的,

    而pwd,就是类似于一个提示,告诉你你现在在哪里

    [huan@localhost ~]$ pwd
    /home/huan
    
    • 1
    • 2

    我们在我的家目录

    [huan@localhost ~]$ cd /bin
    [huan@localhost bin]$ pwd
    /bin
    
    • 1
    • 2
    • 3

    切换到根目录下的bin,再使用pwd命令

    会发现我们在根目录下的bin文件夹下

    练习

    请使用cd命令并结合ls命令,任意在Liux文件系统内探索。

    [huan@192 ~]$ cd /etc
    [huan@192 etc]$ ls
    abrt                        favicon.png    ksmtuned.conf             passwd-           setuptool.d
    adjtime                     fcoe           ld.so.cache               pbm2ppa.conf      sgml
    aliases                     festival       ld.so.conf                pinforc           shadow
    aliases.db                  filesystems    ld.so.conf.d              pkcs11            shadow-
    alsa                        firefox        libaudit.conf             pki           ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    查看根目录下etc文件夹里面有什么东西,要先进到里面,然后ls,文件太多了,省略

    [huan@192 etc]$ cd /home/huan/下载
    [huan@192 下载]$ ls
    [huan@192 下载]$
    
    • 1
    • 2
    • 3

    这个里面空空如也

    并尝试找出名字叫做games的文件夹在哪里。

    相对路径、绝对路径和特殊路径

    相对路径和绝对路径

    [huan@localhost ~]$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    比如说,我想进入桌面这个文件夹,那我应该怎么做,有两种方法

    第一种:cd /home/huan/桌面

    第二种:cd 桌面

    这两种方法都可以进入,但是一个长一个短,那如果我们为了省事都用短的,那还会有错误,这时就需要了解两个概念

    • 绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
    • 相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

    以根目录为起点的是绝对路径,很明显第一种方法采用的是绝对路径进入目录

    第二种方法采用的是相对路径,以当前目录。

    ~表示我在家目录,其实我也用ls查看了我的家目录有哪些内容。我当前所在的目录是我的家目录,所以是以家目录为起点,然后找到的桌面文件夹。

    [huan@localhost ~]$ cd 桌面
    [huan@localhost 桌面]$ pwd
    /home/huan/桌面
    [huan@localhost ~]$ cd /home/huan/桌面
    [huan@localhost 桌面]$ pwd
    /home/huan/桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以看到无论哪种方式进入目录都是可以的

    但是要注意相对路径的使用,必须是当前目录下有你要进入的目录,如果没有,那就是进不去,

    [huan@localhost 桌面]$ ls /
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    [huan@localhost 桌面]$ cd bin
    -bash: cd: bin: 没有那个文件或目录
    
    • 1
    • 2
    • 3
    • 4

    Linux目录下有个bin文件,那我直接cd进入是不行的,因为我的前目录下没有bin文件

    只能cd /bin

    特殊路径符

    • . :表示当前目录,比如:cd ./DesKtop表示切换到当前目录下的DesKtop目录下,和cd DesKtop效果一致
    • .. :表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../..切换到上二级的目录
    • ~:表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/DesKtop ,切换到HOME内的DesKtop目录。
    [huan@localhost bin]$ cd ~
    [huan@localhost ~]$ pwd
    /home/huan
    
    • 1
    • 2
    • 3

    [huan@localhost bin]$ 中可以看出来我现在在bin目录下,如果我要回到家目录,一开始我们用的是这种方法cd /home/huan ,现在只需要一个cd ~ 即可。

    这个cd ~也等同于cd

    [huan@localhost /]$ cd
    [huan@localhost ~]$ pwd
    /home/huan
    
    • 1
    • 2
    • 3

    一样的。

    知道了~这个是家目录,那么就可以借助~实现更多操作

    [huan@localhost /]$ cd ~/桌面
    [huan@localhost 桌面]$
    
    • 1
    • 2

    进入家目录下的桌面目录。 一开始我们是cd /home/huan/桌面

    [huan@localhost test1]$ pwd
    /home/huan/桌面/test1
    [huan@localhost test1]$ cd ..
    [huan@localhost 桌面]$ pwd
    /home/huan/桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5

    cd ..回到上一级目录,我先用pwd看了一下我的位置,是在我的家目录下的桌面文件夹下的test1文件夹

    那么test1上一级目录就是桌面

    通过cd ..这个命令衍生除了几个命令:

    cd ../..返回二级目录

    [huan@localhost test1]$ cd ../..
    [huan@localhost ~]$ pwd
    /home/huan
    
    • 1
    • 2
    • 3

    cd ../../..返回三级命令

    [huan@localhost test1]$ cd ../../..
    [huan@localhost home]$ pwd
    /home
    
    • 1
    • 2
    • 3

    以上条件目录路径都是以/home/huan/桌面/test1为基准,返回二级目录就是家目录/home/huan

    返回三级目录就是/home

    [huan@localhost ~]$ cd ./下载
    [huan@localhost 下载]$ pwd
    /home/huan/下载
    
    [huan@localhost ~]$ cd 下载
    [huan@localhost 下载]$ pwd
    /home/huan/下载
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    .当前目录,可以看出来cd ./下载cd 下载没有什么区别

    练习

    当前工作目录内有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的相对路径

    test/hello.txt

    在当前工作目录的上级目录有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的相对
    路径

    ../test/hello.txt

    在HOME目录内有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的路径,需要使用
    符号~

    ~/test/hello

    创建目录命令(mkdir

    mkdir命令

    通过mkdir命令可以创建新的目录(文件夹)

    mkdir来自英文:Make Directory

    语法:mkdir [-p] Linux路径

    • 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
    • -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
    [huan@localhost ~]$ mkdir 桌面/test1
    [huan@localhost ~]$ ls 桌面
    test1
    
    • 1
    • 2
    • 3

    在桌面创建一个test1文件夹,采用相对路径

    [huan@localhost ~]$ mkdir /home/huan/桌面/test2
    [huan@localhost ~]$ ls 桌面
    test1  test2
    
    • 1
    • 2
    • 3

    还是在桌面创建文件夹,采用绝对路径

    [huan@localhost /]$ mkdir ~/桌面/test3
    [huan@localhost /]$ ls ~/桌面
    test1  test2  test3
    
    • 1
    • 2
    • 3

    这里用到了特殊路径符。

    mkdir -p 选项

    在这里有个小技巧,CTRL+L清屏。

    如果要一次性创建多个层级目录,就要使用到-p选项

    我们先看个反例,不带p

    [huan@localhost 桌面]$ mkdir test4/test4_1/test4_2
    mkdir: 无法创建目录"test4/test4_1/test4_2": 没有那个文件或目录
    
    • 1
    • 2

    我们的最终目的是要创建test4_2文件夹,但是出现了错误,原因是没有test4和test4_1文件夹

    这时就要用-p,连续创建文件夹

    [huan@localhost 桌面]$ mkdir -p test4/test4_1/test4_2
    [huan@localhost 桌面]$ cd test4/test4_1/test4_2
    [huan@localhost test4_2]$ pwd
    /home/huan/桌面/test4/test4_1/test4_2
    
    • 1
    • 2
    • 3
    • 4

    可以看到已经创建完成。pws后的路径/home/huan/桌面/test4/test4_1/test4_2

    注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作

    涉及到权限问题,HOME外无法成功

    [huan@localhost /]$ mkdir test1
    mkdir: 无法创建目录"test1": 权限不够
    
    • 1
    • 2

    没有权限,失败了

    练习

    请通过命令在HOME目录内,创建如下路径(需使用特殊符号):itcast/itheima./nice/666

    mkdir -p ~/桌面/itcast/itheima./nice/666
    
    • 1

    文件操作命令part1(touchcatmore

    touch创建文件

    可以通过touch命令创建文件

    语法:touch Linux路径

    • touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
    [huan@localhost 桌面]$ touch test.txt
    [huan@localhost 桌面]$ ls
    test1  test.txt
    
    • 1
    • 2
    • 3

    touch命令就是用来创建文件的,touch 文件名就可以创建了,可以用ls看一下这个文件有没有创建成功

    怎么区分文件夹和文件,markdown好像没有Linux代码的高亮,可能在这个上看不清,深色代表文件夹,浅色就是文件

    还可以通过ll这个命令查看

    [huan@localhost 桌面]$ ll
    总用量 0
    drwxrwxr-x. 2 huan huan 6 11月  7 14:33 test1
    -rw-rw-r--. 1 huan huan 0 11月  9 13:36 test.txt
    
    • 1
    • 2
    • 3
    • 4

    先说一下ll这个命令,ll等价于ls - l

    至于这个命令,上面已经解释过了。

    我们重点关注前面的内容,有个d-

    drwxrwxr-x-rw-rw-r--

    前面的第一个字符,就可以看出来这个什么类型文件

    • d:Directory、目录,文件夹
    • -:文件

    由于-rw-rw-r--有好几个-,不要惊慌,就看第一个字母,-,文件

    创建好了这个文件,我们该如何编辑呢,可以通过vi进行编辑,这是在命令行下完成的,目前我不熟悉,我们可以使用Cent‘OS的图形化进行编辑。就和Windows下如何写word文档一样。找到文件,双击,最后记得保存

    cat命令 查看文件内容

    准备好文件内容后,可以通过cat查看内容

    语法:cat Linux路径

    • cat同样没有选择,只有必参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
    [huan@localhost 桌面]$ cat test.txt
    hello world
    a like linux
    
    • 1
    • 2
    • 3

    这就是一个查看文件内容的命令,看看这个文件里面有啥

    more命令查看文件内容

    more命令同样可以查看文件内容,同cat不同的是:

    • cat是直接将内容全部显示出来
    • more支持翻页,如果文件内容过多,可以一页页的展示

    语法:more Linux路径

    • 同样没有选择,只有必参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

    我们查看一个Linux系统内置文件,路径为 /etc/services

    如果用cat查看

    [huan@localhost 桌面]$ cat /etc/services
    opennl-voice    1259/udp                # Open Network Library Voice
    ibm-ssd         1260/tcp                # ibm-ssd
    ibm-ssd         1260/udp                # ibm-ssd
    mpshrsv         1261/tcp                # mpshrsv
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    内容会全部展示出来,因为内容太多,我用省略号代替了

    用more查看

    • 在查看过程中,通过空格翻页
    • 通过q退出
    [huan@localhost 桌面]$ more /etc/services   
    # /etc/services:
    # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    #
    # Network services, Internet style
    # IANA services version: last updated 2013-04-10
    #
    # Note that it is presently the policy of IANA to assign a single well-known
    # port number for both TCP and UDP; hence, most entries here have two entries
    # even if the protocol doesn't support UDP operations.
    # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
    # are included, only the more common ones.
    #
    # The latest IANA port assignments can be gotten from
    #       http://www.iana.org/assignments/port-numbers
    # The Well Known Ports are those from 0 through 1023.
    # The Registered Ports are those from 1024 through 49151
    # The Dynamic and/or Private Ports are those from 49152 through 65535
    #
    # Each line describes one service, and is of the form:
    #
    # service-name  port/protocol  [aliases ...]   [# comment]
    
    tcpmux          1/tcp                           # TCP port service multiplexer
    tcpmux          1/udp                           # TCP port service multiplexer
    rje             5/tcp                           # Remote Job Entry
    rje             5/udp                           # Remote Job Entry
    echo            7/tcp
    --More--(0%)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    这个和阅读电子书一样,--More--(0%)显示阅读进度。按下q退出

    文件操作命令part1(cpmvrm

    cp命令复制文件文件夹

    cp命令可以用于复制文件\文件夹,cp命令来自英文单词copy

    语法:cp [-r] 参数1 参数2

    • -r选项,可选,用于复制文件夹使用,表示递归
    • 参数1,Linux路径,表示被复制的文件或文件夹
    • 参数2,Linux,表示要复制去的地方
    [huan@localhost 桌面]$ cp test.txt test1.txt
    [huan@localhost 桌面]$ ls
    test1  test1.txt  test.txt
    [huan@localhost 桌面]$ cat test1.txt
    hello world
    a like linux
    [huan@localhost 桌面]$ cat test.txt
    hello world
    a like linux
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    我们写过一个文件,test.txt,我们就复制这个文件,上面就是代码

    因为文件在桌面,我要复制到桌面,同时我也在桌面,所以就可以用相对路径。

    我们复制一个文件夹

    [huan@localhost 桌面]$ ls
    test1  test1.txt  test.txt
    [huan@localhost 桌面]$ cp test1 test2
    cp: 略过目录"test1"
    [huan@localhost 桌面]$ cp -r test1 test2
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如果复制文件夹,不带上-r选项,会出现提示,

    -r,递归,应该是复制这个文件夹里面全部内容

    [huan@localhost 桌面]$ cp -r test1/t1 /home/huan/
    [huan@localhost 桌面]$ ls /home/huan/
    t1  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    这是用来绝对路径和相对路径

    吧test1下的文件夹复制到我的家目录。

    mv移动文件或文件夹

    mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move

    语法:mv 参数1 参数2

    • 参数1:Linux路径,表示被移到的文件或文件夹
    • 参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

    这个就是对文件或者文件夹的移动

    [huan@localhost 桌面]$ mv test1.txt /home/huan/
    [huan@localhost 桌面]$ ls /home/huan/
    t1  test1.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    移动文件到我的家目录下。因为我和我的文件都在桌面,所以就用了相对路径,

    [huan@localhost 桌面]$ mv test1 /home/huan/
    [huan@localhost 桌面]$ ls /home/huan/
    t1  test1  test1.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    移动文件夹。

    [huan@localhost 桌面]$ mv test.txt t.txt
    [huan@localhost 桌面]$ ls
    test2  t.txt
    
    • 1
    • 2
    • 3

    对文件或者文件夹改名,因为t.txt不存在,所以改名。

    [huan@localhost 桌面]$ mv t100.txt /home/huan/test200.txt
    [huan@localhost 桌面]$ ls /home/huan/
    t1  test1  test100  test1.txt  test200.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    移动t100.txt文件到家目录并改名为test200.txt

    mv命令虽然没有选项,但是还是有几种用法。

    rm删除文件、文件夹

    rm命令可用于删除文件、文件夹

    rm命令来自英文单词:remove

    语法:rm [-r -f] 参数1 参数2 … 参数N

    • 同cp一样,-r选项用于删除文件夹
    • -f表示force,强制删除(不会弹出提示确认信息)
      • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
      • 所以一般用户用不到-f选项
    • 参数1、参数2、……、参数N表示要删除的文件或文件夹路径,安照空格隔开

    一个删除文件或者文件夹的命令

    [huan@localhost ~]$ ls
    t1  test1  test100  test1.txt  test2  test200.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2

    我们展示一下家目录下面都有什么,然后删除这些内容

    [huan@localhost ~]$ rm test1.txt
    [huan@localhost ~]$ ls
    t1  test1  test100  test2  test200.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3

    这是一个最简单的文件删除命令,删除test1.txt文件。

    [huan@localhost ~]$ rm t1
    rm: 无法删除"t1": 是一个目录
    [huan@localhost ~]$ rm -r t1
    [huan@localhost ~]$ ls
    test1  test100  test2  test200.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5

    删除t1文件夹,因为这时文件夹,就要加上-r命令,否则会提示错误,和cp文件夹复制很相似

    [huan@localhost ~]$ ls
    t10.txt  t20.txt  t30.txt  test1  公共  模板  视频  图片  文档  下载  音乐  桌面
    [huan@localhost ~]$ rm t10.txt t20.txt t30.txt
    [huan@localhost ~]$ ls
    test1  公共  模板  视频  图片  文档  下载  音乐  桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5

    删除多个文件,如果是多个文件夹需要前面带上-r

    rm删除文件、文件夹 - 通配符

    rm命令支持通配符*,用来做模糊匹配

    符号*表示通配符,即匹配任意内容(包含空),示例:

    • test*:表示匹配任何以test开头的内容
    • *test:表示匹配任何以test结尾的内容
    • *test*:表示匹配任何包含test的内容
    [huan@localhost 桌面]$ ls
    1test1.txt  1test.txt  2test2.txt  2test.txt  3test  3test3  test1.txt  test2.txt  test3
    
    • 1
    • 2

    我们展示一下桌面上的内容,有文件,也有文件夹

    [huan@localhost 桌面]$ rm -r test*
    [huan@localhost 桌面]$ ls
    1test1.txt  1test.txt  2test2.txt  2test.txt  3test  3test3
    
    • 1
    • 2
    • 3

    删除test开头的内容

    我们来解释一下-f,强制删除。

    Linux有一个超级管理员用户,也就是root用户。

    怎么进入root用户呢。su -,退出exit

    [huan@localhost 桌面]$ su -
    密码:
    上一次登录:一 11月  7 14:28:09 CST 2022:1 上
    [root@localhost ~]#
    
    • 1
    • 2
    • 3
    • 4

    在开始安装Linux的时候,也会让你设置一个root密码,这时就要用到这个密码。

    进入root,很明显有一个变化,就是[huan@localhost 桌面]$ 变成了[root@localhost ~] 标识符发生了变化。

    [root@localhost ~]# exit
    登出
    [huan@localhost 桌面]$
    
    • 1
    • 2
    • 3

    exit退出root用户

    我们演示删除文件

    [root@localhost ~]# touch test.txt
    [root@localhost ~]# rm test.txt
    rm:是否删除普通空文件 "test.txt"?y
    
    • 1
    • 2
    • 3

    在我删除文件的时候会有一行提示,rm:是否删除普通空文件 "test.txt"?要不要删除,输入y或者n。这个设置有什么用呢,因为root用户由最高权限,防止误操作。

    怎么没有这个提示呢?

    [root@localhost ~]# rm -f test.txt
    [root@localhost ~]#
    
    • 1
    • 2

    加上-f,强制删除

    过多的root介绍我现在也不明白,所以我只是看一下,然后推出了。

    注意!!!

    rm是一个危险的命令,特别是处于root(超级管理员)用户的时候。

    情谨慎使用

    如下命令,请千万千万不要在root管理员用户下执行

    rm -rf /

    rm -rf /*

    效果等同于在Windows上执行C盘格式化

    虽然我没试过,但是对C盘格式化是什么概念我想大家应该明白,电脑没法用了,要重装系统,但是数据没了。

    grep、wc和管道符

    grep命令过滤文件

    可以通过grep命令,从文件中通过关键字过滤文件行

    语法:`grep [-n] 关键字 文件路径

    • 选项-n,可选,表示在结果中显示匹配的行的行号
    • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围起来
    • 参数,文件路径,必填,表示要过滤的内容的文件路径,可作为内容输入端口

    首先我创建了一个文件

    [huan@192 桌面]$ cat test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    
    • 1
    • 2
    • 3
    • 4

    这个命令的初步理解类似CTRL+F,查找功能

    [huan@192 桌面]$ grep "like" test.txt
    I like to use Linux
    
    • 1
    • 2

    我要找含有的行,那么输入like,就有输出,其中like标红了

    [huan@192 桌面]$ grep "Linux" test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    
    • 1
    • 2
    • 3
    • 4

    这是找Linux,因为三行都有Linux,所以都输出了

    [huan@192 桌面]$ grep -n "lot" test.txt
    2:Linux has a lot of orders to learn.
    
    • 1
    • 2

    -n,出现是包含关键字的行号,我找lot,可以看出来lot在第二行

    这个命令就像是查找,

    wc命令统计内容数量

    可以通过wc命令统计文件的行数、单词数量等

    语法:wd [-c -m -l -w] 文件路径

    • 选项,-c,统计bytes数量
    • 选项,-m,统计字符数量
    • 选项,-l,统计行数
    • 选项,-w,统计单词数量
    • 参数,文件路径,被统计的文件,可作为内容输入端口

    统计文件的相关信息

    [huan@192 桌面]$ wc test.txt
     3 17 77 test.txt
    
    • 1
    • 2

    如果不输入参数,那么会输出全部统计的数值,文件有3行,17个单词,77个字节,以及文件名

    [huan@192 桌面]$ ll
    总用量 4
    -rw-rw-r--. 1 huan huan 77 11月 12 11:13 test.txt
    
    • 1
    • 2
    • 3

    也可以以这种方式查看文件字节数,77

    [huan@192 桌面]$ wc -c test.txt
    77 test.txt
    [huan@192 桌面]$ wc -m test.txt
    77 test.txt
    [huan@192 桌面]$ wc -l test.txt
    3 test.txt
    [huan@192 桌面]$ wc -w test.txt
    17 test.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    分别统计字节数、字符数、行数、单词数,单词以空格结尾

    |管道符的概念和应用

    学习了grep命令后,我们在来学习一个新的特殊符号,管道符:|

    管道符的含义是:将管道符左边命令的结果,作为右边命令的输出

    [huan@192 桌面]$ cat test.txt | grep -n am
    1:I am studying Linux.
    
    • 1
    • 2

    左边命令的结果,作为右边命令的输出,这句话在我一开始学习的时候有点绕口

    这里我想到了一个例子,python中可以定义函数,比如我现在定义了两个函数a、b,那我可以把函数a返回的参数给函数b,b(a)

    这里也是,把cat返回来的结果给 grep,grep是可以可作为内容输入端口。

    grep -n am ,可以看出来参数被我省略了,那就是管道符内容的

    [huan@192 桌面]$ cat test.txt | grep am | wc -w
    4
    
    • 1
    • 2

    也可以多个管道符一起用

    浅浅分析一下。

    [huan@192 桌面]$ cat test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    
    • 1
    • 2
    • 3
    • 4

    这时cat输出的内容,这段内容就可以通过管道符传递给grep

    [huan@192 桌面]$ cat test.txt | grep am
    I am studying Linux.
    [huan@192 桌面]$ grep am test.txt
    I am studying Linux.
    
    • 1
    • 2
    • 3
    • 4

    可以看出grep和管道符数出来的命令一样

    现在I am studying Linux.这段被输出来了,但是还有一个管道符,所以把这段话给wc,

    [huan@192 桌面]$ cat test.txt | grep am | wc -w
    4
    
    • 1
    • 2

    cat的结果作为grep的输入,然后又grep的结果又给了wc

    即I am studying Linux.一共有4个单词。

    可作为内容输入端口,只要有命令内容输出,那就可以通过管道符传入

    [huan@192 桌面]$ ls /
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    [huan@192 桌面]$ ls / | grep lib
    lib
    lib64
    
    • 1
    • 2
    • 3
    • 4
    • 5

    我先看了一下根目录又那些文件夹,然后我又找了一下含有bin关键字的文件夹

    [huan@192 桌面]$ ls / | wc -w
    19
    
    • 1
    • 2

    根目录下一共有19个文件夹

    [huan@192 桌面]$ ls -l /usr/bin/ | wc -l
    1673
    
    • 1
    • 2

    /usr/bin下面一共又11673个文件。ls -l按行输出,wc -l对行进行统计

    查找命令(which、find)

    使用which命令查找命令的程序文件

    我们在前面学习的Linux命令其实他们的本体就是一个个的二进制可执行程序

    和Windows系统中的.exe文件,是一个意思

    我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

    语法:which 要查找的命令

    原来我们用到的命令都是一个个可执行的程序,类似Windows里的.exe文件

    但是这些命令都放在哪里呢

    [huan@192 桌面]$ which ls
    alias ls='ls --color=auto'
            /usr/bin/ls
    [huan@192 桌面]$ which cd
    /usr/bin/cd
    [huan@192 桌面]$ which cp
    /usr/bin/cp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    我们用到的命令基本上都在/usr/bin文件夹下

    使用find命令查找指定文件

    按文件名查找

    在图形化中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。

    同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。

    语法:`find 起始位置 -name “被查找文件名”

    Linux中有些文件夹是不允许普通用户打开的,为了可以最大可能的搜索,我们使用管理员用户搜索

    [root@192 ~]# find / -name test
    find: ‘/run/user/1000/gvfs’: 权限不够
    /root/.local/share/Trash/files/test
    /usr/bin/test
    /usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/ntb/test
    /usr/lib/alsa/init/test
    /usr/lib64/python2.7/test
    /usr/lib64/python2.7/unittest/test
    /usr/share/espeak-data/voices/test
    /home/huan/桌面/test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    我们分析这条命令

    [root@192 ~]# find / -name test
    
    • 1

    /是根目录,那就是全盘搜索,-name,按文件名test进行搜索

    这里有个bug,find: ‘/run/user/1000/gvfs’: 权限不够\

    我用的就是root用户,为什么还会权限不够。

    经过百度是因为FUSE文件系统和权限不配引起的

    [root@192 ~]# umount /run/user/1000/gvfs
    [root@192 ~]# rm -rf /run/user/1000/gvfs
    
    • 1
    • 2

    解决方法是卸载一个软件和删除一个文件夹,通过搜索得到的

    [root@192 ~]# find / -name test
    /root/.local/share/Trash/files/test
    /usr/bin/test
    /usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/ntb/test
    /usr/lib/alsa/init/test
    /usr/lib64/python2.7/test
    /usr/lib64/python2.7/unittest/test
    /usr/share/espeak-data/voices/test
    /home/huan/桌面/test
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    现在可以看到一共有8个人test文件了,也没有权限不够的提示了

    find命令-通配符

    在学习删除命令的时候提到了一个通配符的概念*,用来做模糊匹配,那么这个里面就可以用

    [root@192 ~]# find / -name *test*
    
    • 1

    我全盘搜索含有test的文件,有以下的输出

    ...
    /usr/share/cups/templates/es/test-page.tmpl
    /usr/share/cups/templates/fr/test-page.tmpl
    /usr/share/cups/templates/ja/test-page.tmpl
    /usr/share/cups/templates/ru/test-page.tmpl
    /usr/share/cups/www/help/man-cupstestdsc.html
    /usr/share/cups/www/help/man-cupstestppd.html
    /usr/include/X11/extensions/xtestconst.h
    /usr/include/X11/extensions/xtestext1const.h
    /usr/include/X11/extensions/xtestext1proto.h
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    文件太多了。

    我突然想到了管道符,我倒要看看有多少文件

    [root@192 ~]# find / -name *test* | wc -l
    find: ‘/run/user/1000/gvfs’: 权限不够
    439
    
    • 1
    • 2
    • 3

    一共有429个文件

    find命令-按文件大小查找文件

    语法:find 起始位置 -size +|-n[kMG]

    • +,-表示大于等于
    • n表示大小数字
    • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

    查找小于10KB的文件

    [root@192 ~]# find / -size -10k
    
    • 1

    -对应小于,小于10k的文件,全盘搜索

    你可能会发现文件有很多结果

    ...
    /run/media/huan/CentOS 7 x86_64/EFI
    /run/media/huan/CentOS 7 x86_64/EFI/BOOT
    /run/media/huan/CentOS 7 x86_64/EFI/BOOT/fonts
    /run/media/huan/CentOS 7 x86_64/EFI/BOOT/fonts/TRANS.TBL
    /run/media/huan/CentOS 7 x86_64/EFI/BOOT/grub.cfg
    /run/media/huan/CentOS 7 x86_64/EFI/BOOT/TRANS.TBL
    /run/media/huan/CentOS 7 x86_64/EFI/TRANS.TBL
    /run/media/huan/CentOS 7 x86_64/EULA
    /run/media/huan/CentOS 7 x86_64/images
    /run/media/huan/CentOS 7 x86_64/images/pxeboot
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    文件太多了,我们可以CTRL+C结束。强制中断

    验证一下是不是小于10k

    [root@192 ~]# ls -lh /run/user/1000/keyring/ssh
    srwxr-xr-x. 1 huan huan 0 11月 12 11:02 /run/user/1000/keyring/ssh
    
    • 1
    • 2

    我们查看一下/run/user/1000/keyring/ssh这个文件到底是不是小于10k,ls -lh,这个文件大小是0

    课后练习

    请使用find命令找出:名称中带有centos的文件

    [root@192 ~]# find / -name centos
    /boot/efi/EFI/centos
    /dev/centos
    /run/lvm/vgs_online/centos
    /etc/lvm/backup/centos
    
    • 1
    • 2
    • 3
    • 4
    • 5

    按名字搜索,-name

    请使用find命令找出:/usr目录内大于100M的文件

    [root@192 ~]# find /usr/ -size +100M
    /usr/lib/locale/locale-archive
    /usr/lib64/firefox/libxul.so
    
    • 1
    • 2
    • 3

    我们可以验证一下

    [root@192 ~]# ls -lh /usr/lib/locale/locale-archive
    -rw-r--r--. 1 root root 102M 11月  4 02:29 /usr/lib/locale/locale-archive
    
    • 1
    • 2

    echo、tail和重定向

    使用echo命令输出内容

    可以使用echo命令在命令行输出指定内容

    语法:echo 输出的内容

    • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“”包围
    [huan@192 ~]$ echo hello linux
    hello linux
    
    • 1
    • 2

    类似编程语言的print语句,打印内容,

    [huan@192 ~]$ echo "hello linux"
    hello linux
    
    • 1
    • 2

    用双引号包围,这样看起来会舒服一点,不然会很容易当成参数

    反引号`的使用

    我们可以通过命令用反引号(通常也称之为飘号)`将其包围

    被`包围的内容,会被作为命令执行,而非普通字符

    [huan@192 ~]$ echo pwd
    pwd
    
    • 1
    • 2

    我们用echo输出pwd,那就是真的输出pwd,但我的意思是输出当前路径

    那这时就需要`

    [huan@192 ~]$ echo `pwd`
    /home/huan
    
    • 1
    • 2

    我的当前工作路径

    重定向符号的使用

    我们再来学习两个特殊符号,重定向符:>和>>

    • > ,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
    • >> ,将左侧命令的结果,追加写入到符号右侧指定的文件中

    这两个符号的意思像是往文件里面写东西,就行python的open函数一样。

    我们先展示一下用来写入的文件

    [huan@192 桌面]$ cat test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    
    • 1
    • 2
    • 3
    • 4

    现在往里面写入内容

    [huan@192 桌面]$ echo "hello linux" >> test.txt
    [huan@192 桌面]$ cat test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    hello linux
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    执行echo命令,将命令的结果写入test.txt文件

    然后查看文件,在最后一行显示出来了,证明已经写入

    将命令的结果写文件,那我还可以换其他的命令,

    [huan@192 桌面]$ ls -l ~ >> test.txt
    [huan@192 桌面]$ cat test.txt
    I am studying Linux.
    Linux has a lot of orders to learn.
    I like to use Linux
    hello linux
    总用量 0
    drwxrwxr-x. 4 huan huan 26 11月  9 15:00 test1
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 公共
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 模板
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 视频
    drwxr-xr-x. 2 huan huan 53 11月  9 13:32 图片
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 文档
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 下载
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 音乐
    drwxr-xr-x. 5 huan huan 60 11月 12 13:46 桌面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    我把ls命令执行的结果写入了文件。

    注意两个>>表示追加,写到文件后面

    我们演示一下覆盖

    [huan@192 桌面]$ echo "hello world" > test.txt
    [huan@192 桌面]$ cat test.txt
    hello world
    
    • 1
    • 2
    • 3

    覆盖,之前的内容全没了

    tail命令跟踪文件更改

    使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改,语法如下

    tail [-f -num] Linux路径

    • 参数,Linux路径,表示被跟踪的文件路径
    • 选项,-f,表示持续跟踪
    • 选项,-num,表示,查看尾部多少行,不填默认10行

    这个命令是对文件就行操作的,所以我先创建一个文件

    [huan@192 桌面]$ cat test.txt
    总用量 0
    drwxrwxr-x. 4 huan huan 26 11月  9 15:00 test1
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 公共
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 模板
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 视频
    drwxr-xr-x. 2 huan huan 53 11月  9 13:32 图片
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 文档
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 下载
    drwxr-xr-x. 2 huan huan  6 11月  4 02:41 音乐
    drwxr-xr-x. 5 huan huan 60 11月 12 13:46 桌面
    总用量 24
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4096 11月  4 02:37 boot
    drwxr-xr-x.  20 root root 3320 11月 12 11:02 dev
    drwxr-xr-x. 139 root root 8192 11月 12 11:03 etc
    drwxr-xr-x.   4 root root   28 11月  7 14:30 home
    lrwxrwxrwx.   1 root root    7 11月  4 02:28 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 11月  4 02:28 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root    6 4月  11 2018 media
    drwxr-xr-x.   3 root root   18 11月  5 17:49 mnt
    drwxr-xr-x.   4 root root   87 11月  5 17:44 opt
    dr-xr-xr-x. 218 root root    0 11月 12 11:01 proc
    dr-xr-x---.  15 root root 4096 11月 12 13:59 root
    drwxr-xr-x.  42 root root 1320 11月 12 11:03 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月 12 11:02 sys
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    这是我的一个文件内容

    [huan@192 桌面]$ wc -l test.txt
    30 test.txt
    
    • 1
    • 2

    统计一个下,一共有30行!学以致用

    [huan@192 桌面]$ tail test.txt
    drwxr-xr-x.   4 root root   87 11月  5 17:44 opt
    dr-xr-xr-x. 218 root root    0 11月 12 11:01 proc
    dr-xr-x---.  15 root root 4096 11月 12 13:59 root
    drwxr-xr-x.  42 root root 1320 11月 12 11:03 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月 12 11:02 sys
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在我什么选项都没写的时候,默认显示这个文件的最后五行

    [huan@192 桌面]$ tail -3 test.txt
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    • 1
    • 2
    • 3
    • 4

    加上-num的参数,注意这个参数是一个具体的数值,-3,显示最后三行数据

    接下来看f这个参数

    这个参数是跟踪的意思,实时跟踪这个文件。

    [huan@192 桌面]$ tail -3f test.txt
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    我让他显示后三行内容后,这个命令还在执行,这时就需要再打开一个终端,往这个文件里面写东西,同时之前打开的终端还会继续显示

    我在另一个终端中执行

    [huan@192 ~]$ echo "i like linux" >> 桌面/test.txt
    
    • 1

    然后再看之前打开的终端,会发现刚刚写的语句显示了出来

    [huan@192 桌面]$ tail test.txt
    drwxr-xr-x.   4 root root   87 11月  5 17:44 opt
    dr-xr-xr-x. 218 root root    0 11月 12 11:01 proc
    dr-xr-x---.  15 root root 4096 11月 12 13:59 root
    drwxr-xr-x.  42 root root 1320 11月 12 11:03 run
    lrwxrwxrwx.   1 root root    8 11月  4 02:28 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 4月  11 2018 srv
    dr-xr-xr-x.  13 root root    0 11月 12 11:02 sys
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    [huan@192 桌面]$ tail -3 test.txt
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    [huan@192 桌面]$ tail -3f test.txt
    drwxrwxrwt.  33 root root 4096 11月 12 16:25 tmp
    drwxr-xr-x.  13 root root  155 11月  4 02:28 usr
    drwxr-xr-x.  20 root root  282 11月  4 02:38 var
    i like linux
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    如果我们要终止命令,CTRL+C

    课后练习

    请使用cho并配合反引号,输出内容:我当前的工作目录是:具体的工作目录路

    [huan@192 ~]$ echo "我的工作目录是:`pwd`"
    我的工作目录是:/home/huan
    
    • 1
    • 2

    这里还是在考察飘号的使用,被飘号包围的内容可以当成命令使用,pwd也必须是命令才可以

    并结合重定向符,将输出结果覆盖写入Work.txt文件

    [huan@192 ~]$ echo "我的工作目录是:`pwd`" > work.txt
    [huan@192 ~]$ cat work.txt
    我的工作目录是:/home/huan
    
    • 1
    • 2
    • 3

    一个>表示覆盖

    请使用echo输出任意内容并追加到work.txt文件中

    [huan@192 ~]$ echo "啦啦啦" >> work.txt
    [huan@192 ~]$ cat work.txt
    我的工作目录是:/home/huan
    啦啦啦
    
    • 1
    • 2
    • 3
    • 4

    两个>> 追加

    通过tail命令持续跟踪文件内容更改

    [huan@192 ~]$ echo "i like linux" >> work.txt
    
    • 1

    追加-f,结束命令CTRL+F

    vim编辑器

    vi\vim编辑器介绍

    vi\vim是visual interface的简称,是Linux中最经典的文本编辑器

    同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。

    vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文章,而且还具有shell程序编辑功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计与编辑性

    在我没有学习Linux之前就听说过vim,有大佬说有很多大厂面试的时候会让你用vim写代码

    Windows有文本编辑器记事本,那么Linux的文本编辑器就是vi\vim

    vim好用是真的好用,难用也是真的难用,我现在体会不到哪里好用。但是也不难用,需要记住命令。不然寸步难行。

    vim是vi的加强版本,所以现在经常使用vim

    vi\vim编辑器的三种工作模式

    • 命令模式(Command mode)

      命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能

      此模式下,不能自由进行文本编辑。

    • 输入模式(Insert mode)

      也就是所谓的编辑模式、插入模式

      此模式下,可以对文件内容进行自由编辑

    • 底线命令模式(Last line mode)

      以: 开始,通常用于文件的保存,退出。

    这是vi\vim的三种模式

    之前不知道什么是vim的时候,我打开一个文件都是不可以编辑,我以外是我的电脑坏了,还是,但是我的电脑按键又可以用

    在打开一个文件的时候,会先进入命令模式。只能浏览文件,不可以编辑文件。现在我才知道原来快捷键是在命令模式下使用的。但是我没用过。

    命令模式下可以按i、a、o可以进入编辑模式,对文件进行编辑。也可以按: 进入底线命令模式,这个主要用于文件的保存和退出。

    在编辑模式下,按下esc键,就退出编辑模式。这个时候可以用命令模式也可以用底线命令模式。

    在底线命令模式下按下回车就是确认。

    vi编辑器的快速体验

    通过vi\vim命令编辑文件,就会打开一个新的窗口,此时的窗口就是:命令模式窗口

    命令模式是vi编辑器的入口和出口

    • 进入vi编辑器会进入命令模式
    • 通过命令模式输入键盘指令,可以进入输入模式
    • 输入模式需要退回到命令模式,然后通过命令模式可以进入底线命令模式

    学习vi的使用,第一步要明白vi的三种模式切换,命令模式、输入模式、底线命令模式

    在打开文件的时候会先进入的界面就是vi的命令模式,在这个里面可以使用快捷键秀翻全场。

    按下i,还有其他的什么键,就可以进入编辑模式,用来码字板砖。

    按下:,进入底线命令模式,并且搭配一些命令可以对文件进行整体操作,保存、退出什么的。

    注意在命令模式下按下i(还有其他三个键)进入编辑模式;按下: 进入底线命令模式

    在编辑模式下只能按下esc,才能回到命令模式

    1. 使用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式
    2. 在命令模式内,按键盘i,进入编辑模式
    3. 在编辑模式内输入:itheima and itcast
    4. 输入完成后,按esc回退会命令模式
    5. 在命令模式内,按键盘: 会进入底线命令模式
    6. 在底线命令模式内输入:wq,保存文件并退出vim编辑器
    [huan@192 桌面]$ vim hello.txt
    
    • 1

    用vi编辑文件的命令,如果文件存在,打开文件,如果文件不存在,那么创建文件并打开

    ~
    ~
    ~
    "hello.txt" [新文件]                                                                        0,0-1        全部
    
    • 1
    • 2
    • 3
    • 4

    打开文件后,会出现一个类似上面的代码。这就是命令模式,在左下角也会显示这是个新文件。"hello.txt" [新文件]

    这个界面是不可以编辑的,一开始我就不明白为什么不可以用

    现在按下i键,会有两个变化,

    第一个变化,可以输入内容了,第二个变化

    ~
    ~
    ~
    -- 插入 --                                                                                  0,1          全部 
    
    • 1
    • 2
    • 3
    • 4

    左下角的"hello.txt" [新文件] 变成了-- 插入 --

    这个时候输入内容itheima and itcast

    在输入模式下,按下一些功能按键是没有特殊功能的,比如i是进入输入模式,但我在输入模式下按下i,那就是输入i,并不会又进入输入模式。

    现在退出输入模式,进入命令模式,因为在输入模式下使用命令模式或者底线命令模式都是不管用的,按下esc

    itheima and itcast
    ~
    ~
    ~
                                                                                                1,18         全部
    
    • 1
    • 2
    • 3
    • 4
    • 5

    会发现无论是"hello.txt" [新文件] 还是-- 插入 --都不见了,现在可以执行一些命令(快捷键)、或者:。

    接下来就是一些简单的快捷指令

    按下两下yy+p是可以复制整行的,前提是光标要移动到需要复制的行上

    两下dd,删除一行

    u,撤销

    现在要对文件保存退出。进入底线命令模式,怎么进入按下:

    :
    
    • 1

    按下:后,底下会变成这样,接下来输入wq,w(保存)、q(退出)

    :wq
    
    • 1

    可以验证一下,文件有没有存在

    [huan@192 桌面]$ ls
    hello.txt  test  test1  test2  test.txt
    [huan@192 桌面]$ cat hello.txt
    itheima and itcast
    itheima and itcast
    itheima and itcast
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    补充一点点

    :wq
    
    • 1

    这个是保存并退出,也可以分开执行

    :w保存,:q退出

    在执行:w后

    "hello.txt" 3L, 57C 已写入                                                                   3,1          全部
    
    • 1

    编辑器左下角的变化,其实vi并不是很难用,你的每一次操作都会有提示

    命令模式快捷键

    模式命令描述
    命令模式i在当前光标位置进入输入模式
    命令模式a在当前光标位置之后进入输入模式
    命令模式I在当前行的开头进入输入模式
    命令模式A在当前行的结尾进入输入模式
    命令模式o在当前光标的下一行进入输入模式
    命令模式O在当前光标的上一行进入输入模式
    输入模式esc任意情况下输入esc都能回到命令模式

    有六条命令可以进入到输入模式,有一条指令,可以退回到命令模式

    这里要打开vim试一下

    还有命令

    模式命令描述
    命令模式键盘上、键盘K向上移动光标
    命令模式键盘下、键盘J向下移动光标
    命令模式键盘左、键盘H向左移动光标
    命令模式键盘右、键盘I向右移动光标
    命令模式0移动光标到当前行的开头
    命令模式$移动光标到当前行的结尾
    命令模式pageup(PgUp)向上翻页
    命令模式pagedown(PgDn)向下翻页
    命令模式/进入搜索模
    命令模式n向下继续搜索
    命令模式N向上继续搜索
    命令模式dd删除光标所在行的内容
    命令模式nddn是数字,表示删除当前光标向下n行
    命令模式yy复制当前行
    命令模式nyyn是数字,表示复制当前行和下面的n行
    命令模式p粘贴复制的内容
    命令模式u撤销修改
    命令模式ctrl + r反向撤销修改
    命令模式gg跳到首行
    命令模式G跳到行尾
    命令模式dG从当前行开始,向下全部删除
    命令模式dgg从当前行开始,向上全部删除
    命令模式d$从当前光标开始,删除到本行的结尾
    命令模式d0从当前光标开始,删除到本行的开头

    底线命令模式

    模式命令描述
    底线命令模式:wq保存并退出
    底线命令模式:q仅退出
    底线命令模式:q!强制退出
    底线命令模式:w仅保存
    底线命令模式:set nu显示行号
    底线命令模式:set paste设置粘贴模式

    这里要注意强制退出是什么意思

    无论用txt还是word或者是什么软件,在做完东西后,退出时会问你是否要保存文件,那么Linux也是有这个功能的

    E37: 已修改但尚未保存 (可用 ! 强制执行)                                                         18,81        顶端
    
    • 1

    我还记得一开始我用vi时,有时候总会给我提示这个提示,那个提示时英文,我看不懂,我直接关机开机

    现在遇到这种问题有两种方法

    一,:wq保存退出;二,:q1强制退出,这个不会对文件保存。

    还有个设置粘贴模式,这个模式下复制的东西在粘贴时会保留原有格式,这个我还没有遇到过,不太明白用法

    :set nu,显示行号,很舒服

    以上就是vi编辑器的内容,一个简单的入门。

    大佬们都是vi编辑器是最好用的编辑器,但是可能因为我是新手,体会不到,当有报错发生,我还是会手忙脚乱,不知所措。

    总结

    以上内容就是Linux的基础命令的学习笔记,但这里我已经写了有一万五的字,这是我写的最多的一回。代码占了大部分

    Linux目录、没了入门、目录的表示方法这些我感觉是对Linux的一个了解。然后剩下的就是很多命令的学习了,想要学好Linux,离不开命令,所以我们应该牢记这些

    举个简单的例子,让你用Windows打开一个文件,你肯定会想到鼠标双击,但是在Linux里面你应该一下子想到用哪个命令。虽然我现在还没到这种境界。

    命令很多记不住,应该借助工具,百度搜索,无论是什么命令,都会遵守这么一个格式command [-aptions] [parameter],我们只是学会他的搭配即可,

    还有vim,应该多练习

    好了,我的笔记到此结束。

    里面肯定有许许多多的bug,欢迎大家指出!毕竟这样成长更快。

    也感谢大家可以看到这样,如果帮到了你,是我的荣幸。

    谢谢大家!

  • 相关阅读:
    前端一次性发送几十个请求给后端
    云技术分享 | 快速构建 CodeWhisperer 代码生成服务,让 AI 辅助编程
    最新版阿里云Linux CentOS7 ecs-user用户安装Mysql8详细教程(超简单)
    标准化助推开源发展丨九州未来参编开源领域4项团体标准正式发布
    老板说我最近飘了,都敢用 MySQL 实现分布式锁了
    5G+AI+XR:将成为开启空间互联网的钥匙
    Leftpad事件 我们是不是早已忘记该如何好好地编程?
    java毕业设计产品销售管理系统Mybatis+系统+数据库+调试部署
    一文拿捏对象内存布局及JMM(JAVA内存模型)
    云原生网关哪家强:Sealos 网关血泪史
  • 原文地址:https://blog.csdn.net/qq_45348840/article/details/127831577