| 命令 | 说明 |
|---|---|
| ls | 查看当前目录信息 |
| tree | 以树状方式显示目录信息 |
| pwd | 查看当前目录路径 |
| clear | 清除终端内容 |
| 命令 | 说明 |
|---|---|
| cd 目录 | 切换到指定目录 |
| cd ~ | 切换到当前用户的主目录 |
| cd … | 切换到上一级目录 |
| cd . | 切换到当前目录 |
| cd - | 切换到上一次目录 |
注意:
- cd命令切换目录时,这个目录必须存在。
- cd 后面不写目录等价于cd ~
1. 绝对路径
从根目录算起的路径叫做绝对路径(写代码时尽量使用绝对路径)
/home/python/Desktop2. 相对路径
从当前目录算起的路径叫做相对路径
./test/hello `.`:代表当前目录 ../static/images `..`:代表上一级目录3. 绝对路径和相对路径的使用
- 使用绝对路径切换到桌面
cd /home/python/Desktop
- 在下载目录以相对路径切换到桌面
cd Downloads cd ../Desktop
- 在桌面使用相对路径切换到上一级目录的上一级目录
cd Desktop cd ../../4.创建、删除、复制、移动文件及目录命令
| 命令 | 说明 |
|---|---|
| touch (触摸,做)文件名 | 创建指定文件 |
| mkdir 目录名 | 创建目录(文件夹) |
| rm 文件名或者目录名(-r) | 删除指定文件或者目录 |
| rmdir 目录名 | 删除空目录 |
| cp(–r ) | 拷贝文件、拷贝目录 |
| mv | 移动文件、移动目录、重命名 |
- rm、cp:创建、拷贝目录需要加上 –r 选项:rm -r 目录名
- cp:(可以加路径)
- cp 被拷贝文件名 拷贝后文件名
-
cp dir ../newdir :将dir目录拷贝到上一级成newdir目录
- mv:移动目录不需要加选项
- mv:命令还可以重命名文件和目录
mv dir cp newname 将dir目录重命名成newname5.终端命令格式的组成
command [-options] [parameter]
每项信息的说明:
- command:命令名, 比如: ls、pwd
- [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
- [parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
- []:代表可选
eg: cp -r dir newdir
注意:
- 终端命令完整格式: 命令名 选项(可选) 参数(可选)
- 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
- 选项可以分为短选项和长选项
- 短选项的格式: '-'后面接单个字母, 比如:-r
- 长选项的格式: '–'后面接单词, 比如:–help
- 参数:命令的操作对象,一般是文件名或者目录名。
-
–help 使用说明: 命令 --help
-
man 使用说明: man 命令
eg: ls --help man ls
man命令的说明:
| 操作键 | 说明 |
|---|---|
| 空格 | 显示下一屏信息 |
| 回车 | 显示下一行信息 |
| b | 显示上一屏信息 |
| f | 显示下一屏信息 |
| q | 退出 |
| 命令选项 | 说明 |
|---|---|
| -l | 以列表方式显示 |
| -h | 以大小单位显示,默认是字节 |
| -a | 显示隐藏文件和隐藏目录 |
h:一般和l一起用 eg: ls -l -h 或 ls -lh
2.mkdir和rm命令选项 1.mkdir命令选项| 命令选项 | 说明 |
|---|---|
| -p | 创建所依赖的文件夹 |
创建多级目录:
mkdir aa/bb/cc -p 创建aa文件夹中有bb文件夹,bb文件夹里有cc文件夹2. rm命令选项
| 命令选项 | 说明 |
|---|---|
| -i | 交互式提示(输入y/n,可以提示遇到重名文件是否覆盖) |
| -r | 递归删除目录及其内容 |
| -f | 强制删除,忽略不存在的文件,不提示文件不存在 |
| -d | 删除空目录 |
| 命令选项 | 说明 |
|---|---|
| -i | 交互式提示(可以提示遇到重名文件是否覆盖) |
| -r | 递归拷贝目录及其内容 |
| -v | 显示拷贝后的路径描述 |
| -a | 保留文件的原有权限 |
| 命令选项 | 说明 |
|---|---|
| -i | 交互式提示(可以提示遇到重名文件是否覆盖) |
| -v | 显示移动后的路径描述 |
能够使用重定向命令将终端显示内容重定向到文件
| 命令 | 说明 |
|---|---|
| > | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
| >> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
eg: ls > 01.txt :将ls的结果覆盖到01.txt ls > 01.txt :将ls的结果追加到01.txt2.查看文件内容命令 1. 查看文件内容命令的使用
| 命令 | 说明 |
|---|---|
| cat | 查看小型文件 |
| more | 分屏查看大型文件 (查看方式和man相同) |
| | | 一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容 |
eg:cat 1.txt 2.txt 一次性看两个文件 cat 1.txt 2.txt > 3.txt 将两个文件的内容放进3.txt
操作键说明:
| 操作键 | 说明 |
|---|---|
| 空格 | 显示下一屏信息 |
| 回车 | 显示下一行信息 |
| b | 显示上一屏信息 |
| f | 显示下一屏信息 |
| q | 退出 |
说明:
管道(|)一般结合 more 命令使用,主要是分配查看终端显示内容。
eg:tree /bin more 这时是直接显示到终端 tree /bin | more 这时是先存放到管道再将这个输入当输入用more来查看3. 小结
- 查看小文件使用 cat 命令
- 分屏查看大型文件使用 more 命令,
- 查看终端显示内容并分屏展示,使用 管道(|) 结合 more 命令。
链接命令是创建链接文件(类似快捷方式),链接文件分为:
- 软链接
- 硬链接
- 可以使用**ll命令(显示详细的文件信息)**查看链接
- 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
- 删除源文件,软链接失效,但是硬链接依然可以使用。
| 命令 | 说明 |
|---|---|
| ln -s | 创建软链接 |
| ln | 创建硬链接 |
类似于Windows的快捷方式
eg:ln -s ~/Desktop/1/1.txt ~/Desktop/1_s.txt
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
- 删除源文件则软链接失效
- 可以给目录创建软链接
- 作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作
类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。
注意点:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据。
- 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
- 创建软链接,硬链接数不会加1
- 不能给目录创建硬链接
硬链接数:
硬链接数就是文件数据被文件名使用的次数, 好比引用计数
4.文本搜索命令- grep 命令是完成文本搜索操作的,搜索文件内是否有该数据
- 文本搜索的命令格式: grep 选项 文本搜索内容
| 命令 | 说明 |
|---|---|
| grep | 查找、搜索文件内容 |
| 命令选项 | 说明 |
|---|---|
| -i | 忽略大小写 |
| -n | 显示匹配行号 |
| -v | 显示不包含匹配文本的所有行 |
| 正则表达式 | 说明 |
|---|---|
| ^ | 以指定字符串开头 |
| $ | 以指定字符串结尾 |
| . | 匹配一个非换行符的字符 |
eg: grep ^h 01.txt grep h$ 01.txt grep
h.l 01.txt grep:查找以h开头并且后面有l的内容
4. 扩展
- grep 命令还可以文本搜索管道中的内容,比如: ls | grep ‘lib’
- 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls | grep lib, grep hello 1.txt
- find命令是完成查找文件操作的
- 查找文件的命令格式: find 指定查找目录 -name “文件名”
| 命令 | 说明 |
|---|---|
| find | 在指定目录下查找文件(包括目录) |
find命令选项:
| 选项 | 说明 |
|---|---|
| -name | 根据文件名(包括目录名)字查找 |
通配符:
是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件,其他命令也可以使用
| 通配符 | 说明 |
|---|---|
| * | 代表0个或多个任意字符 |
| ? | 代表任意一个字符 |
扩展:
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find 命令使用通配符需要加上引号。
eg: find . -name "02.txt" "."表示当前目录通过名字查找02.txt
find . -name "0*.txt" 查找以0开头以.txt结尾的文件
find . -name "*.txt" 查找以.txt结尾的文件
find . -name "0?.txt" 查找一个两位字符文件名的txt文件,并且第一个字符是0
6.压缩和解压缩命令
1. 压缩格式的介绍
Linux默认支持的压缩格式:
- .gz 压缩时间快但是文件不会那么小
- .bz2 压缩比较小但时间比较长
- .zip
说明:
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩
压缩目的:
- 节省磁盘空间
| 命令 | 说明 |
|---|---|
| tar | 压缩和解压缩命令 |
tar命令选项:
| 选项 | 说明 |
|---|---|
| -c | 创建打包文件 |
| -v | 显示打包或者解包的详细信息 |
| -f | 指定文件名称, 必须放到所有选项后面 |
| -z | 压缩或解压缩(.gz) |
| -j | 压缩或解压缩(.bz2) |
| -x | 解包 |
| -C | 解压缩到指定目录 |
eg: tar -cvf 1.tar *.txt 将所有.txt文件压缩到1.tar 创建压缩包并且显示打包详细信息,再指定文件名
tar -zcvf 1.tar.gz *.txt 通过gz的压缩格式压缩
tar -zxvf 1.tar.gz 解压gz
tar -jcvf 1.tar.bz2 *.txt 通过bz2的压缩格式压缩
tar -jxvf 1.tar.bz2 解压bz2
tar -jxvf 1.tar.bz2 -C ../解压到上一级文件
3. zip和unzip命令及选项的使用tar包属于打包文件,.tar只是将文件打包,文件的大小没什么变化。tar包一般用于文件备份。
tar.gz包是压缩文件,经过gzip压缩后的tar文件,形成tar.gz包,扩展名为“.tar.gz”。tar.gz包一般情况下都是源代码的安装包,需要先解压再经过编译、安装.才能执行。总而言之它是一个压缩文件。
.tgz等价于.tar.gz、.tbz与tb2等价于.tar.bz2
| 命令 | 说明 |
|---|---|
| zip | 压缩成.zip格式文件 |
| unzip | 解压缩.zip格式文件 |
eg: zip 1.zip 01.txt 02.txt
unzip命令选项:
| 选项 | 说明 |
|---|---|
| -d | 解压缩到指定目录 |
说明:
-
压缩文件尽量使用.gz格式,因为占用空间较少
-
使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。
-
.gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩
-
.zip的压缩文件使用zip和unzip命令来完成压缩和解压缩
ls -lh 或者 ll 文件类型和权限 用户名 用户组名 大小 时间 文件名 -rw-rw--r-- 1 demo demo 10k 4月 23 08:10 1.txt drwxr-xr-x 3 demo demo 15k 4月 22 08:36 1
1. chmod命令的介绍第一列表示文件类型:-普通文件 d 文件夹
后面九个由三个三元组字符组成
第一个代表文件所有者用户权限
第二个代表文件用户组的权限
第三个代表其他用户的权限
r:可读 w:可写 x:可执行 -:没有权限
| 命令 | 说明 |
|---|---|
| chmod | 修改文件权限 |
chmod修改文件权限有两种方式:
- 字母法格式: chmod 不同角色设置的权限 文件
- 数字法格式: chmod 不同角色的权限值 文件名
角色说明:
| 角色 | 说明 |
|---|---|
| u | user, 表示该文件的所有者 |
| g | group, 表示用户组 |
| o | other, 表示其他用户 |
| a | all, 表示所有用户 |
权限设置说明:
| 操作符 | 说明 |
|---|---|
| + | 增加权限 |
| - | 撤销权限 |
| = | 设置权限 |
chmod u+r 01.txt 对用户增加读权限 chmod u+rwx 01.txt 对用户增加读、写和执行权限 chmod u-r 01.txt 对用户撤销读权限 chmod a=rwx 01.txt 设置所有用户权限为可读可写可执行3. chmod 数字法的使用
数字法就是“rwx” 这些权限也可以用数字来代替
权限说明: 口诀:读写行4210
| 权限 | 说明 |
|---|---|
| r | 可读,权限值是4 |
| w | 可写,权限值是2 |
| x | 可执行,权限值是1 |
| - | 无任何权限,权限值是0 |
chmod 000 a.py 所有权限都为空
chmod 4 a.py 给其他人增加读权限
chmod 44 a.py 给其他人和用户组增加读权限
chmod 776 a.py 4+2=6,给其他人增加读写权限,
4+2+1=7,给用户和用户组增加可读可写可执行权限
8.获取管理员权限的相关命令即顺序是从后往前
- sudo 是临时获取管理员权限
- sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。
- exit 是退出当前用户
- passwd 默认修改当前用户密码
| 命令 | 说明 |
|---|---|
| sudo -s | 切换到root用户,获取管理员权限 |
| sudo | 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo |
说明:
- 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。
- 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。
| 命令 | 说明 |
|---|---|
| whoami | 查看当前用户 |
| 命令 | 说明 |
|---|---|
| exit | 退出登录用户 |
说明:
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
- 如果是终端界面,退出当前终端。
| 命令 | 说明 |
|---|---|
| who | 查看所有的登录用户 |
| 命令 | 说明 |
|---|---|
| passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |
| 命令 | 说明 |
|---|---|
| which | 查看命令位置 |
| 命令 | 说明 |
|---|---|
| shutdown –h now | 立刻关机 |
| reboot | 重启 |
- 查看用户是否创建成功,可以查看**/etc/passwd**这个文件
- 查看用户组是否创建成功,可以查看**/etc/group**这个文件
创建(添加)用户: sudo useradd -m 用户名 创建用户并指定用户组使用: sudo useradd -m -g 用户组 用户名 查看用户信息: id 设置密码: sudo passwd 用户名 切换用户: sudo su - 用户名 删除用户: sudo userdel -r 用户名
2.用户组相关操作创建用户时:
①-m自动创建用户主目录,主目录的名字就是用户名
②-g指定用户所属的用户组,默认不指定会自动创建一个同名的用户组
删除用户时:
①-r 用户名删除用户主目录,必须要设置,否则用户主目录不会删除
②删除用户,默认同名的用户组也会被删除
创建用户组使用: sudo groupadd 用户组名 创建用户并指定用户组使用: sudo useradd -m -g 用户组 用户名 删除用户组使用: sudo groupdel 用户组名 如果用户组下面有用户先删除用户在删除用户组 查看用户组信息使用 /etc/group文件3.相关信息说明 1.passwd文件中的每项信息说明
PCGuo:x:1000:1000:PCGuo:/home/PCGuo:/bin/sh
- 第一个:用户名
- 第二个:密码占位符
- 第三个:uid, 用户id
- 第四个:gid, 用户所在组id
- 第五个:用户描述, 可选,
- 第六个:用户的主目录所在位置
- 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
PCGuo:x:1001:
- 第一个:用户组名
- 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
- 第三个:组id
uid=1001(PCGuo) gid=1001(PCGuo))组=1001(PCGuo)
- 第一个: uid 表示用户id
- 第二个: gid 表示用户组id
- 第三个: 组 表示用户所在的用户组
| 命令 | 说明 |
|---|---|
| ssh | 远程登录 |
| scp | 远程拷贝 |
ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端或客户端软件。ssh命令是远程登录主机电脑,相当于直接操作的是远程电脑。
软件安装步骤:
- 假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令:
sudo apt-get install openssh-server
- 在Ubuntu安装ssh客户端命令:
sudo apt-get install openssh-client
- 在win10上按着ssh:
设置-》应用-》应用和功能-》可选功能-》添加功能-》选择OpenSSH 服务器 安装即可
- 客户端电脑如果是 macOS 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令
- 客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件
ssh命令格式:
ssh 用户名@ip地址
2.scp命令的使用 1.远程拷贝文件查看ip:ifconfig
-
拷贝本地文件到远程服务器:
scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
-
拷贝远程服务器的文件到本地
scp 远程服务器用户名@远程服务器ip地址:远程服务器文件指定拷贝到本地的路径
-
拷贝本地目录到远程服务器:
-
scp -r本地目录远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
-
拷贝远程服务器的目录到本地
-
scp -r远程服务器用户名@远程服务器ip地址:远程服务器目录指定拷贝到本地的路径
-r表示递归拷贝整个目录
FileZilla 是一个免费开源的FTP软件, 使用可视化方式进行上传和下载文件。以后可以通过 FileZilla 来代替 scp 命令。大量的文件上传和下载可以通过可视化工具FileZilla来完成。
- 在虚拟机输入"ifconfig"查看inet,即ip地址;
- 在FileZilla中点击新站点,协议为SFTP-SSH File Transfer Protocol;主机输入虚拟机ip地址,用户名和密码点击连接即可
- 使用时可以直接拖拽进行远程拷贝文件
11.软件安装和卸载 1. 软件安装和卸载的介绍远程链接显示:Network error: Connection refused
安装ssh服务端软件:sudo apt-get install openssh-server 即可解决
-
离线安装/卸载(deb文件格式安装)
安装:sudo dpkg -i 安装包名.deb -i(install安装) 卸载:sudo dpkg -r 安装包名 -r(remove卸载)
-
在线安装/卸载(apt-get方式安装)
安装:sudo apt-get install 安装包名 卸载:sudo apt-get remove 安装包名
主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件
因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。使用 apt-get 命令也就是在线安装需要更改镜像源,提高下载和安装速度。
镜像源说明:
镜像源就是下载软件来源的服务器,国内的镜像服务器比如:阿里镜像服务器、清华大学镜像服务器等。国内的镜像服务器和国外服务器软件信息是同步的。
可视化方式更改镜像源:
Ubuntu点击软件和更新-》下载自:中国的服务器-》点击其他站点,选择一个服务器eg:mirror.aliyun.com



