1、date指令-显示当前日期
- date 显示当前时间
- date +%Y 显示当前年份
- date +%m 显示当前月份
- date +%d 显示当前是哪一天
- date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒(字母大小写要遵守)
应用:
- date -s #设置日期:
- date -s 2022-11-23 22:00:30 #设置系统当前时间为2021-11-23 22:00:30
2、cal 显示当前月份
cal 2021 //显示2021年的所有的月份
3、搜查查找类
grep指令和管道符号|
- grep过滤查找,管道符号”|“ 表示将前一个命令的处理结果输出传递给后面的命令处理,也就是连续输入两条指令,分步执行
- grep [选项] 查找内容 源文件
- -n 显示匹配行及行号
- -i 忽略字母大小写
在day.txt文件中,查找hello所在行,并且显示行号,下面两条指令逻辑一样
- cat /home/day.txt | grep -n "hello"
- grep -n "hello" /home/day.txt
4、压缩和解压类
需打包归档的文件或目录不存在的,要提前自行创建(touch mkdir)
gzip/gunzip 指令
- gzip用于压缩文件,gunzip用于解压的
- gzip 文件 压缩文件,只能将文件压缩为*.gz文件
- gunzip 文件.gz 解压文件命令
- gzip 压缩 将home目录下的day.txt文件进行压缩
- gunzip 压缩,将/home下的day.txt.gz文件进行解压缩
zip/unzip 指令
- zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的
- zip [选项] xxx.zip 将要压缩的内容 //压缩文件和目录的命令
- unzip [选项] xxx.zip 解压缩文件
zip -r 递归压缩,即压缩目录
unzip -d <目录> :指定解压后文件的存放目录
zip -r myhome.zip /home/ 将/home目录及其包含的文件和子文件夹都进行压缩成myhome.zip
unzip -d /opt/tmp /home/myhome.zip 将home目录下的myhome.zip解压到/opt/tmp目录下
tar 指令
tar指令是打包指令,最后打包后的文件是.tar.gz的文件
- tar [选项] xxx.tar.gz 打包的内容 //打包目录,压缩后的文件格式.tar.gz
- -c 产生.tar打包文件
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
- -x 解包.tar文件
- tar -zcvf pc.tar.gz /home/data.txt /home/day.txt //压缩多个文件,将/home/data.txt和/home/day.txt压缩成pc.tar.gz
- tar -zcvf pc.tar.gz /home/ #将/home的文件夹压缩成myhome.tar.gz
- tar -zxvf pc.tar.gz #将pc.tar.gz 解压到当前目录下
- mkdir /opt/temp # 建立/opt/temp文件
- tar -zxvf /home/myhome.tar.gz -C /opt/temp #将myhone.tar.gz 解压到/opt/temp目录下
5、Linux组基本介绍
在Linux中的每个用户必须属于一个组,不能独立于组外,在Linux中每个文件有所有者、所在组、其它组的概念。
- 所有者
- 所在组
- 其它组
- 改变用户所在的组
文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者
- ls -ahl #查看文件的所有者
- chown 用户名 文件名 #修改文件所有者
- chown word file.txt #使用root创建一个文件file.txt,然后将其所有者修改成word
组的创建 #每个用户必须要属于一个组
groupadd 组名
groupadd one #创建一个组,组名为one
useradd user1 -g one #创建一个用户user,并将该用户放入one组里
文件/目录 所在组
当某个文件创建了一个文件后,这个文件的所在组就是该用户所在的组
ls -ahl #查看文件/目录所在组
使用user1来创建一个文件file1.txt,看看该文件属于哪个组?
当你创建一个文件的时候,这个文件默认属于所有者的所在组,因为用户user1所有者属于所在组one,而在用户user1所有者上创建的文件也属于one的所在组。
修改文件所在的组
chgrp 组名 文件名 #修改文件所在的组
使用root用户创建文件file44.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到one组
- grouadd one44 #创建one44
- touch file44.txt #创建file44.txt文件
- ls -ahl #查看当前这个file44文件属于哪个组
- chgrp one44 file44.txt #修改file44文件属于one44组
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
改变用户所在组
在添加用户是,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组
改变用户所在组
usermod -g 新组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录(用户需要有进入到新目录的权限,不然会报错)
将user1这个用户从原来的组one,修改到one44
6、权限的基本介绍
ls -l 中显示的内容如下:
-rw-r--r--. 1 root one44 0 11月 28 21:58 file44.txt
drwx------. 5 user1 one44 4096 11月 28 21:46 user1
-rw-r--r-- #第一列(10位)
第0为确定文件类型(d,-,l,c,b)
- d:目录相当于Windows的文件夹
- -:普通文件
- l :是链接相当于Windows的快捷方式
- c:字符设备文件,鼠标键盘
- d:块设备,比如硬盘
第1-3位确定所有者(该文件的所有者)拥有该文件的权限 ——user
-rw-r--r--. 1 root one44 0 11月 28 21:58 file44.txt #root用户对该文件file44.txt有读写权限,没有执行权限
第4-6位确实所属组(同用户组的)拥有该文件的权限 ——group
-rw-r--r--. 1 root one44 0 11月 28 21:58 file44.txt #所在组one44的用户对file44.txt文件有读权限,没有写、执行权限。
第7-9位确定其它用户拥有该文件的权限 ——other
-rw-r--r--. 1 root one44 0 11月 28 21:58 file44.txt #其它用户拥有该file44.txt文件的权限
1: 文件:硬连接数 目录:子目录数
0:文件大小(字节)。如果是文件夹显示4096字节
最后修改日期
7、rwx权限详解
rwx作用到文件
r:可读(read),可读取,查看
w:可写(write)可以修改,但是不代表可以删除该文件,删除一个文件前提条件是对该文件所在的目录有读写权限,才能删除该文件
x:可执行(execute)可以被执行
rwx作用到目录
r:可读(read)可以读取,ls查看目录内容
w:可写(write)可以修改,对目录内创建+删除+重命名目录
x:可执行(execute)可以进入该目录
可用数字表示:r=4 ,w=2,x=1 ,即rwx=4+2+1=7
修改权限—chmod
基本说明:通过chmod指令,可以修改文件或者目录的权限
第一种方式:+、—、=变更权限
u:所有者 g:=所有者 o:其他人 a:所有人(u、g、o的总和)
chmod u=rwx g=rx,o=x 文件/目录名
chmod o+w 文件/目录名
chmod a-x 文件/目录名
例子:给text文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u=rwx,g=rx,o=rx text
chmod u-x,g+w text #给text文件的所有者除去执行的权限,增加组写的权限
chmod u+r text #给所有用户添加读的权限
第二种方式:通过数字变更权限
r=4,w=2,x=1 rwx=1+2+3=7
chmod u=rwx,g=rx,o=x 文件目录名 相当于chmod 751 文件目录名
chmod 756 /home/file44.txt #将/home/file44.txt文件权限修改成rwxr-xrw-,使用给数字的方式实现
修改文件所有者-chown
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录,则使其下所有子文件或目录递归生效
chwon root file44.txt #将/home/user1所有者修改为root
修改文件/目录所在组-chgrp
chgrp newgroup 文件/目录 改变所在组
加油加油加油!坚持学下去就是胜利