收藏 分享(赏)

Linux认识与基础命令.ppt

上传人:fmgc7290 文档编号:8118954 上传时间:2019-06-09 格式:PPT 页数:84 大小:986.62KB
下载 相关 举报
Linux认识与基础命令.ppt_第1页
第1页 / 共84页
Linux认识与基础命令.ppt_第2页
第2页 / 共84页
Linux认识与基础命令.ppt_第3页
第3页 / 共84页
Linux认识与基础命令.ppt_第4页
第4页 / 共84页
Linux认识与基础命令.ppt_第5页
第5页 / 共84页
点击查看更多>>
资源描述

1、Linux认识与基础命令,平台运维部,1、操作系统分类,操作系统分类,1.1、Linux分类,2、为什么用Linux?,3、职业发展方向,职业发展方向,3.1、 运维方向,3.1.1、系统管理员,简称:SA 熟悉常用应用,了解其他应用 语言:shell/perl/python,3.2.1、系统工程师,简称:SE 熟悉SA的东西,基础上你还需要 熟悉Erlang,C/C+,PHP等语言,3.2.2、嵌入式开发工程师,基于Linux的内核、驱动开发 熟悉C,C+,汇编等语言,4、如何学习Linux,如何学习Linux,4.1、书籍,鸟哥的Linux私房菜-基础学习篇 鸟哥的Linux私房菜-服务器

2、架设篇,4.2、多实践,虚拟机是你最好的实验环境;快速、批量、便于实践。,5、认识你的Linux,认识你的Linux,5.1、查看硬件,5.1、查看硬件,5.2、查看系统,5.2、查看系统,5.2、查看系统,查看运行级别 runlevel /etc/inittab grep default /etc/inittab id:3:initdefault:,0:关机 1:单用户模式(修改root密码) 2:多用户无网络命令行 3:多用户有网络命令行 4:保留 5:多用户图形模式 6:重启,5.2、查看系统,查看所有网卡的IP信息 Ifconfig查看eth0的 ifconfig eth0,6、目录和

3、文件操作,目录和文件操作,6.1、目录,6.1.1、目录结构,6.1.2、查看目录,列出文件、目录的详细信息 ls -l, a, h, d, R 更详细的信息:stat stat mysql.sock改变Modify和Change时间 touch mysql.sock,6.1.2、查看目录,查看当前目录大小 du -sh 当前目录下各目录文件大小 du -sh *指定目录深度max-depth=num du -h -max-depth=2,6.1.2、查看目录,关于du与df 很多时候,我们删除了一个文件,例如是log日志文件,du -sh看到空间已经释放出来了,但df -h看还是一样,对操作

4、系统来说,rm掉了,系统会给一个deleted标记,所以du -sh看到已经释放了,但实际上,该日志文件仍然被应用程序锁定、占用,所以df -h看到还是没有释放。 可以通过以下命令查看标记为删除的文件 lsof |grep deleted 如果有看到刚删的文件,则需要重启占用该文件的应用程序,释放资源。统计目录和文件个数 ls -l |wc -l,6.1.3、操作目录,递归创建目录 mkdir -p /data/sh/init 复制目录 /bin/cp dir1 dir2 递归复制 /bin/cp -R dir1 dir2 如果要保留原目录的属性、权限,则需要用 /bin/cp -a dir1

5、 dir2,需要注意的是,无论是加-R还是-a,都不会处理.开头的隐藏文件和目录。 例如.svn是不会被复制的,6.1.3、操作目录,移动目录(重命名) /bin/mv dir1 dir2 删除空目录 rmdir dir 删除非空目录 /bin/rm -rf dir,以下命令,可以达到同样的效果,但是一个不好的写法,加了./简直就是画蛇添足,万一在.和/和dirname之间有空格,那么就杯具了,命令会把/删掉,你就等着叫天天不应,叫地地不灵吧。所以,不要画蛇添足,不要加./。 /bin/rm -rf ./dir #这是错误的,6.2、文件,6.2.1、查看文件 从头开始显示文件所有内容 cat

6、 filename 从后面开始显示文件所有内容(与cat相反) tac filename 逐屏查看 more filename 显示开头10行 head filename 指定行数量 head -20 filename,6.2.1、查看文件,显示末尾10行 tail filename 指定行数量 tail -n 20 filename 持续监视文件输出,ctrl+c退出 tail -f filename 查看文件状态,最后访问时间,最后修改时间 stat filename 查看文件中是否包含keyword grep keyword filename 查看当前目录及其子目录下哪个文件包含keyw

