Linux
前言
- 主流操作系统
- 桌面操作系统
- windows系列:用户群体大
- macOS:适用于开发人员(基于linux)
- Linux:应用软件少
- 服务器操作系统
- linux:安全、稳定、免费;占有率高
- windows server:付费;占有率低
- 嵌入式操作系统
- linux:内核小,开源,可以根据开发商自己的需要调配
- 移动设备操作系统
- iOS
- Android(基于linux)
- 虚拟机
本质上是一个软件
可以辅助学习陌生的操作系统 - 用户操作系统
- 单用户操作系统:一台计算机在同一时间只能由一个用户使用,一个用户独享系统的全部硬件和软件资源
- 多用户操作系统:一台计算机可以再同一时间内由多个用户使用,多个用户共享系统的全部硬件和软件资源
- linux
linux没有盘这个概念,只有一个根目录/,所有文件都在他下面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B5AYfAo7-1603810862326)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201025222946133.png)]
/:genmul
/bin:可执行的二进制文件的目录,如常用的ls,tar,mv,cat等
/etc:系统配置文件存放的目录
/home:系统幕刃的用户家目录,新增用户账号时,用户的假目录都存放在此目录下
1 linux命令
- 不要死记硬背,对于常用命令,用的多了就记住了
- 不要一次学会所有的命令,有些命令时不常用的,遇到百度即可
1.1 常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹 |
03 | cd[目录名] | change directory | 切换文件夹 |
04 | torch[文件名] | touch | 如果文件夹不存在,新建文件 |
05 | mkdir[目录名] | make directory | 创建目录 |
06 | rm[文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
- crtl+shift++ 放大终端窗口的字体显示
- crti± 缩小终端窗口的字体显示
- rm能删除文件名,但要删除目录名,需要有一些设置
- tab键——自动补全
在敲出文件/目录/命令
的前几个字母之后,按下tab键
1.2 终端命令格式
command [-options] [parameter]
说明:
command
:命令名,相应功能的英文单词或单词的缩写[-options]
:选项,可用来对命令进行控制,也可以省略[parameter]
:传给命令的参数,可以是零个,一个或者多个
[ ]代表可选
如ls -> command
rm[文件名] -> command [parameter]
rm -r [目录名] -> command [-options] [parameter] ->删除目录名
1.3 查阅命令帮助信息(了解)
- help
command --help -> 显示command命令的帮助信息 - man
man command ->查阅command命令的使用手册
使用man
时的操作键:(如果想看后续信息)
操作键 | 功能 |
---|---|
空格键 | 显示手册的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索word字符串 |
2 文件和目录命令
- 查看目录内容 ls
- linux文件或者目录名称最长可以有256个字符
- 以.开头的文件为隐藏文件,需要用-a参数才能显示
- 常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包含隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
ls -l -> 显示当前详细信息(以纵向形式)
ls -l -h -> 看文件大小更加直观
ls -lh -> 效果同ls -l -h
ls -a -> 文件+隐藏文件
-l -h还是-h -l先后顺序是没有关系的
- ls通配符的使用
通配符 | 含义 |
---|---|
* | 代表任意个数个字节 |
? | 代表任意一个字符,只能是一个 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配a,b,c中的任意一个 |
[a-f] | 匹配a-f中的任意一个 |
ls 1* -> 找到1开头的文件
ls *1.txt -> 找到1结尾的txt文件
ls 1 -> 找到含有1为文件
ls ?1?.txt -> 找到中间是1的文件,前后一个字符随意
ls [123]23.txt -> 以23结尾,含有任意123中的txt文件
- 切换目录 cd
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录 |
cd ~ | 切换到当前用户的主目录 |
cd . | 保持当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录中来回切换 |
- 相对路径:在输入路径时,最前面的不是/或者~,表示从当前目录开始的具体位置
- 绝对路径:在输入路径时,最前面的是/或者~,表示从根目录/家目录开始的具体位置
- 创建和删除操作
- touch
创建文件或修改文件时间- 如果文件不存在,可以创建一个空白文件夹
- 如果文件已经存在,可以修改文件的末次修改日期
- mkdir
创建一个新的目录
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
mkdir -p a1/b1/c1 -> 创建一个文件夹a1,在a1里面创建b1,在b1里面创建c1
新建目录的名称不能与当前已经目录中已经存在的目录或文件同名
- rm
删除文件或目录
使用rm的时候要小心,因为文件删除后不能恢复
|选项|含义|
|—|---|
|-f|强制删除,忽略不存在的文件,无需提示|
|-r|递归地删除目录下的内容,删除文件夹时必须加此参数|
在Desktop中若输入rm -r * 会删除Desktop中的所有文件
千万不能在根目录中运行rm -r *
3 拷贝和移动文件
命令 | 对应英文 | 作用 |
---|---|---|
tree[目录名] | tree | 以树状图列出文件目录结构 |
cp 源文件 目标文件 | copy | 复制文件或者目录 |
mv 源文件 目标文件 | move | 移动文件或目录/文件或者目录重命名 |
- tree
选项 | 含义 |
---|---|
-d | 只显示目录 |
- tree ~ :家目录下的树结构
- tree -d :只显示目录,不显示文件名
- tree 目录名:指定文件目录名下的文件
- cp
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目录文件,则cp 若将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
- mv
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
mv readme.txt demo.txt 重命名
mv -i readme.txt demo.txt 会询问是否覆盖’demo.txt’(该文件夹下已有demo.txt,会有提示)
4 查看文件内容
命令}对应英文 | 作用 |
---|---|
cat 文件名 | concatenate |
more 文件名 | more |
grep搜索文本文件名 | grep |
-
cat
cat会一次显示所有内容,适合查看内容较少的文件选项 含义 -b 对非空行输出行编号 -n 对输出的所有行编号 -
more
more命令可以用于分屏显示文件内容,每次只显示一页内容
适合于查看内容较多的文本文件操作键 功能 空格键 显示手册页的下一屏 Enter键 一次滚动手册页的一行 b 回滚一屏 f 前滚一屏 q 退出 /word 搜索word字符串 -
grep
选项 含义 -n 显示匹配行及行号 -v 显示不包含匹配文本的所有行(相当于求反) -i 忽略大小写 grep as readme.txt 搜寻readme.txt中含有as的所有航
grep -n as readme.txt
grep -i ‘hello python’ readme.txt- grep允许对文本文件进行模式查找,所谓的模式查找又被称为正则表达式
- 常用的两种模式查找
参数 含义 ^a 行首,搜寻以a开头的行 ke$ 行尾,搜寻以ke结束的行 grep -n ke$ readme.txt 显示以ke结尾的行号以及行内容
5 其他
-
echo
会在终端显示参数指定的文字,通常会和重定向联合使用echo hello 终端输出hello
-
重定向>和>>
linux允许将命令执行结果重定向到一个文件
将本应显示在终端上的内容输出/追加到指定文件中
其中:- > 表示输出会覆盖文件原有内容
- >> 表示追加,会将内容追加到已有文件的末尾
echo hello > a 在a中输入hello,若没有a,创建后再输入
ls -lh > a 在a中输入ls下的内容 -
管道|
linux 允许将一个命令的输出可以通过管道作为另一个命令的输入
常用的管道命令有:- more:分屏显示内容
- grep:在命令执行结果的基础上查询指定的文本
ls -lha ~ | more 显示家目录下的所有文件(包括隐藏文件),并且分屏显示