sed替换与别名配置

第1章 Sed替换与别名设置
1.1 cp复制与覆盖
已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。

[[email protected] ~]# cp /mnt/test.txt /tmp/
cp: overwrite `/tmp/test.txt‘?

复制的时候不提示是否覆盖
1.1.1 #方法1
[[email protected] ~]# \cp /mnt/test.txt /tmp/

1.1.2 #方法2 使用命令的绝对路径(全路径)
[[email protected] ~]# which cp #命令的绝对路径(全路径)
alias cp=‘cp -i‘
/bin/cp
[[email protected] ~]# cp /mnt/test.txt /tmp/
cp: overwrite `/tmp/test.txt‘? ^C
[[email protected] ~]# /bin/cp /mnt/test.txt /tmp/

#cp overwrite
#rm 是否删除
#mv 是否覆盖文件

cp === cp -i
rm === rm -i
mv === mv -i

1.2 别名
系统的别名 给命令起了一个外号
#安全
#省事

1.2.1 #第1个里程碑-显示系统中的别名
alias san=‘cp -i‘
alias zhang=‘mv -i‘
alias wang=‘rm -i‘

1.2.2 #第2个里程碑-设置别名
alias wang=‘rm -i‘
alias 别名=‘命令‘
1.3 给rm命令设置别名

1.3.1 #第1个里程碑-配置rm别名-目标

目标:执行rm 屏幕显示rm command bny.

1.3.2 #第2个里程碑-配置rm别名-命令
[[email protected] ~]# echo rm command bny
rm command bny

1.3.3 #第3个里程碑-配置rm别名-临时生效
[[email protected] ~]# alias rm=‘echo rm bny‘
[[email protected] ~]# alias rm
alias rm=‘echo rm bny‘
[[email protected] ~]# rm /tmp/oldboy.txt
rm bny /tmp/oldboy.txt

1.3.4 #第4个里程碑-配置rm别名-永久生效
修改文件 /etc/profile

[[email protected] ~]# tail -5 /etc/profile
done

unset i
unset -f pathmunge
alias rm=‘echo rm bny‘

生效
[[email protected] ~]# source /etc/profile
[[email protected] ~]# alias rm
alias rm=‘echo rm bny‘

1.3.5 #第5个里程碑-巨坑
[[email protected] ~]# vim /root/.bashrc

.bashrc

User specific aliases and functions

alias rm=‘rm -i‘

alias cp=‘cp -i‘
alias mv=‘mv -i‘

Source global definitions

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

1.3.6 #第6个里程碑-重新登录 并检查
[[email protected] ~]# alias rm
alias rm=‘echo rm bny‘

1.4 如何配置别名:
1.4.1 命令行-临时生效 与检查
alias rm=‘echo rm bny‘
rm /tmp/oldboy.txt
1.4.2 修改文件-永久生效
vim /etc/profile
source /etc/profile
1.4.3 检查
1.4.4 坑-rm mv cp
/root/.bashrc

1.5 配置别名:
1.5.1 实例1-2 net设置别名
输入net 显示/etc/sysconfig/network-scripts/ifcfg-eth0文件的内容

完成后发出
1.alias net
2./etc/profile最后5行

1.命令行-临时生效 与检查
[[email protected] ~]# alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0‘
[[email protected] ~]# net
DEVICE=eth0
TYPE=Ethernet
UUID=8fdc5e19-5b35-49fa-b63e-1629a63af1f0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:59:D4:13
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

1.5.2 修改文件-永久生效
vim /etc/profile #编辑文件写入最后一行
[[email protected] ~]# source /etc/profile 永久生效
[[email protected] ~]# alias net
alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0‘
3.检查

vim 快捷键
G 到达文件的最后一行
gg 到达文件的第1行
10gg 到达文件的第10行

o(小写字母O) 当前行下面插入一个空行并进入编辑模式
u 撤销

:q! 强制退出不保存

[[email protected] ~]# rm oldboy.txt
rm bny oldboy.txt
[[email protected] ~]# \rm oldboy.txt
[[email protected] ~]# ll oldboy.txt
ls: cannot access oldboy.txt: No such file or directory
[[email protected] ~]# alias ll
alias ll=‘ls -l --color=auto‘

##13 把/oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl
mkdir -p /oldboy/test
cd /oldboy
echo "oldboy">test/del.sh
echo "oldboy">test.sh
echo "oldboy">t.sh
touch oldboy.txt
touch alex.txt

##第1个里程碑-find
[[email protected] oldboy]# find /oldboy/ -type f -name "*.sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh

##第2个里程碑-替换一个文件中的内容
[[email protected] oldboy]# cat t.sh
oldboy
[[email protected] oldboy]# sed ‘s#oldboy#oldgirl#g‘ t.sh
oldgirl

[[email protected] oldboy]# sed ‘s#oldboy#oldgirl#g‘ t.sh
oldgirl
[[email protected] oldboy]# cat t.sh
oldboy
#sed 修改文件的内容 把文件中的oldboy替换为oldgirl
[[email protected] oldboy]# sed -i ‘s#oldboy#oldgirl#g‘ t.sh
[[email protected] oldboy]# cat t.sh
oldgirl

