欢迎光临散文网 会员登陆 & 注册

黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)

2021-08-15 18:30 作者:无尽的派  | 我要投稿

Linux 命令

ls 查看当前文件夹下的内容

pwd 查看当前所在文件夹

cd 切换文件夹

touch 如果文件夹不存在,新建文件夹

mkdir 创建目录

rm 删除指定文件名

clear 清屏

-------------------------------------------

ctrl + shift + = 放大终端窗口的字体显示

ctrl + - 缩小终端窗口的字体显示

command [-options] [parameter]

command:命令名

[-options]:选项(可省略)

parameter:传给命令的参数

【】代表可选

command --help

man command

manmanual 的缩写

~表示根目录下的家目录

使用man的操作键:

空格键 显示手册页的下一屏

回车键 一次滚动手册页的一行

b 回滚一屏

f 前滚一屏

q 退出

/world 搜索字符串

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

文件和目录命令


自动补全

在敲出文件/目录/命令的前几个字母后,按下tab键

  • 如果输入的没有歧义,系统会自动补全
  • 如果还存在其他文件/目录/命令,系统会提示可能存在的命令

曾经使用过得命令

  • 按上下光标键可以在曾经使用过得命令来回切换
  • 如果想要退出选择,且不想执行当前选中的命令,按ctrl+C

Linux 文件和目录特点

  • 文件或目录名称最长可达256个字符
  • . 开头的文件为隐藏文件,需要 -a 参数才显示
  • . 代表当前目录, .. 代表上一级目录

相对路径和绝对路径

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

~~~~~~~~~~~~~~~~~~~~~~~~~

查看目录内容

ls 常用选项

-a 显示指定目录下所有子目录与文件包括隐藏文件

-l 以列表方式显示文件的详细信息

-h 配合-l显示文件大小

最左边一列 d 代表目录,- 代表文件

最右边一列蓝色的是目录,白色的是文件

ls 通配符的使用

~~~~~~~~~~~~~~~~~~~~~~~~~

切换目录

注意:Linux 所有的目录文件名都是大小写敏感

cd 切换到当前用户的主目录

cd~ 切换到当前用户的主目录

cd. 保持当前目录不变

cd.. 切换到上级目录

cd- 在最近两次工作目录之间来回切换

~~~~~~~~~~~~~~~~~~~~~~~~~

创建和删除操作

1.touch

创建文件或修改文件时间

  • 如果文件不存在,可以创造一个空白文件
  • 如果文件已存在,可以修改文件的末次修改日期

2.mkdir

创建一个新目录

新建目录名称不能与当前目录中已有目录或文件同名

mkdir -p 可以递归创建目录

3.rm

删除文件或目录

使用rm命令要小心,因为文件删除后不能恢复

rm -f 强制删除,忽略不存在的文件,无需提示

rm -r 递归删除目录内容,删除文件夹用到

~~~~~~~~~~~~~~~~~~~~~~~~~

拷贝和移动文件

tree 以树状图列出目录结构

copy 复制文件和目录

move 移动/重命名文件或目录

1.tree

tree 命令可以以树状图列出文件目录结构

tree -d 只显示目录

2.cp

功能是将给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 cope 命令

cp -f 已经存在的目标文件直接覆盖,不会提示

cp -i 覆盖文件前提示

cp -r 递归复制目录下的所有子目录和文件

3.mv

mv 命令可以用来移动文件或目录,也可以给文件或目录重命名

mv -i 覆盖文件前提示

在终端中对文件的操作不能撤回

ctrl+s 保存 ctrl+v 输出保存内容

~~~~~~~~~~~~~~~~~~~~~~~~~

查看文件内容

cat 查看文件内容,创建文件,文件合并,添加文件内容

more 分屏显示文件内容

grep 搜索文本文件内容

1.cat

cat会一次显示所有的内容,适合查看内容较少的文本文件

Linux 中还有一个nl的命令和cat -b的效果等价

cat -b 对非空输出行编号

cat -n 对输出的所有行编号

2.more

more命令可以分屏显示文件内容,每次只显示一页内容

适合于查看内容较多的文本内容

使用more的操作键:

空格键 显示手册页的下一屏

回车键 一次滚动手册页的一行

b 回滚一屏

f 前滚一屏

q 退出

/world 搜索字符串

空格键与 f 的效果一样

3.grep

grep 允许对文本文件进行模式查找,模式查找又被称为正则表达式

双击文件打开界面,Ctrl+F可搜索指定的字符串

grep -n 显示匹配行及行号

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

grep -i 忽略大小写

搜索带空格的字符串两遍都要打双引号

常用的两种模式查找

^a 行首,搜索以a开头的行

a$ 行尾,搜素以a结束的行

~~~~~~~~~~~~~~~~~~~~~~~~~

