Linux命令学习教程【建议收藏】,想学IT的必看


1. cp命令选项

| 命令选项 | 说明 |

| — | — |

| -i | 交互式提示 |

| -r | 递归拷贝目录及其内容 |

| -v | 显示拷贝后的路径描述 |

| -a | 保留文件的原有权限 |

-a选项说明:

  • -a 选项还支持拷贝文件夹并且文件夹中的文件权限不丢失

2. mv命令选项

| 命令选项 | 说明 |

| — | — |

| -i | 交互式提示 |

| -v | 显示移动后的路径描述 |

3. 小结

  • 拷贝文件防止覆盖使用 “cp –i” 操作

  • 拷贝文件夹使用 “cp –r” 操作,拷贝文件夹并且文件权限不丢失使用 “cp –a” 操作。

  • 移动文件防止覆盖使用 “mv –i” 操作

  • 移动文件夹直接使用 “mv” 即可,“mv” 还可以给文件和文件夹重命名。

十五、重定向命令

========


1. 重定向命令的介绍

重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。

2. 重定向命令的使用

| 命令 | 说明 |

| — | — |

| > | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |

| >> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |

说明:

只要在终端能显示信息的命令都可以使用重定向,比如: tree

3. 小结

  • 终端内容保存到文件使用重定向有两种方式: > 和 >>

  • > 表示每次只写入最新的数据,原有数据不保留。

  • >> 表示每次在原有数据的基础上进行追加,原有数据会保留。

十六、查看文件内容命令

===========


1. 查看文件内容命令的使用

| 命令 | 说明 |

| — | — |

| cat | 查看小型文件 |

| more | 分屏查看大型文件 |

说明:

  • cat命令结合重定向可以完成多个文件的合并

  • gedit 文件编辑命令,可以查看和编辑文件

当查看内容信息过长无法在一屏上显示时,可以使用 more 命令在终端分配显示文件内容。

操作键说明:

| 操作键 | 说明 |

| — | — |

| 空格 | 显示下一屏信息 |

| 回车 | 显示下一行信息 |

| b | 显示上一屏信息 |

| f | 显示下一屏信息 |

| q | 退出 |

2. 管道(|)命令的使用

管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。

说明:

管道(|)一般结合 more 命令使用,主要是分配查看终端显示内容。

3. 小结

  • 查看小文件使用 cat 命令

  • 分屏查看大型文件使用 more 命令,

  • 查看终端显示内容并分屏展示,使用 管道(|) 结合 more 命令。

十七、链接命令

=======


1. 链接命令的介绍

链接命令是创建链接文件,链接文件分为:

  • 软链接

  • 硬链接

| 命令 | 说明 |

| — | — |

| ln -s | 创建软链接 |

| ln | 创建硬链接 |

2. 软链接

类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。

注意点:

  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

  • 删除源文件则软链接失效

  • 可以给目录创建软链接

3. 软链接小结

  • 软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。

  • 创建软链接命令格式: ln -s 源文件路径(使用绝对路径) 软链接

4. 硬链接

类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。

注意点:

  • 创建硬链接使用相对路径和绝对路径都可以

  • 删除源文件,硬链接还可以访问到数据。

  • 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。

  • 创建软链接,硬链接数不会加1

  • 不能给目录创建硬链接

硬链接数:

硬链接数就是文件数据被文件名使用的次数, 好比引用计数

5. 硬链接小结

  • 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。

  • 删除源文件,软链接失效,但是硬链接依然可以使用。

  • 创建硬链接命令格式: ln 源文件路径 硬链接

十八、文本搜索命令

=========


1. grep命令的使用

| 命令 | 说明 |

| — | — |

| grep | 文本搜索 |

2. grep命令选项的使用

| 命令选项 | 说明 |

| — | — |

| -i | 忽略大小写 |

| -n | 显示匹配行号 |

| -v | 显示不包含匹配文本的所有行 |

3. grep命令结合正则表达式的使用

| 正则表达式 | 说明 |

| — | — |

| ^ | 以指定字符串开头 |

| $ | 以指定字符串结尾 |

| . | 匹配一个非换行符的字符 |

4. 扩展

  • grep 命令还可以文本搜索管道中的内容,比如: ls / | grep ‘lib’

  • 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls / | grep lib, grep hello 1.txt

5. 小结

  • grep 命令是完成文本搜索操作的

  • 文本搜索的命令格式: grep 选项 文本搜索内容

十九、查找文件命令

=========


1. find命令及选项的使用

| 命令 | 说明 |

| — | — |

| find | 在指定目录下查找文件(包括目录) |

find命令选项:

| 选项 | 说明 |

| — | — |

| -name | 根据文件名(包括目录名)字查找 |

2. find命令结合通配符的使用

通配符:

是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件

| 通配符 | 说明 |

