常见指令及权限理解

VMware:用来安装虚拟机的软件,在电脑上虚拟出一套计算机硬件环境
CentOS:操作系统,虚拟机
Linux:操作系统内核
Xshell:远程操作软件,可以远程操作linux主机、服务器
在XShell和直接在VMware终端写代码是一样的

虚拟机繁忙:删除vm-bit下的以lck结尾的文件夹,关闭VMware,重新使用管理员打开

Linux下的目录结构

磁盘:硬盘,用来存储文件
一个硬盘至少有两个分区,交换分区和文件系统分区,交换分区只有一个,文件系统分区可以有多个
交换分区:作为交换内存使用,通常大小在内存16G以内时,是内存的两倍,超过16G,交换分区大小与内存大小相等即可
文件系统分区:作为文件存储使用
程序运行时,运行信息都占用的是内存,内存中的数据并非都是活跃数据,内存不够用了,操作系统就会把非活跃内存区域中的数据取出来储存到硬盘上的交换分区,腾出的内存就可以加载新数据进行处理了

windows下,磁盘分了多少分区,就可以有多少个盘符,每一个盘符都是一个大目录,这个目录下的文件使用的磁盘空间就是这块分区的
windows下的目录结构可以随着分区多少而改变
Linux下,目录结构是唯一的,不会随分区多少而改变
至少要有一个分区挂载在根目录上,因为根目录是最顶层的目录,只要根目录有空间,其内的所有文件都有空间存储
挂载:指的是在某个目录分配一块磁盘空间,这个目录下的文件数据存储的时候就会存储在这个空间中;如果给该目录下某个目录(或文件)单独挂载一块空间,那么这个目录(或文件)就存储在这块单独分配的空间中
windows就像是给某一个空间分配文件夹;而Linux就像是给某个目录分配空间

绝对路径:以根目录作为起始表达的路径
/home/test/review

/:表示根目录

相对路径:以某个路径作为参照路径,通常是以当前路径作为起始的路径

特殊文件:
.:表示一个目录自身

…:表示一个目录的上一层目录

基础指令

终端:简单的命令行界面,我们通过命令完成对系统的操作

命令的使用格式
目录名称 [操作选项] [操作对象]
三者之间用空格间隔,[]中的可有可无

man 手册查看命令
命令行敲下man空格命令,就可以查看该命令

对于目录的命令

ls
浏览目录下的文件信息,目录就相当windows下的文件夹
打开一个终端,默认就会处于当前用户的家目录下
ls默认浏览的是当前用户的家目录,当前用户即当前主机的登录用户;Linux是多用户操作系统,家目录就是操作系统给每个用户创建的受保护的目录
[-a] 选项:浏览目录下所有文件,包括隐藏文件(Linux下文件名以.开头的文件默认不显示,是隐藏文件)
[-l] 选项:查看该目录下文件详细信息
Linux下一切皆文件,即所有东西都是文件,都可以通过操作文件的方式进行访问,目录也是文件,只不过是目录类型的文件,Linux下文件不以后缀名区分
ls -la workspace/

pwd
查看当前所在路径,打印工作路径,打印的是一个绝对路径

mkdir
创建目录
[-p]:递归多层级创建目录,从外往内,哪层不存在就创建哪一层,直到创建到最后一个目录

rmdir
只能删除空目录
[-p]:递归多层级删除目录,从内往外,哪层为空就删除哪一层

rm
删除文件
[-r]:递归删除目录下所有文件
[-i]:删除时进行提示
[-f]:直接进行删除操作,不要进行提示
rm -rf 文件名

cp
将一个文件向另一个位置拷贝一份
[-r]:递归将一个目录及其内部文件全部拷贝到指定位置
cp -r 文件名 路径

可以改名
cp -r 文件名 路径/修改后的文件名

mv
将一个目录或文件移动另一个位置,剪切
mv 文件名 路径

可以改名
mv 文件名 路径/修改后的文件名

cd
改变工作路径,改变当前所在路径,进入某个目录
~:表示当前用户的家目录

对于普通文件的命令

touch
文件不存在,则创建文件;存在,则刷新文件的时间属性
[-d]:使用指定时间刷新时间属性
touch -d “2021-05-23 22:06:07” 文件名

[-a]:仅使用当前系统时间刷新访问时间
[-m]:仅使用当前系统时间刷新修改时间
文件的时间属性有三种:最后一次访问,最后一次修改,最后一次状态改变

cat
打印文件内容

more
分页显示文件内容,显示完毕自动退出
回车:向下按行滚动
空格:向下按页滚动
q:退出显示

less
分页显示文件内容,显示完不会自动退出
向下按行滚动:下键 / 回车
向下按页滚动:空格 / f键
向上滚动:上键 / b键
退出显示:q键
匹配查找字符串:/string 向下匹配 ?string 向上匹配

