1、linux学习笔记系统管理篇 linux入门: linux入门很重要,刚开始自学linux时懵懵懂懂好不容易装好了linux,大喜过后一脸无奈,这是哪跟哪呀里面的所有东西都不知道做什么用,自信对window有研究的我顿时手足无措,在给linux相了一天面后还是格掉了:(此后开始看书,慢慢的找感觉一直到长城开始系统的学才自以为找到了感觉(也就是入门了)。自我评价:学习linux找感觉最重要,不管是看书还是自己安装后琢磨,坚持着看和做,肯定能成。如果仅仅看了两天书就认为入门了那肯定是自欺欺人。Linux安装: 安装linux并不是很难,一般用光盘安装,安装时硬盘默认分为三个:引导分区;根分区;交换
2、分区;分区弄明白了安装也就没什么障碍了。还有从硬盘安装,我当初从硬盘安装linux时颇费一番周折,幸亏有platinum和shadowmin老师的及时指点才得以顺利安上,再次感谢一下:)附硬盘安装原文:注:装linux是要写规范主机名。如 作服务器时系统CMOS时间应设为格林威治时间,即国际标准时间linux基本命令: 挂接:单根文件系统使用多个设备的方法。 mount 设备 挂接点 dmesg | grep cd 此命令可看光驱在哪( 当老师讲到这里的时候机器出了点故障,鼠标不动了,老师用了一个命令就使鼠标复活,第一次感叹linux的神奇啊原来鼠标还可以重起(windows下还真没想过) 顺
3、便把老师用的命令也抄了下来,呵呵多学了个窍门 重启鼠标命令: /etc/rc.d/init.d/gpm restart)解除挂接:umount 挂接点 软盘写法: /dev/fd0SCSI硬盘写法:/dev/sd(a)括号内可以依次排为b cd.USB硬盘SATA硬盘系统都做SCSI硬盘对待。SCSI光驱写法:/dev/scd(0)括号内为数字零依次后派USB口的光驱也被认为SCSI光驱。注:只有先解除挂接可移动设备才可拿出来shell和文件系统shell命令: unix中绝大多数都是外部命令。内部命令常用的有cd 很少dos | shelldir | lstype | catcd | cdm
4、d | mkdirrd | rmdirdel | rmcopy | cpds | dearattrib | 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为小
5、写.第二个重要命令: vi 文件名 (文本编辑器) 它有三种工作模式,缺省为”命令模式” 输入I 进入”插入模式” 按ESC回到命令模式 常见命令: 删一个字符 x 删除一行 dd 恢复操作 u 复制 yy (光标在哪一行将复制哪一行) 粘贴 p (粘贴在光标下面)在vi重复输入一些命令时,在前面加数字 如插入100个a 则在命令模式下先输入100 按I输入一个a 回到命令模式则会有100个a被插入 5行东西重复3次则输入5yy3p 存盘退出用大写ZZ “末行模式”常见是搜索字符.用”/”在命令模式下输入“/”加字符串.在手册中也能用“;”会引发末行模式.可用”;”跳到某一行”;”加数字可直接
6、到那“;”还可用与文件操作“;q”可直接退出“;q!”强制退出“;w”存盘不退出“;wq”存盘退出“;recover”可在出现以外后修复文件“;w 文件名”另存为 shell命令的敲法: 命令 参数1 参数2 参数定界:用到” ”(单引号) 用单引号括起的如abc def 是告诉shell消除语法歧义如要建一文件叫 jacks daily 却不能用单引号了,此时得用”应写为: 例如:touce jacks daily “”为转意字符,取消反斜杠后一个字符的特殊含义文件系统在unix中”.”无特殊含义 unix下区分文件类型的命令 file unix下是靠文件的头部说明来区分文件格式,所以操作系
7、统不会理会扩展名的(exe文件头两字母是MZ) mount 直接回车是显示当前所mount的状态df 察看磁盘利用状态 磁盘分区du h +子文件名 检测文件系统子目录所占空间pwd查看当前子目录unix下一个文件可以不可读而可执行,对于子目录而言x就是另外一层含义了,称之为检索。对子目录而言r就是列表权(经验:不要安装基于文本界面的多媒体应用程序)如何修改权限 修改属主: chown -R 新属主 文件-R: 将文件夹中的所有文件也更改掉修改属组: charp -R 先属组 文件修改权限: chmod -R 新权限 文件新权限有两种表示方法:(1) 直观: 如 rw-rr数字 6 4 4 1
8、10100100 (2)字母法: 如 rw-r-r- u g o修改文件的访问权限不必非得是root,文件属主也可以windows文件权限策略是ACL,侧重与灵活性; unix文件系统策略是权限位,侧重用效率;linux所有权限都放于一个16位的短整数里linux特有功能(ext2 ext3所体现的):列出所有权限命令:lsattr 设置特殊权限: chattr连接:硬连接:硬连接本质使一个文件有两个文件名和windows不同windows中文件属性和文件名是放在一块的,而linux文件名仅是文件名 命令:ln 原文件名 新文件名 硬连接有两限制:(1)不能给子目录建硬连接(2) 不能跨文件系
9、统建硬连接(即不能跨分区)在unix下删除一文件的本质是断开一个硬连接,系统会将硬连接数减一,只要不为0则保留文件体。 符号连接:(路径跳转)命令: ln s 跳转去向 连接名 注:建符号连接得用绝对路径。写绝对路径此时可建成的在tem下看到的连接是红色的。“”后面指向的仅一个services但在当前目录即tem下却没有这个文件此时便出错了。 注: 符号连接可跨分区建立shellshell 使用: 在unix下常用的是bash 功能:(1)自动完成 按tab键支持路径,在参数位置上按tab会补齐文件名,按两下tab键便可看所有系统命令。(3) 命令历史:按 可查看所打过的历史命令。注:在用户文
10、件夹下有个bash-histroy保存有上次使用的命令。非shell功能, 虚拟终端功能:按alt+f1f6切换鼠标粘贴:左键选择右键粘贴,可跨终端。*shell如何运行外部命令:进程:一个正在运行的程序就是一个进程(不严密的解释)派生:系统的所有进程都是由一个进程派生出来的shell有一个父进程当接到一个命令时会产生一个子进程,而shell则进入休眠状态,等待子进程结束,子进程完后交给父进程一信息,父进程激活等待。 后台运行命令: 命令 &作业控制:ctrl+z 把前台作业挂起(暂停)挂起后都会保存在内存中。 怎么知道有作业呢?用jobs命令fg + 作业号 是把后台暂停作业调回前台bg +
11、 作业号 是把前台作业换到后台 shell的基本配置: bash的基本配置是由配置文件组成的./etc/profile称之为shell的全局配置文件。另外一个文件在个人的目录下 个人目录/.bash-profile还有个文件在个人的目录下/etc/bashrc 是第二个全局配置文件,保存的是(函数别名等)在个人目录下也有个配置文件/.bashrc etc下的文件是全局文件,一经修改所有的用户设置都改了shell的具体概念:环境变量: 变量名=变量值 例: LANG=en 是设置语言为英文 LANG=zh-CN.GB18030是设置语言为中文通过设置shell的变量来决定子进程继承什么样的值。
12、变量名=变量值 export 变量名可简化为 export 变量名=变量值 注:export 不能省略,另外此时定义的变量是当前shell的值,一旦注销便没有了,想固化得修改profile文件命令env 可查看所有环境变量里面有个path非常重要,它定义了shell命令执行的路径。Linux下命令执行仅搜索path路径,不会搜索当前目录的外部命令,所以在当前目录下要执行当前目录中的命令需要加”./”命令。3.引用变量的值: $变量名 例:export PATH=$PATH:/etc/xxx 例如:echo $LANG echo 回显命令 可察看LANG的值 例 export CMD =ls $
13、CMD l 等于ls lshell管道与重定向 一个进程的缺省标准输入输出分为标准输入;标准输出;标准错误输出三个管子。控制终端:缺省情况下进程的三个管子通向控制端输入重定向:命名 文件名 解释:原来要从终端读取的命令改成从文件读取。 例如:cat 文件名 原来要输出到终端的命令改成输出到文件 (此时叫覆盖式重定向) (2)命名 文件名 (追加式重定向) 例如: gcc 命令 0:标准的输入 1:标准输出 2:标准错误输出解释linux最精简的一句话是:linux下一切都是文件。 管道:匿名管道,unix传统进程间通信。写法: 命令1 | 命令2命令2处经常出现的是more 或 grep 例如
14、: 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/hda5shell 脚本本身就是程序,是用shell命令构成的,小规模、结构化、模块化、程序设计。
15、命令: 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
16、表达式 = 表达式表达式进行文件判断 -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 ab $A ge $B ab $A lt $B a=b $A le $B ab $A ne $B 逻辑比较: 条件A a 条件
17、B(与) 条件A-o 条件B (或) !条件 (非)例如: #!/bin/sh read MARK /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 三
18、个重要文件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中
19、并不一定安全,通过敲击热键可能会打出一shell。 shadow文件 shadow里面的口令是散列,散列是不可逆的批量添加150个用户 u001u150#!/bin/sh i=1 while $ile 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中高
20、级网络功能只能用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 网
21、卡名 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地址 简写为 i
22、p ad sh ip route sh 查看路由 简写为 ip ro sh ip neigh sh 查看静态ARP 简写为 ip ne shipv6中取消了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下 主机名/缺省网关
23、: 修改路径/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 例如
24、: 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 startlinux配置: 四 top 命令详解&进程管理 top 命令查看系统的资
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1