6.其他命令

1.echo 文字内容

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

2.重定向>和>>

  • Linux 允许将命令执行结果重定向到一个文件
  • 将本应显示在终端上的内容输出/追加到指定文件

其中

  • >表示输出,会覆盖文件原有内容
  • >>表示追加,会将内容追加到已有文件的末尾

3.管道 |

  • Linux 允许将一个命令的输出可以通过管道作为另一个命令的输入
  • | 的左右分为两端,左端塞东西(写),右端取东西(读)

常用的管道命令:

  • more:分屏显示内容
  • grep:在命令执行结果的基础上查询指定的文本

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

远程管理常用命令

01.关机/重启

1.1 shutdown

  • shutdown 命令可以安全关闭或者重新启动系统
  • sudo shutdown now 可以越过权限

shutdown -r 重新启动

  • 不指定选项和参数,默认表示1分钟后关闭电脑
  • 远程维护服务器时,最好不要关闭系统,而应该重新启动系统
  • 常用命令实例

#重新启动操作系统,now 表示现在

$shutdown -r now

#立刻关机,now表示现在

$shutdown now

#系统将会在今天的20:25会关机

$shutdown 20:25

#系统再过十分钟后自动关机

$shutdown +10

#取消之前的关机计划

$shutdown -c

~~~~~~~~~~~~~~~~~~~~~~~~~

02.查看或配置网卡信息

ifconfig 查看/配置计算机网卡信息

ping 检测目标IP地址连接是否正常

2.1 网卡和IP地址

网卡

  • 网卡是一个专门负责网络通讯的硬件设备
  • IP地址是设置在网卡上的地址信息

可以把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码

IP 地址

  • IP地址是保证电脑之间正常通讯的重要的设置

每台电脑的IP地址不能相同,否则无法正常通讯

2.2 ifconfig

如果输入 ifconfig 报错的记得先安装输入 sudo apt install net-tool

#查看网卡配置信息

$ifconfig

#查看网卡对应的IP地址

$ifconfig | grep inet

一台计算机中可能有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ensxx表示

  • 127.0.0.1 被称为本地回环/环回地址,用来检测本机网卡是否正常

2.3 ping

#检测目标主机是否连接正常

$ping IP地址

#检测本地网卡工作正常

$ping 127.0.0.1

在 Linux 中,想要终止一个终端程序的执行,绝大多数可以使用Ctrl+c

原理:给目标IP地址发送数据包,对方再返回一个数据包,根据返回的数据包以及时间,可以确定目标主机的存在

03.远程登录和复制文件

ssh 用户名@ip 关机/重新启动

scp 用户名@ip:文件名或路径 远程复制文件

3.1 ssh 基础

  • ssh 客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序
  • SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议

1)域名和端口号

域名

  • 由一串用点分隔的名字组成,例如:www.itcast.cn
  • 是IP地址的别名,方便用户记忆

端口号

  • IP地址:通过IP地址找到网络上的计算机
  • 端口号:通过端口号可以找到计算机运行的应用程序。SSH服务器的默认端口号是22,如果是默认段口号,在连接的时候,可以省略
  • 常见服务端口号列表:

SSH 22

Web 80

HTTPS 443

FTP 21

2)SSH客户端的简单使用

ssh [-p port] user@remote

  • user是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote是远程机器的地址,可以是IP/域名/别名
  • port是SSH Server 监听的端口,默认值22

注意:

  • 使用exit退出当前用户的登录
  • ssh终端命令只能在Linux或者Unix系统下使用
  • 在windows系统中,可安装PuTTY或者XShell使用ssh客户端
  • 在工作中,ssh服务器的端口号很有可能不是22,则需要使用 -p 选项指定正确的端口号

3.2 scp

  • scp就是secure cope,是一个在 Linux下进行远程拷贝文件的命令
  • scp的地址格式与ssh基本相同,需要注意,在指定端口是用的是大写的-p而不是小写

注意:':'后面的路径如果不是绝对路径,则以用户的家目录作为参考路径

#把本地当前目录下的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

#把当前目录下的demo文件夹复制到远程家目录下的Desktop

$ scp -r demo user@remote:Desktop

#把远程家目录下的Desktpop复制到当前目录下的demo文件夹

$ scp -r user@remote:Desktop demo

注意:

  • scp 终端命令只能在Linux或者Unix系统下使用
  • 如果在Windows系统中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输
  • FileZilla在传输文件时,使用FTP服务而不是ssh服务,因此端口号应该设置为21

3.3 SSH 高级

1)免密码登录

步骤

  • 配置公钥 执行 ssh-keygen 即可生成SSH钥匙,一路回车即可
  • 上传公钥到服务器,执行 ssh-copy-id -p port user@remote,让远程服务器记住公钥

