Contents

Linux命令

linux命令

小技巧:

  • ctrl + shift + =放大终端字体
  • ctrl + -缩小终端字体
  • tab
    • 若不存在歧义,则自动补全
    • tab目标太多不能自动补全时,按两次tab可显示符合条件的目录
  • ctrl + c可退出
  • ctrl + a快速回到行首,ctrl + e快速回到行尾
  • ctrl + w删除光标前一个单词
  • ctrl + k删除光标后的所有
  • ctrl + u删除所有

1.Linux命令概述

1.1 终端命令格式

1
command [-options]	[parameter]

说明

  • command:命令名
  • [-options]:选项
    • 多选项时可单独列出 -a -b -c等,也可合在一起-abc
  • [parameter]:传递的参数

[]代表可选

1.2 查询命令帮助信息


1.2.1 –help

1
command --help

说明:

  • 显示command命令的帮助信息

1.2.2 man

1
mam command

说明:

  • 查询command命令的使用手册

man是manual的缩写,是linux提供的一个手册,包含了绝大多数命令的详细使用说明

使用man的快捷键

操作键 功能
空格 显示手册的下一屏
回车键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串

2.linux文件和目录命令

序号 命令 对应英文 作用
01 ls list 查看当前文件夹内容
02 pwd print work directory 查看当前所在文件夹
03 cd [目录名] change directory 切换文件夹
04 touch [文件名] touch 如果文件不存在,则新建文件
05 mkdir [目录名] make directory 创建目录
06 rm [文件名] remove 删除指定文件名
07 clear clear 清屏
08 cp 源文件 目标文件 copy 复制文件或目录
09 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名
10 cat [文件名] concatenate 查看文件所有内容
11 more [文件名] more 按页查看文件内容
12 less [文件名] 按页查看文件内容
13 grep [文本] [文件名] 在文件中查找匹配的文本
14 file [文件名] 查看文件类型

注意事项

  • Linux下区分大小写
  • 不加参数的rm只能删除文件,不能删除文件夹

2.1命令总结


  • 查看目录内容
    • ls
    • tree以树状图列出文件目录结构
  • 切换目录
    • cd
  • 创建和删除操作
    • touch
    • mkdir
    • rm
  • 拷贝和移动文件
    • cp
    • move
  • 查看文件内容
    • cat
    • more
    • grep

2.2 ls命令详细用法


1. Linux文件特点

  • .开头的文件为隐藏文件,需要加参数-a才能显示
  • .代表当前目录
  • ..代表上级目录

2. ls命令常用选项

选项 含义
-a 显示指定目录下的所有文件和目录,包括隐藏
-l 以列表方式显示文件的详细信息
-h 配合-l 以人性化方式显示文件大小

3.ls通配符使用

通配符 含义 举例使用
* 代表任意个字符 ls 1*,ls 12*.txt,ls *.txt
代表任意一个字符 ls 12?.txt,ls ?12.txt
[] 创建字符组,表示可以匹配字符组中的任意一个 ls [123][123].txt
[a-f] 匹配a到f所有字符中的一个 ls [1-3].txt,ls [a-f].txt

2.3 cd命令详细用法


1. cd命令常用用法

命令
cd 进入到用户家目录
cd ~ 进入到用户家目录
cd .. 返回到上级目录
cd - 在最近两次的工作目录中来回切换

2. 绝对路径和相对路径

  • 绝对路径:输入路径开头是/或者~,表示从根目录或家目录开始的具体目录位置
  • 相对路径:输入路径开头不是/或者~,表示相对当前目录的目录所在位置

2.4 创建和删除命令详细用法


1.touch命令

  • 创建文件或修改文件时间
    • 若文件不存在,则创建一个空白文件
    • 若文件已经存在,则修改文件的末次修改日期

2.mkdir命令

  • 创建一个新的目录

    • mkdir -p循环创建多个目录

    例如**mkdir -p a/b/c/d**

    • mkdir创建的目录路径下不能有与之同名的目录或文件

