Linux命令下部

 

作者:左婷婷

归档:学习笔记

2018/7/16

 

快捷键:

Ctrl + 1    标题1

Ctrl + 2    标题2

Ctrl + 3    标题3

Ctrl + 4    实例

Ctrl + 5    程序代码

Ctrl + 6    正文

格式说明:

蓝色字体:注释

×××背景:重要

绿色背景:注意


 

老男孩教育50期学员左婷婷-day06-linux命令-下部_命令

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux  385168604

架构师 390642196

Python 29215534

大数据 421358633

官方网站:

http://www.oldboyedu.com


 

1 Linux命令下部... 1

1.1 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。... 1

1.1.1 复制的时候不提示是否覆盖... 1

1.2 系统的别名... 1

1.2.1 1个里程碑-显示系统中的别名... 2

1.2.2 2个里程碑-设置别名... 2

1.2.3 3个里程碑-配置rm别名-临时生效... 2

1.2.4 #4个里程碑-配置rm别名-永久生效... 2

1.2.5 5个里程碑-巨坑... 3

1.2.6 6个里程碑-重新登录 并检查... 3

1.3 如何配置别名步骤:... 3

1.3.1 配置别名练习题... 3

1.3.2 vim 快捷键... 4

1.4 /oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl 5

1.4.1 1个里程碑-find. 5

1.4.2 2个里程碑-替换一个文件中的内容... 5

1.4.3 sed 修改文件的内容 把文件中的oldboy替换为oldgirl 6

1.4.4 3个里程碑-find命令找出的文件传递给  sed命令... 6

1.5 linux基础优化... 6

1.5.1 显示系统的版本信息... 6

1.5.2 添加用户 设置密码 切换用户... 7

1.6 预习... 7

 


第1章 Linux命令下部

1.1 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。

 

[root@oldboyedu50 ~]# cp /mnt/test.txt  /tmp/          //拷贝文件

cp: overwrite `/tmp/test.txt'?            //提示是否将文件覆盖

 

1.1.1 复制的时候不提示是否覆盖

1.1.1.1  方法1

[root@oldboyedu50 ~]# \cp /mnt/test.txt  /tmp/

 

1.1.1.2  方法2 使用命令的绝对路径(全路径)

[root@oldboyedu50 ~]# which cp     //命令的绝对路径(全路径)   

alias cp='cp -i'

    /bin/cp

[root@oldboyedu50 ~]# cp /mnt/test.txt  /tmp/

cp: overwrite `/tmp/test.txt'? ^C

[root@oldboyedu50 ~]# /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个里程碑-显示系统中的别名

[root@oldboyedu50 ~]# 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'

1.2.2 2个里程碑-设置别名

1.2.2.1  1个里程碑-配置rm别名-目标

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

1.2.2.2  2个里程碑-配置rm别名-命令

[root@oldboyedu50 ~]# echo rm command bny

rm command bny

1.2.3 3个里程碑-配置rm别名-临时生效

[root@oldboyedu50 ~]# alias rm='echo rm bny'

[root@oldboyedu50 ~]# alias rm

alias rm='echo rm bny'

[root@oldboyedu50 ~]# rm  /tmp/oldboy.txt

rm bny /tmp/oldboy.txt

1.2.4 #4个里程碑-配置rm别名-永久生效

1.2.4.1  修改文件 /etc/profile

[root@oldboyedu50 ~]# tail -5  /etc/profile

done

 

unset i

unset -f pathmunge

alias rm='echo rm bny'

生效

[root@oldboyedu50 ~]# source /etc/profile

[root@oldboyedu50 ~]# alias rm

alias rm='echo rm bny'

1.2.5 5个里程碑-巨坑

[root@oldboyedu50 ~]# 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.2.6 6个里程碑-重新登录 并检查

[root@oldboyedu50 ~]# alias rm

alias rm='echo rm bny'

 

1.3 如何配置别名步骤:

1.命令行-临时生效  与检查

