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

news2024/11/23 19:42:45

目录

思维导图

搜索查看查找类

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.coloradmin.cn/o/1942316.html

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

相关文章

google 浏览器插件开发简单学习案例:TodoList

参考&#xff1a; google插件支持&#xff1a; https://blog.csdn.net/weixin_42357472/article/details/140412993 这里是把前面做的TodoList做成google插件&#xff0c;具体网页可以参考下面链接 TodoList网页&#xff1a; https://blog.csdn.net/weixin_42357472/article/de…

Web前端:HTML篇(一)

HTML简介&#xff1a; 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。 您可以使用 HTML 来建立自己的 WEB 站点&#xff0c;HTML 运行在浏览器上&#xff0c;由浏览器…

android studio中svn的使用

第一步&#xff0c;建立一个项目。 第二步&#xff0c;share project。 第三步&#xff0c;选择存放的位置&#xff0c;然后添加提交信息&#xff0c;最后点击share。这样就可以在svn上面看到一个空的项目名称。 第四步&#xff0c;看到文件变成了绿色&#xff0c;点击commit图…

驾驭云原生日志洪流:高效分析与管理的策略集

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、日志管理在云原生架构中的重要性 2、云原生环境的特…

Open-TeleVision复现及机器人迁移

相关信息 标题 Open-TeleVision: Teleoperation with Immersive Active Visual Feedback作者 Xuxin Cheng1 Jialong Li1 Shiqi Yang1 Ge Yang2 Xiaolong Wang1 UC San Diego1 MIT2主页 https://robot-tv.github.io/链接 https://robot-tv.github.io/resources/television.pdf代…

Java | Leetcode Java题解之第273题整数转换英文表示

题目&#xff1a; 题解&#xff1a; class Solution {String[] singles {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};String[] t…

Linux下安装Redis(超简单)

1.下载 选着自己需要下载的版本后&#xff0c;右击选择复制链接&#xff0c;然后利用命令进行下载&#xff0c;进入Xshell控制台&#xff0c;输入wget将复制的链接粘帖上&#xff0c;这里我选择的是6.0.6版本。 命令如下&#xff1a; wget https://download.redis.io…

QML学习——Qt Quick Controls 1 Examples Calendar/FileSystemBrowser(九)

02 File System Browser Show: Notes: 使用了自定义的继承自QFileSystemModel的类&#xff0c;在原有的基础上新加了角色(role)&#xff0c;并且重写了QFileSystemModel中的data函数、及角色和字符串描述对应的哈希表&#xff1b; 使用系统的文件资源管理器打开该文件的链接&…

资产拆分、资产分割的操作,事务代码ABUMN

在公司常见的业务运行中可能会有这样的场景&#xff1a;资产A 需要拆分成资产B 和 C。这个时候就需要使用到资产分割或者资产转移的操作 &#xff0c;事务代码ABUMN。 我司的实际业务场景是这样的&#xff0c;当初想分别入账给A和B的资产。一年之后发现&#xff0c;当时操作错误…

高清录屏无压力,这四款软件助你轻松搞定

现在不论是教育、娱乐还是工作电脑怎么录屏都成为这些领域里不可或缺的一部分。掌握录屏软件&#xff0c;也能成为个人的软实力之一哦&#xff0c;下面我介绍几款可以快速上手的录屏软件来为你增加实力。 1、福晰REC大师 这款软件我是觉得他是我最快上手的一个工具&#xff0…

Unity UGUI 之 Dropdown

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 1.Dropdown是什么 下拉列表 2.重要参数 首先这些参数和Button差不多&#xff0c;不过多…

昇思MindSpore学习入门-格式转换

MindSpore中可以把用于训练网络模型的数据集&#xff0c;转换为MindSpore特定的格式数据&#xff08;MindSpore Record格式&#xff09;&#xff0c;从而更加方便地保存和加载数据。其目标是归一化用户的数据集&#xff0c;并进一步通过MindDataset接口实现数据的读取&#xff…

基于微信小程序+SpringBoot+Vue的校园自助打印系统(带1w+文档)

基于微信小程序SpringBootVue的校园自助打印系统(带1w文档) 基于微信小程序SpringBootVue的校园自助打印系统(带1w文档) 管理信息可以处理复杂的信息从而提高用户的工作效率&#xff0c;减少失误。所以本基于Vue和微信小程序的校园自助打印系统的开发非常有意义&#xff0c;本系…

科研绘图系列:R语言TCGA分组饼图(multiple pie charts)

介绍 在诸如癌症基因组图谱(TCGA)等群体研究项目中,为了有效地表征和比较不同群体的属性分布,科研人员广泛采用饼图作为数据可视化的工具。饼图通过将一个完整的圆形划分为若干个扇形区域,每个扇形区域的面积大小直接对应其代表的属性在整体中的占比。这种图形化的展示方…

react入门到实战-day2-7.21

昨天晚上刚学完已经一点了&#xff0c;来不及写笔记&#xff0c;主要是想睡觉哈&#xff0c;所以今天补上&#xff0c;我发现效率还挺高的&#xff0c;今天重新做笔记&#xff0c;加固了昨天的知识点&#xff0c;要不以后都这样子哈&#xff0c;学完第二天再写哈&#xff0c;要…

【MSPM0G3507】CCS-Sysconfig配置 按键控制LED(二)

1.相关配置 主控&#xff1a;MSPM0G3507编译环境&#xff1a;CCS 2.板子以及原理图 3.Sysconfig配置 LED配置一样 按键为INPUT DL_GPIO_readPins(GPIO_SWITCHES_PORT, GPIO_SWITCHES_USER_1_PIN)// 读取端口状态类型为uint32_t &#xff0c;返回的是对应引脚的状态位。比如…

react中组件间的通信

一、父传子 1.代码展示 import React, { useState } from react;function SonPage(props){ // 子组件const {msg} propsreturn (<div>我是子组件 {msg}</div>) }function App() { // 父组件const [msgText,setMsgText] useState(父传子)return (<div classN…

四、GD32 MCU 常见外设介绍 (5) TIMER 模块介绍

5.1.TIMER 基础知识 TIMER分高级定时器&#xff0c;通用定时器L0&#xff0c;L1&#xff0c;L2和基本定时器。 5.2.硬件连接说明 TIMER 属于片内外设&#xff0c;对于外部硬件设计&#xff0c;只需要单独IO口外接信号线即可。 5.3.GD32 TIMER 外设原理简介&#xff08;以 G…

wsl –install 遇到灾难性故障

windows10 使用wsl 安装Linux系统遇到&#xff1a;灾难性故障 解决办法

VideoAgent: Long-form Video Understanding with Large Language Model as Agent

VideoAgent: Long-form Video Understanding with Large Language Model as Agent 基本信息 博客贡献人 燕青 作者 Xiaohan Wang, Yuhui Zhang, et al. 标签 Large Language Model Agent, Long-form Video Understanding, Vision-Language Foundation Models 摘要 长视…