3.rm命令

  • rm删除直接从磁盘上删除文件,并不会放到垃圾桶,无法恢复
选项 含义
-f 强制删除,忽略不存在的文件,且不提示
-r 递归删除一个目录下所有内容,删除文件夹时使用
  • rm命令也可以使用通配符

2.5 拷贝和移动命令


1. tree命令

  • tree命令可以以树状图列出文件目录结构
  • 不加参数显示当前目录的树形结构
  • tree [目录]显示指定目录的结构
参数 含义
-d 只显示目录

2.cp命令

  • cp命令的功能是将给出的文件目录复制到另一个文件或者目录
  • cp 源路径/源文件名 目标路径/目标名 同时可以给目标重命名
  • cp并不能直接复制目录

cp ~/documents/123.txt ./readme.txt

选项 含义
-i 提示覆盖信息
-r 复制目录

3. mv命令

  • mv命令可以移动文件重命名

例:mv ./desktop/123.txt ./documents/(234.txt)

ps:123.txt会消失,()代表可选

mv 123(.txt) 2(.txt)可以重命名

注意事项:

假设已经存在了234.txt,则会用123.txt覆盖234.txt

参数 含义
-i 覆盖文件前提示

2.6 查看和查找文件内容

1.cat 命令

  • cat 123.txt可以显示123.txt的所有内容
  • cat file1 file2 > file3可以将file1和file2合并到file3中
  • cat file1 >> file2可以将file1的内容追加到file2后面
选项 含义
-b 按非空行编号并输出
-n 按所有行编号并输出

2.more命令

  • morecat强大,可以按页查看文件内容
  • more 1.txt可以实现一屏的内容
操作键 功能
空格 显示手册的下一屏
回车键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出

3.less命令

  • less命令比more更为强大,可以通过上下键来卷动文件,支持vi的搜索和首末行跳转
操作键 功能
空格 显示手册的下一屏
回车键 一次滚动手册页的一行
方向键 上或下移
b 回滚一屏
f 前滚一屏
q 退出
G 跳到末尾
1G/g 跳到行首
/char 搜索
h 显示帮助

4.grep命令

  • grep 文本内容 文件

grep "hello world" 1.txt当匹配的字符串含空格,则用“”框起来

选项 含义
-n 显示匹配行及行号
-v 显示不包括匹配文本的所有行
-i 忽略大小写

2.7 重定向和管道

  • echo命令会在终端中显示参数指定的文字,通常和重定向联合使用

1.重定向 >和»

  • 可以将命令的执行结果重定向到一个文件中

  • 将本应输出在终端的结果输出或追加到其他文件上

  • >输出到文件中,覆盖原文件内容

  • >>输出到文件中,追加到原文件最后

2. 管道|

  • ls -lh | more类似这样的用法
  • 将第一个命令的输出作为第二个命令的输入

3.远程管理命令

3.1命令总结

序号 命令 英文 作用
01 shutdown 选项 时间 shutdown 关机/重新启动
02 ifconfig configure a network interface 查看/配置计算机当前的网卡配置
03 ping IP地址 ping 检测到目标ip地址的连接是否正常
04 ssh [-p port] user@remote ssh客户端命令 连接远程ssh服务器

3.2 关机和重启命令

  • shutdown可以安全关闭或者重新启动系统
选项 含义
-r 重新启动

提示:

  • 不指定选项参数时,默认1分钟关闭电脑
1
2
3
4
5
6
shutdown 
shutdown now
shutdown -r now
shutdown 20:25 //20:25时关机
shutdown +10 //十分钟后关机
shutdown -c//取消关机动作

3.3 查看和配置网卡信息

3.3.1 网卡和IP地址

  • 网卡是一个专门负责网络通讯硬件设备

  • ip地址是设置在网卡上的地址信息不能重复

电脑是电话,网卡SIM卡IP地址电话号

3.3.2 ifconfig命令

ifconfig位于net-tools工具中

