Linux就该这么学17期

Linux就该这么学17期、、、

-------------

第一节课、、、

先了解上课的注意事项:这样的话你才知道应该怎样的上课
------------
人类的基因里就有趋利避害的
开源软件:又好又免费的
---------
斯托曼;GNU计划:GCC和Linux系统
---------------
伯克利大学:提供了上网的域名解析服务:bind DNS
Freebsd 免费的Unix系统
----------------
GUN:图标:大牛

2012年红帽收买了CentOS
所以CentOS的领导是红帽,CentOS做什么都需要听从红帽的同意
----------------

第二节课、、、

把Linux就该这么学的网站上的VM虚拟机的安装更新到自己的博客中
--------------------
RPM:源码包+安装规则
降低软件安装难度:通过安装规则

Yum:降低软件安装难度:解决了以来关系
---------------
systemctl enable 服务名称 加入到开机启动项中
systemctl start 服务名称 启动服务
systemctl restart 服务名称 重启服务
systemctl stop 服务名称 关闭服务
systemctl status 服务名称 查看服务状态
------------
shell 控制硬件的翻译官
------------
命令:动作
对象:是命令的承受者
参数:对命令的一种描述,为了帮助命令更好的去完成一个工作
---------------


man 帮助命令
echo 爱考 打印信息的命令
----------
Linux中变量名称是区分大小写的
---------
Linux中参数与命令都是区分大小写的
date
date "+%Y-%m-%d %H:%M:%S"
---------
Linux中的进程:
runing运行:正在为用户提供服务的进程
sleeping中断:等待为用户提供服务的进程
不可中断:提供服务但出现问题,不可中断
zombie僵尸进程:一直消耗系统的资源不提供服务,不受控制的进程
stoped停止:停止的进程
-------------
ps -a -u -x
ps -aux
------------
查看具体的某个进程
pidof sshd
启动一下进程
systemctl start sshd
查看一下进程的状态
systemctl status sshd
关闭进程
killall sshd

----------------

第三节课、、、

ifconfig 查看网卡的信息的命令
interface config

Linux系统中的网卡信息


------------
uname
uname -a
ps
ps -aux
uptime
free -h
free -m
free -g

 --------------

swap 交换分区:将硬盘取出一部分当做临时内存使用
--------
who 登录的用户信息
last 查看系统的登录的历史记录信息
history 查看执行过的历史命令
Ctrl+L 清屏命令
------
history -c 清空历史命令
----------
sosreport 对系统进行基本的拍错信息收集
-----------
红帽通过:订阅服务收费的:系统售后的系统故障的处理
----------
pwd 查看当前工作目录
cd 切换目录
cd ~ 回到到用户的家目录
---------------
cd - 返回上一级目录
cd .. 切换到home目录
ls
ls -l
-----------------
ls -a
Linux中用点开头的文件都是隐藏文件
--------
ls -al
ls -la
-------------
Linux中一切皆文件:服务,硬件,设备都是文件,在系统中可以找到对应的文件

设备文件,文本文件,目录文件
---------
配置服务的时候就是在修改对应的服务的配置文件
----------
Tab键:自动补全快捷键
cat 查看一页之内的
more 查看很多页的文件
小文件用cat查看,大文件用more查看
--------
查看文件的前10名
head -n 10 文件名
查看文件的后10名
tail -n 10 文件名
----------------------
查看文件的时候实时刷新文件内容
tail -f 文件名
----------
统计文件的行数
wc -l 文件名
wc -c 文件名
wc -w 文件名
-----------------
stat 文件名
Access 最后一次查看文件内容的时间
Modify 最后一次修改文件内容的时间
Change 最后一次修改文件属性的时间
-------------
cut 按列提取内容
--------
比对a.txt与b.txt有什么不同
diff --breif a.txt b.txt
---------
touch 新建一个文件
删除一个文件
rm -rf 文件名
----------
写入内容到一个文件中
echo 嘻嘻嘻嘻嘻 > test

