linux shell操作- 03 用户切换及shell案例

用户切换

  • linux是多用户的、多进程的操作系统,通常多个用户之间需要来回切换;
  • su,switch user 命令
    • 参数 - , 切换用户,同时切换工作目录(为目标用户的家目录)
    • 参数 -c cmd,切换到目标用户,执行一条指令,然后切回原用户;
    • 参数 -m -p ,保持原用户的环境变量;
    • 参数 -l,重新登录该用户;
    • 参数 user,需要切换的用户
    • 命令案例
# 切换到 jack 用户
su jack  # 不切工作路径
su - jack # 切换工作路径和环境变量

# lauf 用户下 切到root(同时切工作路径)  执行pwd, 然后切回lauf
su -c pwd - root
# 需要输入root密码

# 切换到root账户
sudo -s  # 输入当前用户的密码
su root # 输入root 密码

 

流编辑器sed

  • stream editor, 简称sed;
  • 文件或者标准输入内容放入模式(内存)空间,进行编辑,然后输出;
  • 选项
    • -n 抑制流编辑器的输出;
    • -i 原位修改,加 [后缀]时进行备份;默认不在源文件中修改
    • -e 表达式
    • -r 扩展的正则表达式
    • -f 执行脚本文件 myscript.sh,将表达式写在脚本中,用脚本来处理文件;
    • -l 行的长度
  • 表达式
    • s 替换,将匹配的内容替换为指定内容;
    • d 删除,删除匹配到的;若删除部分字符,用替换;
    • a 增加,增加内容;
    • i 插入,插入内容;
    • c 替换,将匹配到的行整体替换为指定内容;
    • p 打印,打印输出;
    • = 输出行号;
# 处理文件,将一个或者多个文件的内容,读入模式空间,逐行处理;
sed -n -e 'expression1' -e 'expression2'  file1 file2

# 打印a.txt的内容
sed -n -e 'p' a.txt
# 打印a.txt的指定行
sed -n -e '1,${p}' a.txt
sed -n -e '1,3p' a.txt
# 打印a.txt的内容,并输出行号
sed -n -e '1,${=;p}' a.txt
# 输出非注释的行
sed -n -e '/^#/!{=;p}' a.txt
# 输出非注释、非空行、不匹配jack的行
sed -n -e '/^#/!{/^$/!{/jack/!{=;p}}}' a.txt

# 替换
# 准备文件b.txt,如下图
sed -n -e 's/name/name111/p'
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值