ubuntu 常用命令
一、文件和目录操作
文件和目录常用命令
| 命令 | 含义 | 对应的英文 |
| ls | 列出目录下所有项 | list |
| pwd | 显示当前位置 | print wrok directory |
| cd | 切换目录 | change directory |
| touch | 创建文件 | |
| rm | 删除文件 | remove |
| mkdir | 创建目录 | make directory |
| cp | 拷贝 | |
| mv | 移动 |
终端命令格式
command [-options] [parameter]
command 命令名,相应功能的英文单词或单词的缩写
[-options] 选项,可用来对命令进行额外的控制,也可以省略
[parameter] 传给命令的参数,可以是零个、一个或多个
1、常用的命令
touch 创建文件
touch 321.txt
mkdir 创建目录
mkdir aaa
rm 删除一个文件
rm 321.txt
rm 虽然也可以删除目录,但需要额外设置 -r
rm -r aaa
小技巧
ctrl shift = 放大终端字体
ctrl - 缩小终端字体
为什么两个快捷键这么奇怪呢?
打开虚拟键盘
按下shift 键,等号 = 变加号 +
按下shift 键,减号 - 变下划线 _
因此放大是 ctrl +,缩小是 ctrl -
2、列出目录
ls 列出目录的内容,类似于 DOS 下的 dir 命令
linux 文件和目录的特点
1. 文件或目录名称最长可以有 256 个字符
2. 以 . 开头的目录或文件为隐藏文件,
就是文件名的第一个字符是 . 该文件就是隐藏文件,需要参数 -a 才能显示, 既 all 的缩写
3. . 代表当前目录
4. .. 代表上一级目录,既 cd .. 回到上级目录
ls 加上参数 -a 可以看到隐藏文件
touch 123.txt touch .123.txt ls -a
查看指定路径
ls / - 斜杠表示根目录,查看根目录 ls /home/summer
ls 命令的常用选项
| 参数 | 含义 |
| -a | 显示目录下面所有的目录和文件,包括隐藏文件 |
| -l | 以列表的方式显示文件的详细信息 |
| -h | 单独使用没有用,必须要配合 -l 一起使用,以人性化的方式显示文件大小,就是看文件的大小更直观 |
| -d | 不递归 |
-l 以列表方式显示
-h 文件单位显示 4.0k 看着方便
ls -l -h
-rw-rw-r-- 1 summer summer 25 5月 26 21:10 123.txt
drwxrwxr-x 2 summer summer 4.0K 5月 26 21:04 file
列表第一个字符
- 表示文件
d 表示目录
多个参数可以连着写
ls -lha
home/summer 当前家目录中,显示很多隐藏文件和文件夹,
是我们安装过软件的配置文件,保存着安装过软件的配置内容,
比如 .vim、.viminfo、sunpinyin 等... 这些我们不用理会
查看目录权限
-d 表示仅列出该目录的属性,而不会递归内部内容
ls -ld /opt/software/
2. ls 和通配符的联合使用
如果目录中的文件非常多,通配符可以帮我们快速精确的定位到我们需要找文件
| 通配符 | 含义 |
| * | 代表任意个数字符 |
| ? | 代表任意一个字符,至少有一个字符 |
| [] | 表示可以匹配字符串组的任一个字符 |
| [abc] | 匹配 a、b、c 中任意一个 |
| [a-f] | 匹配从 a 到 f 范围内任意一个字符 |
创建几个 txt 文件
touch 111.txt 121.txt 123.txt 223.txt 323.txt 423.txt 523.txt
列出以数字 1 开头的文件
数字 1 开头
* 代表任意多个字符
ls 1*
111.txt 121.txt 123.txt
以数字 3 结尾的文件
ls *3.txt
123.txt 223.txt 323.txt 423.txt 523.txt
因为 * 星号代表任意多的字符(* 表示结尾部分的 .txt)
3 后面也写一个星号,也可以找到以 3 结尾的
ls *3*
123.txt 223.txt 323.txt 423.txt 523.txt
? 只能代表一个字符,
列出的文件名
前后分别是数字 1
中间是任意一个字符
ls 1?1.txt
111.txt 121.txt
文件名中间是 2 的,全部列出来
ls ?2?.txt
121.txt 123.txt 223.txt 323.txt 423.txt 523.txt
在创建一个 11.txt
用 1?1.txt 不能列出 11.txt,因为前后是数字 1 中间没有内容
换成星号 1*1.txt 就可以了,结果显示出三个文件
touch 11.txt ls 1?1.txt --111.txt 121.txt ls 1*1.txt --111.txt 11.txt 121.txt
创建 1abc1.txt 文件
星号代表任意个数的字符,用星号可以匹配出该文件(? 号只能代表一个字符,匹配不出来)
touch 1abc1.txt ls 1*1.txt
111.txt 11.txt 121.txt 1abc1.txt
[] 中括号可以定义一个匹配定义的字符组
1. 只要以 23.txt 结尾
2. 同时前面一个字符是 [12345] 内指定的一个
ls [12345]23.txt
123.txt 223.txt 323.txt 423.txt 523.txt
[2-5] 列出 2 到 5 之间开头的文件
ls [2-5]23.txt
223.txt 323.txt 423.txt 523.txt
3、切换目录
cd 命令更改当前的工作目录
回到 /home/summer 工作目录的两种方式
cd cd ~
. 保持当前目录不变
.. 切换到上级目录
cd . cd ..
在最近两次的工作目录之前来回切换
cd -
相对路径和绝对路径
相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录 或 家目录 开始的具体目录位置
注意,
Linux 的目录和文件名都是大小写敏感的
绝对路径 是不管当前所在目录是哪里,只要最前面是 / 或者 ~,切换到指定的目录
cd ~/Documents/ cd / cd /home/summer/Desktop
相对路径不需要斜线(例如,当前位置家目录 /home/summer/)
cd Desktop/ cd ../Documents/ -- 切换到上级 summer 家目录,然后再切换到上级目录下的 Documents 目录
4、创建和删除
touth 创建文件或修改文件时间
如果文件不存在,则创建一个空白文件
如果文件存在,则修改文件的末次修改日期
文件 111.txt 已经存在,再使用 toucha 命令会更新文件的修改时间
touth 111.txt
-rw-rw-r-- 1 summer summer 0 5月 31 15:55 111.txt
-rw-rw-r-- 1 summer summer 0 5月 31 16:40 111.txt 更新了时间
mkdir 创建一个新文件
连续创建 /a/b/c/d 多级目录
cd ~/桌面 mkdir a cd a mkdir b cd b mkdir c cd c mdir d cd ~/桌面 --返回到桌面,~表示家目录
mkdir 命令选项
| 选项 | 含义 |
| -p | 可以递归创建目录 |
使用 -p 一次性把四个目录全部创建出来
mkdir -p a1/b2/c3/d4 cd a1/b2/c3/d4/ - 进入d4目录
在当前同一个目录下面,文件和目录允许不重名
touch 123 mkdir 123 --提示123已经存在,无法创建
rm 既可以删除文件也可以删除目录
需要注意使用 rm 是直接从磁盘上删除不能恢复,不会像图形界面那样删到回收站
rm 命令选项
| 选项 | 含义 |
| -r | 递归删除目录下的内容,删除文件夹时必须加上该参数 |
| -f | 强制删除,忽略不存在的文件,同时不会有任何提示 |
上面说过 rm 命令不能直接删除目录
删除目录要加 -r
加上 -r 后同时可以一次删除多级目录
rm -r a1
删除不存在的目录 abc 会提示
rm abc --没有这个文件
加上 -f 在删除不存在的目录,就不会有提示信息了
rm -f abc
上面说过 ls 命令可以使用通配符,
比如 * 号可以任意多个字符,下面列出以 3 结尾的文件
ls *3.txt
rm 命令也可以使用通配符,
比如删除所有以 3 结尾的文件
rm *3.txt
这样会删除当前所在目录下所有的文件以及目录,包括递归的目录
cd ~/桌面 rm -r *
删库跑路
千万不要在根目录这样操作
cd / rm -rf *
5、拷贝和移动文件
| 命令 | 作用 |
| tree | 以树状结构列出文件以及目录的结构 |
| cp | 复制文件或目录,cp既copy |
| mv | 移动文件或目录 / 文件或目录重命名,mv既 move |
1. tree
tree 命令,以树状图列出文件目录结构
1. 直接执行 tree 命令,显示当前目录的树形结构
2. tree [目录名] 输出指定目录的树形结构
先在桌面创建几个文件
mkdir aaa
touch aaa/123.txt
touch aaa/123(复件).txt
切换到 Desktop 桌面目录
然后直接执行 tree 命令就显示当前目录的树形结构
cd ~/桌面 tree
终端中输出树状结构
.
└── aaa
├── 123(复件).txt
└── 123.txt
首先 . 点就表示当前的目录,而当前的目录是 Decktop
在当前工作 Desktop 下面有一个 aaa 文件夹(文件夹是蓝色字)
aaa 文件夹下面有两个文件(文件是白色字)
在桌面 Desktop 文件夹下创建几个文件夹和文件
mkdir -p a/b/c -- 选项-p一次性创建多个嵌套文件夹 touch a/b/c/123.txt -- 在文件夹c下创建一个123.txt文件 touch a/b/321.txt -- 在文件夹d下创建一个322.txt文件 touch a/b/322.txt tree
整个桌面目录非常像一颗树了
.
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
└── aaa
├── 123(复件).txt
└── 123.txt
~ 表示用户的家目录,
tree 命令输出指定 ~ 家目录的结构
tree ~
/home/summer 最顶级的显示是用户的家目录,下面出家目录下的文件夹以及文件夹下的文件
├── 公共的
├── 模板
├── 视频
├── 图片
├── 文档
├── 下载
├── 音乐
├── 桌面
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
└── aaa
├── 123(复件).txt
└── 123.txt
tree 命令常用的选项只有一个
| 选项 | 含义 |
| -d | 只显示目录,不显示文件 |
-d 只显示目录,不显示文件
tree -d
.
├── a
│ └── b
│ └── c
└── aaa
2. cp 复制
cp 命令既 copy,功能是复制 文件 或 目录,相当于 DOS 下的 copy 命令
1. 复制文件
cp 源文件 目标文件
~ 表示家目录
把 ~/文档/readme.txt 复制到当前桌面文件夹下
当前位置在 Desktop 桌面目录,当前目录可以用点 .,然后加一个 /readme.txt
cp ~/文档/readme.txt ./readme.txt
如果文件名不发生改变,直接指定目标目录就可以了
rm readme.txt --先删除之前复制的文件 cp ~/文档/readme.txt . --指定目标路径,点.代表当前目录
cp 复制命令的选项
| 选项 | 含义 |
| -i | 覆盖文件前提示 |
| -r | 如果复制的是目录,将递归该 目录 下所有的子目录和文件 目标文件必须是一个目录名 |
使用 gedit 打开桌面 readme.txt 文件,修改内容并保持打开
cp ~/文档/readme.txt .
然后在终端中重新执行拷贝
1. 终端中什么都不会提示
2. 但是 gedit 编辑器,会提示桌面的文件已经发生变更,是否确定重新载入?
如果重新载入,之前修改桌面 readme.txt 的内容被覆盖了
加上 -i 如果复制的文件已经存在,会在终端中会有提示
n 表示不覆盖
y 表示覆盖,如果 gedit 打开,会提示是否重新载入
cp -i ~/文档/readme.txt .
2. 复制目录
上面的 rm 命令可删除 文件 或 目录
但并不能直接删除目录,如果删除目录必须加 -r
cp 命令并不能并不能直接复制目录,如果复制目录必须加 -r
cp -r a test tree
源文件文件夹 a 和 目标文件 test 是一样的
.
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
├── aaa
│ ├── 123(复件).txt
│ └── 123.txt
├── readme.txt
└── test
└── b
├── 321.txt
├── 322.txt
└── c
└── 123.txt
3. mv 移动(剪切)
mv 命令有功能
可以用来移动 文件 或 目录,也可以给 文件 或 目录 重命名
1. 移动目录
移动文件或目标不需要任何参数
只需要命令格式 mv 源文件 目标文件
看一下家目录的结构
tree ~
/home/summer
├── 公共的
├── 模板
├── 视频
├── 图片
├── 文档
│ ├── readme.txt
├── 下载
├── 音乐
└── 桌面
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
├── aaa
│ ├── 123(复件).txt
│ └── 123.txt
├── readme.txt
└── test
└── b
├── 321.txt
├── 322.txt
└── c
└── 123.txt
比如把当前 Decktop 目录下的 test 移动到 文档 目录
mv test ~/文档 tree ~
桌面的 test 目录没有了,文档目录下多了 test 目录
/home/summer
├── 公共的
├── 模板
├── 视频
├── 图片
├── 文档
│ ├── readme.txt
│ └── test 内部的目录和文件全部移动
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
├── 下载
├── 音乐
└── 桌面
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
│ └── 123.txt
├── aaa
│ ├── 123(复件).txt
│ └── 123.txt
└── readme.txt
2. 移动文件
把桌面目录 a/b/c 中的文件 123.txt 移动到桌面上
当前位置在 Desktop 桌面目录
点 . 表示当前桌面目录(目标目录)
mv a/b/c/123.txt . tree
.
├── 123.txt
├── a
│ └── b
│ ├── 321.txt
│ ├── 322.txt
│ └── c
├── aaa
│ ├── 123(复件).txt
│ └── 123.txt
└── readme.txt
3. 重命名
mv 命令给一个存在的 文件 或 目录 重命名
如果 文件源 和 目录文件 的目录是相同的,但是文件名不同,可以给源文件重命名
实际就是 mv oldName newName
mv readme.txt demo.txt
现在桌面有两个文件 123.txt 和 demoe.txt
1. 两个文件的内容不一样
2. 执行后桌面上只有 123.txt
3. 123.txt 的内容完全被 demo.txt 的内容完全给替换了
mv demo.txt 123.txt
在终端中对文件的操作不能回撤,因此 mv 命令和 cp 命令复制一样需要加 -i
| 选项 | 含义 |
| -i | 覆盖文件前提示 |
文件重命名加上参数 -i,发现已经存在的文件,会提示我们是否覆盖
n 不改变
y readme.txt 文件不见了,同时 123.txt 的内容被 readme.txt 的内容覆盖了
cp 123.txt readme.txt -- 复制一个readme.txt gedit 123.txt -- 修改文件 mv -i readme.txt 123.txt
上面是重命名文件,下面重命名目录
修改目录 a 的名字为 demo
mv a demo
二、文本处理和查看
| 命令 | 含义 |
| 查看文件内容 | |
| cat | 查看文件内容、创建文件、合并文件、追加文件内容等,cat 既 concatenate 链接合并的意思 |
| more | 分屏显示文件内容 |
| 搜索 | |
| grep | 搜索文件内容 |
| 其他 | |
| echo | 传递给命令的参数在终端中在显示一遍,通常 echo 和 重定向 联合使 |
| > 和 >> | 重定向 |
| 管道 | |
| | | 管道 |
1、在终端中 查看 文件内容
在图形界面下用 gedit 查看文件内容,
当通过终端远程登录到服务器时,就不能使用图形界面了,所有的操作都在终端窗口通过命令来实现
1. 两个命令都可以在终端中查看内容
cat 一次性显示出文件的完整内容,适合查看内容较少的内容
more 分屏显示,按空格键显示后续的内容,查看内容比较内容多的文件
cat 123.txt more 123.txt
2. cat 命令两个选项最大的用途,是在终端中查看文件时,可以非常清楚的看到代码的行号
| 选项 | 含义 |
| -b | 行的内容前有编号,空行没有编号 |
| -n | 每一行都有行号,空行也有编号 |
Linux 中还有一个 nl 命令和 cat -b 的效果等价
示例
cat -b 123.txt cat -n 123.txt --显示所有行的行号,包括空行
可以直接查看 /etc/os-release 文件来获取 Ubuntu 的版本信息
cat /etc/os-release
3. more 命令的操作键
| 操作键盘 | 功能 |
| 空格键 | 显示下一屏 |
| Enter | 一次向下滚动一行 |
| b | 向上回滚一屏 |
| f | 向下滚一屏,跟空格键效果一样 |
| q | 退出 |
| /word | 搜索 word 字符串 |
2、grep 搜索 文件中 是否有指定内容
首先问一个问题
在图形界面中,想要查看一个文件是否包含指定的文本,通常可以用 ctrl + F 搜索一下
Linux 系统中 grep 命令是一种强大的文本搜索工具
grep 允许对文本文件进行 模式 查找,的模式查找又称为正则表达式
1. 基本搜索
在终端中查看 123.txt 中是否包含 as 这个单词
并且文件中所有 as 都高亮显示
grep as 123.txt
2. grep 的选项
| 选项 | 含义 |
| -n | 显示匹配到内容的行号出来 |
| -v | 显示不包含匹配文本的所有行(相当于反向) |
| -i | 忽略大小写 |
-n 显示搜索包含单词 as 行的行号
grep -n as 123.txt
4:sdfasdfasdfadsfasdfasdfasdfadsfasdf
9:sdfasdfasdfadsfasdfasdfasdfadsfasdf
12:sdfasdfasdfadsfasdfasdfasdfadsfasdf
15:sdfasdfasdfadsfasd Hello python fasdfasdfadsfasdf
...
-v 显示所有不包含 as 的行,并且显示行号(结果中包括了空行)
grep -vn as 123.txt
单词中间有一个空格,搜索的内容要用引号引起了
grep -ni "hello python" 123.txt
3. 模式查找,两种常用模式
| 参数 | 含义 |
| ^a | 指定的文本必须出现在一行的行首,搜索以 a 开头的行 |
| ke$ | 指定的文本必须出现在一行的行尾,搜索以 ke 结束的行 |
行首匹配
搜索以 a 开头的行,只有第一个字符 a 会高亮,中间的 a 不会高亮
grep -n ^a 123.txt
行尾匹配
先指定结尾的字母 x
在 x 后面写 $ 符号
grep -n x$ 123.txt
4、其他
1. echo
ecoh 有回声、重复、附和的意思
作用是命令的 参数 在终端中显示一遍
该命令通常和 重定向 联合使
echo Hello Python
Hello Python
2. 重定向 > 和 >>
什么是 Linux 重定向?
命令执行的结果,原本应输出在终端上,重定向是将在终端上内容 输出/追加 到指定文件中
其中
> 表示输出一个文件,会覆盖文件原有的内容
>> 表示追加到一个文件中,会将内容追加到已有的文件末尾
重定向执行后,终端中不显示结果内容
原本应显示在终端上内容,重定向后到一个文件 a 中
桌面多了一个文本文件 a,内容是 Hello Python
使用 cat a 在终端中查看,终端中输出 Hello Python
echo Hello Python > a cat a
将列表的内容重定向到文件 a 里面,之前重定向的 Hello Python 被覆盖了
ls -lh > a
总用量 12K
-rw-rw-r-- 1 summer summer 1.7K 6月 1 11:12 123.txt
-rw-rw-r-- 1 summer summer 0 6月 1 13:42 a
drwxrwxr-x 2 summer summer 4.0K 5月 31 17:43 aaa
drwxrwxr-x 3 summer summer 4.0K 5月 31 17:49 demo
追加内容用 >>
echo Hello Python >> a cat a --查看文件的内容
总用量 12K
-rw-rw-r-- 1 summer summer 1.7K 6月 1 11:12 123.txt
-rw-rw-r-- 1 summer summer 0 6月 1 13:42 a
drwxrwxr-x 2 summer summer 4.0K 5月 31 17:43 aaa
drwxrwxr-x 3 summer summer 4.0K 5月 31 17:49 demo
Hello Python
继续追加
tree >> a
3. echo 命令的一个好处
之前 touch 命令,创建的 d 是一个空文件
重定向内容 Hello 到文件 d 里面
touch b echo Hello > b cat b --查看一下
用 echo 命令在创建文件 b 的同时,就可以指定文件的内容了
rm b --先删除 echo Hello > b
3、管道 |
使用管道至少需要两个命令
一个命令执行并输出结果
通过 管道 另一个命令接收输出的结果
常用的管道命令
more 分屏显示内容
grep 在命令执行结果的基础上查询指定的文本
如果第一个命令 ls 的显示结果很多,
可以把执行结果放到 管道 内,
通过 管道 第二个命令 more 接收第一个命令到执行结果,并分屏处理第一个命令的结果
ls -lha ~ | more
二个命令换成搜索 grep
可以查询文件 内容 中含有 Do 的内容
使用 管道 + grep 过滤执行的结果,只显示包含 Do 内容
ls -lha ~ | grep Do
cat 命令除了查看文件内容之外,还有 创建文件、文件合并、追加文件内容 等附加功能
三、网络操作
| 命令 | 作用 |
| 关机/重启 | |
| shutdown | 当通过远程终端,登陆到服务器的时候可以通过 shutdown 命令关机或重启电脑 |
| 查看配置网卡信息 | |
| ifconfig | configure a network interface 查看或配置计算机当前的网卡配置信息,日常一般用来查看网卡的设置信息 |
| ping | 需要跟一个 IP 参数,作用检测另外一台电脑 ip 地址(也就是参数的地址),也就是检测到另外一台电脑的链接是否正常 |
| 远程登陆和复制文件 | |
| ssh | |
| scp | |
1、关机/重启
shutdown 选项 时间
当通过远程终端,登陆到服务器的时候可以通过 shutdown 命令关机或重启电脑
不指定选项和参数,默认表示1分钟后关闭电脑
# 没有任何选项,不指定时间,表示一分钟后关闭电脑 shutdown # 立刻关闭电脑 shutdown now # 重新启动电脑 shutdown -r # 立刻重新启动电脑 shutdown -r now # 在今晚8点25分关机 shutdown 20:25 # 过10分钟后自动关机 shutdown +10 # 取消之前的关机计划 shutdown -c
2、查看或配置网卡
先看两个基本概念,什么是 网卡 和 IP地址?
1. 网卡本质是一个硬件设备,是负责两台电脑户型通讯的硬件设备,既负责网络通信
可能是插着一根网线的有线网卡,也可能是无线网卡
2. IP 地址是设置在网卡上的地址信息,通过这个地址通信,电脑之间可以正常通信
每台电脑的 IP 地址不能相同,否则会造成 IP 冲突,就不能正常通信
举一个形象的例子
我们的手机比作电脑,网卡相当于sim卡,IP 地址相当于电话号码
ifconfig
查看网卡的配置信息
ifconfig
一台计算机上可能有一个 物理网卡 和 多个模拟网卡
1. ens33 或 eth0 是物理网卡,其中 inet 是我们最关心的 IP 地址
2. lo 是模拟网卡,其中 inet 127.0.0.1 是本地回环,专门测试网卡是否正常的
管道把前面命令输出的结果,当做后面 grep 命令的输入,
然后以 inet 为搜索的文本,快速查看到网卡对应的 ip 地址
ifconfig | grep inet
inet 地址:192.168.80.129 广播:192.168.80.255 掩码:255.255.255.0
inet6 地址: fe80::20c:29ff:feed:bc40/64 Scope:Link
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
ping
检测目标主机的链接是否正常
ping 192.168.3.234
命令执行后,一行又一行的打印,ctrl+c 停止执行
PING 192.168.3.234 (192.168.3.234) 56(84) bytes of data.
64 bytes from 192.168.3.234: icmp_seq=1 ttl=128 time=0.852 ms
64 bytes from 192.168.3.234: icmp_seq=2 ttl=128 time=1.89 ms
64 bytes from 192.168.3.234: icmp_seq=3 ttl=128 time=0.890 ms
64 bytes from 192.168.3.234: icmp_seq=4 ttl=128 time=2.00 ms
^C
--- 192.168.3.234 ping statistics ---
4 packets transmitted, 7 received, 0% packet loss, time 6003ms
rtt min/avg/max/mdev = 0.852/1.338/2.003/0.520 ms
ctrl+c 停止的同时下方会显示一个简单的统计信息
4 packets transmitted 发送了多少个数据包
min/avg/max/mdev 每个数据包的 min 最小时间、avg平均时间、max最大时间等
ping 命令的工作原理
56(84) bytes ubuntu 发送 56 个字节的数据包给目标主机
64 bytes 目标主机返回一个回执,回执行的大小是 64个字节
time=0.852 ms ubuntu 会检测发送和回执使用的时间 时间越小说明网速越快,时间越大说明网速越慢
如果一个错误的 IP 地址
ping 192.168.3.000
显示 Host Unreachable 目标主机无法到达
PING 192.168.3.000 (192.168.3.0) 56(84) bytes of data.
From 192.168.3.234 icmp_seq=3 Destination Host Unreachable
From 192.168.3.234 icmp_seq=6 Destination Host Unreachable
From 192.168.3.234 icmp_seq=9 Destination Host Unreachable
^C
--- 192.168.3.000 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 10010ms
127.0.0.1 被称为本地回环地址/环回地址,一般用来检测本机网卡是否正常
ping 127.0.0.1
跟检测其他电脑的显示非常像,有正常的回馈时间 time=0.019 ms 就说明本地网卡是没有问题的
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.031 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.026 ms
^C
--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.019/0.031/0.048/0.010 ms
3、域名和端口
域名
在网络上通过 IP 地址 可以准确的找到一台计算机,但是 IP 地址是一组数字不好记忆,
域名是 IP 地址的别名,方便用户的记忆,通过域名可以更加方便的找到网络上的计算机
ping 命令还可以将域名作为参数
ping www.baidu.com
PING www.a.shifen.com (182.61.200.108) 56(84) bytes of data.
64 bytes from 182.61.200.108: icmp_seq=1 ttl=128 time=11.7 ms
64 bytes from 182.61.200.108: icmp_seq=2 ttl=128 time=9.98 ms
64 bytes from 182.61.200.108: icmp_seq=3 ttl=128 time=11.7 ms
64 bytes from 182.61.200.108: icmp_seq=4 ttl=128 time=7.58 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 4116ms
rtt min/avg/max/mdev = 7.583/10.256/11.741/1.698 ms
ping 的执行
182.61.200.108 从这台电脑做出的返馈,该 IP 地址在浏览器中可以访问百度
time=11.7 ms 是返回的时间
端口
我们通过 IP 地址找到的服务器就是一台电脑,
通过 端口号 可以找到计算机上运行的服务器软件
常见服务器的端口号
| 服务 | 默认端口号 |
| SSH 服务器 | 22 |
| Web 服务器 | 80 |
| HTTPS | 443 |
| FTP 服务器 | 21 |
4、SSH
SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序
一般我们是通过 SSH客户端 来的远程管理服务器
1. 首先在服务器上安装一个 ssh服务器 的软件
2. 然后在自己电脑上安装一个 ssh客户端 软件
3. 当两个软件安装好后,我们就可以在自己的电脑上,通过网络远程登陆到服务器,进行日程管理和维护了
为什么要使用 ssh?
1. ssh 的第一个单词 Secure 是安全的意思,可以对所有传输的数据进行加密,有效防止远程管理过程中的信息泄露
2. 对传输的数据进行压缩,加快传输的速度
ubuntu 和 mac 电脑
ssh 服务器 和 ssh客户端 都是默认安装的
window 电脑要单独安装一个 ssh客户端
SSH 客户端的简单使用
SSH 命令的格式
ssh [-p port] user@remote
由三部分组成
1. user 是远程计算机上的用户名 summer,如果不指定默认为当前用户
2. remote 是远程计算器的地址,可以是 IP 或 域名,或者是别名
3. port 是 SSH Server 监听的端口,如果不指定默认值是 22
提示
使用 exit 退出当前用户登陆,断开 ssh 链接
注意
ssh 这个终端命令只能在 Linux 或 UNIX 系统上使用
如果是 windows 系统需要安装 PuTTY 或 XShell 客户端软件
Windows 下 SSH 客户端的安装
两款 ssh 软件
Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 免费
XShell http://xshellcn.com
解决 windws 链接 ssh 时候出现的错误 Network error: Connection refused
1. 一般是因为 Ubuntu 刚刚安装好系统,系统中缺乏 openssh-server 这个包
2. 安装包 sudo apt-get install openssh-server
3. 参考 https://cloud.tencent.com/developer/article/1753114
其他实用工具
| 命令 | 说明 | |
| 查询命令帮助信息 | ||
| command | ||
| nam | nam 既英文 manual 的缩写,manual 是手册的意思 | |
| 清屏 | ||
| clear | ||
语法 command --help
mkdir --help
nam command
nam mkdir
帮助信息的内容非常多
1. 空格 显示手册下一屏
2. Enter 一次滚动一行
3. b 回滚一屏,跟空格键效果一样
4. f 前滚一屏,跟空格键效果一样
5. q 退出
6. /word 搜索 word 字符串
附,命令大全
文件和目录操作
ls, cd, pwd, cp, mv, rm, mkdir, rmdir, touch, find, locate
文本处理和查看
cat, less, more, head, tail, grep, sed, awk, echo, sort, uniq, wc
系统信息和管理
uname, whoami, who, hostname, uptime, top, htop, free, df, du, ps, kill, systemctl, service
权限管理
chmod, chown, chgrp, umask, sudo
网络操作
ping, ifconfig/ip, netstat, ss, curl, wget, ssh, scp, rsync, nslookup, dig
包管理(Debian/Ubuntu)
apt, apt-get, dpkg, snap
压缩和解压
tar, gzip, gunzip, zip, unzip
用户管理
useradd, userdel, usermod, passwd, groupadd, su
进程管理
ps, top, htop, kill, pkill, jobs, bg, fg
存储和磁盘管理
mount, umount, fdisk, lsblk, blkid, mkfs, fsck
环境变量和别名
export, alias, unalias, env, set
时间和日期
date, cal, hwclock
其他实用工具
man, which, whereis, whatis, clear, history, shutdown, reboot
http://old-releases.ubuntu.com/
