Linux+Python运维培训班第4期--马哥——第1次作业(20161211)

1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

slackware:非常稳定、安全,高度坚持UNIX的规范

├──suse

├──sles

├──opensuse

debian:用户由互联网自发,仍处于非商业组织负责运维;

├──ubuntu

├──mint

redhat:

├──rhel(redhat enterprise linux):遵循GPL协定且公开源码,但补丁包收费,每18个月发行一个新版本;

├──centos:针对rhel进行的再次封装;

├──fedora:捐献给社区且主要用于测试新功能,每6个月发行一个新版本;

archlinux:具备轻量、精巧的程序包管理机制;

gentoo:程序包在硬件上现编的;

2、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

命令格式

COMMAND [OPTIONS...] [ARGUMENTS...]

选项:用于启用或关闭命令的某个或某些功能;

短选项:-C,如: -l,-h

注:多个短选项可合并使用,如:-lh

长选项:--WORD,如:--long,--human-readable

参数:命令的作用对象,用于向命令提供数据;

ifconfig命令:

ifconfig [interface]

ifconfig interface [aftype] options | address ...

[[email protected] ~]# ifconfig  eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:AF:3F:D2 
          inet addr:192.168.20.4  Bcast:192.168.20.255  Mask:255.255.255.0
          inet6 addr:fe80::20c:29ff:feaf:3fd2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
         RX packets:5127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3202 errors:0 dropped:0overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:467456 (456.5 KiB)  TX bytes:483682 (472.3 KiB)

[[email protected] ~]# ifconfig eth0 up –启动
[[email protected] ~]# ifconfigeth0 down –关闭

echo命令:回显

echo [SHORT-OPTION]... [STRING]...
    echo LONG-OPTION

-n:禁止自动添加换行符号;

-e:允许使用转义符;

\n:换行;

\t:制表符;

[[email protected] ~]# echo ‘Hello?‘
Hello?
[[email protected] ~]# echo -n‘Hello?‘
Hello?[[email protected] ~]# echo-e ‘Hello,\nEveryone.‘
Hello,
Everyone.

tty命令:查看当前的终端设备;

tty [OPTION]...

[[email protected] ~]# tty
/dev/pts/0

startx命令:初始化一个桌面会话;

startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

[[email protected] ~]# startx x

[[email protected] ~]# startx kde

[[email protected] ~]# startx gnome

export命令:声明环境变量

export [-fn] [name[=value] ...]

[[email protected] ~]# name=jady
[[email protected] ~]# export name
[[email protected] ~]# export

declare -x name="jady"

pwd命令:显示当前目录名称;

pwd [OPTION]...

[[email protected] ~]# pwd
/root

history命令:管理命令历史

history [-c] [-d offset] [n]

history -anrw [filename]

-a;追加本次会话新执行的命令历史列表至历史文件中;

-d:删除历史中指定的命令;

-c:清空命令历史;

[[email protected] tmp]# history
   46 history
   47  cd..
   48  cd/tmp
   49  ll
   50 history
[[email protected] tmp]# history -a
[[email protected] tmp]# history -d46
[[email protected] tmp]# history
   46  cd..
   47  cd/tmp
   48  ll
   49 history
   50 history -a
   51 history -d 46
   52 history
[[email protected] tmp]# history -c
[[email protected] tmp]# history
   46 history

shutdown命令:

shutdown [OPTION]...  TIME [MESSAGE]

-r:重启;

-h:关机;

-c:取消;

time:

now;立刻

+m:相对时间表示法,从命令提交开始多久之后,如+3;

hh:mm:绝对时间表示法,指明具体时间;

[[email protected] ~]# shutdown -r +10
Broadcast message [email protected]
   (/dev/pts/1) at 19:28 ...
The system is going downfor reboot in 10 minutes!

[[email protected] tmp]# shutdown –c

shutdown: Shutdown cancelled

poweroff命令:

poweroff [OPTION]...

[[email protected] tmp]# poweroff

reboot命令:

reboot [OPTION]...

[[email protected] tmp]# reboot

hwclock命令:显示硬件时钟

hwclock [functions] [options]

-s,--hctosys:由硬件时间同步系统时间;

-w,--systohc:由系统时间同步硬件时间;

