学习大数据DAY21 Linux基本指令2

目录

思维导图

搜索查看查找类

find 从指定目录查找文件

head 与 tail 查看行

cat 查看内容

more 查看大内容

grep 过滤查找

history 查看已经执行过的历史命令

wc 统计文件

du 查看空间

管道符号 | 配合命令使用

上机练习 4

解压安装类

zip unzip 压缩解压

tar 压缩解压

Yum 包管理

用户权限类

基本介绍

用户及用户组

用户和组的相关文件

rwx 权限详解

chmod 修改权限

chown 修改文件所有者

上机练习 5

自主发挥:

vim 编辑更完整版


思维导图

搜索查看查找类

find 从指定目录查找文件

-name <查询方式> 按照指定的文件名查找模式查找文件
-mtime n 查找 n 天以前被修改过的所有文件。
-exec<执行指令>:假设 find 指令的回传值为 True,就执行该指令;
-size <文件大小> 按照指定的文件大小查找文件
find /root -name "*.pdf"
find /root -name "*.pdf" -a -size +1M
find /root -mtime +7 #七天前被修改过的文件
find /root -name "*.sql" -exec ls -l {} \; #查找文件并以 ls -l 形式显示
find /root -name "*.pdf" -exec rm -f {} \;

head 与 tail 查看行

head -n 文件名 (不加默认开头十行)
tail -n 文件名 (不加默认结尾十行)
head 3.txt
tail 3.txt
head -n +3 3.txt
#只显示前三行
tail -n -3 3.txt
#只显示后三行

cat 查看内容

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
-n 显示行号包括空行
-b 跳过空白行编号
-s 将所有的连续的多个空行替换为一个空行(压缩成一个空行)
cat 1.log 2.log
cat -sb test.log

more 查看大内容

more 分屏查看文件(敲空格查看下一页)

grep 过滤查找

以行为单位进行查找,显示结果为满足的行
-c 统计满足的行数
-v 反转不包含
grep "p" 1.txt 单文件搜索包含 p 的行
grep "P" 1.txt b.txt 多文件搜索
grep -v "p" 1.txt 单文件搜索不包含 p 的行
grep -c "p" 1.txt #统计出现多少行
grep "n$" 1.txt #现实以 n 结尾的行
grep "^n" 1.txt #现实以 n 开头的行

history 查看已经执行过的历史命令

history
history 5 最近五个命令

wc 统计文件

查看文件的字节数 wc -c t2.txt
查看文件的行数 wc -l t2.txt

du 查看空间

du -h 人性化方式(带单位)
du -s 只统计每个参数所占用空间总的大小
du -sh /etc

管道符号 | 配合命令使用

管道符 | 表示将前一个命令的处理结果输出传递给后面的命令处理
> 和 >> 指令
> 输出重定向(覆盖写), >> 追加(追加写)
示例:
ls -l | grep -c "^d"
ls -l | grep "^d" | wc -l
history | grep -c "ls" history | grep "ls" | grep "s$" > ttt.txt
cat a.txt b.txt >> ttt.txt
cat a.txt b.txt | grep "s" >> ttt.txt

上机练习 4

上机练习 4
1. /etc/passwd 文件拷贝到 /root/ 目录下,并改名为 ptest
mv /etc/passwd /root/
cd /root
mv passwd ptest
2. 查看 ptest 的前八行数据
head -n +8 ptest
3. 过滤查看 ptest 文件中包含 root 的行
grep "root" ptest
4. 查看 /home 目录占用空间
du -sh /home
5./root 中新建文件 test.log ,插入内容如下:
@directory-client
@gnome-apps
@gnome-desktop
cd /root
touch test.log
vim test.log
i
插入
ESC
:wq!
6. test.log ptest 合并到 /root 目录下的 test1.log
cd /root
cat test.log ptest >>test1.log
7. /root 目录下的 ptest 加上行号输出到 test2.log
cat -sb ptest >>test2.log
8. 查找并显示根目录下大于 1M png 文件
find /root -name "*.png" -a -size +1M
9. 统计系统上使用 ls 命令的次数
history | grep -c "ls"
10. /root/ptest 中出现了 root 的行存储到 test.txt 文件
grep "root" /root/ptest >> test.txt
11. 根据名称查找 /root 下的 txt 文件
find /root -name "*.txt"
12. 查找整个 linux 系统下大于 20M 的文件 (+n 大于 -n 小于 n 等于 )
find / -type f -size +20M 13. 查找 /root/xxx/yyy/zzz 下所有 .txt 文件并把他们删掉
find /root/xxx/yyy/zzz -name "*.txt" -exec rm -f {} \;
14. 统计 ptest 文件的字节数
wc -c /root/ptest
15. 统计 ptest 文件以 s 开头的行的数量
grep "^s" ptest |wc -l

