grep查询文件中的关键字、cut截取字符串、sort排序、uniq去冗余、sed、新加硬盘使用

本文详细介绍Linux下常用的命令,包括grep用于搜索关键字,cut用于截取字符,sort进行排序及去重,uniq处理重复数据,sed实现文本编辑等功能。此外还介绍了如何通过shell脚本批量创建用户,以及硬盘分区和内存扩展的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

####2.grep####
grep    关键字符        文件|目录    ##在文件或者目录中查找含有关键字的行

grep    -i        ##忽略大小写
    -n        ##显示关键字所在行
    -c        ##显示过滤结果的个数
    -v        ##反向过滤
    -E “关键字1|关键字2”    #过滤多个关键字
    -r    目录    ##在目录中查找含有关键字的文件
^root 以root开头的
root$ 以root结尾的

ifconfig eth0 | grep inet | grep inet6 -v | awk -F " " '{print $2}'

####3.cut####
cut            ##截取字符
cut -d 分隔符        ##指定分隔符
cut -f 1,7        ##显示指定的列
cut -c 1-4        ##显示指定的字符

####4.sort####
sort
    -n        ##纯数字排序
    -u        ##去冗余        
    |uniq -c    ##去冗余并统计冗余次数
    -t        ##指定分隔符
    -k        ##指定列

####5.uniq####

sort file |uniq -c    ##去除冗余并统计冗余次数    
        -d    ##显示冗余行
        -u    ##现实唯一行

####6.sed####

sed 's/源字符串/替换字符/g' file
sed -e '策略1' -e '策略2' file
sed -i file            ##把转换后的内容输入到指定的文件
sed '3,5s/源字符/替换字符/g'    ##3-5行替换
sed xd                ##屏蔽指定行
sed xp                ##复制指定行
sed -n  xp            ##只显示指定行

问题:创建两个文件,分别提取两个文件的每行,作为用户和密码创建用户shell脚本

#!/bin/bash
MAX=$(wc -l $1 | cut -d " " -f 1 )

for NUM in $(seq $MAX)
do
    USERNAME=$(sed -n ${NUM}p $1)
    PASSWD=$(sed -n ${NUM}p $2)
    useradd $USERNAME
    echo $PASSWD | passwd --stdin $USERNAME
done

####硬盘划分####

fdisk -l        ##连接在电脑上的设备
cat /proc/partitions    ##电脑识别的设备
blkid            ##电脑可以用的设备

fdisk /dev/sdb        ##这里以sdb为例子

Command (m for help): m
Command action
   a   toggle a bootable flag            
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition            ##删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu                ##显示菜单
   n   add a new partition            ##划分一个新分区
   o   create a new empty DOS partition table
   p   print the partition table        ##显示分区信息
   q   quit without saving changes        ##推出不保存
   s   create a new empty Sun disklabel
   t   change a partition's system id        ##修改分区功能id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit        ##保存更改到分区表中
   x   extra functionality (experts only)

Command (m for help): n                ##划分新分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):                 ##回车表示默认
Using default response p
Partition number (1-4, default 1): 1        ##指定分区号
First sector (2048-2097151, default 2048):     ##分区起始地址(不写表示默认开始)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +1M    ##指定大小1M
Partition 1 of type Linux and of size 1 MiB is set

Command (m for help): wq            ##保存并退出更改

partprobe                    ##同步分区表

mkfs.xfs /dev/vdb5                ##格式化

mount /dev/vdb5 /mnt                ##挂载即可使用

####内存扩展####

swapon -s                    ##查看内存情况

fdisk /dev/vdb
划分一块区域并更改区域功能标记为swap

mkswap /dev/vdb6                ##格式化swap分区
blkid                        ##显示可用分区
swapon -a /dev/vdb6                ##添加/dev/vdb6到swap中
swapoff /dev/vdb6                ##从swap中删除/dev/vdb6

另一种添加内存的方法

dd if=/dev/zero of=/mnt/westos bs=1M count=1000

mkswap /mnt/westos
chmod 0600 /mnt/westos            ##给权限
swapon -a /mnt/westos -p 1        ##-p指定内存级别

编写文件
vim /etc/fstab

例子:
/dev/vdb6    swap    swap    defaults    0    0

开机自动挂载内存





































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值