echo "嘻嘻嘻嘻嘻" > test
----------
修改文件的时间
touch -d "19:19" test
------------
mkdir 创建一个目录
mkdir -p 递归创建一个目录,用于依稀创建很多个目录
---------
复制文件
cp
复制一个目录
cp -r
剪切命令
mv
删除
rm
rm -f
删除目录-递归的删除
rm -rf
----------------
dd if
if :input file 爱 爱芙
of output file
--------
file
--------
tar czvf 压缩
tar xzvf 解压缩
--------
grep 过滤,查找文件
find / -name 搜索文件
find / -user
------------
whereis reboot
find / -user 用户名 -exec cp -rf {} /root \;
------------------

 第四节课、、、

Ctrl+L 清屏快捷键
重定向:命令与文件之间的操作符
uptime
输出重定向:将命令的信息输出到文件中 >
标准输出 >
错误输出 2>

清空写入 >
追加写入 >>
输入重定向:将文件的信息导入到命令中 <
---------------
输出重定向:命令 > 文件
输入重定向:命令 < 文件
-------
管道符:也叫任意门
管道符 |
命令A | 命令B
将A的输出信息重定向给命令B
-------------
修改了xxx用户的密码
echo "redhat" | passwd --stdin xxx
------------
PRICE=5
echo $PRICE
------------------
转意符
echo Price is \$$PRICE
\
----------
单引号:全局转意
echo 'Price is $$PRICE'
''
-------------
反引号:执行命令 (波浪线键上的)

``
uptime
XXX=`uptime`
echo $XXX
-------------------
ls -l /dev/sda*

*号匹配的是空值或多个值
----------
ls -l /dev/sda[0-9]
大括号没有匹配的会有报错
ls -l /dev/sda{0-9}
---------------
/usr/bin/ls
----
重启网卡
systemctl restart network
----
给某个命令设置别名
alias tt="uptime"
alias pp="systemctl restart network"
------------
echo $PATH
echo $SHELL
echo $LANG
echo $RANDOM
PS1=#
---------------------
Vim编辑器
命令模式:复制、剪切、粘贴、查询
搜索
/
撤销
u
编辑模式:i
末行模式:需要在ESC 命令模式下wq保存退出
-----------------

第五节课、、、

强制保存并退出
wq!
-----------
Shell脚本:
vim text.sh
#!/bin/bash

# 我是shell脚本中的注释
pwd
ls -l

执行一下shell脚本
bash text.sh
sh text.sh
------------------
写一个简单的脚本
#!/bin/bash
# 脚本中的注释
echo $0 脚本的名称
echo $#,$* 参数的个数 ,列出所有参数的列表
echo $1,$3,$5 第X个参数的值是什么
--------------------
#!/bin/bash
# 脚本中的注释
echo $0
echo $#,$*
echo $1,$3,$5
bash text.sh 1 2 3 4 5 6 7 8 9 10
---------------
中括号中的两边都需要有空格
判断一个文件是否存在
[ -e /etc/test.txt ]
echo $?
得到0的话说明上一条命令是执行成功了的
得到的值是非0的话,说明上一天命令是执行不成功的
-------------
如果前面的语句执行成功的话,则执行后面的语句
逻辑或
[ -f /etc/test.txt ] && echo "Yes"
如果前面执行失败,则执行后面的语句
逻辑与
[ -f /etc/test.txt ] || echo "Yes"

判断是否是一个目录
[ -d /etc/test ] || echo "Yes"
查看当前登录的用户是谁
echo $USER
[ $USER = root && echo "Admin" || echo "User"]
------------------
[ ! $USER = root && echo "User" || echo "Admin"]

---------------

