Linux基础

1.Linux简介

     Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2.Linux系统启动过程

     启动过程可以分为5个阶段:

1.内核的引导

      当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件后,首先读入/boot目录下的内核文件,如下所示:

2.运行init

       init进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。init程序首先需要读取配置文件/etc/inittab。如下所示:

      运行级别:

       许多程序需要开机启动。在Windows叫做服务(Service),在Linux就叫做守护进程(daemon)。init进程的一大任务就是去运行这些开机启动的程序。

        Linux运行为不同的场合分配不同的开机启动程序,这就叫做运行级别(runlevel)。也就是说,启动时根据运行级别,确定要运行那些程序。有如下7个运行级别:

运行级别1系统停机状态
运行级别2单用户工作状态,root权限,用于系统维护,禁止远程登录
运行级别3多用户状态(没有NFS)
运行级别4完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别5系统未使用,保留
运行级别6X11控制台,登陆后进入图形GUI模式
运行级别7系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

     如下所示:

3.系统初始化

       在init的配置文件中

4.建立终端

 

5.用户登录系统

 

 

3.Linux系统目录结构

   登录系统后,在命令终端里面输入:ls /命令,就会看到如下图所示Linux系统的目录结构:

   树状目录结构如下所示:

     对这些目录解释如下所示:

/root该目录为系统管理员,也称为超级权限者的用户主目录。
/binbin是Binary的缩写,这个目录存放着最经常使用过的命令
/boot这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/devdev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访设备的方式和访问文件的方式是相同的。
/etc这个目录是用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录。在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/var这个目录存放着不断扩充着的东西,经常被修改的目录放在这个目录下,包括各种日志文件。
/lib这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里面的DDL文件。几乎所有的应用程序都需要到这些共享库。
/usr这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录。
/usr/bin系统用户使用的应用程序
/usr/sbin超级用户使用的比较高级的管理程序和系统守护程序
/usr/src内核源代码默认放置的目录
/mediaLinux系统户自动识别一些设备,例如U盘、光驱等等。当识别后,Linux会把识别的设备挂载到这个目录下。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/mnt系统提供该目录是为了让用户临时挂载别的文件系统的。可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里面的内容了。
/opt这里是给主机额外安装软件所拜访的目录。比如安装一个Oracle数据库则可以放到这个目录下,默认是空的,
/proc

这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统消息。

这个目录的内容不再硬盘上而是在内存里,也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,让别人无法ping自己的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

/sbins就是Super User的意思。这里存放的是系统管理员使用的系统管理程序。
/selinux这个目录是Redhat/CentOS所特有的目录。Selinux是一个安全机制,类似于Windows的防火墙,这个目录就是存放selinux相关的文件的。
/srv该目录存放一些服务启动之后需要提取的数据
/sys 
/temp这个目录用来存放一些临时文件
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

 

远程登录

1. Linux系统中是通过SSH服务实现的远程登录功能,默认SSH服务端口号为22。

安装SSH:
yum install ssh
启动SSH:
service sshd start
远程登录服务器:
ssh -p 端口号 服务器名@IP地址
输入密码:
密码

2.Windows系统上Linux远程登录客户端有SecureCRTPuttySSH Secure Shell等。

3.使用密钥认证机制远程登录Linux

Linux文件基本属性

     Linux是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同用户访问同一个文件(包括目录文件)的权限做了不同的规定。

     可以使用ls -l命令来显示一个文件的属性以及文件所属的用户和组,如:

192:/ luckyliuqs$ ls -l
total 14
drwxrwxr-x+ 65 root  admin  2080  7 15 15:13 Applications
drwxr-xr-x+ 63 root  wheel  2016  6 10 09:52 Library
drwxr-xr-x   2 root  wheel    64  8 18  2018 Network
drwxr-xr-x@  5 root  wheel   160 10 24  2018 System
drwxr-xr-x   6 root  admin   192  6 25 09:25 Users
drwxr-xr-x+  3 root  wheel    96  7 15 08:58 Volumes
drwxr-xr-x@ 37 root  wheel  1184  6 27 13:48 bin
drwxrwxr-t   2 root  admin    64  8 18  2018 cores
dr-xr-xr-x   3 root  wheel  4776  7  9 14:08 dev
...

       如上面所示,每一行的第一个字符表示代表这个文件是目录、文件或者链接文件等等。如下:

  • d:代表是目录
  • -:代表是文件
  • l:代表是链接文档(link file)
  • b:代表是装置文件里面的可供储存的接口设备(可随机存取装置)
  • c:代表是装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

         在接下来的字符中,以每三个字符为一组,均为rwx三个参数的组合。

  • r:代表可读(read)
  • w:代表可写(write)
  • x:代表可执行(execute)
  • -:代表没有权限

         三个字符的位置顺序不会改变,如果该文件没有某个字符的权限,则用减号-代替。每一行代表一个文件,其属性由左边第一部分的10个字符来确定,如下所示:

      如上图所示,从左到右用0-9这10个数字来表示文件的属性。

第0位表示文件的类型
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限
第7-9位确定其他用户拥有该文件的权限
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

 

Linux文件属主和属组

用户

        在Linux系统中,用户是按组分类的,一个用户属于一个或者多个组。分类如下所示:

文件所有者(属主对文件具有所有权的用户
文件所有者同组用户(属组跟文件所有者同组的用户
其他用户其他用户

权限

     Linux系统按照文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。如下所示:

[root@www /]# ls -l
total 64
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……

         mysql是一个目录文件,属主和属组都是mysql。属主有可读、可写、可执行的权限;与属主同组的其他用户(属租)有可读和可执行的权限;其他用户也有可读和可执行的权限。

 

更改文件属性

1.chgrp:更改文件属组

  • 语法
chgrp [-R] 属组名 文件名

-R:递归更改文件属组,如果加上-R参数,那么该文件下的所有文件的属组都会更改。

2.chown:更改文件属主,也可以同时更改文件属组

  • 语法
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3.chmod:更改文件9个属性

 

可以使用 chmod 命令来对目录设置权限:
chmod 可以用3个数字来表达 用户,用户组,其他用户:
如 chmod 777 /test (数字的第一个7代表的是用户权限
数字的第二个7代表的是用户组的权限
数字的第三个7代表的是其他用户的权限)
而数字7是特定用户的 读,写 , 执行 权限:
[读取--用数字 4 表示] 

[写--用数字 2 表示] 

[执行--用数字 1 表示]
用这些数字相加得到权限:
如你想设置/test目录的权限为:
对用户可读可写, 4(读取)+ 2 (写入) = 6
对用户组可读可执行, 4(读取) + 1 (执行) = 5

对其他用户仅仅可读; 4(读取)
这样就可以用命令: chmod 654 /test 来设置权限~
!!!提示如果是设置目录,没有执行权限是不可以读取目录的。

Linux端口

1.查看端口被哪个程序占用
sudo lsof -i tcp:port
如: sudo lsof -i tcp:8080
2.看到进程的PID,可以将进程杀死。
sudo kill -9 PID
如:sudo kill -9 23453

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luckyliuqs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值