有关ssh配置信息都保存在用户家目录的 .ssh目录

非对称加密算法

使用公钥加密的数据,需要私钥解密

使用私钥加密的数据,需要公钥解密

2)配置别名

每次都输入ssh -p port user@remote很麻烦,配置别名则方便的多,ssh mac 来代替上面那一串,在~/.ssh/config里面可追加以下内容

Host mac

HostName ip

User ithema

Port 22

保存之后,即可用ssh mac实现远程登录,scp同样可以使用

输入gedit config 可以打开文件config的图形界面

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

用户权限相关命令


01.用户和权限

1.1基本概念

  • 用户是系统的重要一环,用户管理包括用户与组管理
  • 每个系统都必须拥有一个账号,对于不同系统资源有不同的使用权限
  • Linux中,可以指定每一个用户针对不同文件或目录的不同权限

读 read r 4

写 write w 2

执行 excute x 1

1.2 ls -l扩展

1.权限

2.硬链接数

3.拥有者

4.组

5.大小

6.时间

7.名称

1.3 chmod 简单使用

chmod可以修改用户/组文件/目录的权限

chmod +/- rwx 文件名|目录名

1.4 超级用户

  • Linux 系统中的root账号 通常用于系统的维护和管理,对操作系统所有资源具有所有访问权限
  • 大多数版本的Linux中,都不推荐直接使用root登录系统
  • Linux安装过程中,系统会自动创建账号,这个默认的用户被称为标准用户

sudo

  • susubstitute user 的缩写,表示使用另一个用户的身份
  • sudo命令用来以其他身份来执行命令,预设的身份为root
  • 用户使用sudo时,必须先输入密码,之后有5分钟有效期限,超过期限必须输入密码
  • 若未经授权的用户企图使用sudo,则会发出警告邮件管理员

02.组管理 终端命令

groupadd 组名 添加组

groupdel 组名

cat /etc/group 确认信息

chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

  • 组信息保存在 /etc/group文件中
  • 创建组/删除组/修改其他用户密码的终端命令都需要通过sudo执行
  • /etc 目录是专门用来保存系统配置信息的目录

~~~~~~~~~~~~~~~~~~~~~~~~~

03.用户管理 终端命令

3.1创建用户/设置密码/删除用户

useradd -m -g 组 新建用户名 添加新用户

passwd 用户名 设置用户密码

userdel -r 用户名 删除用户

cat/etc/passwd | grep 用户名 确认用户信息

说明:

useradd

  • -m 自动建立用户家目录
  • -g 指定用户所在的组,否则建立一个同名的组

passwd

  • 如果是普通用户,直接用passwd修改密码

userdel

  • -r 选项会自动删除用户家目录

cat/etc/passwd | grep

  • 新建用户后,用户信息保存在/etc/passwd文件

提示

  • 创建用户时,如果忘记添加-m选项指定新用户的家目录。最简单的方法是删除用户,重新创建
  • 创建用户时,默认创建一个和用户名同名的组名
  • 用户信息保存在/etc/passwd文件中

3.2查看用户信息

id 查看用户UID和GID信息

who 查看当前所有登录的用户列表

whoami 查看当前登录用户的账户名

passwd 文件

/etc/passwd 文件存放的用户信息,由6个分号组成的7个信息,分别为:

1.用户名

2.密码(x表示加密)

3.UID(用户标识)

4GID(组标识 )

5.用户全名或本地账号

6.家目录

7.登录使用的Shell(登录后使用的终端命令)

ubuntu 默认是dash

usermod

  • usermod 可以用来设置用户的主组/附加组登录Shell
  • 主组:通常在新建用户时指定,在etc/passwd 的第四列GID对应的组
  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置用户的附加组后,需要重新登录才生效!

#修改用户的主组(passwd 中的GID)

$usermod -g 组 用户名

#修改用户的附加组

$usermod -G 组 用户名

#修改用户登录 Shell

$usermod -s /bin/bash

注意:默认使用useradd添加的用户是没有权限使用sudoroot身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中

usermod -G sudo 用户名

which

/etc/passwd 是用于保存用户信息的文件

/usr/bin/passwd 是用于修改用户密码的程序

which 命令可以查看执行命令所在位置

$which ls

#输出

#/bin/ls

$which useradd

#输出

#/usr/sbin/useradd

bin和sbin

  • 在Linux中,绝大多数可执行文件都保存在/bin/sbin/usr/bin/usr/sbin
  • /bin(binary)
  • /sbin(system binary)
  • /usr/bin(usercommands for applications)
  • /usr/sbin(super user commands for applications)
  • /bin是二进制执行文件目录,主要用于具体应用
  • /sbin是系统管理员专用的二进制代码存放目录
  • /usr/bin 后期安装的一些软件
  • /usr/sbin 超级用户的一些管理程序