! 取反值
gt 大于 greater than
lt 小于 less than
ne 不等于 not equal to
eq 等于 equal to
ge 大于等于 greater than or equal to
le 小于等于 less than or equal to
-----------------
查看一下内存的使用情况
free -m
free -m | grep Men:
freee -m | grep Men: |awk '{print $4}'
------------------
echo $LANG
[ $LANG = en_US.UTF-8 ] && echo "UTF-8" || echo "US"
-------------
判断一个目录是否是存在的,如果不存在的话就创建一个
#!/bin/bash
# 我是脚本中的注释
if [ ! -e /media/text ]
then
mkdir -p /media/text
fi

执行一下脚本
bash text.sh
-------------------
写一个ping主机是否在线的脚本
#!/bin/bash
# 我是脚本注释
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "Host $1 is On-Line"
else
echo "Host $1 is Off-Line"
fi
-----------
执行一下脚本
bash text.sh 127.0.0.1
bash text.sh 192.168.10.10
------------
#!/bin/bash
# 我是脚本中的注释
read -p "请输入分数 : " GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ]
then
echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ]
then
echo "$GRADE is Pass"
else
echo "$GRADE is Fail"
fi
--------------
执行一下脚本
bash text.sh

--------------------
vim user.txt
newuser1
newuser2
newuser3
newuser4
newuser5
写一个用户账户的脚本
#!/bin/bash
# 我是脚本中的注释
read -p "请输入 : " PASSWD
for UNAME in `cat user.txt`
do
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "Already Exists"
else
useradd $NAME &> /dev/null
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo " $UNAME create successfully"
else
echo "$UNAME create failure"
fi
fi
done

---------------
执行一下脚本
bash text.sh
查看一下用户是否创建成功了
id newuser1
-----------------
写一个判断主机是否在线的脚本
vim ip.txt
192.1268.10.10
192.1268.10.20
192.1268.10.30
192.1268.10.40
#!/bin/bash
# 我是脚本中的注释
for IP in `cat ip.txt`
do
ping -c 3 -i 0.2 -w 3 $IP &> /dev/null ping3次每次间隔0.2秒
if [ $? -eq 0 ]
then
echo "Host $IP is On-Line"
else
echo "Host $IP is Off-Line"
fi
done
------------
执行一下脚本
bash text.sh
-----------
for 有范围的时候
while 有固定条件
----------
写一个猜价格的脚本
#!/bin/bash
# 我是脚本中的注释
PRICE=$(expr $RANDOM % 1000)
TIMES=0
while true
read -p "请输入 : " INT
let TIMES++
if [ $INT -eq $PRICE ]
then
echo " OK,$PRICE"
exit 0
elif [ $INT -gt $PRICE ]
then
echo "HIGH"
else
echo "LOW"
fi
done


蠕虫病毒的原理简单解析:
如果一个程序不停的占用系统的内存资源最后会导致系统崩溃的
---------
执行一下这个脚本
bash text.sh
---------------
case esac
写一个脚本
#!/bin/bash
# 我是脚本中的注释
read -p "请输入 : " KEY
case $KEY in
[a-z] | [A-Z]
echo "字母"
;;
[0-9])
echo "数字"
;;
*)
echo "乱码"
esac
-------------
执行一下这个脚本
bash text.sh
码农就如同种植蔬菜的农民
运维就如同做菜的厨师
------------
查看一下计划任务
at -l
写一个简单的重启系统的计划任务
at 21:11
at> reboot
at>
保存一下计划任务
Ctrl +D
---------------------
删除我们刚创建的计划任务
atrm 1
查看一下是否删除了计划任务
at -l
--------------
计划日任务:分 时 日 月 星期 具体的命令
crond 服务名称
crontab 配置工具名称
-----------
vim 好用 跨平台,Linux中很多配置文件默认调用了vim来打开编写,很多Linux中的服务默认调用了Vim作为编辑器
-----------
whereis reboot

30 2 * * * 5/usr/sbin/reboot
30 1 * * * 1/usr/sbin/tar czvf web.tar.gz /home/

----------

第六节课、、、

-----------------------------------

猜你喜欢

转载自www.cnblogs.com/GaoNa/p/9694892.html