菜鸟之路——Linux基础
最近又重新安排了一下我的计划。准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细。比我上一套机器学习好的多了。
他的第一阶段是python基础,第二阶段是高等数学基础,主要将机器学习和深度学习数学算法。第三阶段是算法基础提高,第四阶段。。。。额,竟然没有,好像没有。第五阶段是数据分析与挖掘,第六阶段是自然语言处理,第七阶段是面试技巧提高。第四阶段我猜应该是计算机视觉吧,没有就没有吧,正好我专门报了一个计算机视觉的课。
所以今后半年多的时间里,我都会跟着这个系统课程进行学习。大学嘛,也没太多事,就学学,并且我想着上研究生的话跨专业一下。转到人工智能类的专业里。同时我还报了数据结构算法,ai技术内参这些极客时间里面的专栏,多学学。
同时我会把我学到的东西里面的重点都更新到菜鸟之路里,小的,简单的知识点就不多说了。
一、计算机基础
1,osi七层协议
这里对七层协议进行了简单的解释,大概理解了网路中数据的传输形式。
2、系统启动流程
bios->找到启动介质(引导盘)->把系统加载到内存->cpu执行
3、ip地址分配
公有ip:intenic机构分配给各注册组织机构的ip地址
私有ip:私有ip属于非注册地址,专门为组织机构内部使用
a类:10.0.0.0-10.255.255.255
b类:172.16.0.0-172.32.255.255
c类:192.168.0.0-192.168.255.255
4,一些简单的dos命令
ipconfig:查看本地ip
ping(用的rcmt协议):测试网络连通性
cd:切换目录
dir:查看目录
del:删除文件
rd:删除目录
md:创建目录
注:windows的目录分隔符是\。而linux的是/
当然要练习一下呀
二、linux系统操作
1、系统的安装,我跟着教程安装了centos6.9.感觉挺好用的。
链接: https://pan.baidu.com/s/1eamjr8dpo5fpqwww36x74w 密码: 78tc
在此分享vmware安装包,密钥,还有centos6.9的镜像。
1、简单命令
init 0:关机 init 6 重启
ctrl+alt+f[1-6] : 切换虚拟终端 笔记本上有一般都要再按一个fn键
#、$ : 分别代表管理员用户和普通用户
exit:退出当前用户
ls :显示目录中的文件;ls -a:显示所有文件,包括隐藏文件;ls -l显示文件的详细信息,也可以用ll。
whoami:当前用户是谁
who:现在都谁登录系统了
date:显示当前系统时间 date ‘110914472016’:修改当前时间时间格式为‘月日时分年’
cal:显示日历,cal 7 1999:显示1999年7月的日历 也就是calendar的缩写
clear:清屏 其实没有清除,往上翻还是有的。
hwclock -s:同步硬件时间。因为一些硬件里面也有时钟
su - yzp:切换到yzp用户 root用户可以切换到任意用户,还不用密码。刺激不。普通用户切换的时候就需要密码了。
man:查看帮助,q键退出,也可以用命令的-h,--help选项
pwd:显示当前目录
cd:change directory 切换目录; .代表当前目录 .. 代表上一层目录 cd ~:回到当前用户的家目录。cd -:返回上一次所在的目录
alias yzp=‘ls -l’:给命令区别名,就想ll是ls -l的别名。不过还是别乱起的好,换个系统就蔫了。
练习一下
2、linux目录结构
bin目录:存放常用的可执行文件
sbin目录:存放系统的可执行文件
home目录:存放用户自己的文件或目录
root目录:root用户的home
dev目录:设备文件目录
ect目录:配置文件目录
mnt目录:常用的挂载点
opt,media目录随便用
tmp目录:临时目录,据说公司里禁止用删除命令。都把要删除的文件mv到这个文件夹,可能老板怕一个手抖就成rm -rf /* 。
3、文件操作常用命令
cp 源文件路径 目标路径:复制文件。不能复制目录。也可以直接在目标路径下执行 cp 源文件路径。加上-r或者-r选项,就可以复制目录
mv 源文件路径 目标路径:移动文件。可以直接移动目录
mkdir 目录名:新建目录
touch 文件名:新建文件
rm 文件名:删除文件;rm -r 目录名:删除目录;rm -rf 路径:直接删除路径下所有东西。-f是忽略所有提醒,一股脑的就是删。可以加上-i。在删除之前会提示yes or no
cat 文件名:查看文件
head 文件名:显示头10行。可以用head -n 文件名:显示头n行
tail 文件名:显示后10行。可以用tail -n 文件名:显示后n行。tail -f 文件名:动态查看该文件,主要用来监视日志文件
more 文件名:按百分比显示,可用回车翻,翻完自动退出
less 文件名:暂且认为他也是查看文档吧。我看他的帮助文档,功能挺多的,主要就是用上下键翻页,q退出
这么多查看文件的方法,都有不同的用法。
练习一下
3、创建用户
useradd yzp:创建一个yzp用户
passwd yzp:给yzp用户赋予一个密码。没有赋予密码的用户无法登录
这一小节主要是讲的新建用户时的过程
(1)、在/etc/passwd里新建一个用户
(2)、在/etc/shadow里建立密码
(3)、在/etc/group里建立组
(4)、在/etc/gshadow里建立组密码
(5)、在/home 下创建家目录,还有一些配置文件
(6)、在/var/spool/mail/下设置邮箱
这样就完成的新建一个用户了。
这只是新建用户的详细过程,其实实际应用的时候只需要一个useradd yzp就行了。
一些命令
id yzp 查看yzp的uid和gid
useradd -u 1000 -g 1000 -d /home/sb -c bigsb -s /bin/bash alex : -u指定uid。-g指定gid或者组名(必须已存在)。-d指定家目录。-c添加备注信息,-s指定shell。
userdel -r alex:删除用户alex,加上-r删除的更干净,应该是因为加上-r就能删除目录了
usermod alex:修改用户信息。选项和useradd上面的一样。除此之外,-l选项锁定用户,-u选项解锁用户。锁定之后就不能登录了
groupadd 组名:建组
groumod 组名:修改组信息,-g修改gid,-n修改组名
练习一下
还有一点啊,就是linux里没有提示信息就是最好的提示信息,证明没有错误。
4、用户权限
权限信息
第1位:文件类型 -:普通文件 -d:目录文件 -l:软连接(相当于快捷方式) -b:设备文件 -p:管道文件
第2,3,4位:属主的权限,读r,写w,执行x,-代表无此权限
第5,6,7位:属组的权限
第8,9,10位:其他用户的权限
注:root用户拥有所有权限,不收此控制。 另外,权限信息里最后一位的.代表selinux,安全性强的linux,了解即可。一般都不用,太安全了,也会更麻烦。
chmod u-rw a.txt:更改权限。把a.txt的属主权限减去rw。也可以加上。另外,g代表属组,o代表其他人。注:一次只能修改一个人的权限
执行文件:sh 文件名;. 文件名;./ 文件名;bash 文件名。python开发中记好./就行。其他都是shell编程里的。
ll -d /:查看根目录的权限,如果只是ll /显示的不是/的权限信息。而是/目录下的文件或者目录的信息。目录的可执行权限代表可以cd进去
chown yzp.yzp a.txt :修改属组和属主。若chown yzp a.txt只修改属主。chown .yzp a.txt只修改属组;chown -r yzp.yzp /text:递归修改权限,目录下的目录里面的文件都可以修改。
一般用chmod都用数字法。
比如chmod 777 a.txt就是把a.txt的权限改为rwxrwxrwx。所有人都有读写执行权限。可以理解成二进制。rwx rwx rwx就是111 111 111转化为三位十进制,就是777。r-x rw- -wx就是101 110 011,也就是563
练习一下
目前学到这,这篇文章会持续更新