解压安装类

zip unzip 压缩解压

# 压缩文件和目录
zip 文件名.zip 将要压缩的内容
# 解压缩文件
unzip 文件名.zip
常用选项
-r:递归压缩,即压缩目录
-d<目录> :指定解压后文件的存放目录
zip test.zip -r a/b 注:绝对路径压缩会带前面的路径文件夹
unzip linux.x64_11gR2_database_1of2.zip -d /opt/app/database/

tar 压缩解压

-z
调用 gzip 程序进行压缩或解压
-c
创建(Create).tar 格式的包文件
-x
解开.tar 格式的包文件
-C
</解压时指定释放的目标文件夹 指定目录
-v
输出详细信息(Verbose)
-f
表示使用归档文件(一般都要带上表示使用 tar,放在最后)
压缩:tar [选项] ... 归档文件名(压缩包名字) 源文件或目录
解压:tar [选项] ... 归档文件名 [-C 目标目录]
tar -zcvf abc123.tar.gz abc.txt 123.txt 压缩成 abc123.tar.gz 的命令
tar -zcvf abc123.tar.gz m
tar -zxvf abc123.tar.gz -C test/ 解压到指定目录

Yum 包管理

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自
动下载
RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
查询 yum 服务器是否有需要安装的软件 yum list | grep xxx
查询指定的 yum 包信息 yum info xxx 安装指定的 yum 包 yum install xxx
卸载指定的 yum 包 yum remove xxx
查看已安装的软件包 yum list installed
yum install ntpdate # 安装网络对时

用户权限类

基本介绍

登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作
失误。可以利用普通用户登录,登录后再用 su - 用户名命令来切换

用户及用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理。
新增用户组 groupadd xiaoshou
添加用户 useradd xiaomei
添加用户时加上组 useradd -g xiaoshou xiaomei
指定/修改密码 passwd xiaomei
查询用户信息 id xiaomei
切换用户 su - xiaomei
查看当前用户 whoami
修改用户的组 usermod -g 用户组 用户名
删除用户 userdel xiaomei (exit 退出后再删除)
删除组 groupdel xiaoshou

用户和组的相关文件

/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录
Shell
/etc/group 文件
组(group)的配置文件,记录 Linux 包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表

rwx 权限详解

[ r ]代表可读(read): 可以读取
[ w ]代表可写(write): 可以修改
[ x ]代表可执行(execute):可以被执行
-rwxrw-r--. 1 root root 1213 Feb 2 09:39 abc
10 个字符确定不同用户能对文件干什么
第一个字符代表文件类型:文件( - ),目录( d ),链接( l ) 第一组 rwx : 文件拥有者的权限是读、写和执行
第二组 rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组 r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为: r=4,w=2,x=1
因此 rwx=4+2+1=7

chmod 修改权限

通过 chmod 指令,可修改文件或目录的权限
-R 表示递归里面的所有文件及目录
+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
$ chmod u+x file
给 file 的属主增加执行权限
$ chmod 751 file
$ chmod u=rwx,g=rx,o=x file
上例的另一种形式
$ chmod 444 file
同上例
$ chmod a-wx,a+r
file
同上例
$ chmod -R u+r directory
递归地给 directory 目录下所有文件和子
目录的属主分
配读的权限

