Linux 操作系统知识点

Linux操作系统
Linux特点
优点:

  1. 免费/开源的系统
  2. 支持多线程/多用户的系统
  3. 安全性好
  4. 对内存和文件管理优越
  5. 占用体积小(最少只需要4M,可以做嵌入式开发)
    缺点:
    操作相对困难

基本操作
基本命令
#startx 可以从命令行界面切换到图形界面
关机和重启命令
Linux开机后,全部是命令操作,在Linux系统中大约有2000多个命令,常用命令大约70个
例如
#shutdown –h now 关机命令,立即关闭计算机
其中shutdown称为命令,-h称为参数,now是执行方式

#shutdown –r now 重启命令,立即重启计算机

shutdown命令是Linux操作系统最基本的命令,该命令只有具有root权限的用户可以使用,参数-h表示关机,后面可以加上一个整数数字,例如:shutdown –h 10 表示系统将在10分钟以后关机,会提示登录到该系统下的所有用户,系统将在一定时间后关闭

其他关机和重启命令
常用关机命令:halt、poweroff,都是shutdown –h now的简写
常用重启命令:reboot,是shutdown –r now的简写

在实际的应用中,一般不建议采用简便的方式关机或重启,因为不安全,简写的关机或重启会强制关闭进程,会造成进程意外关闭,从而导致系统出现问题,相当于断电
Linux常用命令
创建目录
#mkdir 目录名 创建文件夹
例如:
#cd / 到达根目录
#mkdir user 创建一个user文件夹
#cd user 进入user目录
#mkdir a 创建一个文件夹a
#mkdir b 创建一个文件夹b
删除目录
#rmdir 目录名 删除文件夹,只能删除空的文件夹,不能删除非空的文件夹
#rm –rf 目录名 直接删除非空文件夹,参数r表示向下递归,继续扫描文件夹中的子文件夹,参数f表示强制删除
重命名
修改文件或者文件夹名字,可以使用mv命令
使用方式
#mv 原目录名/原文件名 新目录名/新文件名
例如:
#mv abc bcd 把abc目录重命名为bcd
#mv hello.txt world.log 把hello.txt文件重命名为world.log文件
移动文件
#mv还可以移动文件
#mv 文件名/目录名 新目录名(必须存在)
例如:
#mv hello.txt /user/abc 把hello.txt文件移动到 /user/abc目录下
#mv test1.txt test2.txt /user/abc 把test1.txt和test2.txt文件移动到/user/abc目录下
#mv *.txt /user/abc 把所有的txt文件移动到/user/abc目录下
#mv *.txt …/ 把所有的txt文件移动到上一级目录下
如果把一个文件移动到另一个目录时,如果该目录下有相同名字的文件,会提示是否覆盖,输入yes/no,是否完成覆盖

复制文件/目录
使用cp命令,把文件/目录从一个地方复制到另一个地方
例如:
#cp test2.txt /user/abc 把test2.txt文件复制到/user/abc目录下
如果新目录下有相同名字的文件,会提示是否覆盖输入yes/no,是否完成覆盖

Linux目录结构
Linux操作系统没有分盘的概念,只有一个根目录
#cd / 表示进入系统的根目录
#cd 目录名 表示进入到一个目录
#cd …/ 返回上一级目录

#pwd 显示当前所在的目录

可以通过命令查看目录下的文件和文件夹
#ls – 查看目录下文件和文件夹,普通的显示方式,相当于Windows的“平铺”
#ls –l – 长列表形式显示目录下的所有文件和文件夹,相当于Windows的详细信息
#ls –a – 可以显示隐藏的文件和文件夹

Linux目录含义:
bin目录:用来存放常用命令的目录,相当于Windows下的C:/windows/system32目录
boot目录:用来存放系统的引导文件
etc目录:用来存放配置文件
home目录:用来存放其他普通用户的相关文件
mnt目录:用来存放驱动文件
root目录:用来存放root用户(超级管理员)的相关文件
sbin目录:用来存放具有一定权限才能使用的命令
tmp目录:用来存放临时文件
usr目录:安装软件的默认目录
var目录:用来存放经常发生变化的文件

