1. 为 oldboy.txt 增加内容为“ I am studying linux. ”
解答:
- 方法一:#vim /data/oldboy.txt
I am studying linux.
- 方法二:# echo "hello oldboy linux" >>/data/oldboy.txt
== >> ##追加内容到oldboy.txt
- 方法三:#cat >>/data/oldboy.txt<<EOF
>I am studying linux.
>hello oldboy linux
>I am study
>EOF
[[email protected] ~]# cat /data/oldboy.txt
I am studying linux.
hello oldboy linux
I am study
2. 已知文件 test.txt 内容为:
test
liyao
oldboy
请给出 输出test.txt文件 内容时,不包含 oldboy 字符串的命令。
解答:
- 方法一 : # grep "oldboy" /data/test.txt
oldboy
[[email protected] ~]#grep -v "oldboy" /data/test.txt
test
liyao
- #方法二: # head -n2 /data/test.txt
test
liyao
[[email protected] ~]# head -2 /data/test.txt
test
liyao
- #方法三: [[email protected] ~]# sed ‘/oldboy/d‘ /data/test.txt
test
liyao
- #方法四: # awk ‘/oldboy/‘ /data/test.txt
oldboy
[[email protected] ~]# awk ‘!/oldboy/‘ /data/test.txt
test
liyao
3. 已知 /tmp 下已经存在 test.txt文件,如何执行命令才能把 文件 /mnt/test.txt 拷贝到 /tmp 下覆盖掉 /tmp/test.txt ,而让系统不提示是否覆盖(root权限下)。
解答:
- #方法一:使用 \cp
[[email protected] ~] # \cp /mnt/test.txt /tmp/
- #方法二.使用命令cp 的全路径(绝对路径)
[[email protected] ~] # which cp
alias cp=‘cp -i‘
/bin/cp
[[email protected] ~]# /bin/cp /mnt/test.txt /tmp/
4. 只查看 ett .txt文件(共 100 行)内第 20 到第 30 行的内容。
解答:[[email protected] ~]# seq 100 >/data/ett.txt ==>创建100行内容
- #方法一: # head -30 /data/ett.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30
- #方法二:# sed -n ‘20,30p‘ /data/ett.txt ===>> -n 取消默认输出
20
21
22
23
24
25
26
27
28
29
30
#方法三:# awk ‘NR==20,NR==30‘ /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
# awk ‘NR>=20 && NR<=30‘ /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
- #方法四:# grep -A10 "20" /data/ett.txt ## -A10, 20之后的十行
20
21
22
23
24
25
26
27
28
29
30
# grep -B 10 "30" /data/ett.txt ## -B 10,30之前的十行
20
21
22
23
24
25
26
27
28
29
30
# grep -C 5 "25" /data/ett.txt ##-C 5, 25左右五行
20
21
22
23
24
25
26
27
28
29
30
5. 为什么运行cp命令的时候 会提示你 ?执行cp命令的时候,就相当于执行了 cp -i (mv -i ; rm -i )
★linux设置别名。
- 查看别名:[[email protected] ~]# alias
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
- 取消别名:[[email protected] ~]# unalias cp
例子:执行rm命令时,显示do not use rm command
###第一个里程碑-如何显示这行文字
[[email protected] ~]# echo do not use rm command
do not use rm command
###第二个里程碑-配置别名
[[email protected] ~]# alias cp //看别人是如何配置的
alias cp=‘cp -i‘
[[email protected] ~]# alias rm=‘echo do not use rm command‘
###第三个里程碑-测试
[[email protected] ~]# rm /data
do not use rm command /data
[[email protected] ~]# rm -rf /data
do not use rm command -rf /data
###第四个里程碑-让别名永久生效-/etc/profile
[[email protected] ~]# tail -1 /etc/profile
alias rm=‘echo do not use rm command‘
###第五个里程碑-让别名的配置生效
[[email protected] ~]# source /etc/profile
###第六个里程碑-排坑 -vim /root/.bashrc
[[email protected] ~]# cat /root/.bashrc
# .bashrc
# User specific aliases and functions
#alias rm=‘rm -i‘ //注释rm 这行
alias cp=‘cp -i‘
alias mv=‘mv -i‘
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi