python人工智能基础 day1(下)

205 阅读13分钟

Linux 系统

1 单用户操作系统和多用户操作系统

单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源 Windows XP 之前的版本都是单用户操作系统

多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源

Unix 和 Linux 的设计初衷就是多用户操作系统

1.1 Linux 下的文件系统 Ubuntu 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面

1.2 用户目录位于 /home/user,称之为用户工作目录或家目录,表示方式: /home/user

Ubuntu 图形界面

窗口操作按钮

窗口菜单条

2 常用 Linux 命令的基本使用

Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多Linux功能在命令行界面要比图形化界面下运行的快。可以说不会命令,就不算会 Linux。 在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成。如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等 Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已

2.1 常用 Linux 命令的基本使用

2.2 自动补全

在敲出 文件/目录/命令 的前几个字母之后,按下 tab 键 如果输入的没有歧义,系统会自动补全 如果还存在其他 文件/目录/命令,再按一下 tab 键,系统会提示可能存在的命令

小技巧

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

Linux 终端命令格式 目标

了解终端命令格式 知道如何查阅终端命令帮助信息

终端命令格式

command [-options] [parameter]

说明:

command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略 parameter:传给命令的参数,可以是 零个、一个 或者 多个

[] 代表可选

查阅命令帮助信息(知道)

提示

现阶段只需要 知道 通过以下两种方式可以查询命令的帮助信息 先学习常用命令及常用参数的使用即可,工作中如果遇到问题可以借助网络搜索命令的中文资料

2.1 --help

command --help

说明:

显示 command 命令的帮助信息

2.2 man

man command

说明:

查阅 command 命令的使用手册

man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明

使用 man 时的操作键: 操作键 功能

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

Enter 键 一次滚动手册页的一行

b 回滚一屏

f 前滚一屏

q 退出

/word 搜索 word 字符串

Linux基本命令

目标

熟练使用 Linux常用的命令
ls
clear
cd
pwd
mkdir
touch
rm
cp
mv
tree
chmod
find
grep
重定向
软连接、硬链接
压缩
shutdown
reboot
who
exit
passwd
sudo

1> 查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

参数 含义

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

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

-h 配合 -l 以人性化的方式显示文件大小

2> 清屏:clear

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。

3> 切换工作目录: cd

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感

cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

命令 含义

cd 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。

cd ~ 切换到当前用户的主目录(/home/用户目录)

cd . 切换到当前目录

cd .. 切换到上级目录

cd - 可进入上次所在的目录

4> 显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。

5> 创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

6> 删除文件:rm

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示: 参数 含义 -i 以进行交互式方式执行 -f 强制删除,忽略不存在的文件,无需提示 -r 递归地删除目录下的内容,删除文件夹时必须加此参数

7> 拷贝:cp

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

选项 含义 -a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。

-f 已经存在的目标文件而不提示

-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v 显示拷贝进度

8> mv:移动、重命名

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

选项 含义

-f 禁止交互式操作,如有覆盖也不会给出提示

-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v 显示移动进度

9> 创建文件: touch

用户可以通过touch来创建一个空的文件,demo如下:

touch hello.txt

说明:

则会在当前路径下创建名字为hello.txt的空文件 Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名

10>输出重定向命令:>

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

11>分屏显示:more

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

12>管道:|

管道:一个命令的输出可以通过管道做为另一个命令的输入。

管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)

13>建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

ln 源文件 链接文件

ln -s 源文件 链接文件

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。

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

14>查看或者合并文件内容:cat

15>文本搜索:grep

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来。

例如:

grep 'a' 1.txt

grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:

参数 含义

^a

行首,搜寻以 m 开头的行;grep -n '^a' 1.txt

ke$

行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll]

匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

.

(点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

16>查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法: 命令 含义

find ./ -name test.sh 查找当前目录下所有名为test.sh的文件

find ./ -name '*.sh' 查找当前目录下所有后缀为.sh的文件

find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件

find /tmp -size 2M 查找在/tmp 目录下等于2M的文件

find /tmp -size +2M 查找在/tmp 目录下大于2M的文件

find /tmp -size -2M 查找在/tmp 目录下小于2M的文件

find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件

find ./ -perm 777 查找当前目录下权限为 777 的文件或目录

17>归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数: 参数 含义

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

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

-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

-t 列出档案中包含的文件

-x 解开档案文件

18>文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件

常用选项: 选项 含义

-d 解压

-r 压缩所有子目录

ar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...

19>文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

20>文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

21>查看命令位置:which

22>修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

[ u/g/o/a ] 含义 u user 表示该文件的所有者

g group 表示与该文件的所有者属于同一组( group )者,即用户组

o other 表示其他以外的人

a all 表示这三者皆是

[ +-= ] 含义

 + 	增加权限
 
 - 	撤销权限
 
 = 	设定权限

rwx 含义

r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。

w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。

x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

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

字母 说明

r 	读取权限,数字代号为 "4"

w 	写入权限,数字代号为 "2"

x 	执行权限,数字代号为 "1"

- 	不具任何权限,数字代号为 "0"

如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename

23>切换到管理员账号 Ubuntu下切换到root的简单命令:

24>设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。

25>退出登录账户: exit

如果是图形界面,退出当前终端;

如果是使用ssh远程登录,退出登陆账户;

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

26>查看登录用户:who

who命令用于查看当前所有登录系统的用户信息。

常用选项:

27>关机重启:reboot、shutdown、init