VI编辑器
相当于Windows的记事本,是一种纯命令形式的文本编辑器
直接输入# vi 文件名,如果文件存在是打开文件,如果文件不存在就是创建文件
例如
#vi HelloWorld.java 创建一个Java文件
之后先按下“i”键,切换到插入模式,然后就可以编辑文件了。
编辑完成之后,按“Esc”键退出插入模式
输入“:wq”表示保存并退出
输入“:q!”表示不保存直接退出

VIM编辑器,功能完全和VI一致,可以看做是VI编辑器的增强版,可以识别一些关键字,用关键字颜色不同展现

Linux操作系统的运行级别
Linux操作系统有7种运行级别,级别不同,系统的运行效果不同
0:关机状态,系统会一直处于关机状态
1:单用户状态(没有网络) 类似于Windows的安全模式
2:多用户状态(没有网络)
3:多用户状态(有网络) ★ 只有命令行界面 最常用的方式
4:Linux系统的保留级别,没有开启
5:图形界面
6:重启状态,系统一直处于重启状态

设置运行级别
到etc目录下修改inittab文件

#vim /etc/inittab

通过设置id:5:initdefault 为图形界面方式(文件中#开头的都是注释)

如果启动级别设置了6,系统会一直重启,可以通过设置引导解决问题,该方案还可以用来**root用户密码

解决方案
在启动系统到达引导页面(读秒倒计时)
Linux 操作系统知识点
按“e”,进入grub引导界面
Linux 操作系统知识点
再按“e”进入选择启动项
Linux 操作系统知识点
选择第二个,按“e”进入选择启动界面
Linux 操作系统知识点

输入“空格1”,然后回车,回到启动项界面
Linux 操作系统知识点
按“b”,重启系统,会进入到单用户模式(安全模式),不需要输入密码,可以直接进入root用户,再通过vim编辑器修改“/etc/inittab”文件,在这种状态下可以设置root用户的密码

用户管理
创建用户
创建普通用户
创建用户要求必须具有管理员权限,比如root用户
#useradd 用户名
用户创建后必须设置密码,Linux操作系统强制要求用户必须有密码
注意:Linux操作系统要求密码不能低于6位
#passwd 用户名
需要两次输入密码,Linux操作系统在输入密码的时候不会有任何显示,输入的时候一定要注意

设置管理员用户
管理员用户是通过授予root权限,使普通用户转换为管理员用户
通过修改配置文件完成设置
#vim /etc/sudoers
打开用户组设置
去掉“%wheel ALL=(ALL) ALL”之前的#
保存该文件,由于该文件是只读文件,不能直接保存,需要通过以下方法保存
退出编辑之后,输入“: w !sudo tee %”,然后按回车键,给出如下提示
Linux 操作系统知识点
按下“L”回到“sudoers”文件,然后直接退出(输入“:q!”),就可以完成保存了
把普通用户加入到管理员用户组中
#usermod –g root 用户名
使用普通用户登录之后
通过输入命令“su -”,然后输入root用户的密码就可以获取管理员权限了
案例:创建一个用户“xiaoming”,然后给“xiaoming”用户授予管理员权限
Linux 操作系统知识点
删除用户
删除用户同样要求具有管理员权限,比如root用户

  1. 删除用户,保留用户的目录,以及用户创建的各种文件
    #userdel 用户名
  2. 不保留用户的任何信息,直接删除
    #userdel –r 用户名 -r参数就表示强制删除
    查看系统信息
    可以使用#uname命令,查看操作系统的详细信息
    #uname –a 查看系统的所有信息
    #uname –s 查看系统的内核名
    #uname –r 查看系统的内核版本
    #uname –v 查看发行时间
    #uname –n 查看主机名
    #uname –p 查看CPU信息
    #uname –m 查看主机的硬件信息
    #uname –i 查看硬件的平台信息
    #uname –o 显示操作系统
    #cat /etc/-release 查看系统的发行版信息(只针对CentOS)
    文件搜索
    在Linux系统中有4种可以执行搜索任务的命令:which、whereis、locate、find
    which
    用于查找在PATH环境变量配置的路径中的命令
    查看javac命令所在的位置
    #which javac 可以查看javac命令的安装位置
    whereis
    用于搜索二进制文件,或者源代码文件
    #whereis locate 查看locate命令所在位置
    #whereis –s locate 查看命令的源码
    #whereis –m locate 查看命令的帮助文档
    locate
    可以搜索系统中的一些文件,可以使用
    ,?等表达式进行搜索
    安装Tomcat
    拷贝文件到home目录下,并解压文件
    #tar –zxvf apache-tomcat-7.0.92.tar.gz 解压文件;在压缩包的目录下进行解压
    其中参数z表示支持的文件格式,x表示从压缩包中抽取文件,v表示显示解压过程,f解压文件。
    重命名文件夹
    #mv apache-tomcat-7.0.92 tomcat7
    进入到tomcat7下的bin目录启动服务
    #./startup.sh
    在虚拟机中通过浏览器访问:http://localhost:8080/
    在真机里访问
  3. 查看虚拟机的IP地址
    #ifconfig
    Linux 操作系统知识点
  4. 在真机里检查是否能够连通虚拟机
    执行ping命令:ping 192.168.255.128
  5. 在真机里访问:http://192.168.255.128:8080/
    在真机里访问出现错误解决
    方案一
    关闭Linux的防火墙 不推荐使用
    #service iptables stop
    方案二 推荐使用
    修改防火墙配置
    #vim /etc/sysconfig/iptables
    添加如下内容
    Linux 操作系统知识点
    重启防火墙
    #service iptables start 启动防火墙(防火墙关闭状态的时候执行)
    #service iptables restart 重启防火墙(防火墙启动状态的时候执行)
  6. 在真机里就可以访问了

SSH远程访问
在Linux系统中默认开启了SSH的远程访问服务,端口号就是22
在Windows环境下连接访问
默认状态下,Windows系统没有开启SSH远程访问服务,首先要安装 Linux 操作系统知识点,安装完成后就可以通过SSH服务远程访问Linux系统

ssh –p22 [email protected]
其中22是Linux系统提供的SSH服务端口号
root是Linux的用户名
192.168.112.128是Linux系统的IP地址

第一次访问的时候,需要验证,输入命令之后,会提示是否连接,输入yes即可
验证完成后直接输入用户的密码就可以远程连接到Linux。
Linux系统默认root用户也可以通过远程访问,会造成一定的安全隐患
关闭root用户的远程访问
#vim /etc/ssh/sshd_config
Linux 操作系统知识点
去掉#PermitRootLogin yes之前的#,然后把yes改为no
修改完成之后,重新启动ssh服务
#service sshd restart
此时root用户就不能访问了
Samba文件共享服务器
安装Samba
用来管理UNIX系列系统下的文件,实现和Windows系统的数据共享
网络安装Samba
#yum install –y samba
安装完成以后,检查安装的版本信息
#rpm –qa | grep samba
会显示出安装的Samba的详细信息
创建共享目录
在Linux根目录下创建test文件夹
#mkdir test
在test目录下创建两个文件test1.txt和test2.txt
设置test文件夹的权限,让所有人都可以访问
#chown nobody /test

配置Samba
#vim /etc/samba/smb.conf
修改其中的security = user,修改为share
值为user时在访问的时候需要输入用户名和密码,修改为security = share以后就不需要输入用户名和密码了
Linux 操作系统知识点
在其中继续添加内容
comment = test 配置共享目录名称
path = /test 配置共享目录的路径
read only = no 设置是否只读,no表示表示
guest ok = yes 设置是否支持来宾用户
browseable = yes 设置是否支持浏览子目录

添加完成之后保存文件
检查文件的状态
#testparm
会显示如下内容
Linux 操作系统知识点
按下回车键,可以查看配置的详细信息,如果能出现下图所示的信息,说明配置成功
Linux 操作系统知识点
启动Samba服务
#service smb start
由于Samba占用137,138,139,445等端口,必须要在防火墙中开启
#vim /etc/sysconfig/iptables
添加如下内容
Linux 操作系统知识点
重启防火墙
#service iptables restart
重启之后就可以在Windows系统下访问共享的文件
【开始】  【运行】
输入: \Linux系统的IP地址,就可以访问了(不用输入冒号)
例如:\192.168.255.128

在打开共享文件夹的时候,如果出现无法访问,需要检查SELinux的状态
检查方法
#vim /etc/selinux/config
原来的值是enfircing 是开启状态,设置为disabled关闭,表示强制访问Linux的文件
Linux 操作系统知识点
设置完成以后,必须重启系统才能起作用

虽然配置了文件共享服务,但是每次重启启动Linux系统,都需要重新启动smb服务,可以通过设置,让smb服务开机自动启动
#chkconfig smb on
以后系统开机后会自动启动smb服务
检查服务运行状态方法
#service smb status
Linux操作系统安装
安装MySQL数据库
把安装包存放在/usr/local目录下,并解压文件
#tar –zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

修改MySQL文件夹的名字
#mv mysql-5.6.42-linux-glibc2.12-x86_64 mysql

添加MySQL用户组,方便日后管理
#groupadd mysql

在MySQL用户组中添加MySQL用户
#useradd –r –g mysql mysql

进入到mysql文件夹,安装MySQL数据库
#cd mysql
#scripts/mysql_install_db –user=mysql

修改当前目录下的所有文件的所有者为root用户
#chown –R root . 注意:root后面有个空格加点

在MySQL目录下有一个data目录,用来日后保存所有的数据
该目录的所有者默认就是root,为了所有的用户都能使用数据库,修改data目录的所有者
#chown –R mysql data

改变MySQL目录下的用户组
#chgrp –R mysql .

添加开机启动mysql服务,在mysql目录下
#cp support-files/mysql.server /etc/init.d/mysql 服务名就是mysql,在任意目录下都可以启动

启动服务
#service mysql start
看到Linux 操作系统知识点 说明服务启动成功

访问数据库
进入bin目录
#cd bin
#./mysql –u root –p 回车
会提示输入密码,由于还没有设置密码,可以直接按回车键

如果出现2002错误,
修改/etc/my.cnf文件
#cd /etc
#vim my.cnf

添加内容如下
Linux 操作系统知识点
添加完成之后,重新启动Linux,再启动mysql服务就可以访问了

重启系统后,启动MySQL服务
为MySQL数据库的root用户设置密码
进入到MySQL的bin目录
#./mysqladmin –u root password ‘新密码’
会提示密码设置成功
此时再等了MySQL数据库就需要输入密码了

配置在任意目录下连接MySQL数据库
由于每次连接MySQL数据库必须到mysql目录下的bin去启动数据库,非常不方便,可以通过配置环境变量,完成在任意目录下启动MySQL数据库
#vim /etc/profile
添加如下内容
Linux 操作系统知识点
重启Linux系统之后有效
在任意系统下就可以访问MySQL数据库了
#service mysql start
#mysql –u root –p
输入密码就可以直接访问了

FTP文件传输服务
FTP被称为文件传输协议,可以实现不同操作系统之间传递文件,例如百度网盘

把vsftpd-2.2.2-24.el6.x86_64.rpm文件拷贝到 /home目录下

安装vsftpd
#rmp –ivh vsftpd-2.2.2-24.el6.x86_64.rpm –nodeps

安装完成之后,检测是否安装成功
#rpm –qa | grep vsftpd
如果能看到相应的版本信息说明安装成功

由于vsftpd占用21端口,在使用中必须要在防火墙中开启21端口
#vim /etc/sysconfig/iptables
添加内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
重启防火墙
#service iptables restart

打开vsftpd的被动获取
#vim /etc/vsftpd/vsftpd.conf
在最下面添加内容
pasv_enable=no

启动vsftpd服务
#service vsftpd start

查看服务的运行状态
#netstat -tunlp | grep vsftpd

重启服务
#service vsftpd restart

停止服务
#service vsftpd stop

由于21端口是vsftpd默认的端口,不安全,建议使用1024以上的端口

修改端口号
#vim /etc/vsftpd/vsftpd.conf

在最下面添加内容
listen_port=2121

重启vsftpd服务
再次查看服务运行状态,就会发现占用了2121端口

限制用户下载带宽
#vim /etc/vsftpd/vsftpd.conf

在最下面添加内容
local_max_rate=300000 表示最大上传下载带宽是300K
保存之后重新启动vsftpd服务

在某些情况下,不限制特定用户的带宽
创建一个用户组,在组中为每一个用户创建一个文件,在文件中设置带宽
创建用户组
#mkdir /etc/vsftpd/limit
创建文件
#vim /etc/vsftpd/limit/tom
添加内容
local_max_rate=3000000 带宽3M
重启服务后生效