Linux命令下部 |
作者:左婷婷 归档:学习笔记 2018/7/16
|
快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 标题3 Ctrl + 4 实例 Ctrl + 5 程序代码 Ctrl + 6 正文 |
格式说明: 蓝色字体:注释 ×××背景:重要 绿色背景:注意 |
老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结
学无止境,老男孩教育成就你人生的起点!
联系方式:
网站运维QQ交流群: | |
Linux 385168604 | 架构师 390642196 |
Python 29215534 | 大数据 421358633 |
官方网站: | |
目 录
1.1 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。
1.4 把/oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl
1.4.3 sed 修改文件的内容 把文件中的oldboy替换为oldgirl
1.4.4 第3个里程碑-把find命令找出的文件传递给 sed命令
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.关闭iptables和selinux
3.linux显示中文乱码