Linux基础(一)

一.准备工作(针对Centos7)

1.常用软件安装:

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap
tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc

2.将网卡enss改为eth:

[root@web01 ~]#  cd /etc/sysconfig/network-scripts/
[root@web01 network-scripts]#  mv ifcfg-ens33   ifcfg-eth0   #mv移动文件或目录  eth0为外网地址
[root@web01 network-scripts]# vim ifcfg-eth0 修改NAME=eth0  DEVICE=eth0  保存并退出
[root@web01 network-scripts]#  mv ifcfg-ens34   ifcfg-eth1   #mv移动文件或目录
[root@web01 network-scripts]# vim ifcfg-eth1 修改NAME=eth1  DEVICE=eth1  保存并退出   eth1为私网地址
[root@web01 ~]# vim /etc/sysconfig/grub
修改 GRUB_CMDLINE_LINUX='rhgb net.ifnames=0 biosdevname=0 quiet'
[root@web01 ~]# grub2-mkconfig   -o  /boot/grub2/grub.cfg  #重新生成配置

3.克隆
在做克隆之前需要删除etho和eth1的UUID:

vim ifcfg-eth0 鼠标光标移到uuid  命令模式下按dd  删除UUID
vim ifcfg-eth1 鼠标光标移到uuid  命令模式下按dd  删除UUID
先拍快照,拍完快照做克隆,选择创建链接克隆,进入克隆机修改eth0和eth1的ip地址
cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0  修改IP地址IPADDR=10.0.0.7    #公网ip
vim ifcfg-eth1  修改IP地址IPADDR=172.16.1.7  #私网ip
systemctl restart  network  #网卡重启
hostnamectl set-hostname  web01  #修改主机名立即生效

4.防火墙

  • 关闭firewall防火墙
 确定防火墙                           iptables -L
 临时关闭防火墙                        iptables -F
 永久关闭防火墙                        systemctl disable firewalld
  • 关闭selinux防火墙
查询防火墙                          getenforce
临时关闭                             setenforce 0
永久关闭防火墙                      vim /etc/selinux/config   修改SELINUX=disabled
  • 查询防火墙
[root@web01 ~]# getenforce 
Enforcing
[root@web01 ~]# setenforce 0
[root@web01 ~]# getenforce 
[root@web01 ~]# vim /etc/selinux/config 
  • 三种防火墙状态
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.

二.Linux命令

1.命令的基本构成

一般的套路
命令体    选项      参数(对象)
ls        -l        /var

参数:文件
文件类型:
d :目录
f :普通文件
l :链接
b :块设备,磁盘 光驱
c :字符设备 pty
p :管道
s :套接字

命令提示符:
[root@web01 ~]#   
[petrus@web01 ~]$

2.常用快捷键(bash shell支持的快捷键)

命令含义
ctrl + a把光标移动到行首
ctrl+c取消或终止任务
ctrl + e把光标移动到行尾
ctrl + l清屏
ctrl + u把光标到行首的内容删除/剪切
ctrl + k把光标到行尾的内容删除/剪切
ctrl + y粘贴
ctrl + →向右移动一个单词
ctrl + ←向左移动一个单词
ctrl + s锁屏
ctrl + q解锁
ctrl + w按照一个一个字符串进行删除数据
esc+.调取上一个命令行中的参数信息
–help获取帮助
man命令的需求
info更加详细
reboot关机重启
poweroff关闭电源

3.linux命令分类

绿色的是二进制的可执行文件
1.针对不同文件的管理命令
1.1 目录
FHS 文件系统层次化标准
ls /
ls /bin
ls /boot启动文件
ls /dev/
ls /etc 配置文件
ls /home 用户的家目录
绝对路径:从"/"开始一个具体路径
相对路径:从当前目录开始的具体路径(pwd可以查看当前所在目录)		

4.目录

  • 创建目录:
mkdir /oldboy    #根下面创建一个目录 
mkdir oldboy     #在当前所在目录创建目录
mkdir -p /a/b/c  #一次性创建3层目录
  • 查询目录
ls -ld /oldboy   #只能看一层
tree /a          #直接看所有目录
tree -L 2 /      #只看2层
  • 删除目录(危险)
rm -rf /oldboy  
通过文件句柄,有可能可以找回丢失数据(前提:不能重启,不能有大量数据写入)

  • 修改,剪切
mv /root/test/ /tmp             #修改目录(剪切,复制)
mv /root/test/ /tmp/test.bak  #剪切并重命名
mv test  test_new                     #只是重命名

拷贝:
cp:复制文件或目录  默认无法复制目录
      -r: 递归复制  复制目录及目录里面的内容
      -p: 复制的时候保持属性不变
      -a 等价于 -pdr  复制所有      
mkdir a{1..10}          #创建a1-10
  • 切换目录:
