2.MySQL- Linux 常见指令

目录

回顾:Linux 常见命令

一、创建目录 make directory (mkdir)

二、创建一个空白的文本文件 (touch)

练习

三、查看文本文件内容相关的指令(cat head tile...)

3.1 cat

3.2 head & tail

3.3 wc -l

3.4 grep 

3.5 less & more

小结

四、查找文件 (find)

五、移动文件(mv)

六、复制文件(cp)

七、echo 命令

八、输入/输出重定向(redirect)

九、帮助文档 (man)

十、查看进程列表 (ps/top)

十一、查看内存 (free)

安装MySQL


我们先来回顾一下上一篇博客的主要内容,主要是以下几点:

回顾:Linux 常见命令

  1. 命令 + 参数列表

  2. 参数中常见内容:选项、带参数的选项、文件路径、其他

  3. Linux 上文件系统组织

    1. Linux 只有一棵树,"/" 就是根

    2. 任意文件对应树上的一个结点

    3. 文件的路径 等价于 树的路径(从根到当前结点的路径)

    4. 使用 "/" 作为路径分隔符

    5. 相对路径 vs 绝对路径

      • 绝对路径:从根开始的路径,从 / 开始的路径

      • 相对路径:从当前位置(working directory)出发到结点的路径

    6. "." 代表在当前结点不动

    7. ".." 代表回到父结点

    8. 根的父结点还是根

 接下来复习一下相关的命令及其含义:

$ clear # 清空屏幕 也可以使用快捷键 Ctrl + L

$ who
$ whoami

$ pwd   # print working directory 打印当前工作目录

$ cd 某个路径    # cd change directory 前往指定目录
$ cd      # 一键回家 /home/ubuntu
$ cd -    # 回到刚才的工作目录

$ ls           # 列出当前工作目录下的文件
$ ls 某个路径   # 列出对应路径下的文件
$ ls -al       # -a 显示所有文件(包含 . 开头的文件)
               # -l 列出详细信息
               
$ rm -rf 路径   # -r 可以删除目录   -f 不询问直接删除
                # Windows 的删除只是移动到“回收站”目录下
                # Linux 的删除是直接删除

接下来开始今天的学习,同样是关于 命令的认识。

一、创建目录 make directory (mkdir)

通过命令 mkdir 创建目录,更常见的用法是使用 mkdir -p 路径,二者有什么区别呢?

假设我们要创建 a/b/c/d 这样一个路径下的 d 目录:

使用命令: mkdir a/b/c/d     如果 a/b/c 存在,则创建成功;

                                             如果 a/b/c 不存在,则创建失败。

使用命令: mkdir -p a/b/c/d 如果 a/b/c 存在,则创建成功;

                                             如果 a/b/c 不存在,则创建 a/b/c ,同样可以创建成功。

 可以在文件管理器中看到,通过 mkdir -p a/b/c/d 命令成功创建了目录:

2.MySQL- Linux 常见指令_第1张图片

二、创建一个空白的文本文件 (touch)

在 Linux 中 没有文件后缀名的概念,通过 touch 命令来创建文本文件:

2.MySQL- Linux 常见指令_第2张图片

可以看到通过 list -l 命令查看创建了一个 0 个字节名为 hello.txt 的文件,且创建时间为 17:38,呢么如果是在 hello.txt 文件已经存在的情况下继续使用 touch 命令来创建 hello.txt 文件,会是什么结果呢?

2.MySQL- Linux 常见指令_第3张图片

 通过上图可以看到当再次创建相同文件时,会直接修改文件的最后修改时间

如果需要在 Linux 上创建文件,可以在 Windows 上创建好,然后拖动至文件管理器中。 

练习

1) 在 /home/ubuntu 先手动创建如下目录结构:

test/
├── a/
│   ├── a1/
│   │   ├── 1.txt
│   │   └── 2.txt
│   └── a2/
├── b/
│   ├── b1/
│   │   ├── 1.txt
│   │   └── 2.txt
│   └── b2/
└── c/

# -i --interactive 交互式地(每次删除之前需要输入 y 确认)
2) 使用 rm -ri 命令删除 test, 观察删除的顺序.   深度优先还是广度优先

我们先通过 mkdir - p 命令创建目录,然后通过 touch 命令 创建空白文件。

mkdir -p test/a/a1 test/a/a2 test/b/b1 test/b/b2/ test/c

