系统环境:centos 7.9
虚拟机软件:VMware 15.5
其他软件: xsheli 7(for home and free)& xftp 7(for home and free)
前言
随着现代信息化技术的高速发展,以云计算和大数据为代表的新兴技术快速发展。掀起了人们学习云计算和大数据技术的浪潮,而Linux系统作为其基础,更是重中之重。本文主要介绍Linux系统的基本命令。
一、Linux系统是什么?
随着现代信息化技术的高速发展,其中以云计算和大数据为代表的ICT技术正蓬勃发展,而海量数据的存储与信息的快速分析离不开基础设施的构建,如服务器集群,高速的网络带宽等等,而使用和管理这些服务器集群,而国内大型互联网公司的服务器管理系统多采用Linux系统去进行使用和维护服务器集群。而Linux系统以网络功能强大,移植性强,开源免费而著称,应用场景广泛,上到数据中心的运维,下到个人电脑的使用,学习Linux很有必要。
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
-----------摘自百度百科<linux>
Linux系统是什么?简而言之,是文件,Linux系统一切皆为文件。
二、目录结构
1.说明
级层式的树状目录结构,最上面的是根目录 ‘/’,如下图所示。
注意:1.Linux系统有且仅有一个根目录
2.Linux系统的各个目录所存放的内容都是预先规划好的
3.Linux系统一切皆为文件
备注:/selinux selinux是一种安全子系统,它能控制程序访问特定文件
2.vim使用入门
vi 和 vim 模式的相互切换如下所示:
注意:
:q #退出,在打开文件后没有对文件做任何修改时可使用
:wq #退出保存,在对文件修改后并保存内容时使用
:q! #强制退出,在对文件做修改后要放弃修改时使用
:wq! #强制退出保存,在对属于自己的文件或你时root用户时使用
三、关机&重启,用户登录和注销
3.1 关机&重启
3.1.1 基本介绍
shutdown
shutdowm -h now:表示立即关机
shutdown-h 1: 表示1分钟后关机
shutdowmn -r now:立即重启
halt 就是直接使用,效果等价于关机
reboot 就是重启系统。
syn 把内存的数据同步到磁盘
3.1.2 注意细节
当我们关机或者重启时,都应该先执行以下 symc指令,把内存的数据写入磁盘,防止数据丢失。
3.2 用户登录和注销
3.2.1 基本介绍
1) 登录时尽量少用root帐号登录,以利用普通用户登录,登录后再用”su- 用户名命令来切换成系统管理员身份在
2)提示符下输入 logout 即可注销用户
3.2.2 使用细节
logout 注销指令在图形运行级别无效,在 运行级别3下有效
四.用户管理
4.1 相关概念
说明:
1.Linux的用户需要至少要属于一个组。
2.inux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
4.2 创建用户
命令:useradd 【选项】用户名
注意:当我们使用useradd 创建一个用户时,我们没有指定该用户属于哪个用户组,但是该命令会自动创建与该用户名相同的用户组,并把该用户放在与此同名的用户组中。根目录下的home会出现以该用户名命令的文件夹,如xm
说明:1.当创建用户成功后,会自动的创建和用户同名的家目录
2.也可以通过useradd -d指定目是新的用户名,给新创建的用户指定家目录
修改密码:passwd 用户名
4.3 删除用户
userdel 用户名 只会删除该用户,而不会删除它的家目录 /home/用户名
userdel -r 用户名 删除该用户及其家目录
4.4 查找用户信息
Id 用户名
4.5 切换用户
su - 用户名
注意【有两种语法】:
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得当前用户环境变量,而是获取原用户的环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
ps:在这样一个场景中,如果本来是root用户登录的系统,然后su zhangsan,zhangsan登录到系统中,又使用su root切换root用户登录,此时若想使用root用户删掉zhangsan这个用户,是不行的,会报错
原因分析:
从一开始root用户就在系统上,这时切换用户zhangsan登上系统,原来root用户的进程还没结束,这时切到zhangsan登录系统,这无疑是从原来root用户的进程上再开了一个进程【zhangsan用户的】,然后当zhangsan用户又切到root用户,再从原来zhangsan用户的进程上再开了一个进程【root用户的】,zhangsan用户的进程没有结束,依托zhangsan用户的进程的root用户的进程想要删掉zhansan用户,不可能删掉。
图解如下:
4.6 用户组概念
类似于角色,方便系统对具有共性的多个用户的统一管理
增加用户组: groupadd 用户组名
删除用户组 : groupdel 用户组名
增加用户时直接指定组:useradd -g 用户组名 用户名
修改用户的组:usermod -g 用户组名 用户名
4.7 用户和用户组的配置文件
用户配置文件(用户信息):/etc/passwd
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shel1
组配置文件(组信息):/etc/group
每行含义:组名:口令:组标识号:组内用户列表
口令配置文件(密码和登录信息,为加密的):/etc/shadow
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:薯告时间:不活动时间:失效时间:标志
zf:$6SBmWo7WkvSyBTIfLyhRbAIe2kz0iTHzJJa9eJN1PbT4ie49YTN1Sxslb4yX910GtM3SkP1gkkh5bpIw.HoZ0chk0sxxfhov0:19066:0:99999:7:::
zwi: ! ! :19066:0:99999:7:::
五. 实用指令
5.1 运行级别如下所示
系统的运行级别配置文件 /etc/inittab
常用运行级别:3和5
切换指定运行级别:init 【0 1 2 3 4 5 6】
注意:本人所装Linux系统为centos7 ,暂不支持 vim /ect/inittab 命令查看默认运行级别,但可以使用init [数字] 来切换指定运行级别
备注:
centos7不再使用/etc/inittab文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。第3运行级用multi-user.target替代,第5运行级用graphical.target替代。
#设置默认第三启动级别[root@node5 ~]# systemctl set-default multi-user.target
#设置默认第五启动级别[root@node5 ~]# systemctl set-default graphical.target
[root@node5 ~]# runlevel
3 5 #表示从3级别切换到了5级别#查看当前默认的启动级别[root@node5 ~]# systemctl get-default
graphical.target[root@node5 ~]# systemctl get-default
multi-user.target
面试题:
问:如何找回root密码?
思路:进入单用户模式,然后修改root密码
总结
开机>在引导时输入回车键>看到一个界面输入e>看到一个新的界面,选中第二行(编辑内核)在输入e~→在这行最后输入1,再输入回车键->再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用passwd指令来修改root密码。(此方法仅对centos 6版本有效)
注:本人测试Linux系统版本为centos 7.9
找回方法:
CentOS7系统root密码丢失找回方法(史上最好) - 老男孩老师 - 博客园
5.2 帮助指令
man 【命令或配置文件】显示帮助信息
Help 命令 (help 并不能查看 ls)
5.3 文件目录类
pwd 显示当前绝对路径
5.3.1 ls 指令·基本语法
Ls [选项] [目录或是文件]·
常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-1:以列表的方式显示信息
cd指令
基本语法 cd[参数] (功能描述:切换到指定目录)
常用参数
绝对路径和相对路径
cd~或者cd 回到自己的家目录
cd ..回到当前目录的上一级目录应用实例
案例1:使用绝对路径切换到root目录
Cd /root
案例2:使用相对路径到/root目录 假设在home下的xm
Cd ../ .. /root
案例3:表示回到当前目录的上一级目录
Cd ..
案例4:回到家目录
Cd
Cd ~
5.3.2 cp指令
cp 指令拷贝文件到指定目录
基本语法
cp [选项] source dest
常用选项
-r : 递归复制整个文件夹
应用实例
案例 1:将 /home/aaa.txt 拷贝到 home/bbb 目录下
案例 2: 递归复制整个文件夹,举例
注意:
5.3.3 rm 指令 删除文件或目录
rm 【选项】 要删除的文件或目录
-f 强制删除不提示
-r 递归删除整个文件夹
5.3.4 mv 指令 移动文件或重命名
重命名: mv 旧文件名 新文件名
移动文件:mv 旧路径 新路径
应用实例
案例 1:将 /home/aaa.txt 文件 重新命名为 pig txt
案例2将 /home/pigtxt 文件 移动到 root 目录下
5.3.5 cat 指令 (以只读的方式打开文件,不能修改)
cat 【选项】 文件名
-n 显示行号,但它通常和‘ | more’ 搭配使用(分页浏览)
5.3.6 more指令
more指令是一个基于v编辑器的文本过滤器,,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明如下
基本语法
more 要查看的文件
操作说明
操作 | 功能说明 |
空白键 (space) | 代表向下翻一页: |
Enter | 代表向下翻[一行] : |
q | 代表立刻离开 more,不再显示这文件内容, |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的 |
应用实例
案例:采用more查看文件
/etc/profile