head
默认显示文件前十行内容
-n:指定显示的行数

tail
默认显示文件倒数十行内容
-n:指定显示的行数
-f:动态一直等待文件末尾的新数据,进行显示 退出:ctrl+c

stat
查看文件状态信息

或>
重定向符号:进行数据流的重定向
将要操作的数据,不再写入原本的文件,而是写入到新的文件中
:清空重定向,将新数据重定向到指定文件中,但是在这之前会清空文件原有的内容

:追加重定向,将数据重定向到指定文件中,将新数据追加写入到文件末尾

管道符 |
连接两个命令,将前边命令的输出结果,当作后边命令的输入数据,让后边的命令进行处理
//打印文件第23行内容
head -n 23 ./文件名 | tail -n 1

打包指令

压缩:将一个文件按照一些压缩算法,将文件数据从多变少
压缩工具:
zip(windows下最常用的,为了能将windows下的zip包在Linux下解压)
gzip、bunzip2:Linux下最常用的压缩工具
/dev 根目录下的dev目录中放的都是设备文件,例如键盘、显示器、网卡等都是设备文件
压缩命令:
zip/unzip:zip格式的压缩和解压缩

zip命令演示:命令行敲下zip空格压缩后文件名空格待压缩文件名,命令行敲下unzip空格待解压缩文件名,为了演示解压缩出现的文件,我们将原来的test.txt文件删掉,解压缩之后就会出现一个test.txt文件
在这里插入图片描述

gzip/gunzip:gzip格式的压缩解压缩

gzip命令演示:命令行敲下gzip空格待压缩文件名,就可以得到一个以.gz结尾的压缩文件,(注意,Linux下并不以文件后缀名区分文件)并且待压缩文件test.txt没有了;命令行敲下gunzip空格待解压缩文件名,test.txt.gz文件就没有了,出现我们压缩前的test.txt文件
在这里插入图片描述

bzip2/bunzip2:bzip2格式的压缩和解压缩
第一行的这条命令,意思是用指定大小的块拷贝一个文件,if即inputfile,表示输入的文件名,即将test.txt文件作为输入文件,of即outfile,表示输出的文件名,即将t.txt作为输出文件,从输入文件test.txt文件中拷贝bs=500M(块大小),count=1(块数量)的内容到输出文件t.txt中;6月前边的数字表示文件大小,19表示19个字节
ls的-h选项表示人性化显示,主要是看文件大小的时候方便用户对文件大小有个概念

bzip2命令演示:在命令行敲下bzip2空格待压缩文件名,就可以得到一个以.bz2后缀名结尾的文件;在命令行敲下bunzip2空格待解压缩文件名,就可以恢复到压缩前的文件
在这里插入图片描述

打包:将多个文件合成一个文件
打包工具
tar是Linux下使用度最高的打包解包工具,将多个文件打包成为一个文件,提供解包功能,并且打包解包的同时可以进行压缩解压缩
tar命令的功能通过选项来区分
-c 打包 -x 解包
-z 打包同时进行gzip格式的压缩解压缩
-j 打包同时进行bzip2格式的压缩解压缩
-v 显示打包解包信息
-f 用于指定tar包名称,通常是作为最后一个选项,因为后边要跟上我们的包名称
打包示例:tar空格-czvf空格包名称.tar.gz空格多个文件名
解包示例:tar空格-xzvf空格包名称.tar.gz

第一行命令的意思是,将test.txt、test.zip、t.txt三个文件进行打包并按照gzip格式压缩,显示打包信息,tar包名称为new.tar.gz,然后我们就会得到一个new.tar.gz的文件;为了解包之后看的更清楚,我们删除了test.txt文件,解包之后就会看到test.txt文件又有了
在这里插入图片描述

解包时我们推荐不指定解压缩格式,直接敲tar空格-xvf待解包文件名称,它会自己选择解包格式,防止我们因为后缀名指定了解压缩格式,但其实该文件并不是以后缀名压缩的情况
默认情况下,你在哪个路径下解包,它就将解包的文件放到哪个路径下,而不是压缩包在哪就解压到哪

匹配查找命令

在终端中执行命令,单引号和双引号的区别:单引号会消除括起来的数据中的特殊符号的特殊含义,双引号不会
在这里插入图片描述

grep
从文件内容中匹配包含某个字符串的行,常用于在某个文件中找函数
-i:匹配时忽略大小写
-v:反向匹配,匹配不包含指定字符串的行
-R:对指定目录下的文件递归逐个进行内容匹配

