Linux基础必知必会(二)

举报
诡途 发表于 2021/11/19 02:17:44 2021/11/19
【摘要】 文章目录 一、Linux文件权限管理二、vi/vim编辑器讲解三、find命令讲解四、Linux常用的符号五、sudo权限管理六、Linux时间命令七、at命令八、Linux系统服务命令九、Lin...

一、Linux文件权限管理

1、dr-xr-xr-x. 4 root root 4096 Jul 22 09:24 boot

  • 第一列:不同用户对boot文件可以做哪些操作
  • 第二列:文件的链接数
  • 第三列:文件归哪一个用户所有,通常称作文件的所有者
  • 第四列:文件归哪一个用户组所有,通常称作文件的所属组
  • 第五列:文件的大小,单位是字节。 1kb=1024byte, 1mb=1024kb
  • 第六列:文件的创建日期或者最后修改的日期
  • 第七列:文件的名称

2、Linux文件系统会根据用户对文件的操作权限分为三类

  • 文件的所有者(user)
  • 文件的所属组(group)
  • 其他用户(other)

3、d rwx r-x r-x

  • 第一字符表示文件的类型
    • “d” 表示是一个目录
    • “-” 表示是一个文件
    • “l” 表示是一个链接文件
  • 后面9个字符,每3个字符是一组,一共分3组
    • 第一组:描述的是文件的所有者对该文件拥有哪些操作权限
    • 第二组:描述的是文件的所属组用户对该文件拥有哪些操作权限
    • 第三组:描述的是其他用户对该文件拥有哪些操作权限
  • 权限代表的意义
    • “r” 表示拥有读权限,read的简拼
    • “w” 表示拥有写权限,write的简拼
    • “x” 表示拥有执行权限,execute的简拼
    • “-” 表示所对应的位置权限是没有的

4、修改权限的命令

  • 使用chmod命令修改文件的权限

  • chmod命令文件的所有者或文件的所属组用户以及root用户有权限使用

  • chmod u+r file1 #给文件的所有者添加读权限

  • chmod g-w file1 #文件的所属组用户去掉写权限

  • chmod o+x file1 #文件的其他用户添加执行权限

  • chmod a+r file1 #给所有用户添加读权限

    • “u” -> 表示文件的所有者
    • “g” -> 表示文件的所属组用户
    • “o” -> 表示其他用户
    • “a” -> 表示所有用户

5、文件权限的数字表示法

  • “r” - 4
  • “w” - 2
  • “x” - 1
  • “-” - 0
# 举例:
rwxrwxr-- 774
rwxrw-r-- 764

  
 
  • 1
  • 2
  • 3
  • 使用数字法修改文件的权限
    • chmod 774 file1
    • chmod 764 file1

6、修改文件的所有者用户

  • 示例1:chown zhangsan file1
  • 示例2:chown root:root file1 #同时修改文件的所有者和所属组
  • chown命令只有root用户才有权限使用

7、修改文件的所属组

  • chgrp zhangsan file1
  • chgrp命令只有root用户才有权限使用

二、vi/vim编辑器讲解

1、功能类似于windows操作系统里的记事本,用于编辑文件

2、vi和vim的操作是一样的,vim只不过是vi的升级版本

3、vi编辑器有三种模式

  • 命令行模式(默认打开一个文件时,就是处于命令行模式)
  • 编辑模式(在命令行模式下,按下字母i就会进入编辑模式,在最底端显示"–INSERT–"字样。按esc退出编辑模式)
  • 最后行模式(在命令行模式下,按shift + :就会进入最后行模式,在最底端显示":"字样)

4、命令行模式下的操作

  • 删除:连续按两下d字母,删除光标所在的这行内容
  • 撤销:按字母u撤销操作
  • 复制:连续按两下y字母,复制光标所在的这行内容
  • 粘贴:按字母p粘贴复制的内容
  • 剪切:连续按两下d字母,剪切光标所在的这行内容
  • 复制多行:使用复制命令之前,先按下要复制的行数
  • 删除多行:使用删除命令之前,先按下要删除的行数
  • 快速移动光标
  • 连续按两下g光标移动到文件头部
  • 按G(shift + g)光标移动到文件末尾
  • 进入编辑模式
    • 按i进入编辑模式
    • 按A(shift + a)进入编辑模式,并且光标移动到该行的末尾
  • 保存并退出:按shift + zz

5、在编辑模式下的操作

  • 编辑模式和使用记事本编辑文件是一样的
  • 按Esc退出编辑模式

6、最后行模式下的操作

  • 显示行号:set nu 或 number
  • 文本替换:1,$s/nologin/666/g
    • 1 表示起始行
    • $ 表示末尾行
    • s 表示替换
    • /nologin 表示待替换的内容
    • /666 表示替换内容
    • /g 全部替换
  • 退出:q
  • 强制退出:q!
  • 保存并退出:wq
  • 退出最后行模式(进入命令行模式)
    • 按Esc键

三、find命令讲解

1、功能:根据搜索条件查找文件
2、根据文件名称搜索

#命令格式:find [搜索范围] [-name -iname] 关键字
#示例1:#搜索根目录下,文件名是init的所有文件(注意:这里不是模糊搜索)
find / -name init	 	
#示例2:#搜索根目录下,文件名包含init的所有文件(模糊搜索)
find / -name *init*	
#示例3:#搜索根目录下,文件名以init开头的所有文件(模糊搜素)
find / -name init*	
#示例4:#搜索根目录下,文件名以init结尾的所有文件(模糊搜素)
find / -name *init	
#示例5:#搜索根目录下,文件名是init的所有文件(注意:严格区分大小写,忽略大小写使用-iname选项)
find /tmp -name init	
#示例6:##搜索根目录下,文件名是init的所有文件(注意:忽略大小写)
find /tmp -iname init	

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3、根据文件大小搜索文件

  • 命令格式:find [搜索范围] [-size] 文件大小(单位是数据块)
  • 单位数据块
    • 一个数据块大小是512字节
    • 假设我们要搜索大于100MB的文件
    • 1MB = 1024KB, 100MB = 102400KB
    • 1KB = 1024字节,512字节=文件块,1024字节=2个文件块,1KB = 2个文件块
    • 102400KB = 204800个文件块
    • 命令:find / -size +204800

4、根据文件类型搜索

# 命令格式:find [搜索范围] [-type] [d(目录) 或 f(文件)]
#示例1:搜索根目录下,文件名包含init的所有文件,并且文件类型是目录
find / -name *init* -a -type d 
#示例2:#搜索根目录下,文件名包含init的所有文件,并且文件大于10MB
find / -name *init* -a -size +20480	

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

四、Linux常用的符号

1、| 管道符号

  • 管道符号通常和grep命令一起使用
  • grep是过滤命令,可以筛选搜索内容
  • 示例:
    [root@server1 tmp]# cat passwd | grep root
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/666
    
        
       
    • 1
    • 2
    • 3
  • 管道符号可以把左侧输出的内容传递给右侧的命令继续使用

2、> 输出重定向符号(覆盖)

  • 把原本要输出的内容进行重定向(比如写入到指定的一个文件里)
  • echo命令相当于其他编程语言里的print函数,输出调试
# 示例1:
echo "Hello World" > /tmp/file1
# 示例2:#之前写入的Hello World会被覆盖
echo "My name is zhangsan" > /tmp/file1	

  
 
  • 1
  • 2
  • 3
  • 4

3、>> 输出重定向符号(追加)

#示例:之前吸入的My name is zhangsan不会被覆盖,追加写入
echo "I'm 18 years old." >> /tmp/file1		

  
 
  • 1
  • 2

五、sudo权限管理

1、sudo权限管理是针对命令的

2、权限配置文件:/ect/sudoers

3、配置格式:用户名 操作主机=执行命令的用户身份 执行命令

  • 配置的示例:root ALL=(ALL) ALL
  • 示例1:zhangsan server1=(ALL) reboot

4、要想编辑/etc/sudoers配置文件,必须使用visudo命令打开这个配置文件,然后就可以编译了

5、演示赋予zhangsan用户重启计算机命令

#配置信息:zhangsan	ALL=(ALL)	/usr/sbin/reboot
#使用su命令切换到zhangsan用户,
su - zhangsan
#命令重启计算机
sudo reboot

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

6、查看用户拥有哪些sudo命令

sudo -l

  
 
  • 1

7、查看命令的绝对路径

which reboot

  
 
  • 1

六、Linux时间命令

1、查看系统时间:date
2、修改系统时间:date -s “2019-07-23 14:43:00”

七、at命令

1、定时任务,执行一次之后命令就结束了
2、格式:at [执行任务的时间]
3、举例:

at 14:49
at> echo "hello world" > /tmp/at.txt
ctrl + d 结束输入

  
 
  • 1
  • 2
  • 3

八、Linux系统服务命令

1、查看系统服务命令是否启动

systemctl status [network(网卡服务) 或 atd(定时任务) 或 firewalld(防火墙)]

  
 
  • 1

2、启动系统服务命令

systemctl start [系统服务]

  
 
  • 1

3、关闭系统服务命令