2.MySQL- Linux 常见指令_第4张图片

touch test/a/a1/1.txt
touch test/a/a1/2.txt
touch test/b/b1/1.txt
touch test/b/b1/2.txt

2.MySQL- Linux 常见指令_第5张图片

注意:

1.mkdir 和 touch,都可以一次传入多个路径

2.输入命令,可以使用键盘上的 Tab ,要求 shell 自动补全(auto completion),可以补全命令 或者 路径

3.通过键盘的 上 / 下 键翻阅历史输入

4.通过键盘的 左 / 右 键改变光标(cursor)位置,进而修改历史命令

输入 tree 命令可以查看树的结构,但是可能存在没有下载插件的情况,可以通过提示根据命令:sudo apt install tree 来下载,下载完毕后,输入命令 tree 查看。

2.MySQL- Linux 常见指令_第6张图片

在删除文件时,跟我们了解的树的结构相似,都是先删除树的叶子结点而不能直接删除整个树。当叶子结点删除完毕才可以删除上一层的结点。通过命令 rm -ri 来删除文件。

2.MySQL- Linux 常见指令_第7张图片

执行以上命令后,我们再来看一下树的结构:

2.MySQL- Linux 常见指令_第8张图片

 可以看到整个 a 目录已经被删除。


三、查看文本文件内容相关的指令(cat head tile...)

3.1 cat

Ctrl + C 为当前正在执行程序发送一个中断信号(Interrupt Signal sigint) 意思是让这个进程赶紧中断。

 cat 路径(必须一个有读权限的普通文件,最好是文本文件),当 cat 命令后跟的不是文本文件时会出现以下提示:

说明 test 是一个目录,不是所需要的文本文件。

通过 cat 命令可以查看文本文件的内容。

2.MySQL- Linux 常见指令_第9张图片

 通过 cat -n 命令可以显示文本文件的行号。

2.MySQL- Linux 常见指令_第10张图片

关于 cat 命令还有一个比较有趣的点,当我们将 cat 命令倒过来输入,即输入 tac 命令时:

2.MySQL- Linux 常见指令_第11张图片

此时文本文件的内容也是倒着的。

cat 回车,什么路径都不跟着,实际上是标准输入中读取内容,然后输出标准输出。

那么,什么是标准输入和标准输出呢?我们举个例子看一下:

public class Cat {
    public static void main(String[] args) {
        if (args.length == 0) {
            // System.in 系统提供的标准输入(stdin)
            Scanner sca = new Scanner(System.in);
            while (sca.hasNextLine()) {    // Ctrl + D
                String line = sca.nextLine();
                // System.out 系统提供的标准输出(stdout)
                System.out.println(line);
            }
        }
}

2.MySQL- Linux 常见指令_第12张图片

 

以上结果即表明,当我们输入 hello 时就会返回 hello ,当输入 hi 时同样返回 hi 。此时,如何推出呢?

  • Ctrl + C 不让代码执行结束了,执行到哪行算哪行
  • Ctrl + D 说明输入结束了,正常退出【优先】

2.MySQL- Linux 常见指令_第13张图片

3.2 head & tail

 head(头) 和 tail (尾)1)普通文件 2)文本文件 3)有读权限

  • head:只显示头几行(默认是 10 行)
  • tail:只显示尾几行(默认是 10 行)
  • head -n 100 路径 显示文件的前 100 行
  • tail -n 20 路径 显示文件的后 20 行

2.MySQL- Linux 常见指令_第14张图片

  • head 不带路径,读取的是标准输入
  • tail 不带路径,读取的是标准输入

2.MySQL- Linux 常见指令_第15张图片

2.MySQL- Linux 常见指令_第16张图片

  • head -n 读取的是标准输入,当输入两次后直接退出
  • tail -n 读取的是标准输入,将后 n 行的内容输出

2.MySQL- Linux 常见指令_第17张图片

2.MySQL- Linux 常见指令_第18张图片

3.3 wc -l

 wc -l 命令 可以直接查看文本文件一共有多少行。

3.4 grep 

grep     gnu(开源组织) rep

进行匹配输出的

1. grep 'hello world'  Hello.java
读取 Hello.java 的内容,只把包含 "hello world" 的行输出到标准输出上