alias rm='echo rm bny'

rm /tmp/oldboy.txt

2.修改文件-永久生效

vim /etc/profile

source /etc/profile

3.检查

4.-rm mv cp

/root/.bashrc

1.3.1 配置别名练习题

配置别名:

输入net 显示/etc/sysconfig/network-scripts/ifcfg-eth0文件的内容

完成后发出

1.alias net

2./etc/profile最后5

1.命令行-临时生效  与检查

[root@oldboyedu50 ~]# alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

[root@oldboyedu50 ~]# 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"

2.修改文件-永久生效

vim /etc/profile  #编辑文件写入最后一行

[root@oldboyedu50 ~]# source /etc/profile

[root@oldboyedu50 ~]# alias net

alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

3.检查

1.3.2 vim 快捷键

G

到达文件的最后一行

gg

到达文件的第1

10gg

到达文件的第10

o(小写字母O)

当前行下面插入一个空行并进入编辑模式

u

撤销

 

[root@oldboyedu50 ~]# rm oldboy.txt

rm bny oldboy.txt

[root@oldboyedu50 ~]# \rm oldboy.txt

[root@oldboyedu50 ~]# ll oldboy.txt

ls: cannot access oldboy.txt: No such file or directory

[root@oldboyedu50 ~]# alias ll

alias ll='ls -l --color=auto'

 

1.4  /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.4.1 1个里程碑-find

[root@oldboyedu50 oldboy]# find /oldboy/  -type f -name "*.sh"

/oldboy/test/del.sh

/oldboy/test.sh

/oldboy/t.sh

1.4.2 2个里程碑-替换一个文件中的内容

[root@oldboyedu50 oldboy]# cat t.sh

oldboy

[root@oldboyedu50 oldboy]# sed    's#oldboy#oldgirl#g'     t.sh

oldgirl

[root@oldboyedu50 oldboy]# sed    's#oldboy#oldgirl#g'     t.sh

oldgirl

[root@oldboyedu50 oldboy]# cat t.sh

oldboy

1.4.3 sed 修改文件的内容 把文件中的oldboy替换为oldgirl

[root@oldboyedu50 oldboy]# sed  -i   's#oldboy#oldgirl#g'     t.sh

[root@oldboyedu50 oldboy]# cat t.sh

oldgirl

1.4.4 3个里程碑-find命令找出的文件传递给 sed命令

[root@oldboyedu50 oldboy]# find /oldboy/  -type f -name "*.sh"    //找出所有含oldboy的文件

/oldboy/test/del.sh

/oldboy/test.sh

/oldboy/t.sh

[root@oldboyedu50 oldboy]# find /oldboy/  -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g'

oldgirl

oldgirl

oldgirl

[root@oldboyedu50 oldboy]# find /oldboy/  -type f -name "*.sh"|xargs sed -i 's#oldboy#oldgirl#g'

[root@oldboyedu50 oldboy]# find /oldboy/  -type f -name "*.sh"|xargs cat

oldgirl

oldgirl

oldgirl

小结:

1.别名

2.sed替换

find+sed

1.5 linux基础优化

1.5.1 显示系统的版本信息

[root@oldboyedu50 oldboy]# cat /etc/redhat-release       //查看Linux版本

CentOS release 6.9 (Final)                             

[root@oldboyedu50 oldboy]# uname –r         //查看内核版本

 2.6.32-696.el6.x86_64

[root@oldboyedu50 oldboy]# uname –m                        //查看系统是多少位的(64或32位)

x86_64

1.5.2 添加用户 设置密码 切换用户

1.5.2.1  添加用户

[root@oldboyedu50 oldboy]# useradd  oldboy         //添加用户

#password 设置密码

[root@oldboyedu50 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.

1.5.2.2  切换用户

su - oldboy

ctrl + d 退出当前用户

1.6 预习

1.find+sed其他方法

2.关闭iptablesselinux

3.linux显示中文乱码