#第3个里程碑-把find命令找出的文件传递给 sed命令
[[email protected] oldboy]# find /oldboy/ -type f -name ".sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh
[[email protected] oldboy]# find /oldboy/ -type f -name "
.sh"|xargs sed ‘s#oldboy#oldgirl#g‘
oldgirl
oldgirl
oldgirl
[[email protected] oldboy]# find /oldboy/ -type f -name ".sh"|xargs sed -i ‘s#oldboy#oldgirl#g‘
[[email protected] oldboy]# find /oldboy/ -type f -name "
.sh"|xargs cat
oldgirl
oldgirl
oldgirl

1.6 小结:
1.别名
2.sed替换
find+sed

1.7 linux基础优化
1.显示系统的版本信息
[[email protected] oldboy]# cat /etc/redhat-release 查看内核版本
CentOS release 6.9 (Final)
[[email protected] oldboy]# uname –r 查看系统版本
2.6.32-696.el6.x86_64
[[email protected] oldboy]# uname –m 查看安装的是多少位系统
x86_64

2.添加用户 设置密码 切换用户
#添加用户
[[email protected] oldboy]# useradd oldboy
#password 设置密码
[[email protected] oldboy]# passwd oldboy
Changing password for user oldboy.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

#切换用户
su - oldboy

ctrl + d 退出当前用户

1.8 预习
题find+sed其他方法
1.关闭iptables和selinux
2.linux显示中文乱码

原文地址:http://blog.51cto.com/13855748/2145064

时间: 2024-10-28 14:33:52

sed替换与别名配置的相关文章

Linux别名配置和系统优化

今天主要学习Linux别名配置.sed的使用和系统优化,Linux的别名主要是为了防止人员操作失误,删除文件而设置的,但是它最大的坑就是重启服务器之后会还原到以前的配置,所以就需要到系统文件中配置.sed替换就是用find命令将文件查找出来,送给sed进行替换,是目前学习过命令最长的命令了,比较容易出错,所以就需要分布记忆,这样才能达到永久记忆的效果.然后就是系统优化,它主要是创建一个新的用户及密码,操作也比较简单,没有太多的坑,不过快捷键ctrl + d 在使用的时候一不小心会退掉xshell

nginx别名配置,状态配置,include优化

一.nginx帮助参数 下面是关于/application/nginx/sbin/nginx 的参数帮助 [[email protected] conf]# /application/nginx/sbin/nginx -h nginx version: nginx/1.6.3 Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives] Options: -?,-h : this help -v : sh

Apache虚拟主机及别名配置

Apache虚拟主机配置 增加监听端口(修改conf/httpd.conf文件) Listen 127.0.0.1:8092 修改主站点权限(修改conf/httpd.conf文件) <Directory /> AllowOverride none # Require all denied </Directory> 允许虚拟主机配置(修改conf/httpd.conf文件) # Virtual hosts Include conf/extra/httpd-vhosts.conf 增

Sed替换文本中的指定内容

可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out file 这里注意:不能这样做:sed 's/被替换的内容/要替换成的内容/g' file > file这样只会清空源文件. Sed替换文本中的指定内容,布布扣,bubuko.com

Linux sed 替换第一次出现的字符串

/********************************************************************************* * Linux sed 替换第一次出现的字符串 * 说明: * 需要替换配置文件中第一次出现的文本内容. * * 2016-12-16 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考

Python3.5 day3作业一:实现简单的shell sed替换功能

需求: 1.使python具有shell中sed替换功能. #!/usr/bin/env python #_*_conding:utf-8_*_ #sys模块用于传递参数,os模块用于与系统交互. import sys,os old_file = sys.argv[1] new_file = sys.argv[2] file_path = sys.argv[3] f = open(file_path,"r") f1 = open("back","a+&qu

用sed替换文件中的空格

请教sed 替换问题 请教各位如何替换多个空格为一个字符,如一个文件中间隔符有是一个空格,有的地方是多个空格,想全部用“|”替换,如何处理,请指教 请教sed 替换问题 [code]sed '/ \+/s//|/g'[/code] 请教sed 替换问题 来个awk的.awk '{for (i=1;i<nf;i++) printf="" $i"|";printf="" "\n"}'="" file<

sed 替换

用sed 替换比如替换‘BOOTPROTO=none' 这一行可以用这个命令:sed -i -e 's|BOOTPROTO=none|BOOTPROTO=dhcp|' conf.txt -i 是直接修改文件文件名可以放到命令最后-e ’s|aaa|bbb|' 把aaa替换成bbb

&lt;typeAliases&gt;别名配置

1.在传参与接收返回结果的时候,咱们一直是使用的全限定名.但是MyBatis自己在使用很多类型的时候(如Integer,Boolean)却可以直接使用别名,自己的写的类也能使用别名,需要配置mybatis配置文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &