最近在学Redis,需要用到很多Linux操作,当时学的时候没有学好,今天开始重新学习一下。
Linux基础篇
文件系统
总结一下
- linux的目录有且只有一个根目录
- linux的目录存放的内容是规划好的,不能乱放文件
- linux是以文件的形式管理我们的设备,因为linux一切皆为文件
- linux的各个文件目录下存放什么内容,必须有了解
Linux实操
为什么需要远程登录?
- linux服务器是开发小组共享的
- 正式上线的项目运行再公网上
- 程序员需要远程登录到centos进行项目管理或者开发
- Xsheel和Xftps5,一个负责远程连接,一个负责文件的上传和下载
vi、vim编辑器:
操作:
vi 文件名可以打开编辑器。
:wq,进行正常保存。
:q,代表只修改,不保存
:q!,代表强制退出不保存
拷贝:
打开到命令行模式,光标指向的行输入yy(屏幕上看不到操作),然后再输入P就可以进行赋值到下一行。
命令行模式下输入5yy,再输入p,就会赋值光标以下的5行,注意这里必须是光标以下含有5行。
删除:
命令行模式,光标指向的行输入dd,就会删除当前行,前面带数字,就删除当前行以下多少行。
查找:
命令行模式,输入/,然后输入要查询的单词,再点回车,就会查找,继续查找下一个输入n。
行号:
命令号模式,:set nu可以看到行号,:set nonu就会取消
快速跳转:
正常模式下,gg代表首行,G代表末行。
撤销:
编辑结束后,跳转到正常模式,输入u,就可以撤销掉
查看某一行:
正常模式下,先输入第几行,在输入shift+g,就可以显示。这里还可以先输入显示行号的指令,再查看。
或者可以在命令行模式下,:20,代表跳转第20行。
关机重启注销操作
基本操作
shutdown
shutdown -h now : 表示立即关机
shutdown -h 1 : 表示 1 分钟后关机
shutdown -r now: 立即重启
halt 直接关机
reboot 重启系统
syn 把内存的数据保存到磁盘上,养成好习惯,关机前syn一下。
注销:logout,图形化界面无法使用
用户
创建一个用户
useradd name
创建一个名为name的用户,我们就可以在home文件夹下,看到name的用户。
passwd name
passwd + name就是对该用户进行设置密码。passwd命令只能用root用户进行设置,还可以根据这个命令进行更改密码。
我们重新利用xshell进行连接,输入创建的用户和密码就可以进行登录。
pwd
利用pwd查看当前工作路径,可以发现我们就是在/home/name下。
删除目录
userdel name
默认情况下是不会删除/home/name下的路径。
userdel+name -r xq
这种情况下,是会删除用户并且删除home下的路径
那我们在删除用户是否要保存路径?
没什么大问题可以报存,方便我们日后进行查看数据。
查询用户信息
id name
uid:用户id,gid:组id,groups:所在组的名称
切换用户
运用场景:普通用户没有权限后,可以切换到更高权限的用户。root用户也可以不用输入密码登陆普通用户。
su - name
这里注意分割线是由空格的。
高权限用户跳转到低权限用户后,如果想回到高权限用户,直接exit就可以了。
查看当前用户
who am i
用户组
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理。
当我们添加用户时,没有对用户进行分配组,那么它的组就与root一样。
增加用户组
groupadd name
添加一个名为name的用户组。
删除用户组
groupdel name
删除一个名为name的用户组。
添加用户时直接加上组
useradd -g 用户组 用户名
1、先去创建组
2、再去创建用户添加到组
创建test1用户,放入到testgroup下。再通过id test1指令,可以查看到这个用户属于testgroup的用户组下。
修改用户的用户组
usermod -g 用户组 用户名
/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息。
我们可以打开这个文件,进行查看,跳转到最后一行。
我们可以看到刚才创建的test和test1两个用户。
这一行的代表:
用户名:口令(用X表示加密):用户标识号(uid):组标识号(gid):注释性描述:主目录:登录shell。
/etc/shadow文件
密码口令的配置文件。
/ect/group文件
是linux包含的组配置文件,
实用指令
Linux运行级别
运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形化界面
6:系统重启
在CentOS7中只有两个级别:3和5
我们可以通过以下命令进行查看:
vim /etc/inittab
init 3或5
利用上一命令可以更换运行级别。
关机和重启是0和6.
面试题
如何找到丢失的root密码?
思路:进入到单用户模式,root密码不需要登录。然后再在单用户模式下进行修改密码。
帮助指令
介绍
当我们不熟悉一个指令是,我们可以使用linux自带的帮助指令。
man [命令或配置文件](功能描述:获得帮助信息)
除了man还可以:
help 命令 (功能描述:获得 shell 内置命令的帮助信息)
两个指令的区别:
man命令显示的内容是手册页(man就是manual的简写),一般man命令显示的帮助信息要更加丰富,它比命令的help选项多了命令的用法示例、命令的描述等内容。还有一个区别是man命令显示的内容来自于磁盘上的man手册页文件,如果删除了某个手册页文件时man就无法显示了,而命令的help选项是大部分命令本身内置的功能,只要系统上有这个命令,执行help选项就能够显示。
文件目录指令
pwd指定
pwd
显示当前目录的绝对路径。
ls指令
ls 选项 目录或者是文件
选项
-a显示当前目录所有的文件和目录,包括隐藏的
-l以列表的形式显示信息
如果是-la,两个选项就会结合起来。
cd指令
cd ~ 或者cd //回到家目录
cd.. //回到上一目录
绝对路径和相对路径
举个例子,我们从/root到/usr路径
- 如果是相对路径,我们需要从当前工作的目录跳转到需要的目录 cd ../usr,这个意思就是先..返回到根目录,再定位。
- 如果是绝对路径,我们需要从根目录跳转到需要到的目录 cd /usr
区别就是,相对路径是以当前目录进行跳转,绝对路径是以根目录跳转。
mkdir指令
介绍:创建目录
mkdir 选项 要创建的目录
mkdir -p 多级目录
如果我们希望一次性创建多级目录,我们需要带上-p命令。
rmdir指令
rmdir 选项 要删除的目录
注意:rmdir默认删除的是空目录,如果有文件是无法进行删除的。
rm -rf
要删除带文件的目录,用的是rmdir -rf
touch指令
touch 文件名
创建一个空的文件。
touch t1.text t2.text
这个命令还可以一次性创建多个空文件。
cp指令(重要)
cp 选项 sourse dest
sourse:文件目标
dest:把这个文件拷贝到哪里去
把1.text文件复制到/usr/local/目录下
常用选项:
-r:递归拷贝整个文件夹
注意:如果出现重复文件名的覆盖,我们可以使用
/cp -r test /home/rm
就是在cp前面加上了/,这样就不会通知你是否覆盖文件。
rm指令
删除要删除的目录或者文件
rm 文件
会提示是否删除,y就是确定
选项:
-f:不提示删除
-r:递归删除整个文件夹
mv指令
mv 移动文件与目录或者重命名
重命名:
mv oldNameFile newNimeFile(重命名)
设计者思路:吧text.text移动到当前目录,发现当前目录有这个文件,于是就觉得你是想重命名文件,
修改:将这个text.text文件移动到/root下
cat指令
查看文件,但是只能以只读的方式,不能进行修改。
cat 选项 文件
-n:显示行号
如果这样基本使用,文件会全部显示,并且直接是最后一页。
通常情况下,我们会使用以下的命令。
cat redis.conf | more
如果加上管道符和more,文件就会一页一页显示,并且按空格键可以进行分页。
more指令
more 要查看的文件
more指令是一个基于vi编辑器的文本过滤器,它以全屏的方式显示文本文件内容。more指令中内置了很多快捷键。
操作 | 功能说明 |
---|---|
空格 | 代表向下翻一页 |
enter | 代表向下翻一行 |
q | 代表立即离开more,不再显示这个文档内容 |
less指令
less指令是分屏查看文件内容,他的功能类似于more,但是比more更强大,less指令在显示文本的时候,并不是一次性的将整个文件加载后才显示的,而是根据需要加载的内容,对于显示大型文件具有较高的效率。
less 要查看的文件
操作 | 功能说明 |
---|---|
空格 | 向下翻动一页 |
q | 离开这个程序 |
/字符串 | 向下搜寻这个字符串 |
?字符串 | 向上搜寻字符串功能 |
> 和 >>指令
> 输出重定向
>>追加指令
基本语法
ls -l > a.text
把显示的内容写入到a.text文件中,如果a.text不存在,就创建这个文件。
红框内就是ls -l显示的内容。
ls -la >> a.text
会向文件中追加内容
cat 文件1 > 文件2
功能:将文件1覆盖到文件2中
echo “内容” > 文件2
功能:将内容覆盖掉文件2的内容
测试:
将cal指令显示的内容存入cal文件中:
echo指令
输出内容到指令台.
each $PATH
输出环境变量
head指令
head -n 5 文件
用于显示文件开头部分的内容,默认情况下head指令显示文件前10行的内容。
加上-n 5代表显示前5行的内容。
tail指令
tail -n 5 文件
显示最后5行的内容,如果不见-n 5就默认显示倒数10行。
tail -f 文件
实时追踪该文档的所有更新。这个是工作中经常用的指令。
ln指令
软连接也叫符号链接,类似于Windows中的快捷方式,主要存放了连接其他文件的路径。
基本语法:
ln -s 原目录或文件 软连接名
细节:当我们使用pwd指令查看目录时,仍看到的是软连接的所在的某一类。
history指令
查看当前已经执行过的命令。
history 10
显示最后10个
!编号
会重新执行编号所指的命令。
时间日期类
date指令
date
显示当前日期
修改当前时间
date -s "2020-4-3 16:40:58"
cal指令
显示当前月的日历
cal 年份
这样就是某个年份一整年的日历。