资源描述
linux入门: linux入门很重要,刚开始自学linux时懵懵懂懂好不容易装好了linux,大喜过后一脸无奈,这是哪跟哪呀~~~~~~里面所有东西都不懂得做什么用,自信对window有研究我顿时手足无措,在给linux相了一天面后还是格掉了:(此后开始看书,慢慢找感觉~~~~~~~~~~~始终到长城开始系统学才自觉得找到了感觉(也就是入门了)。自我评价:学习linux找感觉最重要,不论是看书还是自己安装后揣摩,坚持着看和做,必定能成。如果仅仅看了两天书就以为入门了那必定是自欺欺人。
Linux安装: 安装linux并不是很难,普通用光盘安装,安装时硬盘默认分为三个:引导分区;根分区;互换分区;分区弄明白了安装也就没什么障碍了。尚有从硬盘安装,我当时从硬盘安装linux时颇费一番周折,幸亏有platinum和shadowmin教师及时指点才得以顺利安上,再次感谢一下:)附硬盘安装原文:
注:装linux是要写规范主机名。如
作服务器时系统CMOS时间应设为格林威治时间,即国际原则时间
linux基本命令:
挂接:单根文献系统使用各种设备办法。
mount 设备 挂接点
dmesg | grep cd 此命令可看光驱在哪
( 当教师讲到这里时候机器出了点故障,鼠标不动了,教师用了一种命令就使鼠标复活,第一次感叹linux神奇啊~~~~~本来鼠标还可以重起(windows下还真没想过)
顺便把教师用命令也抄了下来,呵呵多学了个窍门
重启鼠标命令: /etc/rc.d/init.d/gpm restart
)
解除挂接:umount 挂接点
软盘写法: /dev/fd0
SCSI硬盘写法:/dev/sd(a)括号内可以依次排为b cd…….
USB硬盘SATA硬盘系统都做SCSI硬盘对待。
SCSI光驱写法:/dev/scd(0)括号内为数字零依次后派
USB口光驱也被以为SCSI光驱。
注:只有先解除挂接可移动设备才可拿出来
shell和文献系统
shell命令: unix中绝大多数都是外部命令。内部命令惯用有cd 很少
dos | shell
dir | ls
type | cat
cd | cd
md | mkdir
rd | rmdir
del | rm
copy | cp
ds | dear
attrib | chown charp chmod
此上命令除了cd 全是外部命令
最重要命令: man 主题
主题可是shell命令也可是配备文献,还可是C语言函数,但有时shell命令和配备文献相似时打入命令怎么办呢,此时用参数
man 1.命令 2.系统函数 3.原则库函数 5.配备文献
例:查passwd 默认 man passwd 会查到
man passwd(1)命令
此时要用 man 5 passwd 可查配备文献
模糊查找(匹配)参数:-k 例 man –k PPP 和大多数unix中同样k为小写.
第二个重要命令:vi 文献名 (文本编辑器)
它有三种工作模式,缺省为”命令模式”
输入I 进入”插入模式” 按ESC回到命令模式
常用命令:删一种字符 x
删除一行 dd
恢复操作 u
复制 yy (光标在哪一行将复制哪一行)
粘贴 p (粘贴在光标下面)
在vi重复输入某些命令时,在前面加数字 如插入100个a 则在命令模式下先输入100 按I输入一种a 回到命令模式则会有100个a被插入 5行东西重复3次则输入5yy3p 存盘退出用大写ZZ
“末行模式”常用是搜索字符.用”/”在命令模式下输入
“/”加字符串.在手册中也能用
“;”会引起末行模式.可用”;”跳到某一行”;”加数字可直接到那
“;”还可用与文献操作
“;q”可直接退出
“;q!”强制退出
“;w”存盘不退出
“;wq”存盘退出
“;recover”可在浮现以外后修复文献
“;w 文献名”另存为
shell命令敲法:
命令 参数1 参数2
参数定界:用到” ‘ ‘”(单引号) 用单引号括起如’abc def ‘是告诉shell消除语法歧义
如要建一文献叫 jack’s daily 却不能用单引号了,此时得用”\”应写为:例如:
touce jack\’s\ daily
“\”为转意字符,取消反斜杠后一种字符特殊含义
文献系统
在unix中”.”无特殊含义
unix下区别文献类型命令 file
unix下是靠文献头部阐明来区别文献格式,因此操作系统不会理睬扩展名
(exe文献头两字母是MZ)
mount 直接回车是显示当前所mount状态
df 察看磁盘运用状态 磁盘分区
du –h +子文献名 检测文献系统子目录所占空间
pwd查看当前子目录
unix下一种文献可以不可读而可执行,对于子目录而言x就是此外一层含义了,称之为检索。对子目录而言r就是列表权
(经验:不要安装基于文本界面多媒体应用程序)
如何修改权限
修改属主: chown [-R] 新属主 文献
-R: 将文献夹中所有文献也更改掉
修改属组: charp [-R] 先属组 文献
修改权限: chmod [-R] 新权限 文献
新权限有两种表达办法:
(1) 直观: 如 rw-r—r—
数字 6 4 4
(2)字母法: 如 rw-r--r--
u g o
修改文献访问权限不必非得是root,文献属主也可以
windows文献权限方略是ACL,侧重与灵活性; unix文献系统方略是权限位,侧重用效率;
linux所有权限都放于一种16位短整数里
linux特有功能(ext2 ext3所体现):列出所有权限命令:lsattr
设立特殊权限: chattr
连接:
硬连接:硬连接本质使一种文献有两个文献名和windows不同windows中文献属性和文献名是放在一块,而linux文献名仅是文献名
命令:ln 原文献名 新文献名
硬连接有两限制:(1)不能给子目录建硬连接
(2) 不能跨文献系统建硬连接(即不能跨分区)
在unix下删除一文献本质是断开一种硬连接,系统会将硬连接数减一,只要不为0则保存文献体。
符号连接:(途径跳转)
命令: ln –s 跳转去向 连接名
注:建符号连接得用绝对途径。写绝对途径此时可建成在tem下看到连接是红色。“à”背面指向仅一种services但在当前目录即tem下却没有这个文献此时便出错了。
注: 符号连接可跨分区建立
shell
shell 使用: 在unix下惯用是bash
功能:(1)自动完毕 按tab键支持途径,在参数位置上按tab会补齐文献名,按两下tab键便可看所有系统命令。
(3) 命令历史:按↑↓ 可查看所打过历史命令。注:在顾客文献夹下有个bash-histroy保存有上次使用命令。
非shell功能, 虚拟终端功能:按alt+f1~f6切换
鼠标粘贴:左键选取右键粘贴,可跨终端。
*shell如何运营外部命令:
进程:一种正在运营程序就是一种进程(不严密解释)
派生:系统所有进程都是由一种进程派生出来
shell有一种父进程当接到一种命令时会产生一种子进程,而shell则进入休眠状态,等待子进程结束,子进程完后交给父进程一信息,父进程激活等待。
后台运营命令: 命令 &
作业控制:ctrl+z 把前台作业挂起(暂停)挂起后都会保存在内存中。
怎么懂得有作业呢?用jobs命令
fg + 作业号 是把后台暂停作业调回前台
bg + 作业号 是把前台作业换到后台
shell基本配备:
bash基本配备是由配备文献构成./etc/profile称之为shell全局配备文献。
此外一种文献在个人目录下 个人目录/.bash-profile
尚有个文献在个人目录下/etc/bashrc 是第二个全局配备文献,保存是(函数别名等)在个人目录下也有个配备文献~/.bashrc
etc下文献是全局文献,一经修改所有顾客设立都改了
shell详细概念:
环境变量: 变量名=变量值 例: LANG=en 是设立语言为英文
LANG=zh-CN.GB18030是设立语言为中文
通过设立shell变量来决定子进程继承什么样值。
{变量名=变量值
export 变量名
可简化为 export 变量名=变量值 注:export 不能省略,此外此时定义变量是当前shell值,一旦注销便没有了,想固化得修改profile文献
命令env 可查看所有环境变量里面有个path非常重要,它定义了shell命令执行途径。
Linux下命令执行仅搜索path途径,不会搜索当前目录外部命令,因此在当前目录下要执行当前目录中命令需要加”./”命令。
3.引用变量值: $变量名 例:export PATH= $PATH:/etc/xxx
例如:echo $LANG echo 回显命令 可察看LANG值
例 export CMD =ls
$CMD –l 等于ls –l
shell管道与重定向
一种进程缺省原则输入输出分为原则输入;原则输出;原则错误输出三个管子。
控制终端:缺省状况下进程三个管子通向控制端
输入重定向:命名 < 文献名 解释:本来要从终端读取命令改成从文献读取。
例如:cat < /etc/hosts 则cat读取文献不是从键盘而是从hosts文献,cat不懂得所要读取原则输入输出被换成/etc/hosts和cat /etc/hosts不同样,此时是cat直接读取hosts
输出重定向:(1)命名 > 文献名 本来要输出到终端命令改成输出到文献
(此时叫覆盖式重定向)
(2)命名 >> 文献名
(追加式重定向)
例如: gcc 命令 0:原则输入
1:原则输出
2:原则错误输出
解释linux最精简一句话是:linux下一切都是文献。
管道:匿名管道,unix老式进程间通信。
写法: 命令1 | 命令2
命令2处经常浮现是more 或 grep
例如: cat /etc/services | grep ‘http’ 意思是包具有http输出
磁盘分区格式化
分区: fdisk -l 列出分区表
fdisk 磁盘而不是某分区 (/dev/had)
command :p 看分区
n 新建分区
d 删除分区
q 不保存退出
w 保存退出
生成文献系统(格式化)
mkfs (make file system)
mkfs -t ext2 /dev/hda5
mkfs -t ext2 –j /dev/hda5 :格式化成ext3格式
挂接:mount /dev/hda5
shell 脚本自身就是程序,是用shell命令构成,小规模、构造化、模块化、程序设计。
命令: echo 输出信息用
read 输入信息 read+ 变量名
sleep 休眠 sleep+ 秒数
在终端上算数表达式写法: echo $ ((1x2x3))这是整数运算不能带小数点。
/ :除
% :余
shell脚本格式:
第一行必要是 #!/bin/sh
有三种构造 顺序构造 分支构造 循环构造
顺序构造
wait 命令 保证进程同步 等待一种子进程结束 各种并发就用各种wait
例如: #!/bin/sh
echo “1”
sleep 5&
echo “3”
echo “4”
wait
echo”5”
分支构造
if 判断 ; then
T块
Else
F块
fi
判断 test语句 test 表达式 = [表达式]
表达式进行文献判断 -f 文献名(检测该文献与否存在且为普通文献
-d 目录名
-r 可读
-w 可写
-x 可执行
例如:
#!/bin/sh
echo “file”
read FileName
if [-f $FileName];then
echo “yes”
else
echo “no”
fi
字符串比较 相等 串A =串B
不等 串A!=串B
-z 判断字符串与否为零 空为真 非空为假
数值比较: 不不大于 等于 不大于 不等于
a > b $A –gt $B
a≥b $A –ge $B
a≤b $A –lt $B
a=b $A –le $B
a≠b $A –ne $B
逻辑比较: 条件A –a 条件B(与)
条件A-o 条件B (或)
!条件 (非)
例如:
#!/bin/sh
read MARK < /proc/sys/net/ipv4/ip_forward
echo $MARK
if [ $MARK = “0” ];then
else echo “host”
echo “GATEWAY”
fi
‘ ‘ 反单引号: 如果反单引号背面有语句则将里面语句运营完后将成果替代此处
例如:
#!/bin/sh
u=id –u
if [$u = ‘0’] ;then
echo “hello”
else
echo “permission denied”
fi
再例如:
#!/bin/sh
echo “username”
read userNAME
MARK = ‘cat /etc/passwd | grep ‘$userNAME:’
积极if [ -z $ MARE] ;then
echo “NO”
else
echo “YES”
fi
多分支构造
case 字符串 in
串1) 块1
;;
串2) 块2
;;
.
.
.
*)
esac
例如:
#!/bin/sh
echo “command”
read CMD
case $CMD in
start)
/etc/rc.d/init.d/named start
;;
stop)
/etc/rc.d/init.d/named stop
;;
estart)
/etc/rc.d/init.d/named stop
/etc/rc.d/init.d/named start
;;
*)
echo “usage :$0 {start|stop|restart}
;;
esac
*知识点: . 脚本 让shell不打开子进程,在当前shell进程中运营脚本
看脚本切忌一行一行看,要一层一层看,就像剥玉米.
Shell脚本
循环 1)当形循环
2)条件循环
while 判断; do
循环体
done
例如:
#!/bin/sh
i = 0
while [ $i –lt $n] ;do
j=0
while [ $j –lt $ (($i+1))] ; do
echo “\*”
j=$(($j+1))
done
echo
i=$(($i+1))
done
定期循环 00:00:00:1970-01-01 utc 称之为unix元年
data +%s 是取从unix元年至少过了多少秒
date +%H:%M:%S 显示时分秒格式
例如:
#!/bin/sh
intime = ‘date +%S’ –le $ [ (intime+5)] ;do
echo “.” ##echo背面加-n 输出就不回车了,横向输出
done
运用date命令可以以便实现定期循环
shell风格循环 for 循环 (枚举循环)
格式 for 变量名 in 值列表 ; do
循环体
done
##值列表:核心某些,一系列由空格分开字符串
例如: #!/bin/sh
for n in asd 4r3 56h er34 657 tr ger ;do
echo $n
done
要自动下载列表中东西编shell
#!/bin/sh
cd /tmp/dl
for url in cat /etc/urls ;do
wget $url
done
>/etc/urls
补充知识: 参数传递
命令 参数1 参数2 …………
例如:
#!/bin/sh
n=$1
i=0
while ($i-lt $n);do
echo “xxxx”
ii= $ (($$+1))
done
$0 $0就是命令自身
编后:此处讲都是基本shell应用,教师推荐看《bash编程》
Linux系统管理
1. 顾客管理
添加账户 useradd 顾客名
passwd 顾客名
groupadd 组名 usedel -r 顾客名
/etc/group /etc/passwd /etc/shadow 三个重要文献
group 文献 格式: 组名:x :组ID:构成员
passwd文献 格式: 顾客名:x:顾客ID:组ID::顾客目录:shell
顾客在passwd文献中体现组关系称为顾客组属组,而在group组中体现是额外组。
false:运营起来就是个恒假。对的运用false给顾客,将false添加到/etc/false下顾客名字后这样顾客就被拒之门外。如mail顾客 通过修改顾客shell来限制顾客登陆提高网络安全性。
top命令:察看机器负载状况
which命令:查看外部命令途径
top被弄成顾客shell时牢记在linux下可用,因在linux下top是安全模式,而在其她unix中并不一定安全,通过敲击热键也许会打出一shell。
shadow文献 shadow里面口令是散列,散列是不可逆
批量添加150个顾客 u001—u150
#!/bin/sh
i=1
while [$i–le 150] ;do
if [ $i -lt 10] ;then
uname =u00$i
else
uname=u$i
fi
useradd $uname
i = $(($i+1))
done
passwd 命令规定只能在终端上手动输入,只有用stdin参数便可解决
作业: 从一表中将已知顾客名导入useradd
网络配备
linux 下有两套网络配备,第一套为BSD方式,另一套是linux方式。linux中高档网络功能只能用linux方式。
BSD方式:1.查看 ifconfig 网卡名 BSD中必要指定网卡名
注释:
collisions 冲突 txqueuden 发送包长度
网卡工作模式 mii-tool 媒体无关接口
ethtool+网卡名 查看命令更详细(需要网卡驱动支持)
netstat –r 查看路由
查看网络连接状态
netstat -ant 查看TCP所有网络连接
-anu 查看UDP所有套接字
一条TCP连接会产生两个套接字,两台机器均开。
ARP -n -n意思是不要进行反解 不转成名字
查看DNS cat /etc/resolv.conf
2.配备IP
ifconfig 网卡名 ip地址
配备路由 route add -net 网络地址 netmast x.x.x.x gw 网关
route add -host 网络地址 netmast x.x.x.x dev 网卡
route del -net 网络地址 netmast x.x.x.x gw 网关
route del -net 网络地址 netmast x.x.x.x dev 网卡
缺省写法: route add default gw 网关
route add default dev网卡
静态ARP arp -s IP地址 MAC地址
linux 方式:
ip 命令
ip addr show 查看IP地址 简写为 ip ad sh
ip route sh 查看路由 简写为 ip ro sh
ip neigh sh 查看静态ARP 简写为 ip ne sh
ipv6中取消了ARP 改用ICMP
详细配备:
ip ad add dev ip地址/掩码长度
ip route add ip地址/掩码长度 dev 网卡
ip route add ip地址/掩码长度 via 网关地址
激活/禁止某网卡
ifconfig dev down/up
linux下:
ip link set up dev eth0
ip link set down dev eth0
此设立都是暂时,固化网络配备,在linux下 主机名/缺省网关: 修改途径
/etc/sysconfig/network
如果修改主机名顺便把hosts文献也得改 /etc/hosts否则有时服务会启动时挂起死等~~~~~~~~~~~~~~~~
固化IP 地址 /etc/sysconfig/network-scripts下ifcfg-网卡名
例如: /etc/sysconfig/network-scripts/ifcfg-eth0
bootprotocol= static ##如果用动态IP则改成DHCP
ONBOOT=yes ##启动时激活,设立思想:作为外网网卡应当为NO,因防火墙启动之前将网卡先期启动会有被袭击危险
静态ARP固化
/etc/ethers
写法: mac ip 例如 : 01:02:03:04:05:06 10.0.0.2
(小知识点:
万用脚本:/etc/rc.local 不论什么命令只要加在此,下次开机后便会自动运营,相称于autoexec.bat。在顾客登陆之前便已经运营,注:在此文献中加命令时不可阻塞,如果命令执行时间过长则加“$”将其弄到后台执行。
三.筹划任务 在linux和unix下是cron服务来实现,每隔一分钟检查一次任务列表。
/etc/crontab
crontab 命令 -l (list)
-e (edit)
写时间格式:时分日月周 命令
例如:
05 5 * * 1,3,5 ##每周一三五运营
技巧:筹划任务可用”,”“_””/”给分开
如果筹划任务不执行此时重要因素是途径不对,看crontab便可知,PATH写便是,第二因素是终端:不能读原则输入和写原则输出,但可用重定向往文献中写可以,不能使用终端如果要修改crontab文献则需要先停止cron服务。
/etc/rc.d/init.d/crond stop
修改~~~~~~~~~~~~~~~~~
/etc/rc.d/init.d/crond start
linux配备: 四 top 命令详解&进程管理
top 命令查看系统资源状况
load average 表达在过去一段时间内有多少个进程企图独占CPU
zombie 进程 :不是异常状况。一种进程从创立到结束在最后那一段时间遍是僵尸。留在内存中档待父进程取东西便是僵尸。任何程序均有僵尸状态,它占用一点内存资源,仅仅是表象而已不必胆怯。如果程序有问题有机会碰见,解决大批量僵尸简朴有效办法是重起。kill是无任何效果
stop模式:与sleep进程应区别,sleep会积极放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)进程是无法自己回到运营状态。
cpu states :
nice: 让出比例 irq :中断解决占用
idle:空间占用比例 iowait:输入输出等待(如果它很大阐明外存有瓶颈,需要升级硬盘(SCSI))
Mem: 内存状况
设计思想:把资源省下来不用便是挥霍,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看互换分区使用状态。
ps命令 列进程。列出所有进程
ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到,例木马
看进程树,以树形方式现实进程列表敲 ps axf
init是1号进程,系统所有进程都是它派生,杀不掉
ps axm :会把线程列出来
在linux下进程和线程是统一,是轻量级进程两种方式。
ps axu :显示进程详细状态。
vsz:说此进程一共占用了多大物理内存。
rss:祈求常驻内存多少
终结进程: kill pid 本质是协商退出!(并不是强制退出)
全: kill -信号 pid
kill –KILL pid 是强制退出。
例如编写一kill杀不掉程序
#!/bin/sh
while true j do
echo –n “.”
sleep 1
done
#!/bin/sh
trap “”15 ##捕获15号进程,kill就是15号进程
while true j do
echo -n “.”
sleep 1
done
修改进程优先级:
nice 命令 每个进程均有优先权,权值越小优先级越高。
nice –调节值 命令 ##范畴“-20~19”
linux图形界面优先级并不是最高,它仅是一进程
nice命令在root下可随意调节,在普通顾客状态下只能调低不能提高,但是还是可以恢复回去。
局限性:必要敲命令之前敲nice ,它无法更改已经运营程序优先级。
如果要更改已经运营用 renice 调节值 pid
即在线调节。
killall 命令: 杀死一系列进程,即杀死一系列由一种相似命令产生进程例如killall fam
killall是依照命令名来杀,kill以pid 来区别。
在top 里面可以直接杀死进程,按“K“输入PID可杀
按“R“可调节优先级
BSDunix 定义了32个信号 linux定义了64个信号。
五 启动管理
启动顺序: BIOS à MBR -> 启动扇区
MBR :扫描分区表看哪个是可启动分区,再将那个扇区放入内存。
GRUB有两种装法: 1. MBR 2.启动扇区
GRUB有两个基本技巧:
1. 单顾客启动模式: 见到GRUB启动菜单时按“e“选”“kernel“打头那一行,再按“e”,然后在/ rhg背面加空格+“1” 再按“b”便以单顾客模式启动了,输入init 3便进入正常启动模式。
在单顾客模式下可以更改root口令,有很大危险。
防护办法: 给grub加口令
vi /etc/grub.conf ##在timeout后添加一行
password=1234567 ##密码
使生效:敲grub回车 等待一会 再敲quit
2. GRUB—> linux内核 -> init进程 ->1.进程指令运营级
2./etc/rc.local
3.虚拟终端
init配备文献 /etc/inittab
里面有一阐明 0 –halt
1- single
3- full mutiluser
5- X11
id:5:initdefault ##缺省进入5 X11模式
si::sysinit:/etc/rc.d/rc.sysinit ##系统启动后来调用第一种脚本,即init进程所调用
trap ctrl – alt –delete
ca:ctr
展开阅读全文