7、ord grep -R keyword *,6.2.2、编辑文件,使用vi编辑器 vi filename看两条复制文件命令,假设目录下已经存在file和 file.OLD两个文件 cp file file.OLD /bin/cp file file.OLD 可以看到第一条命令需要确认是否覆盖现有文件,而第二条就不需要确认。 这是因为我们在/root/.bash_profile里定义了命令别名, alias cp=cp -i 所以,我们在复制文件的时候,如果不想确认,就要用 /bin/cp 类似需要确认的还有mv,rm等命令。,6.2.3、移动文件,移动文件 mv file filepath重命

8、名文件 mv filename new_filename,6.2.4、删除文件,删除文件 rm -f file删除目录 rm -rf dirname,注意:在生产环境服务器上,对rm 命令使用要十分慎重,由其是删除目录或多文件时,rm -rf . /* ,这个命令看似删改本地目录文件。但是实际上是删除了当前目录与及根目录所有东西。 因为它中间多了一个空格,这种失误是毁灭性的。,6.3、tar命令,tar建议是直接cd到要打包目录的上一级目录进行打包,不支持加绝对路径进行打包 例如你要打包/data/web/下的www目录 你执行如下命令,是会报错的; tar cf www.tar /data/

9、web/www 你只能, cd /data/web tar cf /www.tar www,6.3.1、压缩,低压缩率,速度快 tar cf file.tar file 压缩率与速度兼顾 tar czf file.tar.gz file 压缩率高,速度慢 tar cjf file.tar.bz2 file 排除特定后缀文件或目录 tar file.tar file -exclude=“*.log“,6.3.2、解压缩,在tar 1.23以上版本支持自动识别压缩格式,无须指定压缩格式 tar xf file.tar.gz 如果是低版本,则需要指定压缩格式, tar xf file.tar tar

10、 xzf file.tar.gz tar xjf file.tar.bz2 以上命令都是会解压缩到当前目录,加压缩到指定目录, tar xf file.tar -C /path/to/tar 不解压缩,查看压缩文件里包含的文件和目录, tar tf file.tar |more,6.4、文件和目录查找,6.4.1、 find命令 find /dir -name “keyword“可以指定是找文件还是目录, 查找文件: find /dir -name -type f “keyword“ 查找60天前的文件: find /soft/old -type f -mtime +60 带命令模式: fin

11、d /soft/old type f -mtime +60 -exec rm -rf ;,6.4.2、locate,快速查找命令,locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 updatedb;先建立索引 updatedb 查找 locate keyword locate find,6.5、文件和目录权限,6.5.1、权限组成 共9位,每3位为一组 共3组 各组依次代表文件所有者、同组用户和其他用户对该

12、文件的权限。 每组的3位依次代表读、写、执行权限。 每一组都是rwx三个符号与“-”符号的组合r:读权限 w:写权限 x:执行权限 :禁止,6.5.1、权限组成,八进制表示:r:4 w:2 x:1 -:0,6.5.2、权根掩码,umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限), 通常用到的是后3个。 默认情况下的umask值是022,建立的文件默认权限是644,建立的目录的默认权限是755,umask是为了控制默认权限,不要使默认的文件和目录具有全权而设的。默认掩码是022 对于文件 666 - 022 = 644 = rw-r-r- 对于目录 777 -

13、 022 = 755 = rwxr-xr-x 更改umask ,umask 002,6.5.3、更改权限,chown 改变文件的所有权 chgrp 改变用户分组 chmod 改变文件属性 格式:chmod -options rwx filelist,+:加入权限 -:去掉权限 =:设定权限,6.5.3、更改权限,更改所有者和组 chown www:www dir 或者 chown www.www dir 递归更改 chown -R www:www dir 更改用户组 chgrp www file 更改文件/目录权限 chmod 775 file chmod -R 775 file chmod

14、o+wr file,6.5.3.2、更改具体权限,返回一个文件路径字符串的基本文件名称 basename /root/tt.log 返回:tt.log返回一个的路径字符串的上层目录路径 dirname /usr/local/nginx/conf/nginx.conf 返回:/usr/local/nginx/conf/,7、文件操作高阶,文件操作高阶,7、文件操作高阶,示例文本 先假设有一个叫mc.txt的文件,里面的内容如下: abc ab c bc cc aa=cc bb=cc,7.1、cat命令,将一段内容保存为文件 cat aa.txt cc.txt重定向符号“”,“” “”,覆盖方式写

15、入 “”,以追加方式写入,7.2、grep命令高阶,过滤出包含某关键字的行 grep ab mc.txt 输出: abc ab c精确匹配 从输出结果可以看到,grep是一种模糊匹配,只要包含ab,它都会打印出来,假如我们要精准的,例如只要包含ab的,不要abc呢,可以如下这样 grep -w ab mc.txt 输出: ab c,7.2、grep命令,当前目录下匹配指定字符 grep abc *以递归方式匹配指定字符 grep -R abc *显示不包含ab的行 grep -v ab mc.txt 输出: cc bc ,7.3、sed流编辑软件,普通替换 例如,我想替换mc.txt里的cc为

16、bb,但不直接修改原来的文件,可以这样 sed s/cc/bb/g mc.txt 输出: abc ab c bc bb aa=bb bb=bb cc cc bb cc,注意:以上只是输出结果,实际mc.txt的文件内容是没有改变的。,7.3、sed流编辑软件,有条件替换 假如,只替换包含“aa=”这个字符串的行中的cc替换为bb sed /aa=/ s/cc/bb/ mc.txt 输出: abc ab c bc cc aa=bb bb=cc,7.3、sed流编辑软件,追加 例如在cc的下一行加入dd sed /cc/ add mc.txt 输出: abc ab c bc cc dd aa=cc

17、 dd bb=cc dd,7.3、sed流编辑软件,直接修改文件 当使用-i选项就会直接修改文件 sed -i s/cc/bb/ mc.txt 执行以上命令后,不会有任何输出,我们 cat mc.txt 会发现,文件里的cc全部被替换成bb了,7.4、awk工具,当你要显示一个文本里面的某一列或者某几列,就可以用awk了,当然你也可以用它来打印行分隔符默认是空格,或者制表位,可以通过-F参数更改,例如指定=为分隔符,可以 awk -F = $0指行记录 $1指第一列 $NF 表示最后一列,7.4、awk工具,显示第一列 awk print $1 mc.txt显示第一列和第二列 awk prin

18、t $1,$2 mc.txt 输出: abc ab c bc cc aa=cc bb=cc,7.4、awk工具,指定=为分隔符,打印第一列 awk -F= print $1 mc.txt 输出: abc ab c bc cc aa bb打印包含aa关键字行的第一列,并把分隔符设置为=, awk -F= /aa/print $1 mc.txt,7.5、综合例子,以游戏为例,例如我们有一个激活码文件ac.txt,存放的是我们的激活码,它的内容如下: 6299d5bf4b3f 9375871bd8ba dc73a7f4c416 9c918a9a5e9b b87e0147d30b 52d507d72a

19、d9 fb93dde33740 1ed1693fa51c e06eeffc8605 7c32de92568e,7.5、综合例子,我们需要把这些内容处理成sql文件格式; 数据表结构:,awk BEGINprint “INSERT INTO tactive_num (active_key, user_id, mlevel, mtime) VALUES“print “(“$1“,0,0,0),“ ac.txt |sed $s/,$/;/ ac.sql,7.4、awk工具,cat ac.sql,输出如下 INSERT INTO tactive_num (active_key, user_id, ml

20、evel, mtime) VALUES (6299d5bf4b3f,0,0,0), (9375871bd8ba,0,0,0), (dc73a7f4c416,0,0,0), (9c918a9a5e9b,0,0,0), (b87e0147d30b,0,0,0), (52d507d72ad9,0,0,0), (fb93dde33740,0,0,0), (1ed1693fa51c,0,0,0), (e06eeffc8605,0,0,0), (7c32de92568e,0,0,0);,7.5、重定向和管道,标准输入:0 标准输出:1 标准错误输出:2输入重定向 cat newfile 错误输出重定向 c

21、at urfile 2 errorfile 输出和错误输出都重定向到一个文件 cat urfile run.log 2&1,7.6、 管道,一条命令的标准输出作为另外一条命令的标准输入,称之为管道。 ls |grep install,8、进程管理,进程管理,8、进程管理,9、软件管理,软件管理,9、软件管理,9.1、与Windows软件管理比较,9.2、 发行方式,特点: 1、可根据实际情况定制编译参数 2、安装比较耗时间 典型命令: tar xf soft.tar.bz2 cd soft ./configure make make install,9.2.2、二进制包方式(rpm),rpm:

22、Redhat Package Manager rpm特点 1、安装快速 2、依赖发行版,9.2.3、rpm包管理命令,安装 rpm -ivh filename rpm包有依赖关系,例如安装C,必须先装D,但装D时,又提示需要先装B,这样就会出现死循环,需要忽略依赖,强行安装 rpm -ivh -nodeps filename 升级包,这里注意是普通软件可以用升级,但对于内核,就建议不要用升级了,建议用ivh安装一个新的内核 rpm -Uvh filename 卸载 rpm -e filename 忽略包依赖卸载 rpm -e -nodeps fileame,9.2.3、rpm包管理命令,查询

23、查看是否安装了某个包,grep -i是指忽略大小写,提高准确率 rpm -qa |grep -i php 查看php包安装了什么东西 rpm -ql php 查看某个未安装的包提供了什么东西,例如有一个rpm包是/dist/dist/php.rpm rpm -qpl /dist/dist/php.rpm 查看某个文件是由哪个包提供的 rpm -qf /sbin/iptables,9.2.4、 yum软件管理,为解决依赖问题,可以用yum进行网络安装卸载rpm包,加-y不需要二次确认 yum -y install httpd卸载,也可以加-y,但建议不要用,还是二次确认下比较好 yum remo

24、ve httpd查看哪个包提供某个文件 yum provides */lsof,10、网络相关,网络相关,10、网络相关,10.1、 远程连接,拷贝 ssh登录 ssh 192.168.0.100 指定端口,例如端口为61000 ssh -p61000 192.168.0.100 指定用户名 ssh root192.168.0.100 或者 ssh -l root 192.168.0.100 指定认证key文件 ssh -i /home/user/identity 192.168.0.100,取消host检查 ssh -o StrictHostKeyChecking=no 192.168.0.