| — | — |

| * | 代表0个或多个任意字符 |

| |

| ? | 代表任意一个字符 |

扩展:

通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find命令使用通配符需要加上引号。

3. 小结

  • find命令是完成查找文件操作的

  • 查找文件的命令格式: find 指定查找目录 -name “文件名”

二十、压缩和解压缩命令

===========


1. 压缩格式的介绍

Linux默认支持的压缩格式:

  • .gz

  • .bz2

  • .zip

说明:

  • .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩

  • .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩

压缩目的:

  • 节省磁盘空间

2. tar命令及选项的使用

| 命令 | 说明 |

| — | — |

| tar | 压缩和解压缩命令 |

tar命令选项:

| 选项 | 说明 |

| — | — |

| -c | 创建打包文件 |

| -v | 显示打包或者解包的详细信息 |

| -f | 指定文件名称, 必须放到所有选项后面 |

| -z | 压缩或解压缩(.gz) |

| -j | 压缩或解压缩(.bz2) |

| -x | 解包 |

| -C | 解压缩到指定目录 |

3. zip和unzip命令及选项的使用

| 命令 | 说明 |

| — | — |

| zip | 压缩成.zip格式文件 |

| unzip | 解压缩.zip格式文件 |

unzip命令选项:

| 选项 | 说明 |

| — | — |

| -d | 解压缩到指定目录 |

说明:

  • 压缩文件尽量使用.gz格式,因为占用空间较少

  • 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。

4. 小结

  • .gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩

  • .zip的压缩文件使用zip和unzip命令来完成压缩和解压缩

二十一、文件权限命令

==========


1. chmod命令的介绍

| 命令 | 说明 |

| — | — |

| chmod | 修改文件权限 |

chmod修改文件权限有两种方式:

  • 字母法

  • 数字法

2. chmod 字母法的使用

角色说明:

| 角色 | 说明 |

| — | — |

| u | user, 表示该文件的所有者 |

| g | group, 表示用户组 |

| o | other, 表示其他用户 |

| a | all, 表示所有用户 |

权限设置说明:

| 操作符 | 说明 |

| — | — |

| + | 增加权限 |

| - | 撤销权限 |

| = | 设置权限 |

权限说明:

| 权限 | 说明 |

| — | — |

| r | 可读 |

| w | 可写 |

| x | 可执行 |

| - | 无任何权限 |

3. chmod 数字法的使用

数字法就是“rwx” 这些权限也可以用数字来代替

权限说明:

| 权限 | 说明 |

| — | — |

| r | 可读,权限值是4 |

| |

| w | 可写,权限值是2 |

| x | 可执行,权限值是1 |

| - | 无任何权限,权限值是0 |

4. 小结

  • 利用 chmod 命令可以控制文件的操作权限。

  • 字母法格式: chmod 不同角色设置的权限 文件

  • 数字法格式: chmod 不同角色的权限值 文件名

二十二、获取管理员权限的相关命令

================


1. sudo命令的使用

| 命令 | 说明 |

| — | — |

| sudo -s | 切换到root用户,获取管理员权限 |

| sudo | 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo |

说明:

  • 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。

  • 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。

2. whoami命令的使用

| 命令 | 说明 |

| — | — |

| whoami | 查看当前用户限 |

3. exit命令的使用

| 命令 | 说明 |

| — | — |

| exit | 退出登录用户 |

说明:

  • 如果是切换后的登陆用户,退出则返回上一个登陆账号。

  • 如果是终端界面,退出当前终端。

4. who命令的使用

| 命令 | 说明 |

| — | — |

| who | 查看所有的登录用户 |

5. passwd命令的使用

| 命令 | 说明 |

| — | — |

| passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |

6. which命令的使用

| 命令 | 说明 |

| — | — |

| which | 查看命令位置 |

7. 关机和重启命令的使用

| 命令 | 说明 |

| — | — |

| shutdown –h now | 立刻关机 |

| reboot | 重启 |

8. 小结

  • sudo 是临时获取管理员权限

  • sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。

  • exit 是退出当前用户

  • passwd 默认修改当前用户密码

二十三、用户相关操作

==========


1. 创建用户

| 命令 | 说明 |

| — | — |

| useradd | 创建(添加)用户 |

useradd命令选项:

| 选项 | 说明 |

| — | — |

| -m | 自动创建用户主目录,主目录的名字就是用户名 |

| -g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |

说明:

  • useradd 命令的使用需要使用管理员权限,前面需要加上 sudo

  • 创建用户如果不指定用户组,默认会自动创建一个同名的用户组

  • 查看用户是否创建成功,可以查看**/etc/passwd**这个文件

  • 查看用户组是否创建成功,可以查看**/etc/group**这个文件

