jingjihui 发表于 2019-2-18 06:28:38

Day 6 Linux 命令

  Day 6 Linux 命令
一.习题1 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。
# cp /mnt/test.txt/tmp/
cp: overwrite /tmp/test.txt'? 复制的时候不提示是否覆盖 1.1.1 #方法1 # \cp /mnt/test.txt/tmp/#方法2 使用命令的绝对路径(全路径)# which cp#命令的绝对路径(全路径)alias cp='cp -i'/bin/cp# cp /mnt/test.txt/tmp/cp: overwrite/tmp/test.txt'? ^C
# /bin/cp /mnt/test.txt/tmp/
#cpoverwrite
#rm是否删除
#mv是否覆盖文件
cp === cp -i
rm === rm -i
mv === mv -i
二.系统的别名 给命令起了一个外号
2.1作用 (安全省事)
2.1.1 #第1个里程碑-显示系统中的别名
alias san='cp -i'
alias zhang='mv -i'
alias wang='rm -i'
2.1.2#第2个里程碑-设置别名
alias wang='rm -i'
alias 别名='命令'
2.1.3#第3个里程碑-配置rm别名-目标
目标:执行rm 屏幕显示rm command bny.
2.1.4#第4个里程碑-配置rm别名-命令
# echo rm command bny
rm command bny
2.1.5#第5个里程碑-配置rm别名-临时生效
# alias rm='echo rm bny'
# alias rm
alias rm='echo rm bny'
# rm/tmp/oldboy.txt
rm bny /tmp/oldboy.txt
2.1.6#第6个里程碑-配置rm别名-永久生效
修改文件 /etc/profile
# tail -5/etc/profile
done
  unset i
unset -f pathmunge
alias rm='echo rm bny'
生效
# source /etc/profile
# alias rm
alias rm='echo rm bny'
2.1.7#第7个里程碑-巨坑
# 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
2.1.8 #第8个里程碑-重新登录 并检查
# alias rm
alias rm='echo rm bny'
2.9小结:
3.如何配置别名:
3.1命令行-临时生效与检查
alias rm='echo rm bny'
rm /tmp/oldboy.txt
3.2修改文件-永久生效
vim /etc/profile
source /etc/profile
3.3检查
3.4坑-rm mv cp
/root/.bashrc
Eg:配置别名:
输入net 显示/etc/sysconfig/network-scripts/ifcfg-eth0文件的内容
完成后发出
1.alias net
2./etc/profile最后5行
1.命令行-临时生效与检查
#cat /root/sysconfig/network-scripts/ifcfg-eth0
#alias net='cat /root/sysconfig/network-scripts/ifcfg-eth0'
#net
2.修改文件-永久生效
#vim /etc/profile#编辑文件写入最后一行
3.检查
# source /etc/profile
# alias net
vim /etc/profile
# source /etc/profile
# alias net
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
习题二 把/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
2.1##第1个里程碑-find
# find /oldboy/-type f -name ".sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh
2.2##第2个里程碑-替换一个文件中的内容
# cat t.sh
oldboy
# sed    's#oldboy#oldgirl#g'   t.sh
oldgirl
# sed    's#oldboy#oldgirl#g'   t.sh
oldgirl
# cat t.sh
oldboy
#sed 修改文件的内容 把文件中的oldboy替换为oldgirl
# sed-i   's#oldboy#oldgirl#g'   t.sh
# cat t.sh
oldgirl
2.3#第3个里程碑-把find命令找出的文件传递给 sed命令
# find /oldboy/-type f -name ".sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh
# find /oldboy/-type f -name ".sh"|xargs sed 's#oldboy#oldgirl#g'
oldgirl
oldgirl
oldgirl
# find /oldboy/-type f -name ".sh"|xargs sed -i 's#oldboy#oldgirl#g'
# find /oldboy/-type f -name "*.sh"|xargs cat
oldgirl
oldgirl
oldgirl
小结:
1.别名
2.sed替换
find+sed
第2章 linux基础优化
2.1 显示系统的版本信息
# cat /etc/redhat-release
CentOS release 6.9 (Final)
# uname -r
2.6.32-696.el6.x86_64
# uname -m
x86_64
2.2 添加用户 设置密码 切换用户
2.2.1 #添加用户
# useraddoldboy
2.2.2 #password 设置密码
# 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.
2.2.3 #切换用户
su - oldboy



页: [1]
查看完整版本: Day 6 Linux 命令