[[email protected] tmp]# clock;hwclock
2016年12月11日星期日 19时21分43秒 -0.110283 seconds
2016年12月11日星期日 19时21分44秒 -1.000984 seconds
[[email protected] tmp]# hwclock-s;hwclock;clock
2016年12月11日星期日 19时22分06秒 -1.001502 seconds
2016年12月11日星期日 19时22分07秒 -1.001147 seconds
[[email protected] tmp]# hwclock-w;clock;hwclock
2016年12月11日星期日 19时22分47秒 -0.505959 seconds
2016年12月11日星期日 19时22分48秒 -1.005665 seconds

date命令:显示或设置系统当前日期;

date [OPTION]... [+FORMAT]

+%Y:年

+%m:月

+%d:日

+%H:时

+%M:分

+%S:秒

date [MMDDhhmm[[CC]YY][.ss]]

MM:月

DD:日

hh:时

mm:分

YY:2位年

CCYY:4位年

.ss:秒

[[email protected] tmp]# date 1211145616.00
2016年 12月 11日星期日 14:56:00 CST
[[email protected] tmp]# date+%Y-%m-%d-%H-%M-%S
2016-12-11-14-56-57

3、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

内部命令:

# help COMMAND

外部命令:

(1)命令自带选项

# COMMAND --help 或 # COMMAND –h

(2)命令使用手册

# man COMMAND

man章节含义:

man1:shell中可操作的命令或可执行的文件;

man2:系统内核调用的函数与工具;

man3:函数与函数库;

man4:设备文件与特殊文件;

man5:配置文件格式;

man6:游戏;

man7:惯例、协议及其它杂项;

man8:管理命令;

man9:内核文件;

(3)命令信息

# info COMMAND

(4)帮助文档

/usr/share/doc/COMMAND-version

readme:程序说明信息;

install:安装方法说明;

changelog:程序版本升级时的变动情况;

4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

cp:copy,复制命令

cp [option]... [-T] source dest

cp [option]... source... directory

cp [option]... -t directorysource...

cp src dest

src是文件:

如果目录不存在:新建dest,并将src中内容填充至dest中;

如果目录存在:

如果dest是文件:将src中的内容覆盖至dest中;

此时建议为cp命令使用-i选项;

如果dest是目录:在dest下新建与原文件同名的文件,并将src中内容填充至新文件中;

cp src... dest

src...:多个文件

dest必须存在且为目录,其它情形均会出错;

cp src dest

src是目录:

则使用选项-r

如果dest不存在:则创建指定目录,复制src目录中所有文件至dest中;

如果dest存在:

如果dest是文件:报错

如果dest是目录:复制至此目录中;

常用选项:

-i:交互式;

-r:递归复制目录及内部的所有内容;

-a:归档(保留数据原属性),相当于-dR --preserv=all

-d:--no-dereference,不追踪符号连接,=--preserv=links;

--preserv=[attr_list]

mode:权限

ownership:属主属组

timestamp:时间戳

links

xattr

context

all

-p:--preserv=mode,ownership,timestamp

-v:显示详细信息

-f:--force,强制;

# cp /etc/fstab /tmp/abc.txt

# cp /etc/rc.d/rc.sysinit /tmp/abc.txt

# cp /etc/rc.d/rc.sysinit /etc/fstab /tmp/hello

# cp /etc /tmp

# ls -ld /etc/pam.d/

# ls /tmp

# cp -r /etc/pam.d/ /tmp/pam

# ls /tmp

# ls /tmp/pam

# ls -l /etc

# cp /etc/system-release /tmp/

# ls -l /tmp/system-release

# cp --no-dereference /etc/system-release/tmp/sys.release

mv:move,移动文件

mv [option]... [-T] source dest

mv [option]... source... directory

mv [option]... -t directorysource...

常用选项:

-i:交互式;

-f;强制;

# mv /tmp/a.txt /var/tmp/ab.txt

# mv pam/ /var/tmp/pam.d

# ls

# ls -l /var/tmp

# mv mageedu/ mageedu.com

rm:remove,删除

rm [option]... file...

常用选项:

-i:交互式;

-f:强制;

-r:递归;

# rm -r /var/tmp/pam.d/

# rm -rf /

# rm -rf ./*

5、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

命令执行状态返回值:

0:成功;

1-255:失败;

[[email protected] ~]# ls /tmp
a_c  b_c  mylinux  mytest3    pulse-lHhQcM6yCeas
a_d  b_d  mytest2  orbit-gdm  tfile-2016-12-11-19-55-07
[[email protected] ~]# echo $?
0
[[email protected] ~]# lls /tmp
-bash: lls: command notfound
[[email protected] ~]# echo $?
127
[[email protected] ~]# ll /tmpp
ls: 无法访问/tmpp: 没有那个文件或目录
[[email protected] ~]# echo $?
2