chown 修改文件所有者

chown [-R] 所有者 文件或目录
-R 表示递归里面的所有文件及目录
chown test02 /root/test.txt
chown -R 用户:组 /usr/local/mysql chown meimei:students 1.txt

上机练习 5

1.将 /root/xxx 压缩成 a.tar.gz
tar -zcvf a.tar.gz
2. 将 a.tar.gz 解压到/root/ceshi/
-zxvf a.tar.gz -C /root/ceshi/
3. 增加用户组 students
groupadd students
4. 添加新用户 kunkun 及 meimei 并直接加到 students 组
useradd -g students kunkun
useradd -g students meimei
5. 指定 kunkun 密码, 然后切换到这个用户
passwd kunkun
su - kunkun
6. 到该用户的家目录新建一个 student.txt
root 账号:chmod 777 /home/
su - kunkun
touch /home/student.txt
7. 查询并写入该用户的用户信息到 student.txt, 退出 exit
管理员账号:su - kunkun
id kunkun>/home/student.txt
8. 使用 root 账号新建文件 1.txt 及 2.txt 对文件/root/1.txt 为所有用户分
配读写执行权限
touch {1..2}.txt
chmod a-x /root/1.txt
9. 对文件/root/2.txt 设置权限为 rwxr-xr--
chmod 754 /root/2.txt
10. 对文件/root/2.txt 设置属组权限增加写的权限
chmod g+w /root/2.txt
11. 给/root/1.txt 文件修改 kunkun 用户及 students 用户组权限
chown kunkun:students /root/1.txt
12. /root/下创建文件夹 open,里面批量创建文件 open1.log...open100.log
mkdir /root/open
touch open{1..100}.log
13. 对文件夹 open 设置为 meimei 用户及 students 用户组权限
chown meimei:students /root/open
14. 对文件夹 open 设置权限为 rwxr-xr-x
chmod 755 /root/open
15. 查看/etc/group 及/etc/passwd 文件内容重定向到/root/open.txt 中
touch open.txt
cat /etc/group /etc/passwd>/root/open.txt
16. 删除用户 kunkun 和 meimei,查看/etc/passwd 的后 3 行数据追加到 /root/open.txt 中
userdel kunkun
userdel meimei
tail -n -3 /etc/passwd > /root/open.txt
17. 删除用户组,查看/etc/group 的后 3 行数据追加到/root/open.txt 中
groupdel students
tail -n -3 /etc/group > /root/open.txt
18. 删除 home 下两个用户的文件夹及里面的内容
rm -rf /home/kunkun
rm -rf /home/meimei
19. 神仙妖怪大战,使用拼音来化名,例如:shaseng 为沙僧
●建立两个组 (神仙, 妖怪),建立用户 (悟空, 八戒, 沙僧),把悟空和八戒放
入妖怪,沙僧放入神仙
groupadd god
groupadd monster
useradd -g monster Wukong
useradd -g monster Bajie
useradd -g god Shasheng
●设置三个用户的密码
passwd Wukong
passwd Bajie
passwd Shasheng (这里设置密码要求太严苛了,我就懒得设了)
●用悟空在自己的家目录下建立一个文件 monkey.txt,该文件要输出 i am a
monkey
chmod 777 /home/
su - Wukong
touch /home/monkey.txt
vim monkey.txt
i
输入
ESC
:wq!
●用 root 账号给八戒一个对悟空文件夹及内容可以 rwx 的权限
chown Bajie /home/Wukong
●八戒修改 monkey.txt 加入一句话( i am a pig )
su - Bajie
vim /home/Wukong/monkey.txt
●测试一下沙僧对该文件有没有权限访问
su - Shasheng
more /home/Wukong/monkey.txt
●把沙僧放入妖怪组
usermod -g monster Shasheng
●让沙僧修改该文件 monkey.txt,加入一句话 ("我是沙僧,我是妖怪!")
chown Shasheng /home/Wukong su - Shasheng
vim /home/Wukong/money.txt
o
输入
ESC
:wq!

