文章目录
Linux 时间日期类
- date指令-显示当前时间
- date 基本语法
- date 显示当前时间
- date +%Y :显示当前年份
- date + %m :显示当前月份
- date + %d :显示当前是哪一天
- date “%Y-%m-%d%H:%M:%S ”:显示年月日时分秒
- date 应用案例
- 显示当前时间信息:date
- 显示当前时间年月日:date “%Y-%m-%d”
- 显示当前时间年月日时分秒 :date “%Y-%d%H:%M:%S”
使用date指令设置最新时间
- 基本语法:date -s 字符串时间
- 设置系统当前时间,比如 设置为 2020-12-12 12:12:12
`date -s " 2020-12-12 12:12:12"
cal 指令
- cal 是查看日历的指令
- cal基本语法:cal [选项] ;不加选项,只显示本月日历
- cal 应用案例
- 显示当前日历 :cal
- 显示2020年日历: cal 2020
搜索查找类
find指令
- find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
- 基本语法;find [搜索范围] [选项]
- 选项说明
- -name<查询方式> 按照指定的文件名查找模式查找文件 ,可以使用适配符 * ?
- -user<用户名> :查找属于指定用户名所有文件
- -size<文件大小> :按照在指定的文件大小查找文件
- find 应用案例:
- 按文件名,根据名称查找/home 目录下的hello.txt 文件
find /home -name hello.txt
- 按拥有者,查找/opt 目录下,用户名称为nobody的文件
find /opt -user nobody
- 查找整个Linux系统下大于10M的文件(+n 大于,-n 小雨 ,n 等于)
find / -size +10M
- 按文件名,根据名称查找/home 目录下的hello.txt 文件
locate指令
- locate指令可以快速定位文件路径
- locate指令利用事先建立的系统中所有文件名称以及路径的locate数据库实现快速定位给定的文件
- locate指令无需遍历整个文件系统,查询速度比较快,为了保证查询结果的准确性,管理必须定期更新locate时刻
- locate基本语法
- locate 搜索文件
- 用法说明:由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
- locate指令案例
- 使用locate指令快速定位 hello.txt文件所在目录
locate hello.txt
- 使用locate指令快速定位 hello.txt文件所在目录
grep指令和管道符号 |
- grep 过滤查找,管道符号
|
表示将前一个命令的处理结果输出传递给后面的命令处理 - grep基本语法:
grep [选项] 查找内容 源文件
- grep 常用选项 :
- -n 显示匹配行以及行号
- -i 忽略字符大小写
- grep 案例
- 在 /etc/profile 文件中查找 if 所在行,并显示行号
grep –n if /etc/profile [在/etc/profile 中查找 if ,并显示行,区别大小写]
grep –ni if /etc/profile [在/etc/profile 中查找 if ,并显示行,不区别大小写]
- 配合管道符号
|
,使用案例,查看当前服务器有没有sshd服务在监听
netstat -anp | grep sshd
- 在 /etc/profile 文件中查找 if 所在行,并显示行号
压缩和解压类
gzip/gunzip 指令
- gzip/gunzip 指令:gzip用于压缩文件,gunzip 用户解压缩
- 基本语法:
- gzip 文件 ; 压缩文件,只能将文件压缩为 .gz 文件
- gunzip 文件.gz :解压缩文件命名
- 应用案例
- gzip压缩:将hello.txt文件进行压缩
gzip hello.txt
- gunzip解压缩 ,将hello.txt.gz 文件进行解压缩
gunzip hello.txt.gz
- gzip压缩:将hello.txt文件进行压缩
zip/unzip指令
- zip 用于压缩文件,unzip 用于解压文件,zip/unzip常用于项目打包发布中
- 基本语法
- zip [选项] xxxx :需要压缩的内容,压缩文件和目录
- unzip [选项] xxx.zip :解压缩文件
- zip常用选项 :- r ;递归压缩,即压缩目录
- unzip 常用选项 : -d<目录> :指定解压后文件的存放目录
- 应用案例
- 将 /home 下的所有文件进行压缩成 test.zip 退出 /home
zip -r test.zip /home/
- 将test.zip 解压到 /home/temp 目录下
unzip -d /opt/temp test.zip
如果/home/temp 目录不存在,则会自动创建
- 将 /home 下的所有文件进行压缩成 test.zip 退出 /home
tar指令
- tar指令是打包指令,最后打包后的文件是
.tar.gz
文件 - tar 指令可以压缩和解压
- tar基本语法:tar [选项] test.tar.gz 打包的内容/目录:打包目录,压缩后的文件格式为.tar.gz
- tar 选项说明·
- -c ;产生 tar 打包文件
- -v :显示详细信息
- -f: 指定压缩后的文件名
- -z: 打包同时压缩
- -x :解压打包的tar文件
组管理和权限管理
- Linux中的每个用户都必须属于一个组,不能独立于组外
- 再Linux中,每个文件有所有者,所在组,其他组的概念
- 在Linux中,一个用户属于一个组
- 当我们创建一个用户后,默认的会在/home/xxx创建一个和用户相同的目录,该目录就是用户家目录
- 当一个用户登录后,默认会切换到/home/用户名 的目录
- 一个用户默认是不能进入到其他用户目录的
- 用户的权限体现在对文件的操作
文件/目录的所有者
- 一般为文件的创建者,谁创建该文件,就自然的成为了该文件的所有者
- 查看文件的所有者:ls -ahl
- 应用实例,创建一个组 test,再创建一个用户ryx,然后将ryx放在test组中,然后使用ryx去创建一个ryx.txt文件,
- 我的虚拟机炸了,就不在虚拟中写这段命令了
gouupadd test useradd -g test ryx .... ls -ahl
修改文件所有者
- 指令:chown 用户名 文件名
- 先创建一个test.txt文件,然后将其所有者修改为ryx
touch test.txt
chown ryx test.txt
改变用户所在的组
- 在添加用户的时候,可以指定将该用户添加到哪个组中
- 可以使用root管理员权限改变某个用户所在的组
- 改变用户所在组实例
- usermod -g 组名 用户名
- usermod -d 目录名 用户名 :改变用户登录的初始目录
- 应用实例:
- 创建一个temp组,将ryx这个用户从原本的test组修改到temp组
usemod -g temp ryx
- 创建一个temp组,将ryx这个用户从原本的test组修改到temp组
权限的基本介绍
- ls -l 显示的内容如下
[root@CentOS home]# cd
[root@CentOS ~]# ls -l
总用量 100
-rw-------. 1 root root 1392 9月 27 22:27 anaconda-ks.cfg
-rw-r--r--. 1 root root 45703 9月 27 22:27 install.log
-rw-r--r--. 1 root root 10033 9月 27 22:25 install.log.syslog
drwxr-xr-x. 2 root root 4096 9月 27 22:30 公共的
drwxr-xr-x. 2 root root 4096 9月 27 22:30 模板
drwxr-xr-x. 2 root root 4096 9月 27 22:30 视频
drwxr-xr-x. 2 root root 4096 9月 27 22:30 图片
drwxr-xr-x. 2 root root 4096 9月 27 22:30 文档
drwxr-xr-x. 2 root root 4096 9月 27 22:30 下载
drwxr-xr-x. 2 root root 4096 9月 27 22:30 音乐
drwxr-xr-x. 3 root root 4096 9月 28 06:16 桌面
-
表示普通文件,d
:表示目录 ,l
:链接文件·c
;字符设备文件(键盘鼠标),b
:块设备文件(硬盘)- drwx表示文件拥有者所拥有的文件权限
d
表示删除,r
:读取,x
:执行权限 - 1392 表示文件大小,如果说是目录则统一为4096
rwx权限详解
rwx作用到文件
- r代表可读。
- w代笔可以写,可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件有写权限,才能删除该文件
- x 代表执行权限,可以被执行
rwx作用到目录
- r代表可读,可以读取,ls查看目录内容
- w代表可写,可以修改,目录内创建+删除+重命名目录
- x 代表可执行,可以进入该目录
修改权限-chmod
-
通过修改权限chmode指令,可以修改文件或目录权限
-
第一种变更权限的方法通过 + ,-,=变更权限
- u: 所有者,g:所有组,o:其他人 。a:所有人(u,g,o的总和)
-
chmod命令的使用
- chmod u=rwx,g=rx,o=x 文件,目录 :表示给所有者rwx,给所在组的用户rx,给其他人x权限
- chmod o+w :文件/目录 :表示给其他用户增加w的权限
- chmod a-x :文件/目录:表示给所有用户去掉 x权限
-
chmod案例
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
chmode u=rwx,g=rx,o=rx abc
- 给abc文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc
- 给abc文件的所有用户添加读的权限
chmod a+r abc
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
通过数字变更权限
- r=4 ,w=2,x=1,rwx = 4+2+1=7
- chmode u=rwx,g=rx,o=x 文件/目录 等于 chmode 751 文件/目录
- 使用数字更改权限的案例;将 /home/abc.txt文件的权限修改成 rwxr-xr-x ,使用给数字的方式实现
chmod u=rwx,g=xr,o=x /home/abc.txt
;
chmod 751 /home/abc.txt
修改文件所有者 -chown
chown基础命令
- chown newowner file 改变文件的所有者
- chown newowner:newgroup file 改变用户的所有者和所有组
- chown 常用的选项 -R :如果是目录,则使其下所有子文件或目录递归生效
- chown 案例演示
- 将/home/test.txt 文件的所有者修改成 ryx
chown ryx /home/test.txt
- 将 /home/test 目录下的所有文件和目录的所有者都修改成ryx:
chown -R ryx /home/test
- 将home 下的所有文件和目录的所有者都改成ryx,将所在组改为temp
chown - R ryx:test /home/
- 将/home/test.txt 文件的所有者修改成 ryx
修改文件所在的组 -chgrp
- chgrp newgroup file 改变文件的所有组
- chgrp 案例:
- 将/home/test.txt 文件的所有组修改为 ryxtest
chgrp ryxtest /home/test.txt
- 将 /home/kkk 目录下的所有的文件和目录的所有组都修成 ryxtest
chgrp -r ryxtest /home/kkk
- 将/home/test.txt 文件的所有组修改为 ryxtest