passwd文件中的每项信息说明,以root❌0:0:root:/root:/bin/bash为例:

  • 第一个:用户名

  • 第二个:密码占位符

  • 第三个:uid, 用户id

  • 第四个:gid, 用户所在组id

  • 第五个:用户描述, 可选,

  • 第六个:用户的主目录所在位置

  • 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型

group文件中的每项信息说明, 以laowang❌1001:为例:

  • 第一个:用户组名

  • 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的

  • 第三个:组id

id命令查看用户信息:

| 命令 | 说明 |

| — | — |

| id | 查看用户信息 |

每项信息说明:

uid=1001(laowang) gid=1001(laowang) 组=1001(laowang)

  • 第一个: uid 表示用户id

  • 第二个: gid 表示用户组id

  • 第三个: 组 表示用户所在的用户组

2. 设置密码

给其它用户设置密码,需要使用: sudo passwd 用户名

3. 切换用户

| 命令 | 说明 |

| — | — |

| su | 切换用户 |

语法格式: su - 用户名

解决办法:

  • 给laowang用户设置一个sudo附加组, 需要使用usermod修改用户信息

4. 修改用户信息

| 命令 | 说明 |

| — | — |

| usermod | 修改用户信息 |

usermod选项:

| 命令 | 说明 |

| — | — |

| -G | 设置一个附加组 |

| -g | 修改用户组 |

5. 扩展: 删除附加组

| 命令 | 说明 |

| — | — |

| gpasswd | 添加和删除附加组信息 |

gpasswd命令选项:

| 选项 | 说明 |

| — | — |

| -a 用户名 | 给用户添加附加组 |

| -d 用户名 | 给用户删除附加组 |

5. 删除用户

| 命令 | 说明 |

| — | — |

| userdel | 删除用户 |

userdel命令选项:

| 选项 | 说明 |

| — | — |

| -r 用户名 | 删除用户主目录,必须要设置,否则用户主目录不会删除 |

说明:

  • 删除用户,默认同名的用户组也会被删除

6. 小结

  • 创建用户命令格式: sudo useradd -m 用户名, 默认会创建一个同名的用户组。

  • 查看用户信息使用 id 命令或者 /etc/passwd文件

  • 查看用户组信息使用 /etc/group文件

  • 给用户设置密码使用 sudo passwd 用户名

  • 切换用户使用 su - 用户名

  • 设置附加组使用 sudo usermod -G 组名 用户名

  • 删除用户使用 sudo userdel -r 用户名,默认会删除同名的用户组。

二十四、用户组相关操作

===========


1. 创建用户组

| 命令 | 说明 |

| — | — |

| groupadd | 创建(添加)用户组 |

2. 创建用户并指定用户组

3. 修改用户组

4. 删除用户组

| 命令 | 说明 |

| — | — |

| groupdel | 删除用户组 |

说明:

  • 如果用户组下面有用户先删除用户在删除用户组

5. 小结

  • 创建用户组使用: sudo groupadd 用户组名

  • 创建用户并指定用户组使用: sudo useradd -m -g 用户组 用户名

  • 修改用户组使用: sudo usermod -g 用户组 用户名

  • 删除用户组使用: sudo groupdel 用户组名

二十五、远程登录、远程拷贝命令

===============

1. 远程登录、远程拷贝命令的介绍

| 命令 | 说明 |

| — | — |

| ssh | 远程登录 |

| scp | 远程拷贝 |

2. ssh命令的使用

ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端和客户端软件,当软件安装成功以后就可以使用ssh命令了,以后可以通过远程登录之间操作远程的服务器。

软件安装步骤:

  1. 假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令: sudo apt-get install openssh-server

  2. 客户端电脑如果是 macOS 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令

  3. 客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件

ssh命令格式:

ssh 用户名@ip地址

说明:

  • 在一台电脑上可以安装安装ssh客户端和ssh服务端软件

  • 在Ubuntu安装ssh客户端命令: sudo apt-get install openssh-client

3. scp命令的使用

scp是基于ssh进行远程文件拷贝的命令,也就是说需要保证服务端和客户端电脑安装了相应的ssh软件,以后可以把我们写代码远程拷贝到服务器。

scp命令格式:

  • 远程拷贝文件

  • scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

OS** 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令

  1. 客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件

ssh命令格式:

ssh 用户名@ip地址

说明:

  • 在一台电脑上可以安装安装ssh客户端和ssh服务端软件

  • 在Ubuntu安装ssh客户端命令: sudo apt-get install openssh-client

3. scp命令的使用

scp是基于ssh进行远程文件拷贝的命令,也就是说需要保证服务端和客户端电脑安装了相应的ssh软件,以后可以把我们写代码远程拷贝到服务器。

scp命令格式:

  • 远程拷贝文件

  • scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-KqxLiF8x-1710868548857)]

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值