Linux操作系统
一、什么是Linux/h3>
Linux是一个开源免费的操作系统,和我们的Window一样,主要用来安装到服务器上,运行各种软件和服务。
Linux之父 – 林纳斯(linus)
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
有 redhot-红帽linux、centos、乌班图(linux中的windows)等发行版。
1.1 思考 – 既然已经会用Window操作系统,为什么还需要学习Linux/h4>
Linux是一个开源免费的操作系统,和我们的Window一样,主要用来安装到服务器上,运行各种软件和服务。
Linux之父 – 林纳斯(linus)
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
有 redhot-红帽linux、centos、乌班图(linux中的windows)等发行版。
windows与linux的设计理念有根本性的区别:
1、windows:用户想要做什么,不需要自己知道如何去实现,也不明白自己怎么去实现的,更不打算为自己的行为负责,因为Windows已经将这些功能所封装好了。
? windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考。只需要按照指示去操作。但对于开发人员而言,这种设计理念是无法接受的,一旦要做出一些超越封装好的功能之外的事情,就会出现各种难以意料的情况,而且很多情况下,这些问题是无解的。或者只能用极其蹩脚扭曲的方式去勉强处理,然后瑟瑟发抖地期待着程序能正常运行。因为一旦程序崩溃,你也会为之崩溃。在windows下作开发,那种体验就好比在陪伴一个任性的女朋友,虽然长得清秀靓丽,但喜怒无常,她开心时,彼此相安无事,她不开心时,就直接哭闹,你问她:怎么了也不说原因,只是一直哭。你只能试着用各种方式去哄她开心,即使这次能哄好她,并不意味着下次同样的方法能奏效。这样的相处方式,很累。不是她不好,而是彼此不适合。即使终日相伴,却依然对其一无所知。
2、 linux:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。
? linux将所有操作权都交给了用户,她相信用户是理性的聪明的,忠实地执行用户的指令,向用户暴露所有的细节。用户在拥有自主权的同时也拥有了破坏力,因此普通用户根本无法驾驭,可能一个指令就把操作系统弄崩溃了。对于开发者而言,linux的开放与自由给了我们无限的可能性,我们能看到程序是如何运行的,运行 错也会有友好的提示。根据 错指引往往能将问题解决。与之相处,好比与一个成熟的女性相处,历经风雨,已经不再关注浮夸的外表,而是关注内在的涵养。刚接触时,可能会觉得她高冷,慢慢地,会发现她很善解人意,心情不好时她会跟你说是什么原因造成的,彼此商量如何解决这个问题,而不是无来由地崩溃。与之相处,会感到很舒服,彼此坦诚,无需套路,你在想什么,我都知道。我在念什么,你也明白。
? 因此,我选择linux的原因在于自由、舒服,简言之:爽!原文地址:
linux系统的启动过程也并没有想象中的那么复杂,其过程可以分为5个阶段:
- 内核的引导;
- 运行init;
- 系统初始化;
- 建立终端;
- 用户登录系统。
二、Linux的安装(这里的安装是个人学习所安装的过程)
window系统 -> VMware虚拟管理软件 -> 创建虚拟机(VM) -> 在虚拟机中安装CentOS 7(linux的发行版)
1.1 安装VMware
傻瓜式安装,如何不懂,自行百度。
1.2 安装CentOS7虚拟机
1.2.1 创建虚拟机
1.2.2 在虚拟机安装CentOS
1.2.3 思考 – 为什么要远程连接Linux操作系统/h5>
? 因为我们的开发完成的项目,往往都是部署在远程的服务器中的,所以需要使用远程连接的方法来操作服务器,我们不可能每当需要做一些服务器的更改的时候,跑到机房器操作服务器。
-
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
-
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
-
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账 命名的。
-
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
-
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
-
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
-
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
-
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
-
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
-
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
-
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
-
/srv:
该目录存放一些服务启动之后需要提取的数据。
-
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。 该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/tmp:
这个目录是用来存放一些临时文件的。
-
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
-
/usr/bin:
系统用户使用的应用程序。
-
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
-
**/usr/src:**内核源代码默认的放置目录。
-
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而**/sbin, /usr/sbin** 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
四、Linux的常用命令
4.1 基本命令
ifconfig
注意Windows系统的
查看当前的 络信息(ip地址)
ping ip地址
检测主机 络
who am i
查看当前的登录用户
su [账 名称]
切换用户,如果直接输su,表示切换到root账
pwd
打印输出当前的工作路径(打印当前在什么位置)
cd
进入某一个文件夹
cd后面可以跟绝对路径,也可以跟相对路径,如果是相对路径需要注意命令执行的位置
ll & ls
打印当前目录下的所有内容(子目录、子文件…)
参数:
-l 打印当前目录的详细信息
-a 打印当前目录的隐藏文件夹
clear
清空命令行
命令的小技巧:
1、通过方向键 上/下 找到曾经输入过的命令
2、通过tab键可以对文件夹/文件进行补全
4.2 文件夹的相关操作
mkdir -p 文件夹名/文件夹名
创建文件夹
参数:
-p 表示级联创建
mv
文件夹/文件的剪切,可以起到改名的效果
cp
文件夹/文件的复制
注意:复制文件夹时,需要添加**-r参数**,但是剪切不需要,
rm
删除文件/文件夹;在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。
参数:
-r 表示删除文件夹
-f 表示强制删除,不用确认
4.3 文件以及文件内容的相关操作
vi & vim
创建并且编译文件
touch xxx
cat XXX
查看文件的所有内容,但是不能修改
more xxx
查看文件部分内容,逐步展示
head -n xxx
查看文件开头n行
tail -n xxx
参数:
-f
打包压缩命令
tar -zcf xxxx.tar.gz 待压缩文件…
解压缩的命令
tar -zxf xxxx.tar.gz
4.5 用户和用户组的相关操作
Linux的用户分类
超级用户 – root
普通用户 – id(500 ~ 60000)
伪用户 – id(1~499) :伪用户不能登录系统,也不会在/home下创建响应的文件夹,主要是执行一些系统命令
用户组
一个用户组可以包含多个用户
一个用户必须属于一个用户组
用户相关的配置信息
/etc/passwd 用户信息文件
/etc/shadow 保存密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
Linux用户组的操作
Linux用户的操作
4.7 其他命令
poweroff 关机
reboot 重启
uname -a 查看linux的内核的版本
free 查看内存的使用情况
参数:-h ,homan
df 查看硬盘的使用情况
top 类似window的任务管理器
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
? 因为我们的开发完成的项目,往往都是部署在远程的服务器中的,所以需要使用远程连接的方法来操作服务器,我们不可能每当需要做一些服务器的更改的时候,跑到机房器操作服务器。
-
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。 -
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 -
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 -
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。 -
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账 命名的。 -
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 -
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 -
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
-
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 -
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 -
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: -
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。 -
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 -
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 -
/srv:
该目录存放一些服务启动之后需要提取的数据。 -
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。 该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 -
/tmp:
这个目录是用来存放一些临时文件的。 -
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。 -
/usr/bin:
系统用户使用的应用程序。 -
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。 -
**/usr/src:**内核源代码默认的放置目录。
-
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而**/sbin, /usr/sbin** 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
四、Linux的常用命令
4.1 基本命令
ifconfig
注意Windows系统的
查看当前的 络信息(ip地址)
ping ip地址
检测主机 络
who am i
查看当前的登录用户
su [账 名称]
切换用户,如果直接输su,表示切换到root账
pwd
打印输出当前的工作路径(打印当前在什么位置)
cd
进入某一个文件夹
cd后面可以跟绝对路径,也可以跟相对路径,如果是相对路径需要注意命令执行的位置
ll & ls
打印当前目录下的所有内容(子目录、子文件…)
参数:
-l 打印当前目录的详细信息
-a 打印当前目录的隐藏文件夹
clear
清空命令行
命令的小技巧:
1、通过方向键 上/下 找到曾经输入过的命令
2、通过tab键可以对文件夹/文件进行补全
4.2 文件夹的相关操作
mkdir -p 文件夹名/文件夹名
创建文件夹
参数:
-p 表示级联创建
mv
文件夹/文件的剪切,可以起到改名的效果
cp
文件夹/文件的复制
注意:复制文件夹时,需要添加**-r参数**,但是剪切不需要,
rm
删除文件/文件夹;在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。
参数:
-r 表示删除文件夹
-f 表示强制删除,不用确认
4.3 文件以及文件内容的相关操作
vi & vim
创建并且编译文件
touch xxx
cat XXX
查看文件的所有内容,但是不能修改
more xxx
查看文件部分内容,逐步展示
head -n xxx
查看文件开头n行
tail -n xxx
参数:
-f
打包压缩命令
tar -zcf xxxx.tar.gz 待压缩文件…
解压缩的命令
tar -zxf xxxx.tar.gz
4.5 用户和用户组的相关操作
Linux的用户分类
超级用户 – root
普通用户 – id(500 ~ 60000)
伪用户 – id(1~499) :伪用户不能登录系统,也不会在/home下创建响应的文件夹,主要是执行一些系统命令
用户组
一个用户组可以包含多个用户
一个用户必须属于一个用户组
用户相关的配置信息
/etc/passwd 用户信息文件
/etc/shadow 保存密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
Linux用户组的操作
Linux用户的操作
4.7 其他命令
poweroff 关机
reboot 重启
uname -a 查看linux的内核的版本
free 查看内存的使用情况
参数:-h ,homan
df 查看硬盘的使用情况
top 类似window的任务管理器
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!