- Linux入门基础篇
- Linux诞生
- Linux发行版本说明
- Linux官方网站
- Linux内核官方网站
- 比较有名的Linux发行版
- 虚拟机(Virtual Machine),一个虚拟的系统,安装在系统中的系统
- Linux与Windows的不同
- Linux基本命令入门
- Windows命令行入门(搜索cmd查找)
- Cygwin安装和使用
- Linux环境下补充
- 用户组
- 所有者
- 文件所在组
- 其他组
- 文件夹权限
- 改变文件夹权限
Linux诞生
- Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间)。
- Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
- Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
Linux发行版本说明
- Linux的发行版说简单点就是将Linux内核与应用软件做一个打包
- 较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等
- Ubuntu 和 CentOS 用的比较多
- Debian 在国内用的比较少,在国外欧美市场占有率比较大
- Fedora 已经非常成熟,老师使用的就是这个
- 其他版本的来源:
- 一部分是通过某个已成型的操作系统基础上再次演化而来
- 另一部分就是有特殊用途的,比如:Kali是专门为安全方面所开发的一个发行版,其中还有很多网络安全工具、很多黑客工具,这是一个专用的操作系统
- CentOS 和 Red Hat在服务器市场上占有率非常大
- Ubuntu、Debian、Fedora在桌面系统上的占有率是比较大的
- 全世界只有这一个内核,这个内核是归Linux本人来进行维护的
- 有很多的程序员都在为这个内核贡献源代码,但是内核的主导维护者就是Linux本人
比较有名的Linux发行版
- CentOS,由社区进行维护的,提供了三种镜像下载:
- DVD ISO 里面包含了图形界面的操作系统
- Everything ISO 除了包含图形界面,还包括了所有他自己维护的软件
- Minimal ISO 不提供图形界面,一般把mini版的IOS装到服务器上,有了图形界面反而降低了服务器的操作性能
- 是在redhat基础上重新编译和封装之后产生的CentOS,可以理解为是redhat的开源版或者是redhat的社区版,两者几乎一模一样,不同的是redhat提供了很多商业性的软件
- redhat,是由商业公司进行维护的和商业性的服务
- 商业公司把Linux进行了包装,另外还提供了很多商业性的服务,所以redhat是一个商业性的操作系统
- 在官网下载比较麻烦
- ubuntu,在中国非常流行,还提供了一个中文版的Linux ubuntu的发行版
虚拟机(Virtual Machine),一个虚拟的系统,安装在系统中的系统
- 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。流行的虚拟机软件有VMware、Virtual Box和Virtual PC,它们都能在Windows系统上虚拟出多个计算机。
VMware/Virtual Box/Virtual PC三者的区别:
- VMware 商业化的,即收费的
- Fusion是MAC系统
- Workstation Pro是Windows系统
- Virtual Box 开源的虚拟机,由Oracle进行维护
- Virtual PC 不开源,但可以免费试用,是由微软进行维护
Linux与Windows的不同
- Linux文件名严格区分大小写
- Linux中所有内容以文件形式保存,包括硬件
- Linux不靠扩展名区分文件类型
- 根据权限区分,下面是一些约定俗成的扩展名,这些扩展名是为了管理员(即让人能够方便管理)管理文件使用的
- 压缩包:'.gz' '.bz2' '.tar.bz2' '*.tgz'等
- 二进制软件包:'.rpm'
- 网页文件:'.html' '.php'
- 脚本文件:'*.sh'
- 配置文件:'*.conf'
- Windows下的程序不能直接在Linux中安装和运行
Linux基本命令入门
- ls 显示短格式;ls -l 显示长格式
- ls -l显示信息讲解(drwxr-xr-x+ 5 liufeifei staff 170 8 18 15:56 Public)
- 第一栏:drwxr-xr-x+ 访问权限
- 第二栏:5 当前目录内存在文件的数量
- 第三栏和第四栏:liufeifei staff 表示当前文件属于哪个用户和用户组
- 第五栏:170 表示当前目录或文件的大小
- 8 18 15:56 为目录或文件的创建时间
- 最后一个栏目是目录或文件的名称
- ls -a显示所有文件,包括隐藏文件
- 在Linux下,只要文件名前面带有一个点就表示它是隐藏文件
- 有两个文件名比较特殊,第一个是一个点,第二个是两个点
- 一个点:表示当前目录
- 两个点:表示的是上一级的目录
- mkdir建立目录(make directories)
- mkdir -p [目录名]:递归创建
- -p 是为了建立多级目录mkdir -p a/b/c,不加-p返回:No such file or directory
- cd切换所在目录
- cd [目录](change directory)
- cd ~ 或 cd 进入当前用户的家目录
- cd - 进入上次目录
- cd .. 进入上一级目录
- cd . 进入当前目录
- cp复制命令(copy),公式:cp [选项] [原文件或目录] [目标目录]
- -r 复制目录
- -p 连带文件属性复制
- -d 若源文件是链接文件,则复制链接属性
- -a 相当于 -rpd
- 复制文件 cp 就行,要是复制目录需要带 -r ,默认复制文件
- cp -a 复制的所有隐藏属性都一样,啦啦啦,开心
- pwd查询所在目录位置(print working directory)
- rmdir [目录名]删除空目录(remove empty directories)
- rm -rf [文件或目录](remove)
- -r 删除目录
- -f 强制
- rm -rf / 这是一条让Linux自杀的命令,会把电脑90%以上的文件删除掉,不会影响电脑的正常运行,极个别的文件删不掉
- mv(move)剪切或改名命令;mv [原文件或目录] [目标目录]
Windows命令行入门(搜索cmd查找)
- 查看当前目录所有文件,使用 dir
- windows下文件夹就是目录,两者是等效的
- 切换目录,使用cd [文件夹名称]
- 创建目录 md [文件夹名称]
- 复制命令 copy [要复制的文件] [复制地点]
- 删除命令 del [删除文件名称]
- 使用这个命令系统不会给提示,使用时候特别注意
- 使用del删除的文件不会出现在回收站当中,要多加小心
- 改名字命令:rename [要改名字的文件名] [要改成的名字]
Cygwin安装和使用
- Cygwin是在windows平台上运行的Unix模拟环境
- 使用这个环境在windows下,来学习Linux命令
- Cygwin是开源项目
- 安装都选默认的就可以,最后一个选择下载地址,选择最快的(即第一个),之后选择组件安装方式,选择full全部安装
Linux环境下补充
- cd / 是进入系统的根目录
- touch [文件名]新建文件,如:touch index.js
- vi或vim [文件名]进入到对应文件中
- cat [文件名]查看文件内容
- ESC + :wq保存文件并退出
- init 3 进入完全多用户模式,标准的运行级;即进入一个全命令的环境下
- init 0:关机
- init 1:单用户模式
- init 3:完全多用户模式,标准的运行级
- init 5:启动可进入X-window系统;即图形界面
- init 6:重启
用户组
- 在Linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其他组的概念
所有者
- 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
- 用ls -al命令可以看到文件的所有者
- 也可以使用chown 用户名 文件名来修改文件的所有者
文件所在组
- 当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
- 用ls -al命令可以看到文件的所有组
- 也可以使用chgrp 组名 文件名来修改文件所在的组
其他组
- 除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
文件夹权限
drwxr-xr-x 15 liufeifei admin 510 11 23 11:38 demo
- drwxr-xr-x 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件(-)、目录(d)、链接(l)
- 其余字符每3个一组(rwx)、读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写和执行
- 第二组r-x:与文件所有者同一组的用户的权限是读、执行但不能写
- 第三组r-x:不与文件所有者同组的其他用户的权限是读、执行但不能写
- 也可以用数字表示为:r=4 w=2 x=1,因此rwx = 4+2+1 = 7
- 15表示连接的文件数
- liufeifei表示用户
- admin表示用户所在的组
- 510表示文件的大小(字节)
- 11 23 11:38表示最后修改日期
- demo表示文件名
改变文件夹权限
chmod 改变文件或目录的权限chmod 777 用户名(即要修改权限的文件名)
chmod 777 index.js:赋予index.js权限rwxrwxrwx
chmod 755 test.js:赋予test.js权限rwxr-xr-x
chmod u=rwx g=rx o=rx test.js:同上u=用户权限 g=组权限 o=不同组其他用户权限chmod u-x, g+w test.js:给test.js去除用户执行的权限,增加组写的权限chmod a+r test.js:给所有用户添加读的权限