theoforce 发表于 2019-2-17 14:10:54

day 6 Linux命令

1.1 10 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。
  #环境准备
  # touch /mnt/test.txt /tmp/test.txt
  # ls -l /mnt/test.txt /tmp/test.txt
  -rw-r--r--. 1 root root 0 Jul 14 01:53 /mnt/test.txt
  -rw-r--r--. 1 root root 0 Jul 14 01:53 /tmp/test.txt
  # cp /mnt/test.txt /tmp/
  cp: overwrite `/tmp/test.txt'?(询问是否覆盖)

1.2 复制的时候不提示是否覆盖
1.2.1 #方法1
  # \cp /mnt/test.txt/tmp/(\作用为不提示,直接覆盖)

1.2.2 #方法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章 系统的别名
  给命令起了一个外号
  #安全
  #省事

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


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

2.3 #第3个里程碑-配置rm别名-目标

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

2.4 #第4个里程碑-配置rm别名-命令
  # echo rm command bny
  rm command bny

2.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.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.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.8 #第8个里程碑-重新登录 并检查
  # alias rm
  alias rm='echo rm bny'
第3章 如何配置别名:
3.1 1.命令行-临时生效与检查
  alias rm='echo rm bny'
  rm /tmp/oldboy.txt
3.2 2.修改文件-永久生效
  vim /etc/profile
  source /etc/profile

3.3 3.检查
3.4 4.坑-rm mv cp
  /root/.bashrc

3.5 配置别名:
  输入net 显示/etc/sysconfig/network-scripts/ifcfg-eth0文件的内容
  完成后发出
  1.alias net
  2./etc/profile最后5行


3.6 命令行-临时生效与检查
  # alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
  # 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"

3.7 .修改文件-永久生效
  vim /etc/profile#编辑文件写入最后一行
  # source /etc/profile
  # alias net
  alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

3.8 3.检查
  vim 快捷键
  G   到达文件的最后一行
  gg    到达文件的第1行
  10gg到达文件的第10行
  o(小写字母O) 当前行下面插入一个空行并进入编辑模式
  u            撤销
  :q!
  # rm oldboy.txt
  rm bny oldboy.txt
  # \rm oldboy.txt
  # ll oldboy.txt
  ls: cannot access oldboy.txt: No such file or directory
  # alias ll
  alias ll='ls -l --color=auto'

实例3-1 ##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


实例3-2 ##第1个里程碑-find
  # find /oldboy/-type f -name "*.sh"
  /oldboy/test/del.sh
  /oldboy/test.sh
  /oldboy/t.sh


实例3-3 ##第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

实例3-4 #第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
  
第4章 linux基础优化
4.1 1.显示系统的版本信息
  # cat /etc/redhat-release
  CentOS release 6.9 (Final)
  # uname -r
  2.6.32-696.el6.x86_64
  # uname -m
  x86_64


4.2 2.添加用户 设置密码 切换用户
4.2.1 #添加用户
  # useraddoldboy
4.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.

4.3 #切换用户
  su - oldboy
  ctrl + d 退出当前用户



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