cd这个终端命令是内置在系统内核中的,没有独立文件,因此用which无法找到cd命令的位置

3.3切换用户

su - 用户名 切换用户且切换目录

exit 退出当前登录账户

su 不接用户名,可以切换到root,但不推荐使用,不安全

-可以切换到家目录,否则只会切换用户,不会切换目录

exit示意图

3.4修改文件权限

chown 修改拥有者

chgrp 修改组

chmod 修改权限

命令格式如下:

$修改文件/目录的拥有者

#chown 用户名 文件名/目录名

$递归修改文件 | 目录的组

#chgrp -R 组名 文件名/目录名

$递归修改文件权限

#chmod -R 755 文件名/目录名

chmod在设置权限时,三个数字分别对应拥有者/组/其他用户的权限

直接修改文件|目录的 读|写|执行 权限,但不能精确到 拥有者|组|其他

chmod +/- rwx 文件名/目录名

系统信息相关命令

01.时间和日期

date 查看系统时间

cal calender 查看日历,-y选项可查看一年的日历

02.磁盘信息

df -h disk free显示磁盘剩余空间

du -h disk usage显示目录下的文件大小

0.3进程信息

  • 进程就是当前正在执行的一个程序

ps aux process status查看进程的状况

top 动态显示运行中的进程并且排序

kill[-9]进程代号 终止指定代号进程-9表示强行终止

ps默认只会显示当前用户通过终端启动的应用程序

ps选项说明功能

a 显示终端上的所有进程,包括其他用户的进程

u 显示进程的详细状态

x 显示没有控制终端的进程

提示:kill命令时,最好只终止由当前用户开启的进程,而不要终止root身份开启的进程,否则导致系统崩溃

  • 要退出top可以直接输入q

其他命令

01.查找文件

  • find用来在特定的目录下搜索符合条件的文件

命令:find [路径] -name "*.py"

作用:查找指定路径下扩展名是.py的文件包括子目录

  • 如果省略路径则表示在当前文件夹下查找

$文件包含1的文件

#find -name "*1*"

$以.txt为扩展名的文件

#find -name "*.txt"

$以数字1开头的文件

#find -name "1*"

02.软连接

命令:ln -s 被链接的源文件 链接文件

作用:建立文件的软链接,如windowsde的快捷方式

  1. 没有 -s 选项建立的是硬链接文件
  2. 两个文件占用相同大小的硬盘空间,几乎不会建立文件的硬链接
  3. 源文件要使用绝对路径,不能使用相对路径
  4. 硬链接---有多少种方式可以访问文件或目录
  1. 在Linux中,文件名文件的数据是分开存储的
  2. 在Linux中,只有文件的硬链接数=0才会被删除
  3. 可用 ls -l 查看文件的硬链接数量

03.打包压缩

windows常用rar

Mac常用zip

Linux常用tar.gz

3.1打包/解包

$打包文件

#tar -cvf 打包文.tar 被打包的文件/路径

$解包文件

#tar -xvf 打包文件.tar

tar选项说明

c 生成档案文件,创建打包文件

x 解开档案文件

v 列出归档解档的详细过程,显示进度

f 指定档案文件名称

f 选项必须放最后,其他选项顺序随意

3.2压缩/解压缩

1)gzip

1.targzip命令结合可以实现文件打包和压缩

2.gzip压缩tar打包后的文件,扩展名一般用xxx.tar.gz

3.tar命令中选项 -z 可以调用gzip

-C 解压缩到指定目录 注意:要解压缩的目录必须有

$压缩文件

#tar -zcvf 打包文件.tar.gz 被压缩文件/路径

$解压压缩文件

#tar -zxvf 打包文件.tar.gz

$解压压缩到指定路径

#tar -zxvf 打包文件.tar.gz -C 目标路径

2)bzip

  1. tarbzip2命令结合可以实现文件打包和压缩
  2. bzip2压缩tar打包后的文件,扩展名一般用xxx.tar.bz2
  3. tar命令中选项 -j 可以调用把bzip2

$压缩文件

#tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径

$解压缩文件

#tar -jxvf 打包文件.tar.bz2 -C 被解压的文件/路径

04.软件安装

4.1通过apt安装/卸载软件

  • aptAdvanced Packaging Tool

$安装软件

#sudo apt install 软件包

$卸载软件

#sudo apt remove 软件名

$更新已安装的包

#sudo apt upgrade

安装演练

$小火车

#sudo apt install sl

$查看当前进程排名的软件

#sudo apt install htop

oneko

4.2配置软件源

镜像源就是所有服务器的内容是相同的

黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)的评论 (共 条)

分享到微博请遵守国家法律