自主发挥:

建立一个学习小组,加上组员。
groupadd BringHonor
useradd -g BringHonor HuYingJing
useradd -g BringHonor QinYuXiao
useradd -g BringHonor ShiHaiHong
useradd -g BringHonor MoDeYu

vim 编辑更完整版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git跨库合并

1、背景 A为开发环境的代码仓库&#xff0c;B为生产环境的代码仓库。A和B之间不能通信。开发人员的本地电脑可以和A、B通信。 目的 上线时&#xff0c;需要将A代码合并B代码。 2、实现 2.1 添加远程仓库 2.1.1 代码方式 在B代码仓库中,将A添加为远程仓库。 git remote …

【保姆级教程】油猴脚本的安装使用

目录 前言 一、油猴简介 1. 核心功能 2. 应用场景 3. 安全性与兼容性 4. 社区生态 二、教学开始&#xff08;嫌麻烦直接目录跳转开始学习&#xff09; 1.插件安装&#xff08;以Microsoft Edge浏览器为例&#xff09; 2.获取脚本 3.大展身手 三、扩展&#xff08;脚…

2024年7月23日(samba DNS)

​ 回顾 1、关闭防火墙&#xff0c;关闭selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 2、修改静态IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改uuid的目的是为了保证网络的唯一性 3、重启网络服务 systemctl restart netwo…

Ansible的脚本-----playbook剧本【上】

目录 1.playbook剧本组成 2.playbook剧本实战演练 2.1 实战演练一&#xff1a;给被管理主机安装httpd服务 2.2 实战演练二&#xff1a;定义、引用变量 2.3 实战演练三&#xff1a;指定远程主机sudo切换用户 2.4 实战演练四&#xff1a;when条件判断 2.5 实战演练五&…

【Matlab 传感器布局优化】基于群智能算法的wsn覆盖优化研究

一 背景介绍 无线传感器网络&#xff08;Wireless Sensor Network, WSN&#xff09;作为远程环境监测系统应用的关键技术&#xff0c;能够在有限的能源供应下提供高效的传感和通信服务。覆盖控制是保证高效通信和可靠数据传输的重要手段。鉴于复杂的物理环境限制了节点部署方式…

文本编辑三巨头(grep)

目录 正则表达式 元字符 grep 案例 我在编写脚本的时候发现&#xff0c;三个文本编辑的命令&#xff08;grep、sed、awk&#xff0c;被称为文本编辑三剑客&#xff0c;我习惯叫它三巨头&#xff09;用的还挺多的&#xff0c;说实话我一开始学的时候也有些懵&#xff0c;主要…

Unity3D之TCP网络通信(客户端)

文章目录 概述TCP核心类异步机制 Unity中创建TCP客户端Unity中其它脚本获取TCP客户端接受到的数据后续改进 本文将以Unity3D应用项目作为客户端去连接制定的服务器为例进行相关说明。 Unity官网参考资料&#xff1a; https://developer.unity.cn/projects/6572ea1bedbc2a001ef…

2024年平面设计软件:六大选择

无论是与营销还是产品设计&#xff0c;平面设计都是当今各个行业不可或缺的一部分。然而&#xff0c;随着平面设计软件的范围和复杂性的不断扩展&#xff0c;设计师和业余用户可能更难知道哪些工具最能满足他们的需求。 本文将分析当今流行的分析 6 个平面设计 App&#xff0c…

mac清理软件哪个好用免费 MacBook电脑清理软件推荐 怎么清理mac

随着使用时间的增长&#xff0c;mac电脑会积累一些不必要的垃圾文件&#xff0c;这些文件会占用宝贵的存储空间&#xff0c;影响电脑的运行速度和稳定性。因此&#xff0c;定期清理mac电脑的垃圾文件是非常有必要的。市场上有许多优秀的Mac清理软件&#xff0c;包括一些出色的国…

AI产品经理怎样入门?