目前iproute2已逐渐取代net-tools工具包,成为系统自带的网络工具,iproute2命令包主要是以ip作为前缀的一些命令

  • ifconfig可以查看/配置计算机当前的网卡配置信息
1
2
3
4
5
6
7
8
# 查看网卡配置信息
$ ifconfig
# 关闭网卡
$ ifconfig 网卡 down
# 打开网卡
$ ifconfig 网卡 up
# 查看网卡对应的ip地址
$ ifconfig| grep inet
  • 127.0.0.1被称为本地回环/环回地址,一般用来测试本机网卡是否正常

3.3.3 ping命令

1
2
3
4
# 检测到目标主机是否连接正常
$ ping ip地址
# 检查本地网卡是否工作正常
$ ping 127.0.0.1

3.4 远程登录和复制文件

3.4.1 ssh基础

  • 通过ssh客户端 登录管理 ssh服务器

  • linux/macOSssh服务器和ssh客户端都是自动安装的,只有windows需要自己安装

  • ssh客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序

  • SSH数据传输是压缩且加密

1)域名和端口号
1.域名
  • www.baidu.com类似如此的名字,是IP地址的别名,方便用户记忆
2.端口号
  • IP地址:通过IP地址找到计算机
  • 端口号:通过此找到计算机上的应用程序
  • 常见服务器端口列表
序号 服务 端口号
01 SSH服务器 22
02 Web服务器 80
03 HTTPS 443
04 FTP服务器 21

如果是默认端口号,在连接时可以省略

否则 IP地址:端口号

2)ssh客户端的简单使用
1
ssh [-p port] user@remote
  • user是远程机器上的用户名,不指定的话默认为当前用户
  • remote是远程机器的地址,可以是ip/域名或者是别名
  • portSSH Server监听的端口,如果不指定,就为默认值22

提示:

  • 使用exit退出当前用户的登录

3.4.2 scp命令

  • scp命令,是一个在linux下进行远程拷贝文件的命令
  • scp地址格式与ssh基本相同,但在指定端口时,使用-P而不是-p
1
2
3
4
5
6
7
# 把本地目录下的01.py复制到 远程 家目录下的Desktop/01.py
# `:`后面的路径不是绝对路径,则以用户的家目录作为参照路径
scp -p port 01.py user@remote:Desktop/01.py

# 把远程 家目录下的Desktop/01.py 辅助到 本地当前目录下的01.py
scp -p port user@remote:Desktop/01.py 01.py
#加上r可以传送文件夹
选项 含义
-P 加端口
-r 拷贝目录

3.4.3 sftp命令

  • SFTP是一种安全文件传输协议,通过SSH协议进行加密传输,可以保证文件传输的安全性。SFTP命令可以在本地和远程服务器之间进行文件传输,并且支持各种文件操作,如上传、下载、删除等。
  • sftp -P port user@remote连接到服务器
  • 下载文件get remote_file local_file
  • 上传文件put local_file remote_file
  • 删除远程文件rm remote_file
  • 列出远程目录ls
  • 切换远程目录cd
  • 退出exit

切换和列出本地目录,在命令前加l即可,即lls和lcd

4.搜索命令

序号 命令 英文 作用
01 locate name 搜索以name开头的文件
02 find [目录] [选项] [参数] 搜索文件
03 which [命令] 在PATH指定的路径中,查找系统命令的位置
04 whereis [命令] 搜索程序

4.1locate

  • locate命令依赖于updatadb命令创建的数据
  • 大多数linux发行版都会定期执行updatadb命令
  • 新文件搜索不到需要使用updatadb更新数据库
  • 速度比find快,因为使用的是数据库
1
locate /bin/name

在bin目录下数据库中查找name开头的文件

可以配合grep使用,不拘泥于name开头

4.2find

  • 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
  • 此命令参数较多,使用man来查看用法

4.3which

  • 搜索PATH里的系统命令位置

4.4whereis

  • 搜索程序,默认二进制文件,man文件,源代码都显示
选项 含义
-b 搜索二进制文件
-m 搜索man文件
-s 搜索源代码