命令行展开:

~;展开为用户的主目录;

~username:展开为指定用户的主目录;

{}:可承载一个以逗号分隔的列表,并将其展开为多个路径

[[email protected] ~]# cd ~bash
[[email protected] bash]# pwd
/home/bash
[[email protected] bash]# cd ~
[[email protected] ~]# pwd
/root

[[email protected] ~]# ll -d /etc/{u,v}*
drwxr-xr-x. 4 root root4096 8月   320:35 /etc/udev
-rw-r--r--. 1 rootroot  473 9月  24 2012 /etc/updatedb.conf
-rw-r--r--. 1 root root1962 2月  172012 /etc/vimrc
-rw-r--r--. 1 root root1962 2月  172012 /etc/virc

6、请使用命令行展开功能完成以下练习:

(1)创建/tmp目录下的:a_c,a_d, b_c, b_d

[[email protected] tmp]# mkdir -p {a,b}_{c,d}&& tree -L 1 /tmp
/tmp
├── a_c
├── a_d
├── b_c
└── b_d

4 directories, 0 files

(2)创建/tmp/mylinux目录下的:

mylinux/

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └──network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

├── lock

├── log

└── run

[[email protected] tmp]# mkdir -p./mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}&& tree mylinux
mylinux
├── bin
├── boot
│   └──grub
├── dev
├── etc
│   ├──rc.d
│  │   └── init.d
│   └──sysconfig
│      └── network-scripts
├── lib
│   └──modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│   └──local
│      ├── bin
│      └── sbin
└── var

24 directories, 0 files

7、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

(1)文件元数据信息与含义:

File(文件名称):"/etc/fstab"
  Size(文件大小):805   Blocks(文件存储块信息): 8   IO Block(块大小):4096   普通文件(文件类型)
Device(文件设备信息): 802h/2050d  Inode(文件索引号): 786440   Links(文件链接数): 1
Access(文件权限): (0644/-rw-r--r--)   Uid(用户ID): (    0/   root)   Gid(组ID): (    0/    root)
Access(访问时间): 2016-12-11 18:19:19.809883802 +0800
Modify(修改时间): 2016-08-03 20:31:15.108999954 +0800
Change(改变时间): 2016-08-03 20:45:13.191999593 +0800

(2)文件元数据的查看命令

# stat /path/to/file

(3)修改文件时间戳命令

# touch [OPTION]... FILE...

-a:仅修改‘访问时间’;

-m:仅修改‘修改时间’;

-t [[CC]YY]MMDDhhmm[.ss]:预修改的指定时间;

8、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

[[email protected] tmp]# ll -d /var/l*[0-9]*[a-z]

[[email protected] tmp]# ll -d/var/l*[[:digit:]]*[[:lower:]]

9、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

[[email protected] tmp]# ll -d /etc/[0-9]*[^0-9]

[[email protected] tmp]# ll -d/etc/[[:digit:]]*[^[:digit:]]

10、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

[[email protected] tmp]# ll -d /etc/[^a-z][a-z]*

[[email protected] tmp]# ll -d/etc/[^[:alpha:]][[:alpha:]]*

11、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。

[[email protected] tmp]# mkdir -v /tmp/tfile-$(date+%Y-%m-%d-%H-%M-%S)
mkdir: 已创建目录"/tmp/tfile-2016-12-11-19-55-07"

12、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

[[email protected] tmp]# [ -d /tmp/mytest2 ] || mkdir/tmp/mytest2 && \cp -ar /etc/*.d /tmp/mytest2 && tree -L 2mytest2
mytest2
├── bash_completion.d
│   ├── gdbus-bash-completion.sh
│   ├── gvfs-bash-completion.sh
│   ├── pk-completion.bash
│   ├── scl.bash
│   ├── yum.bash
│   └── yum-utils.bash
├── chkconfig.d
├── cron.d
│   ├── 0hourly
│   ├── raid-check
│   └── sysstat

……

13、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

[[email protected] tmp]# [ -d /tmp/mytest3 ] || mkdir/tmp/mytest3 && \cp -ar /etc/[lmn]*.conf /tmp/mytest3 && tree-L 2 /tmp/mytest3
/tmp/mytest3
├── latrace.conf
├── ld.so.conf
├── libaudit.conf
├── libuser.conf
├── logrotate.conf
├── ltrace.conf
├── mke2fs.conf
├── mtools.conf
├── nfsmount.conf
├── nsswitch.conf
└── ntp.conf