2. grep -i Linux   Hello.java 
-i --in case sensitive
读取 Hello.java 的内容,把包含 "Linux" 、 "linuX "等 内容输出到标准输出上
case 大小写
sensitive 敏感
case-sensitive 大小不敏感
in-case-sensitive 大小写不敏感

3. grep -v Linux  Hello.java   输出不含 "Linux" 的内容
  -v, --invert-match        select non-matching lines

grep 如果不跟路径,从标准输入读取。以下示例就表示将含有 hello 的输入进行输出。 

2.MySQL- Linux 常见指令_第19张图片

在 Ubuntu 中通过 apt 命令来打印可以安装的软件,通过 apt -list 列出。

3.5 less & more

  • less 只显示一页,按 q 退出。less 往前/往后,通过 上下键控制。
  • more 只显示一页,按 q 退出。more 往前,通过 上下键控制,通过空格。
  • less/more 不带路径,就是标准输入

小结

cat / head / tail / grep / less / more

  1. 要有读权限

  2. 必须文本文件

四、查找文件 (find)

从 /home 开始找,找文件名中含有 .c 的文件:

find /home/ -name '*.c'

五、移动文件(mv)

mv /home/ubuntu/print-args.c /home/ubuntu/test

2.MySQL- Linux 常见指令_第20张图片

 可以看到是将 /home/ubuntu/ 下的文件 print-args.c 移动到了 /home/ubuntu/test/ 目录下。

mv /home/ubuntu/hello.txt /home/ubuntu/word.txt

2.MySQL- Linux 常见指令_第21张图片

 以上命令是将 /home/ubuntu/ 目录下的 hello.txt 文件 重新命名为:/home/ubuntu/ 下的 word.txt。

2.MySQL- Linux 常见指令_第22张图片

 上图表示了将 b 目录 直接剪切在 a 目录下。

六、复制文件(cp)

cp hello.c word.c

2.MySQL- Linux 常见指令_第23张图片

2.MySQL- Linux 常见指令_第24张图片

可以看到两个文件的内容完全相同。通过 diff 命令 可以直接比较两个文件是否相同,当两个文件完全相同时不输出任何内容:

七、echo 命令

类似于 printf 。

2.MySQL- Linux 常见指令_第25张图片

单独使用 echo 命令时,无法识别 转义字符,因此 使用 echo -e 命令即可。还有另一种使用方法:

2.MySQL- Linux 常见指令_第26张图片

 注意:这里只能使用双引号,不能使用单引号。

八、输入/输出重定向(redirect)

输入重定向:进程的标准输入不再是键盘,而是从一个路径对应的文件中读取内容。

$ cat -n   <  test/Hello.java

cat -n 还是从标准输入读取

< 文件路径    完成标准输入的重定向

cat -n 的标准输入变成了 文件 中的内容了

标准输出重定向:进程的标准输出不再是屏幕,而是一个文件路径,所有的输出都会写到该文件。

uecho "Hello" > xxx.txt
cat xxx.txt
Hello
  1. 文件如果不存在,则会创建该文件并且写入(要求是有权限)

  2. 如果文件存在

    1. '> 路径': 覆盖原来的内容(删除文件中的原有内容,把新的内容写入)

    2. '>> 路径': 追加模式,在原有的内容后边接着跟新内容

九、帮助文档 (man)

man 是 manual(说明手册) 的缩写,比 --help 更全的文档。

2.MySQL- Linux 常见指令_第27张图片

十、查看进程列表 (ps/top)

2.MySQL- Linux 常见指令_第28张图片

 当 Linux 较为卡顿时,可以执行命令 ps 来进行定位。

十一、查看内存 (free)

2.MySQL- Linux 常见指令_第29张图片

安装MySQL

通过以上命令进行查找:

2.MySQL- Linux 常见指令_第30张图片

然后,通过以下命令进行安装: 

sudo apt install mysql-server-8.0

输入命令:

ps aux | grep -i mysql

查看是否下载完毕,当显示如下图所示即安装成功。

还可以通过查看端口:

sudo netstat -nltp | grep 3306

 

 通过命令:

sudo cat /etc/mysql/debian.cnf

查看用户名和密码。通过以下命令,输入密码后即可进行连接。

mysql -udebian-sys-maint -p

当最终显示为下图所示,表明已经成功安装了MySQL。

2.MySQL- Linux 常见指令_第31张图片

 

你可能感兴趣的:(数据结构&MySQL,前端)