文章目录
- 二、Linux命令(shell命令)
- 1. 终端操作
- - 终端操作
- - 查看shell
- 3. windows自带的WSL2【补充】
- 2. inux 命令格式(掌握)
- - 命令格式
- - 获取指定命令帮助信息(掌握)
- 3. 常用命令——文件管理
- - 路径说明
- - 特殊字符说明(通配符)
- - 查看目录及路径
- - ls命令显示颜色含义
- - 切换目录
- - 绝对路径和相对路径
- - 创建和删除目录
- - 创建和删除文件
- - 复制文件或目录
- - 移动文件或目录
- 4. 常用命令——高级命令
- - echo 【不常用】
- - 重定向
- - 查看文件内容
- - 管道
- - 链接命令
- - 文本搜索(文件中查找)
- - 查找文件
- - 压缩和打包
- - 进程
二、Linux命令(shell命令)
1. 终端操作
- 终端操作
- 打开终端:
ctrl+alt+t
- 退出终端:
exit
- 在普通用户权限下用
exit
退出终端 - 如果是切换后的登陆用户,退出则返回上一个登陆账号。
- 如果是终端界面,退出当前终端。
- 命令行:
用户名@计算机名:目录$
-
$
:表示普通用户环境 -
#
:root用户环境 - 目录
-
/
:代表根目录 -
~
:代表家目录(/home/用户名
)
ctrl + c
:中断命令执行ctrl + shift + c
:复制ctrl + shift + v
:粘贴ctrl + shift + =
放大终端窗口的字体显示ctrl + -
缩小终端窗口的字体显示tab键
:自动补全,通过按下 tab 键,可以补全命令或路径
- 优点:
- 避免输入错误
- 提高输入效率
- 如果按完Tab之后,没有可提示的内容时,会不显示任何内容,可以继续按第二次,会将所有的文件或命令提示出来,选择是否显示
- 如果在输入了几个字母后,按一次tab,会将所有以输入字符开头的命令或文件显示出来
- 如果命令或文件是唯一的,那么tab会直接补全
方向键↑和↓
: 使用上下方向键可以查找命令历史ifconfig
:查看ip地址clear
:清屏,清除屏幕上显示过的信息
- 快捷键:
- linux/mac:
ctrl + L
- 查看shell
你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash).
想看看你的Shell是哪一种,执行下面的命令
echo $SHELL
3. windows自带的WSL2【补充】
访问WSL2的文件目录
\\wsl$
2. inux 命令格式(掌握)
- 命令格式
命令 [选项]... [文件名/参数]...
- 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
- 选项可以分为短选项和长选项
- 短选项的格式: '-'后面接单个字母, 比如:-r
- 长选项的格式: '–'后面接单词, 比如:–help
- 参数:命令的操作对象,一般是文件名或者目录名。
- []:代表可选
- 获取指定命令帮助信息(掌握)
-
命令 --help
:显示命令的帮助信息 -
man 命令
:查阅命令的使用手册,是manual 的缩写,是 Linux 提供的一个 手册
使用 man
时的操作键:
操作键 | 功能 |
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
区别:
-
--help
显示的信息不会分页 -
man
显示的信息会分页,可以用键盘翻页(本质是进入访问了说明文件)
3. 常用命令——文件管理
- 路径说明
/
:代表根目录~
:代表家目录(/home/用户名
).
:当前目录..
:上一级目录- 以
.
开头的文件为隐藏文件 - Linux所有的目录和文件名大小写敏感
- 特殊字符说明(通配符)
通配符 | 含义 |
* | 文件代表文件名中所有字符 |
ls te* | 查找以te开头的文件 |
ls *html | 查找结尾为html的文件 |
? | 代表文件名中任意一个字符 |
ls ?.c | 只找第一个字符任意,后缀为.c的文件 |
ls a.? | 只找只有3个字符,前2字符为a.,最后一个字符任意的文件 |
[] | [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范围内的的任意一个字符 |
ls [a-f]* | 找到从a到f范围内的的任意一个字符开头的文件 |
ls a-f | 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用 |
\ | 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。 |
ls *a | 查找文件名为*a的文件 |
- 查看目录及路径
pwd
:查看当前目录路径,英文:print work directoryls
:查看当前目录下的内容,英文:list
-
ls -a
:显示当前目录下所有的文件(包含以.
开头的隐藏文件) -
ls -l
:以长信息格式显示当前目录下的文件 -
ls -h
:一般会配合 -l 使用,以单位格式(kb,mb等)显示文件大小 -
ls -alh
:(联合使用)显示所有文件的长信息 -
ls -alh 路径
:显示指定路径下的所有文件的长信息
补充:
-
!ls
:执行最近一次执行过的ls
命令 -
ll
:相当于ls -al
,是简写
长信息显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLDdRaTa-1610013693199)(Media/Xnip2019-05-07_11-13-43.png)]
- ls命令显示颜色含义
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
- 切换目录
cd 目录或路径
:切换到指定目录,英文:change directory
cd ~
:切换到当前用户的主目录(/home/user)
-
cd
:切换到当前用户的主目录(/home/user)同上
-
cd /
:切换到根目录 -
cd ..
:切换到上一级目录 -
cd .
:切换到当前目录(无意义的操作) -
cd -
:切换到上一次目录
- 绝对路径和相对路径
- 绝对路径:是指以
/
开头的路径
- 无论在哪执行都能得到一个相同的结果
- 如:
/test/hello
- 相对路径:是指没有以
/
开头的路径
- 相对路径起点是以当前目录开始去查找,不同的位置执行相同的路径,得到的结果不同
- 如:
./test/hello
、../test/hello
、test/hello
- 创建和删除目录
mkdir
:创建目录,英文:mkdir make directory (理解)
-
-p
选项用来逐层创建不存在的目录
rmdir
:删除空目录(只能删除无文件的空目录),英文:rmdir remove directory【不常用】
-
-p
选项用来逐层删除空目录(如果某个目录中存在其它文件或目录,删除失败)【不常用】【一般用rm -r
】
- 创建和删除文件
touch 文件名
:创建文件
-
touch 文件1 文件2 ...
:用空格隔开,可以连续创建多个文件
rm 文件名
:删除文件(不经过询问,且不进入回收站,慎用)
-i
:删除前询问是否删除
- 只有回复
y
才删除
-
-r
:删除目录(不考虑目录是否为空) -
-f
:强制删除不询问 rm -rf *
:【常用】删除当前目录下的所有文件
-
*
:表示通配符,表示所有文件
- 复制文件或目录
cp 源文件 目标路径
:复制文件,英文:copy
-
-r
:可以复制目录 cp 源文件 目标路径和文件名
复制的同时可以改名
- 如:
cp test.py ~/Desktop/test_copy.py
- 移动文件或目录
mv 源文件 目标路径
:移动文件或目录,英文:move
-
-v
: 在移动或复制时,显示路径信息【了解】 -
mv 文件名A 文件名B
:可以实现重命名操作 - 没有
-r
选项,可以直接操作目录
4. 常用命令——高级命令
- echo 【不常用】
-
echo 内容
:显示,相当于print echo $?
显示上一次命令或程序的执行状态码
-
0
表示正常结束
echo $PATH
显示系统环境变量 PATH
- 用冒号连接多个路径
在Linux中,$
符号代表一个shell 变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。
例如,$
SHELL;$
LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。
echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。
应用:对文件的内容进行追加
echo '内容文本' >> a.txt
- 重定向
>
:输出重定向,用来将输出到屏幕的数据,重定向到一个指定位置(一般是指定一个文件)
- 不管指定的文件是否存在,都会创建新文件保存数据
- 如果文件存在,会覆盖原文件
# 将ls输出的内容,输出到文件a.txt中
ls > a.txt
>>
:输出重定向,区别>>
是追加数据
- 如果文件不存在,会创建新文件保存数据
- 如果文件存在,会在文件末尾追加数据
- 查看文件内容
-
cat
:查看小型文件,可以同时查看多个文件,显示效果是将多个文件依次显示 more
:查看大型文件,特点是可以分屏显示,可以前后翻页
-
空格
和f
:向下翻一屏 -
b
:向上翻一屏 -
回车
:向下翻一行 -
q
:退出,并停留在当前页
应用
-
cat
和重定向
配合可以实现文件的拼接
cat a.txt b.txt > c.txt
- 管道
|
:管道
- 将 管道左边命令的输出结果做为管道右边命令的输入
应用
-
命令
和管道
和more
组合,可以实现命令输出结果的分屏显示
ls -l ~/Desktop | more
#相当于
ls -l ~/Desktop > a.txt
more a.txt
- 链接命令
ln -s 源文件 软连接文件
:软链接【掌握】,类似windows下的快捷方式
- 软链接文件,无论对哪个文件进行操作,都会影响另外一个文件
- 当原文件删除或移动或改名后,那么链接文件会失效,链接文件会变成红色,如果将这个文件名恢复,那么连接也会恢复
- 当创建软链接文件时,为了避免软连接文件移动后链接失效,源文件需要使用绝对路径指定
- 可以对目录做软链接
- 软链接创建的文件格式是
l
,是软连接文件
ln 源文件 硬连接文件
:硬链接,类似于源文件的一个别名,即这两个名字指向的是同一个文件数据
- 硬链接只能链接文件,不允许对目录做硬连接
- 硬连接不受路径影响,使用相对路径和绝对路径都可以
- 硬连接会保持数据同步
- 目录的文件信息中的连接数表示,当前目录下包含多少子目录
- 硬链接创建的文件格式是
-
,即普通文件 - 每创建一个硬链接文件,对应的
文件数据
属性中的连接数 +1,反之删除则减一 - 删除源文件,硬链接还可以访问到
文件数据
文件夹的链接数:表示该文件夹下有几个文件夹
- 因此不能对目录进行硬链接
文件的链接数:表示该文件数据
有几个硬链接对象(即文件)
- 文本搜索(文件中查找)
grep 选项 '要查找的内容' 被查找的文件
:文本搜索
- 如果找到,则显示该文本,如果未找到,则不显示内容
-i
:忽略大小写-n
:显示查找到内容匹配的行号-v
:显示不包含匹配文本的所有行号,即取反作用grep
搜索时,可以使用正则来查找字符
正则表达式
^
以指定字符串开头
- eg:
'^xxx'
$
:以指定字符串结尾
- eg:
'xxx$'
.
:匹配任意一个非换行符的字符
- eg:
'xxx.xxx'
.*
:匹配任意数量的非换行符的字符【了解】
- eg:
'xxx.*xxx'
应用
-
命令
和管道
和grep
组合,可以实现命令输出结果的内容查找
ls -l ~/Desktop | grep '123.py'
# 相当于
ls -l ~/Desktop > a.txt
grep '123.py' a.txt
- 查找文件
find 查找路径 -name 被查找的文件
- 查找的范围:包含指定目录及指定目录下的子目录
- 被查找文件可用引号引起来
find 查找路径 -name '被查找的文件'
- 通配符
-
*
表示任意个字符 -
?
表示一个任意字符
- 压缩和打包
打包文件
tar cvf 文件名
:命令可以将多个文件进行打包
- 打包是不会进行压缩文件的
tar
命令的选项,可以不写-
-c
:创建打包文件-v
:显示打包或者解包的详细信息-f
:指定文件名,一定放在所有选项的最右侧,后面跟的是包名
解包文件
tar xvf 文件名
:解压指定文件
-
-x
:解包打包文件 -
-v
:显示打包或者解包的详细信息 -
-f
:指定文件名,一定放在所有选项的最右侧,后面跟的是包名
tar xvf 文件名 -C 目录路径
:解压指定文件到指定目录
-
-C
:解压缩到指定目录
压缩文件
为了在打包时可以进行压缩,tar 集成了两个选项,z 和 j,用来在打包的同时对包文件进行实现压缩
tar zcvf xxx.tar.gz 被压缩文件
:压缩【常用】,压缩比低,速度快
-
-z
-> gzip 工具,压缩格式是 .gz【常用】 - 这里的后缀名只是起提示作用,无意义,但一般需要写出
tar jcvf xxx.tar.bz2 被压缩文件
:压缩,压缩比高,速度慢
-
-j
-> bzip2 工具,压缩格式是 .bz2
- 这里的后缀名只是起提示作用,无意义,但一般需要写出
解压文件
tar zxvf xxx.tar.gz
:解压缩tar zxvf xxx.tar.gz -C 指定解压缩目录
:解压至指定目录tar jxvf xxx.tar.bz2
:解压缩tar jxvf xxx.tar.bz2 -C 指定解压缩目录
:解压至指定目录
- 进程
ps
:报告进程的状态。此命令将显示哪些程序正在运行。
ps -ef | grep firefox
查找firefox进程
找到进程id后,可以通过kill id杀掉某个进程
kill
1234