25、100 为避免每次登录都需要指定,直接在/etc/ssh/ssh_config加 StrictHostKeyChecking=no 远程执行命令 登录到192.168.0.100执行ls -l ssh 192.168.0.100 “sleep 3 “ 以上方式会保持与192.168.0.100的连接,等待命令结束再退出 ssh -f 192.168.0.100 “sleep 3“ 加-f选项后,命令发送过去后,立即退出,也就是把命令放到后台去执行,对于大批量服务器管理,命令执行时间又很长时,-f选项显得特别重要 详细显示连接过程 ssh -v 192.168.0.100,10.1.2、scp拷

26、贝,指定端口 scp -P61000 /tmp/1.txt 192.168.0.100:/tmp/ 指定认证key文件 scp -i /home/user/identity /tmp/1.txt 192.168.0.100:/tmp/ scp目录 scp -r /data/sh/* 192.168.0.100:/data/sh/ scp限速 单位是Kbit/s,比特/s,以下是限制为2M scp -l 24576 /tmp/test.zip 192.168.0.100:/tmp/ 取消host检查 scp -o StrictHostKeyChecking=no /tmp/1.txt 192.1

27、68.0.100:/tmp/ 同样在/etc/ssh/ssh_config加 StrictHostKeyChecking=no,10.2、网卡相关,禁用网卡 ifdown eth1开启网卡 ifup eth1重启网络,使配置生效 service network restart /etc/init.d/network restart,11、系统性能监控,系统性能监控,11、系统性能监控,11.1、书籍Linux性能监控 这本免费的,相对简单点Linux服务器性能调整 除了讲如何定位瓶颈,同样讲了如何进行优化,11.2、top工具,top 命令是 Linux 下常用的性能分析工具,能够实时显示系统

28、中各个进程的资源占用状况,类似于 Windows 的任务管理器。,11.3、vmstat工具,vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。 每3秒汇总一次,连续报告5次 vmstat 3 5,11.4、iostat工具,报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入输出统计信息。主要是磁盘IO性能监视。 每3秒汇总一次,连续报告5次 iostat -d -k 3

29、5,12、网络监控,网络监控,12、网络监控,12.1、vnstat网卡流量 vnstat -l 默认是统计eth0的,-i指定网卡 vnstat -l -i eth1,12.2、netstat,查看路由表 netstat -nr查看tcp监听端口 netstat -tlnp查看udp监听端口 netstat -ulnp查看所有连接 netstat -an,12.3、ping,查看域名解析 ping 指定ping次数 ping -c 5 指定ping的出口 ping -I 192.168.0.100 指定发包间隔 ping -I 0.1 ,12.4、其他网络命令,host nslookup 指定DNS服务器:8.8.8.8 dig 8.8.8.8 路由跟踪 tracert ping+tracert:mtr mtr ,谢 谢!,技术交流BLOG http:/www.ywjt.org,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报