systemctl stop [系统服务]

  
 
  • 1

4、设置系统服务开机启动

systemctl enable [系统服务]
systemctl enable firewalld	#开机启动防火墙服务

  
 
  • 1
  • 2

5、禁止系统服务开机启动

systemctl disable [系统服务]
systemctl disable firewalld	#开机禁止启动防火墙服务

  
 
  • 1
  • 2

九、Linux文件压缩与解压

1、压缩和解压缩的命令

  • 压缩文件
    • gzip只能压缩文件,不能压缩目录
    • 格式:gzip [待压缩的文件]
    • 示例:gzip file1
    • gzip压缩的时候,原文件不会保留
  • 解压文件
    • 格式:gunzip [待解压的文件]
    • 示例:gunzip file1.gz

2、另一种压缩算法bzip2(作为了解就行了)

  • 压缩文件
    • 格式:bzip2 [待压缩的文件]
    • 示例:bzip2 file1
  • 解压文件
    • 格式:bunzip2 [待解压的文件]
    • 示例:bunzip2 file1.bz2
      3、打包和解包命令
  • 打包就是把目录变成一个文件,没有任何压缩算法
  • 打包命令
    • 格式:tar [-选项] [打包后文件名] [待打包的文件]
    • 示例:tar -cvf dir.tar dir
    • 注意:-f参数一定要放在最后
    • “-c” 打包
    • “-v” 显示过程
    • “-f” 签名档(打包后文件的名称)
  • 解包命令
    • 格式:tar [-选项] [待解包文件] [解包路径]
    • 示例1:tar -xvf dir.tar ./ #解压到当前目录
    • 示例2:tar -xvf dir.tar -C /opt/ #解压到其他目录,必须加-C(注意:C是大写的)
    • “-x” 解包

4、打包的同时进行压缩

tar -zcvf dir.tar.gz dir

  
 
  • 1

5、解包的同时进行解压缩

tar -zxvf dir.tar.gz -C ./

  
 
  • 1

十、Linux软件管理


1、CentOS系统的软件包格式为.rpm
2、linux有2种软件管理方式

  • rpm命令
  • yum命令
    3、rpm命令的使用
  • 查看
    • 示例:rpm -qa | grep ‘python’ #查看系统是否有安装python软件
  • 安装
    • 示例:rpm -ivh /media/Packages/zlib-devel-1.2.7-17.el7.x86_64.rpm
  • 卸载
    • 示例:rpm -e --nodeps zlib-devel-1.2.7-17.el7.x86_64

4、yum命令的使用

  • 使用yum命令的前提,保证网络是畅通的,属于在线安装软件
  • 查看
    • 示例:yum list | grep ‘python’
  • 安装
    • 示例:yum install -y lrzsz
  • 卸载
    • 示例:yum remove -y lrzsz

5、我们通常使用yum安装软件,使用rpm -e --nodeps 卸载软件

十一、crontab定时器

1、crontab是周期性定时任务

2、在使用之前需要把crond服务开启

  • 检查是否已经开启
systemctl status crond

  
 
  • 1
  • 如果没开启,则需要开启此服务
systemctl start crond

  
 
  • 1

3、crontab命令的参数

  • -u 可以指定某一个用户执行此任务,通常不需要加
  • -e 编辑定时任务
  • -l 查看当前有哪些定时任务
  • -r 删除定时任务,注意:会把所有定时任务全部删除

4、一个简单的定时任务案例

* * * * * echo hello > /tmp/crontab.txt

  
 
  • 1

5、定时任务时间解读
在这里插入图片描述
如果时间是时间段,可以
使用横杠(-)来表示一段连续的时间;
使用(,)表示若干不连续的时间;
使用星号(*)表示所有的时间;
使用除号(/)表示间隔时间。

6、定时任务练习题

10 21 * * * 命令			每天的21点10分执行命令
0 5 * * 1 命令			每周一的凌晨5点0分整执行命令
30 4 15,16 * * 命令		每月15号和16号的凌晨4点30分执行命令
*/5 4 * * * 命令			每天凌晨4点,每隔5分钟执行一次命令
0 4 * * 1-5 命令			每周一到周五的凌晨4点0分执行命令
0 0 1,15 * 1 命令		每月1号和15号,每周1的0点0分都会执行命令

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

7、删除某一个定时任务,使用crontab -e打开定时任务,然后使用dd删除保存即可

8、纠正虚拟机时间sudo date -s “2019-07-26 14:27:10”

上一篇:《Linux基础必知必会(一)》

文章来源: blog.csdn.net,作者:诡途,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_35866846/article/details/109253988

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。