系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:
二、目录操作命令
1. ls命令
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
- -R 若目录下有文件,则以下之文件亦皆依序列出
代码如下(示例):ls -lR /bin ------- 将 /bin 目录以下所有目录及文件详细资料列出 : ls -ltr s* -------- 列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :
代码如下(示例):
[root@localhost java]# ls
2021-06-28.txt 2021-06-29.txt traefik.zip
[root@localhost java]# ll
总用量 8
-rw-r--r--. 1 root root 0 6月 28 19:13 2021-06-28.txt
-rw-r--r--. 1 root root 777 6月 29 14:51 2021-06-29.txt
-rw-r--r--. 1 root root 2799 6月 28 17:06 traefik.zip
[root@localhost java]# ls -al
总用量 8
drwxr-xr-x. 2 root root 69 6月 30 10:58 .
drwxr-xr-x. 4 root root 32 6月 28 11:23 ..
-rw-r--r--. 1 root root 0 6月 28 19:13 2021-06-28.txt
-rw-r--r--. 1 root root 777 6月 29 14:51 2021-06-29.txt
-rw-r--r--. 1 root root 2799 6月 28 17:06 traefik.zip
[root@localhost java]# ls -lR
.:
总用量 8
-rw-r--r--. 1 root root 0 6月 28 19:13 2021-06-28.txt
-rw-r--r--. 1 root root 777 6月 29 14:51 2021-06-29.txt
-rw-r--r--. 1 root root 2799 6月 28 17:06 traefik.zip
分析
[root@localhost phpOne]# ls -alh
总用量 0
drwxr-xr-x. 2 root root 25 6月 30 11:50 .
drwxr-xr-x. 3 root root 20 6月 30 11:44 ..
-rw-r--r--. 1 root root 0 6月 30 11:50 TestOne.php
从上面可以看到,每一行都有7列,分别是:
第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
第二列表示链接数,表示有多少个文件链接到inode号码。
第三列表示拥有者
第四列表示所属群组
第五列表示文档容量大小,单位字节
第六列表示文档最后修改时间,注意不是文档的创建时间哦
第七列表示文档名称。以点(.)开头的是隐藏文档
2.cd命令
- cd是切换所在目录的命令,这个命令的基本信息如下。
- 命令名称:cd。
- 英文原意:change directory。
- 所在路径:Shell内置命令。
- 执行权限:所有用户。
- 功能描述:切换所在目录。
2.1 cd的简化用法
特殊符号 | 作用 |
---|---|
~ | 代表用户的家目录 |
- | 代表上次所在目录 |
. | 当前目录 |
… | 上一级目录 |
2.2 绝对路径和相对路径
- 绝对路径:以跟目录为参照物,从根目录开始,一级一级进入目录
- 相对路径:以当前目录作为参照物,进行目录查找
代码如下(示例):cd - 返回上一次访问的目录 cd ~ 返回到当前用户的家目录 cd .. 返回到上一级目录
3.pwd命令
pwd命令是查询所在目录的命令,基本信息如下:
- 命令名称:pwd
- 英文原意:print name of current/working directory
- 所在路径:/bin/pwd
- 执行权限:所有用户。
- 功能描述:查询所在的工作目录。
4.mkdir命令
mkdir是创建目录的命令,其基本信息如下。
-
命令名称:mkdir。
-
英文原意:make directories。
-
所在路径:/bin/mkdir。
-
执行权限:所有用户。
-
功能描述:创建空目录。
命令格式[root@localhost ~]# mkdir [选项] 目录名选项: -p:递归建立所需目录
代码如下(示例):
mkdir -p ./php/phpOne ---在当前目录下创建一个php目录下的phpOne, php存在的则直接在php中创建phpOne,如果php目录不存在则连php目录一同创建
5.rmdir命令
既然有建立目录的命令,就一定会有删除目录的命令rmdir,其基本信息如下。
- 命令名称:rmdir。
- 英文原意:remove empty directories。
- 所在路径:/bin/rmdir。
- 执行权限:所有用户。
- 功能描述:删除空目录。
命令格式[root@localhost ~]# rmdir [选项] 目录名选项: -p:
递归删除目录rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。这个命令比较“笨”,所以我们不太常用。后续我们不论删除的是文件还是目录,都会使用rm命令
三、文件操作命令
1.touch命令
创建空文件或修改文件时间,这个命令的基本信息如下。
- 命令名称:touch。
- 英文原意:change file timestamps。
- 所在路径:/bin/touch。
- 执行权限:所有用户。
- 功能描述:修改文件的时间戳
代码如下(示例):touch TestOne.php --当前目录下创建一个名为TestOne.php的文件
2.stat命令
stat是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。
- 命令名称:stat。
- 英文原意:display file or file system status。
- 所在路径:/usr/bin/stat。
- 执行权限:所有用户。功能描述:显示文件或文件系统的详细信息。
代码如下(示例):[root@localhost phpOne]# stat TestOne.php 文件:"TestOne.php" 大小:0 块:0 IO 块:4096 普通空文件 设备:fd00h/64768d Inode:101283754 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:usr_t:s0 最近访问:2021-06-30 11:50:57.843431666 +0800 最近更改:2021-06-30 11:50:57.843431666 +0800 最近改动:2021-06-30 11:50:57.843431666 +0800 创建时间:-
3.cat命令
-
cat命令用来查看文件内容。这个命令的基本信息如下。
-
命令名称:cat。
- 英文原意:concatenate files and print on the standard output。
- 所在路径:/bin/cat。
- 执行权限:所有用户。
功能描述:合并文件并打印输出到标准输出
代码如下(示例):
root@localhost ~]# cat [选项] 文件名选项:
-A:相当于-vET选项的整合,用于列出所有隐藏符号
-E:列出每行结尾的回车符$
-n:显示行号
-T:把Tab键用^I显示出来
-v:列出特殊字符
4.more命令
more是分屏显示文件的命令,其基本信息如下。
- 命令名称:more。
- 英文原意:file perusal filter for crt viewin。
- 所在路径:/bin/more。
- 执行权限:所有用户。
- 功能描述:分屏显示文件内容。
more命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下。
- 空格键:向下翻页。
- b:向上翻页。
- 回车键:向下滚动一行。
- / 字符串:搜索指定的字符串。
- q:退出
5.less命令
less命令和more命令类似,只是more是分屏显示命令,而less是分行显示命令,其基本信息如下。
- 命令名称:less。
- 英文原意:opposite of more。
- 所在路径:/usr/bin/less。
- 执行权限:所有用户。
- 功能描述:分行显示文件内容
6.head命令
head是用来显示文件开头的命令,其基本信息如下。
- 命令名称:head。
- 英文原意:output the first part of files。
- 所在路径:/usr/bin/head。
- 执行权限:所有用户。
- 功能描述:显示文件开头的内容
代码如下(示例):
root@localhost ~]# head [选项] 文件名
选项: -n 行数:从文件头开始,显示指定行数
-v:显示文件名
- 显示行数的时候n可以省略不写 直接写要显示的行数即可
[root@localhost java]# head -10 2021-06-29.txt
12312
123312
213321332
eqwe
12213
eqwqwe
32132112312
123312
213321332
eqwe
[root@localhost java]# head -n10 2021-06-29.txt
12312
123312
213321332
eqwe
12213
eqwqwe
32132112312
123312
213321332
eqwe
- 显示文件名的时候v要加在行数后面,否则会报错
7.tail命令
既然有显示文件开头的命令,就会有显示文件结尾的命令。tail命令的基本信息如下。
- 命令名称:tail。
- 英文原意:output the last part of files。
- 所在路径:/usr/bin/tail。
- 执行权限:所有用户。
- 功能描述:显示文件结尾的内容
命令格式(示例):
[root@localhost ~]# tail [选项] 文件名
选项: -n 行数:从文件结尾开始,显示指定行数
-f:监听文件的新增内容
8.ln命令 链接
我们来看看ln命令的基本信息。
- 命令名称:ln。
- 英文原意:make links between file。
- 所在路径:/bin/ln。
- 执行权限:所有用户。
- 功能描述:在文件之间建立链接。
8.1ln 的基本格式如下:
- 格式如下
[root@localhost ~]# ln [选项] 源文件 目标文件 (注意:文件的地址必须是绝对路径不可以使用相对路径) 选项: -s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件 -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
8.2 ln 硬链接的基本格式如下
- 硬链接
硬链接特征:- 源文件和硬链接文件拥有相同的Inode和Block
- 修改任意一个文件,另一个都改变
- 删除任意一个文件,另一个都能使用
- 硬链接标记不清,很难确认硬链接文件位置,不建议使用
- 硬链接不能链接目录
- 硬链接不能跨分区
[root@localhost java]# ln 2021-06-28.txt ./2021-06-28.txt_link_hard #建立硬链接文件,目标文件没有写文件名,会和原名一致 也就是 2021-06-28.txt 是2021-06-28.txt_link_hard的硬链接文件
- 硬链接
- 删除源文件并不影响链接后的文件的使用
8.3 软连接 *****
软链接特征
- 软链接和源文件拥有不同的Inode和Block
- 两个文件修改任意一个,另一个都改变
- 删除软链接,源文件不受影响;删除源文件,软链接不能使用
- 软链接没有实际数据,只保存源文件的Inode,不论源文件多大,软链接大小不变
- 软链接的权限是最大权限lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
- 软链接可以链接目录
- 软链接可以跨分区软链接特征明显,建议使用软连接
(示例):
ln -s 源文件 要链接到文件 (源文件和目标文件的地址必须是绝对路径不可以是相对路径)
ln -s /opt/server/java/2021-06-28.txt /opt/server/java/2021-06-28_link_soft
```linux
ln -s /opt/server/java/2021-06-28.txt /opt/server/java/2021-06-28_link_soft
```
* 删除源文件,软连接后的文件不可使用
文件的地址必须是绝对路径不可以是相对路径
错误
ln -s ./ln_FileOne /opt/server/python/testln_FileOne # 这是错误的,因为这样链接后的文件是识别不到源文件名的
四、目录和文件都能操作的命令
1.rm命令
rm是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。
- 命令名称:rm。
- 英文原意:remove files or directories。
- 所在路径:/bin/rm。
- 执行权限:所有用户。
- 功能描述:删除文件或目录。
命令格式
代码如下(示例):[root@localhost ~]# rm [选项] 文件或目录 选项: -f:强制删除(force) -i:交互删除,在删除之前会询问用户 -r:递归删除,可以删除目录(recursive)
2.cp命令
cp是用于复制的命令,其基本信息如下:
- 命令名称:cp。
- 英文原意:copy files and directories。
- 所在路径:/bin/cp。执行权限:所有用户。
- 功能描述:复制文件和目录 。
命令格式
root@localhost ~]# cp [选项] 源文件目标文件
选项: -a:相当于-dpr选项的集合,这几个选项我们一一介绍
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r:递归复制,用于复制目录
3.mv命令
mv是用来剪切的命令,其基本信息如下。
- 命令名称:mv。
- 英文原意:move (rename) files。
- 所在路径:/bin/mv。
- 执行权限:所有用户。
- 功能描述:移动文件或改名。
命令格式
[root@localhost ~]# mv [选项] 源文件目标文件
选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-v:显示详细信息
五、基本权限管理
1.权限的介绍
权限位的含义前面讲解ls命令时,我们已经知道长格式显示的第一列就是文件的权限,例如:
[root@localhost ~]# ls -l install.log -rw-r--r--. 1 root root 24772 1月 14 18:17 install.log
第一列的权限位如果不计算最后的“.”(这个点的含义我们在后面解释),则共有10位,这10位权限位的含义如图所示。
- 第1位代表文件类型。Linux不像Windows使用扩展名表示文件类型,而是使用权限位的第1位表示文件类型。虽然Linux文件的种类不像Windows中那么多,但是分类也不少,详细情况可以使用“info ls”命令查看。超哥在这里只讲一些常见的文件类型。
- “-”:普通文件。- “b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。
- “c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
- “d”:目录文件。Linux中一切皆文件,所以目录也是文件的一种。
- “l”:软链接文件。
- “p”:管道符文件。这是一种非常少见的特殊设备文件。
- “s”:套接字文件。这也是一种
代码如下(示例):
- 第2~4位代表文件所有者的权限。
- r:代表read,是读取权限。
- - w:代表write,是写权限。
- - x:代表execute,是执行权限。如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。
- 第5~7位代表文件所属组的权限,同样拥有“rwx”权限 。
- 第8~10位代表其他人的权限,同样拥有“rwx”权限。
2.基本权限命令
首先来看修改权限的命令chmod,其基本信息如下。
- 命令名称:chmod。
- 英文原意:change file mode bits。
- 所在路径:/bin/chmod。
- 执行权限:所有用户。
- 功能描述:修改文件的权限模式
2.1.命令格式
[root@localhost ~]# chmod [选项] 权限模式文件名选项:
-R:递归设置权限,也就是给子目录中的所有文件设定权限
2.2.权限模式
chmod命令的权限模式的格式是“[ugoa][[±=][perms]]”,也就是“[用户身份][[赋予方式][权限]]”的格式,我们来解释一下 。
-
用户身份 。
-
- u:代表所有者(user)。
-
- g:代表所属组(group) 。
-
- o:代表其他人(other)。
-
- a:代表全部身份(all)。
-
赋予方式。
-
-+:加入权限。
-
–:减去权限。
-
-=:设置权限。
-
权限。
-
- r:读取权限(read)。
-
- w:写权限(write)。
-
- x:执行权限(execute)。
-
最长用的就是一个脚本无法执行,提示是不可执行的文件,这个时候就要使用chmod 进行赋予可执行权限
chmod -X 11.sh --- 将11.sh 转化为可执行的文件
2.3.数字权限
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。我们来看看这些数字权限的含义。
- 4:代表“r”权限 。
- 2:代表“w”权限 。
- 1:代表“x”权限
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。