运维之门,之门


1、教学环境 2、云计算概念 3、工作岗位与内容 4、linux系统简介 5、shell概念 6、linux基础命令 man/help/info/pwd/cd/ls/mkdir/stat/touch/rm/copy/mv/echo/cat/less/more/tty/管道 7、重定向 >,1>,2>,&>,<,>>     一、教学环境 Linux + VMware WorkStation   二、云计算概念 云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。 云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、 网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物。   三、运维工程师、DBA 运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(Site Reliability Engineering)。负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI。运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。 数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。   四、linux系统简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 1、特点: 完全免费;完全兼容POSI1.0标准;多用户、多任务;良好的界面(KDE,gnome,Xfce,LXDE);支持多种平台(x86、680x0、SPARC、Alpha)。 2、基本思想: Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。 3、文件类型: - 普通文件(regular file):就是一般存取的文件,依照文件的内容,可以分为:纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data)。 d 目录文件(directory):就是目录。 l 连接文件(link):类似Windows下面的快捷方式。符号 设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种: c 块设备文件(就是存储数据以供系统存取的接口设备,简单而言就是硬盘) b 字符设备文件(即串行端口的接口设备,例如键盘、鼠标等等)。 s 套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。 p 管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。 # ls / --查看文件结构 bin boot data dev etc home jenkins lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var   五、Shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。 同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell: Bourne Shell: 是贝尔实验室开发的。 BASH: 是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。/bin/bash Korn Shell: 是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。 C Shell: 是SUN公司Shell的BSD版本。 Z Shell: The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。   六、Linux系统常用命令 1、Linux的命令分为内部命令和外部命令: 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。系统将会读取环境变量文件.bash_profile、/etc/profile去找PATH路径。 # echo $PATH    --查看 PATH 包含哪些路径 # enable -a  --查看所有内部命令 # type service   --type判断命令为内部还是外部 # type pwd   --service 为外部命令;pwd为内部命令 # enable tree   --enable也可判断 2、linux命令语法规则 command -option file 3、命令帮助——man\help\info # man passwd   --使用 man 手册查找 passwd 命令如何使用 # tree --help   --外部命令查询方式(或 -h);并不是所有命令都支持 # help cd   --内部命令查询方式 # info ls 4、工作目录切换——pwd\cd 绝对路径: 一定是以"/"(根)开头,它是唯一一个绝对能够描述对象所在的路径的方式。"/" 根目录是linux操作系统最顶级的目录,没有任何路径比它还要靠前。他是操作系统所在的目录(分区)。 相对路径:路径是相对的,对象所在的路径是相对于当前所在路径而来,当前的所在路径不一样,那么目标对象的相对路径也不一样。 # pwd --查看当前所在的工作目录 # cd /usr/local/ --以绝对路径的方式去往 /usr/local 目录 # cd bin/ --以相对的路径去往 /usr/local/ 目录下的 bin 目录。如何使用绝对方式? # cd . --. 代表当前目录。该命令代表工作目录没动 # cd .. --返回当前目录的父目录,也就是前一级。也属于相对路径 # cd - --返回前次所在的工作目录 # cd ~ --到当前用户的家目录 # cd /usr/local/../lib/../.. --这个到哪了?? 5、列出目录下内容——ls # ls --查看当前目录下的文件列表 # ls /bin/ --查看 /bin 目录下有哪些文件 # ls -l /etc/ --查看 /etc 目录下文件的详细信息,参数 -l -rw-r--r--. 1 root root 46 Apr 22 18:56 adjtime '-' 为文件类型,普通文件。文件类型有7类:-dslbcp rw-r--r-- 为文件权限 # ls -a /root -- 显示以'.'开头的隐藏文件,参数 -a # ls -ld /etc/ --查看目录本身的信息。参数 -d # ls -lt /data/test --按文件的创建/最后修改排序 6、创建目录——mkdir # mkdir /data --以绝对路径创建目录 # mkdir test --以相对路劲创建目录 # mkdir dir1 dir2 --同时创建好几个目录 # mkdir test/a/b/c -p --以相对路劲递归创建目录,参数 -p 7、文件状态——stat # stat aa File: `aa' --文件名 Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 1968262 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-10-19 16:54:56.010977018 +0800 --访问时间 Modify: 2016-10-19 16:53:34.722976466 +0800 --修改时间 Change: 2016-10-19 16:53:34.722976466 +0800 --状态改变时间 注意:访问时间只记录文件状态、内容改变后的第一次访问时间。后面如果修改时间&状态改变时间没有发生变化,那么即使进行了对文件的多次访问,访问时间也不会改变 在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。 如果文件创建后就没有修改过,修改时间=创建时间; 如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间; 如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能 8、创建文件——touch # touch /data/a # touch test/a # touch a b c # touch file{1,2,3,} # touch ["a b"]['a b'][a\ b] --创建一个文件 a b # touch -r a aa --使用 a 的属性时间替换 aa 的属性时间 # touch -d '2016-10-10 10:10' aa --修改文件的 访问时间与修改时间。符号 -d # touch -m -d '2016-11-1 11:11' aa --只修改文件的 修改时间。符号 -m # touch -a -d '2016-6-6 6:6' aa --只修改文件的 访问时间。符号 -a # touch -a -t 201505050555 aa --以该种时间格式修改文件访问时间。符号 -t 9、删除文件——rm # rm /root/test/a --删除普通文件,并且会再让我们确认下 rm: remove regular empty file `/root/test/a'? y # rm -f /root/test/aa --不用确认,直接删除普通文件。符号 -f # rm -rf /root/test/ --删除目录,并且不用重新确认。符号 -r # rm -rf /root/test1/* --删除目录下的所有文件 10、拷贝文件——cp # cp /etc/passwd /root/test/ --拷贝普通文件 # cp /etc/passwd /root/test/password --拷贝普通文件,并且改名 # cp -r /etc/ /root/test --拷贝 /etc/ 目录到 /root/test 目录下 # cp -r /etc/* /root/test/bak/ --开呗 /etc/ 目录下的所有文件到 /root/test/bak/ 目录下 # cp -a /etc/passwd /root/test/ --将文件的各种属性尽量完整的拷贝到目的地 11、移动文件——mv # mv /root/test/passwd bak/ --移动文件 # mv /root/test/passwd bak/pass --移动文件并改名 # mv /root/test/bak /root/test/bak-01 --移动目录并改名 12、输出——echo/tty # echo 'hello world' --输出到终端 # tty --查看当前设备名 # echo 'hello world' > /dev/pts/1 --输出到另外一个终端 # echo -n 'hello world' --输出到终端后,不换行。符号 -n # echo -e '123\nhello world' --使能反斜杠转义。符号 -e 常用转义参数: \n(换行) \t(Tab) \b(退格键) \v(换行再Tab) 等等 13、查看文件——cat/more/less # cat /etc/passwd --输出文件内容 # cat -n /etc/passwd --显示每一行的行号。符号 -n # cat -nb /etc/passwd --只显示非空的行。符号 -b # more /etc/passwd -- 一页一页的打开文件,空格下一页,b 上一页,/ 搜索,q退出 # less /etc/passwd --打开形式与more 类似。f 下一页,w上一页,j 下一行,k上一行,/ 搜索,h 帮助,q退出 14、过滤——grep # grep root /etc/passwd --查找文件里符合条件的字符串 # grep -v root /etc/passwd --将不包含root的行过滤出来。 -v # grep -A2 root /etc/passwd --在过滤出符合条件行的同时将其后面的两行也显示出来。-A # grep -B2 root /etc/passwd --在过滤出符合条件行的同时将其前面的两行也显示出来。-B # grep -C2 root /etc/passwd --在过滤出符合条件行的同时将其前后的两行也显示出来。-C # grep -c root /etc/passwd --计算出符合要求的行数。符号 -c # grep -i Root /etc/passwd --忽略字符大小写。符号 -i # grep root /root/* --大范围搜索 # grep -R root /root/* --大范围递归搜索,搜索的范围更加广。符号 -R # grep -Rl root /root/* --只列出符合要求的文件名,不讲内容输出来。符号 -l # grep -w bin /etc/passwd --只显示全字符合的列。符号 -w # grep -wo bin /etc/passwd --只显示符合要求的字符。符号 -o 15、管道—— | 用法:command 1 | command 2 作用:是把第一个命令command 1执行的结果作为command 2的输入传给command 2 # cat /etc/passwd -n | less # echo -e 'rootjjjjjjjj\nkkkkkkkk' | grep root # cat /etc/passwd | grep root   七、重定向 作用:将输出的内容重新定向到别的地方; 输入为: 标准输入(0);默认为键盘 输出分为: 标准正确输出(1) 和 标准错误输出(2);默认为屏幕 相关符号: >,1>,2>,&>,< >> # ls -l /etc/passwd --标准正确输出;默认到终端 -rw-r--r-- 1 root root 1920 Oct 11 22:37 /etc/passwd # ls -l /etc/kkk --标准错误输出;默认到终端 ls: cannot access /etc/kkk: No such file or directory # echo $? --对上一条执行命令的正确性进行判断;非0基本会标准错误输出 1、重定向与追加的区别 # echo 'hello world' > george --将本该输出到终端的内容重定向到george文件 # echo 'hi,george' > george --将新的内容重定向到george文件,发现覆盖了原来的内容 # echo 'hi,frank' >> george --追加则另起一行,将新的内容写入。符号 >> 2、标准正确输出重定向 符号 >,1> # ls -l /etc/passwd 1> george --标准正确输出重定向到了 george 文件 # ls -l /etc/kkkkk > george --而标准错误输出还是到了我们的终端 ls: cannot access /etc/kkkkk: No such file or directory 3、标准错误输出重定向 符号 2> # ls -l /etc/kkkkk 2> george --标准错误输出重定向到了 george 文件 # ls -l /etc/passwd 2> george --而标准正确输出还是到了我们的终端 -rw-r--r-- 1 root root 1920 Oct 11 22:37 /etc/passwd 4、标准正确&错误输出重定向 符号 &> # ls -l /etc/jjj /etc/passwd > correct 2> error --将标准正确输出重定向到 correct;将标准错误输出重定向到 error # ls -l /etc/jjj /etc/passwd &> george --将标准正确&错误都重定向到 george 5、标准输入 符号 < # mail -s 'ooo' root@localhost --使用键盘标准输入 hello , root , wo zai yong jian pan qiao zi. . # mail -s 'ooo' root@localhost < /etc/passwd --使用标准输入符号进行标准输入,内容为 /etc/passwd 里头的内容

相关内容