find
从指定目录中查找指定名称/大小/时间/类型的文件
find ./ -name “test” 通过文件名查找文件
find ./ -type d 通过文件类型查找文件
find ./ -size -10M 通过文件大小查找文件 —10M以内的文件,+10M就是超过10M大小的文件
find ./ -mmin -10 通过时间查找文件 —cmin、mmin、amin 分钟为单位 ctime、mtime、atime 以天为单位

其他命令

ifconfig 查看网卡信息
man 手册查看命令
su 切换用户
echo 打印字符串,将数据写入到标准输出(显示器设备文件)

系统命令

虚拟机关机命令 shutdown -h now

bc 计算器

date 打印或设置系统时间
按照指定格式打印系统时间
在这里插入图片描述
查看时间戳
在这里插入图片描述

设置系统时间(不常用):先su root 然后date -s “2000-04-21 12:12:12”

cal 日历

快捷键
tab 文件名自动补全
ctrl+c 中断当前操作

shell的理解

为什么在终端输入一串字符串,回车后会被当作命令执行,完成某个功能?

shell的作用
为什么要有shell(为什么不能直接操作操作系统内核) 因为用户如果操作不当会直接将操作系统内核搞崩溃,太危险
不能直接操作内核,所以搞了一层外壳,也就是Shell

操作系统内核与用户之间的桥梁,Shell可以将用户的命令解释给操作系统内核,然后操作系统内核去执行用户需要的操作,去操控硬件,Shell也可以将操作系统内核的执行结果解释给用户,所以Shell就是一个命令行解释器
shell会捕捉用户的标准输入,得到字符串,通过字符串判断用户想要干什么;shell也不能直接操作kernel(内核),操作系统会提供一些系统调用接口供外部使用,以完成内核某个特定功能的访问;比如浏览目录这种功能,它会涉及很多系统调用接口的使用,为了便于用户使用,大佬们又使用系统调用接口封装了一些直接完成常用功能的程序,这些功能程序,被称之为shell命令程序;shell判断出用户想进行的操作,去调用相应的功能程序,完成与内核的交流,内核操作相应硬件,完成后,shell再将结果返回给用户
终端之所以能执行命令,就是因为终端打开后默认运行一个shell程序
shell程序有很多:bash、dash、csh
我们执行的命令都是一个个的程序—我们在终端中输入什么字符串,shell捕捉到之后就会执行什么程序,完成对应功能

在windows下的shell,理解为ui操作界面

权限的认识

权限:限制用户权力的东西

操作系统中的操作权限
在Linux中,将用户分为两类,普通用户(操作受限)和管理员用户(为所欲为)

使用su命令进行用户切换,目的是获取这个用户的操作权限 su username

切换到root用户后,useradd添加用户,userdel删除用户

文件的权限认识

文件访问对用户的分类
文件所有者-u 文件所属组-g 其他用户-o

文件访问对操作的分类
可读-r 可写-w 可执行-x

在系统中权限的存储:使用二进制比特位图,二进制比特位只有0/1,这样存储占用的空间更小,操作更加简便(看某个操作有没有权限只需要判断位图是否为1)
为了便于表示和记忆,可以采用三个八进制数字分别表示三类用户的权限
示例:
753 -》111 101 011 -》rwx r-x -wx
所有者可读可写可执行,所属组可读可执行不可写,其他用户可写可执行不可读

umask
查看或设置文件的创建权限掩码,也就是说掩码决定了一个文件的创建的默认权限
直接敲一个umask,可以看到umask的值为0002,这是一个八进制数字;
-S 人性化显示
在这里插入图片描述

shell创建文件默认给定权限为777,通过给定权限&(~mask)可以计算出文件的真正权限为rwxrwxr-x;在创建普通文件时,先不给出可执行操作的权限,所以要在计算出的文件权限上减去x,即rw-rw-r–;创建目录时,就直接是rwxrwxr-x
在这里插入图片描述

创建好的文件的权限修改(两种方式)
chmod 八进制数字 文件名称
在这里插入图片描述

chmod 用户+(或者-)权限 文件名称
a 表示对所有用户添加或删除权限 u/g/o
在这里插入图片描述

文件用户信息的修改
chown username filename 修改文件的所有者(只能使用root修改)
chgrp groupname filename 修改文件所属组

修改文件权限的粘滞位
粘滞位:特殊的权限位,主要用于设置目录粘滞位,这对于限制其他用户的操作,即其他用户只能在目录下创建文件,删除自己的文件,但是不能删除别人的文件
使用方式 先切换到root,然后chmod +t filename

对于下边的例子,用户jia于目录a而言就是一个其他用户,jia有r权限,所以可以进入a目录,在a目录下test用户创建了一个1.txt,此时切换到jia用户去删除test创建的1.txt,就会删除失败
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值