AI产品经理需要熟悉AI基础知识&#xff0c;包括AI行业现状&#xff0c;数学统计学&#xff0c;AI模型构建和模型基本概念。 之所以需要具备这些知识&#xff0c;是因为实现AI产品必然会涉及相应的AI技术&#xff0c;如果AI产品经理不了解相应技术基础&#xff0c;就不能很好的…

photoshop学习笔记——移动工具

移动工具&#xff0c;可以对图层进行移动&#xff0c;快捷键 V 使用的素材已经放上了&#xff0c;直接下载即可 按住ctrl 可以自动选取&#xff0c;鼠标点击哪个对象&#xff0c;自动选中哪个图层 按住 shift 校正角度&#xff08;只能沿着直线移动&#xff09; 按住 alt 拖…

llama模型,nano

目录 llama模型 Llama模型性能评测 nano模型是什么 Gemini Nano模型 参数量 MMLU、GPQA、HumanEval 1. MMLU(Massive Multi-task Language Understanding) 2. GPQA(Grade School Physics Question Answering) 3. HumanEval llama模型 Large Language Model AI Ll…

网络七层协议之 网桥、网卡、交换机、路由器、网关 作用

OSI七层模型 和 TCP/IP四层模型 数据传输单位、对应的设备 物理层&#xff1a;网线 数据链路层&#xff1a;网卡、网桥、交换机 网路层&#xff1a;路由器、网关 网卡的作用 网卡(Network Interface Card, NIC)是计算机上用于连接网络的硬件设备。 网卡是计算机连接网络、传…

机器学习实战笔记5数据标准化

1.读取csv文件实现特征化 import numpy as np import pandas as pd from sklearn.preprocessing import StandardScaler StandardScaler是一个用于标准化特征的工具&#xff0c;通过移除均值并缩放到单位方差来实现。 df pd.read_csv("./p039.csv") df scaler S…

windows10 安装CUDA教程

如何在windows10系统上安装CUDA? 1、查看电脑的NVIDIA版本 nvidia-smi 2、官网下载所需CUDA版本 官网地址:https://developer.nvidia.com/cuda-toolkit-archive 我们所安装的CUDA版本需要小于等于本机电脑的NVIDIA版本。推荐使用迅雷下载,速度会更快哦。 3、安装步骤

《你敢不学习?》numpy库——细细学<2>

续接上集: 1、reshape函数&#xff1a;重塑数组的形状 改变数组的维度 其语法为 numpy.reshape(arr, newshape, orderC) 如下图所示 首先生成一个1到17不包括17的16个元素的数组&#xff0c;然后对这个数组进行重塑&#xff0c;使其成为4行4列的二维数组&#xff0c;注意&…

性价比之争:上海闵行装修公司性价比大比拼

在繁华的上海&#xff0c;装修市场的竞争愈发激烈&#xff0c;业主们在追求品质的同时更加注重性价比。今天&#xff0c;我们就来对比几家知名的上海装修公司&#xff0c;看看哪家能在性价比之战中脱颖而出。 1.即住空间装饰即住空间以其“高质量、高效率”而被受消费者好评&a…

Python 使用TCP\UDP协议创建一个聊天室

server端代码&#xff1a; #encodingutf-8 # 服务端代码 import socketdef server():server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)host socket.gethostname()port 12345server_socket.bind((host, port))server_socket.listen(5)print(等待客户端连接…

C++学习笔记03-对象和类(问题-解答自查版)

前言 以下问题以Q&A形式记录&#xff0c;基本上都是笔者在初学一轮后&#xff0c;掌握不牢或者频繁忘记的点 Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系&#xff0c;也适合做查漏补缺和复盘。 本文对读者可以用作自查&#xff0c;答案在后面&#xff0…

C#,.NET常见算法

1.递归算法 1.1.C#递归算法计算阶乘的方法 using System;namespace C_Sharp_Example {public class Program{/// <summary>/// 阶乘&#xff1a;一个正整数的阶乘Factorial是所有小于以及等于该数的正整数的积&#xff0c;0的阶乘是1&#xff0c;n的阶乘是n&#xff0…