cd /
cd /test
cd  test
cd .. 
返回上一次的目录
cd -
cd 

小技巧:
创建a1-10
[root@web01 tmp]# mkdir a{1..10}
[root@web01 tmp]# mkdir dir{a..f}
所有
[root@web01 tmp]# ls -ld dir*
[root@web01 tmp]# rm -rf dir*
  • 过滤
 grep 在文件中找到你想要的的内容
 grep "oldboy" test.txt
  • 排除
grep -v "oldboy" test.txt
  • head
head -2 test.txt  #取出文件内容的前两行

5.普通文件

  • 种类
    ASCII TEXT:纯文本文件(操作最多的)
    LSB Exe:二进制的可执行文件(命令,程序)
    压缩文件:zip tar gz bz2 cpio iso
    二进制数据文件等.
  • 文件创建
touch a.txt (不能创建同名)
  • 文件删除
  rm -rf a.txt   #文件删除
  • 文件查看
ls -l a.txt                  #看文件属性
cat /etc/passwd              #小文件内容查看
cat /etc/passwd /etc/shadow  #同时看2个内容
cat -n /etc/passwd           #带序号显示

more /var/log/secure         #分页显示大文件内容
less /var/log/secure         #更好可以上下翻页
head /etc/passwd             #文件前多少行 默认显示前10行
head -n3 /etc/passwd         #文件前3行  -3也可以
tail -2 /etc/passwd          #文件后2行
tail -f /var/log/secure      #监控
  • 剪切 复制
mv 命令和目录的操作一样
cp 命令和目录的区别不需要加-r (加上也不报错)
  • 内容修改
重定向 
> 标准输出重定向 先把文件的内容清空 把内容放在文件的最后一行    cat /etc/passwd >a.txt

>> 追加重定向   把内容放在文件的最后一行  cat /etc/passwd >>a.txt

将内容追加      echo "10.0.0.100 python3" >>/etc/hosts
1 >或者1 >>      标准正确输出重定向 执行正确的内容才会通过
2 > 或者 2>>     标准错误输出重定向 执行错误的内容才会通过
2>&1 把错误的信息放入对的信息中 结果是错误的信息和对的信息都在一个文件中

三.vim 编辑器

命令模式:初始模式

命令含义
G将光标快速切换到最后一行
gg将光标快速切换到第一行
ngg将光标快速切换到第n行
$将光标快速切换到一行的行尾
^将光标快速切换到一行的行首
yy复制光标所在位置一行的内容
Nyy复制N行
p剪切或复制的信息粘贴回来
dG将光标所在位置的一行内容及以下所有行的内容全部删除
u撤销
ctrl+r还原
/搜索关键字
dd删除(剪切)一行的内容
x(del)删除光标所在字符
d$从光标删除到行尾,包括光标所在字符
d^从光标删除到行首,不包括光标所在字符
ZZ保存退出
  • 编辑模式:
命令含义
a在光标所在位置的下一个字符进入编辑模式
A将光标快速切换到一行的行尾,并进入到编辑状态
o在光标所在行的下一行(新起一行),进入到编辑状态
O在光标所在位置的上一行(新起一行),进入到编辑状态
C将光标所在位置到行尾的信息都删除,并进入编辑状态
cc将光标所在行的内容进行删除,并进入到编辑状态
i在光标所在位置进入编辑模式
I将光标快速切换到一行的行首,并进入到编辑状态
  • 底行模式:
命令含义
:set nu显示行号
:set nonu取消设置行号
:%s#xxx#yyy#g替换文件中指定数据信息(将文件中所有的xxx替换为yyy)
:11,12s#xxx#yyy#g替换文件中指定数据信息(只替换11到12行信息)
:%s/root/ROOT/g替换退出(g全局global)

小技巧:grep -Ev “#|^$” /usr/local/nginx/conf/nginx.conf.default >/usr/local/nginx/conf/nginx.conf #过滤nginx
.conf.default中以#号和空行开头的,将过滤后的内容输出重定向到nginx.conf中

修改命令行字体颜色:

键入命令:

cd
ls -la
现在可以看到.bashrc这个文件。
编辑.bashrc:
vim .bashrc
加入这一行:
PS1="[[\e[32;40m]\u@\h \w ]$ [\e[0m]"
保存退出
重新加载bash配置文件:
source .bashrc
  
标准输入0 从键盘获得输入 /proc/self/fd/0
标准输出1 输出到屏幕(即控制台) /proc/self/fd/1
错误输出2 输出到屏幕(即控制台) /proc/self/fd/2

/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”

1、2>/dev/null意思就是把错误输出到“黑洞”

2、>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”

3、2>&1 >/dev/null意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕

关于这里”&”的作用,我们可以这么理解2>/dev/null重定向到文件,那么2>&1,这里如果去掉了&就是把错误输出给了文件1了,用了&是表明1是标准输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值