时间: 2024-08-06 11:35:24

Linux+Python运维培训班第4期--马哥——第1次作业(20161211)的相关文章

Linux+Python运维培训班第4期--马哥——第2次作业(20161225)

1.列出当前系统上所有已经登录的用户的用户名(注:同一个用户登录多次则只显示一次). [[email protected]~]# who ; echo -e '\n' ; who | grep -o '^\<[[:alpha:]]\+\>' | sort -u root     pts/0        2016-12-23 22:00 (192.168.20.1) root     pts/1        2016-12-23 22:00 (192.168.20.1) root     p

Linux+Python运维培训班第4期--马哥——第3次作业(20170212)

1.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(): [[email protected] ~]# grep --color=auto'\<[[:alpha:]]\+\>()' /etc/rc.d/init.d/functions checkpid()  { daemon()  { killproc()  { pidfileofproc()  { pidofproc()  { status()  { success()  { fa

【转】Linux从入门到精通——运维工程师成长路线图——CTO马哥Linux视频教学

加油! http://edu.51cto.com/roadmap/view/id-2.html#6853467-sqq-1-36881-57ccc7d95ea58df839decd91bd220170 [转]Linux从入门到精通--运维工程师成长路线图--CTO马哥Linux视频教学

老男孩教育linux脱产运维39期——决心书

我叫何承鑫,我是老男孩教育linux脱产运维39期的一名学员,我热爱IT技术,希望这份技术能在5个月后能带给我一份不错薪资待遇,我的目标是:在广东地域,9K起步:北京地域,13K起步.为了实现这个目标,未来的这5个月我要努力做到以下几点: 1.坚持每天学习时间10小时~12小时. 2.做好预习与复习. 3.听话出活. 4.每天都要把所学的东西制作成文档. 有志者,事竟成        破釜沉舟,百二秦关终归楚 苦心人,天不负        卧薪尝胆,三千越甲可吞吴

linux运维及Python运维免费公开课

适用人群:想从事linux运维及python运维开发的人员 企业网管.技术支持.linux运维人员.大中专学生 听课时间:2014年11月30日(周日)下午1:30 听课地点:北京市昌平区沙河青年创业大厦B座1519室(地铁昌平线沙河站B1口200米处) 听课内容: LINUX运维:(1.5小时) 1.软件开源的大发展趋势及如何把握这个趋势? 2.linux运维职位到底都做什么? 3.linux运维前景到底咋样? 4.到底是选择运维还是选择开发发展? 5.运维人员如何超越年薪30万,50万? 6

畅聊Linux系统运维的未来

畅聊Linux系统运维的未来我想来跟大家聊聊Linux运维这一行业,从几个方面说下行业的现状.如何学好Linux和如何成为专业运维人员以及云服务对运Linux运维的影响. 一.linux行业状况我们都知道从1991年Linux开始火爆全球,蔓延至中国,随着智能中国.网络繁荣发展,众多应用基本都跑在Linux服务器上面,但对于大多数人来说还是不太了解.1.入坑门槛太高Linux属于类UNIX操作系统,从开发之初就不是针对普通大众的,而是专门从事计算机行业的员.Linux主要以命令行的方式操作,而这

linux 自动化运维之Cobbler

一.Cobbler 简介 1.Cobbler 概述 Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm.xen虚拟化.Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理. 2.新旧对比 以前自动化安装系统得先设置一个网络环境,可是设置网络环境涉及到

Linux系统运维与架构设计

一 本章概览 介绍Linux系统运维与架构设计的方方面面 二 Linux基础入门 认识计算机核心硬件和服务器 Linux发展历史.系统组成.应用领域以及发行版 搭建运维环境:VMWareWorkStation.SecureCRT的使用 Linux系统的基本使用 Shell入门以及命令概述 三 Linux系统管理 文件目录管理 用户管理 权限管理 VIM编辑器的使用 文档压缩打包 程序包管理 网络管理 文件系统管理 内存管理 系统管理(监控.环境变量) 安全管理(selinux,iptables)

备起来!Linux安全运维常见命令小贴士

备起来!Linux安全运维常见命令小贴士 常用命令 1. 查找关键词并统计行数 cat 2015_7_25_test_access.log | grep "sqlmap" | wc -l 2. 删除含有匹配字符的行 sed -i '/Indy Library/d' 2015_7_25_test_access.log 3. 查找所有日志中的关键词 find ./ -name "*.log" |xargs grep "sqlmap" |wc -l 4