Linux 操作系统知识点

mac2026-06-10  17

Linux操作系统 Linux特点 优点:

免费/开源的系统支持多线程/多用户的系统安全性好对内存和文件管理优越占用体积小(最少只需要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用户密码

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

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

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

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

删除用户,保留用户的目录,以及用户创建的各种文件 #userdel 用户名不保留用户的任何信息,直接删除 #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/ 在真机里访问查看虚拟机的IP地址 #ifconfig 在真机里检查是否能够连通虚拟机 执行ping命令:ping 192.168.255.128在真机里访问:http://192.168.255.128:8080/ 在真机里访问出现错误解决 方案一 关闭Linux的防火墙 不推荐使用 #service iptables stop 方案二 推荐使用 修改防火墙配置 #vim /etc/sysconfig/iptables 添加如下内容 重启防火墙 #service iptables start 启动防火墙(防火墙关闭状态的时候执行) #service iptables restart 重启防火墙(防火墙启动状态的时候执行)在真机里就可以访问了

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

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

第一次访问的时候,需要验证,输入命令之后,会提示是否连接,输入yes即可 验证完成后直接输入用户的密码就可以远程连接到Linux。 Linux系统默认root用户也可以通过远程访问,会造成一定的安全隐患 关闭root用户的远程访问 #vim /etc/ssh/sshd_config 去掉#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以后就不需要输入用户名和密码了 在其中继续添加内容 comment = test 配置共享目录名称 path = /test 配置共享目录的路径 read only = no 设置是否只读,no表示表示 guest ok = yes 设置是否支持来宾用户 browseable = yes 设置是否支持浏览子目录

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

在打开共享文件夹的时候,如果出现无法访问,需要检查SELinux的状态 检查方法 #vim /etc/selinux/config 原来的值是enfircing 是开启状态,设置为disabled关闭,表示强制访问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 看到 说明服务启动成功

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

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

添加内容如下 添加完成之后,重新启动Linux,再启动mysql服务就可以访问了

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

配置在任意目录下连接MySQL数据库 由于每次连接MySQL数据库必须到mysql目录下的bin去启动数据库,非常不方便,可以通过配置环境变量,完成在任意目录下启动MySQL数据库 #vim /etc/profile 添加如下内容 重启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 重启服务后生效

最新回复(0)