Linux基本指令【下】

目录

一、时间相关指令

date显示

时间戳

二、cal指令 

三、find指令 (重要)-name

四、grep指令 

五、zip\unzip指令 

六、tar指令:打包/解压,不打开它,直接看内容 

七、bc指令 

八、uname -r指令

 九、几个重要的热键

十、关机指令

shell命令以及运行原理

Linux权限的概念

Linux权限管理 

权限掩码 


一、时间相关指令

日志简单理解:程序运行到自己的每一个关键时刻,都要自己打日志

包括:时间,日志等级,日志具体信息,其他信息

以行为单位打印

date显示

date指定格式显示时间:date +%Y:%m:%d(中间的“:”是分割符,也可换成“-”等)

功能:

选项:

%H小时

%M分钟

%S秒

%d日

%m月份

%Y年份

%F相当于%Y-%m-%d

时间戳

时间戳是从1970年1月1日(UTC/GMT的午夜)开始经过的秒数,不考虑闰秒

语法:date +%s(功能:时间转时间戳)

           date -d@(时间戳)(功能:时间戳转时间)

二、cal指令 

命令格式:cal [参数][月份][年份]

功能:查看日历等信息,如只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份

三、find指令 (重要)-name

find -name

在指定路径下查找文件

如:find -name *.c

查找当前目录下以.c为后缀的文件

也可以指定路径

find 【路径】 -name

which指令可在指定路径下,搜索指令文件

whereis在系统特定的路径下查找,既可以找到可执行程序,也可以找到手册、安装包等 

四、grep指令 

格式:grep [选项] 搜索字符串 文件(可以跟多个文件)

功能:将含字符串的行打印出来

选项

-i :忽略大小写不同

-n:顺便输出行号

-v:反向选择,即显示出没有“搜索字符串”内容的那一行

五、zip\unzip指令 

为什么要打包压缩:

能被打包压缩的,一定是一个整体,

由多个文件->一个文件->不容易造成文件缺失

让体积变小->下载时间变短 

六、tar指令:打包/解压,不打开它,直接看内容 

tar czf XXX        打包文件

tar tzf XXX.tgz        预览


七、bc指令 

可以很方便地进行浮点运算

八、uname -r指令

uname -a指令可以查体系结构、内核版本

 九、几个重要的热键

检索历史命令Ctrl r

 history | head

默认记录最新的1000条历史命令

十、关机指令

shutdown [选项] ** 常见选项:**

Linux操作系统(服务器),永不关机

shell命令以及运行原理

在Windows中,我们操作Windows表示直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作。

在Linux中,我们也不是直接使用“核心”(kernel)而是通过kernel的“外壳”也就是shell(命令行解释器)来与kernel沟通。

shell主要作用:

   #将使用者的命令翻译给核心(kernel)处理。

   #同时,将核心的处理结果翻译给使用者。

我们常使用的bash就是shell的一种。

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户

超级用户:可以在Linux下做任何事情,不受限制

普通用户:在Linux下做有限的事情

超级用户的命令提示符可以是“#”,普通用户的命令提示符是“$”

超级用户和普通用户直接如何切换?

(1)普通用户切到超级用户

su

再输入root密码,可切换到root用户

exit或Ctrl d热键可从root身份退回普通。

su指令只是直接将身份变为root,并不是以重新登录的方式。

su -

带“-”的才是以重新登录的方式转换。

再输入root密码,可切换到root用户

exit或Ctrl d热键可从root身份退回普通。

Linux基本指令【下】_第1张图片

(2)超级用户切到其他普通用户

先输入su 用户名

再输入要切换的用户的密码

sudo 【要执行的指令】

功能:用root身份来执行sudo后面的指令

注意:如果我们是adduser新建的用户,没有颁发执行的sudo,系统不信任你,将普通用户添加到系统信任白名单里面。

Linux权限管理 

什么叫做权限?

1、权限认证的是身份(权限的“人”有关)

2、权限也和事物的“属性”有关

一、文件访问者的分类(人)

角色,权限身份:

拥有者

所属组

其他人

二、文件类型和访问权限(事物属性)

Linux基本指令【下】_第2张图片

第一列的d和-表示的是文件类型,后面9列表示文件属性。

1、文件的类型(Linux系统中文件的后缀没有直接的意义。)(但不代表不用)

-:普通文件文本文件、可执行程序、库

d:目录文件

b:块设备文件(磁盘文件)

c:字符设备文件(键盘、显示器文件等)

p:管道文件

2、文件权限属性

r:可读

w:可写

x:可执行

-:对应的权限位置,没有权限

第一个JY1那一列表示文件的所属者

第二个JY1表示文件的所属组

4096是文件大小,单位字节

再后是文件创建或修改时间

去掉第一列,后面的9列,

3个3个为一组,

如第一行rwx为一组(代表拥有者权限),rwx为一组(所属组权限),r-x为一组(其他组权限) 

每组第一个位置表示读(r/-),第二个位置表示写(w/-),第三个位置表示执行(x/-)

-表示没有对应的权限。

注意:root不受限制 

可以修改权限的只有两种身份:拥有者和root

1、修改权限方法一:chmod

u:拥有者   g:所属组  o:其他组

+:增加     -:去掉

r:读     w:写   x:执行

:chmod u-rwx,g-rwx,o-rwx test.txt

这条指令是将test.txt的所有权限都改成否Linux基本指令【下】_第3张图片

:chmod u+rwx test.txt

这条指令是给文件test.txt拥有者加上可读可写可执行的权限

:chmod o+r test.txt

给其他组加上可读权限。 

 2、修改权限方法二:用二进制转八进制

权限符号(读写执行) 八进制 二进制
r 4 100
w 2 010
x 1 001
rw 6 110
rx 5 101
wx 3 011
rwx 7 111
--- 0 000

更改文件拥有者

sudo chown 【用户名】【文件名】

修改文件或目录的所属组

chgrp 【参数】【用户组名】【文件名】

-R递归修改文件或目录的所属组

注意:

如果我即是拥有者又是所属组

拥有者权限为r--   所属组权限为rw-

那我到底有没有写的权限呢?

答案是:没有

why?

因为先看到的是拥有者权限,我(拥有者)只有r权限,就不往后看所属组合其他组了。

权限掩码 

普通文件默认给的起始权限是666

目录文件默认给的起始权限是777

为什么我们新建文件时看到的却是普通文件664,目录文件775呢?

Linux基本指令【下】_第4张图片

 实际上你所创建的文件和目录,看到的文件往往不是上面这个值。原因是创建文件或目录的时候还要受到umask的影响。

格式:umask 权限值

普通用户默认是0002,root用户默认是0022(可用umask修改) 

最终权限 = 起始权限&(~掩码值)

Linux基本指令【下】_第5张图片

r:是否允许我们查看指定文件下的目录内容

w:是否允许我们在当前目录下创建和更改

x:是否允许用户进入对应的目录

普通用户自己的家目录权限是700,我在我的家目录创建的文件,别人看不到

 有时候,我们需要多个用户进行文件数据共享

因此我们所建立的共享文件,不能在任何一个人的家目录下

一个文件能否被删除,并不由文件本身决定,由这个文件所处的目录决定

你可能感兴趣的:(Linux系统编程,linux,运维,服务器)