首页 > 代码库 > 全新Linux+Python高端运维班第一次作业
全新Linux+Python高端运维班第一次作业
1.Linux的发行版:linux内核+商业软件
slackware:
suse
debian:
ubuntu 三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。
redhat:
redhat enterprise linux
CentOs Centos是一个基于redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,成为redhat旗下的一个组织
fedora
ArchLinux
Gentoo
LFS:Linux From scratch
2.history :
-a :追加本次回话新执行的命令你是列表至你是文件中;
-d:删除历史中指定的命令;
-c:清空你是命令;
快捷操作:
!#:屌用你是命令中第#条命令;
!string:调用你是中最近以string开头的命令;
!!:上一条命令
3.查看当前的终端设备:tty
4. date: date[option]... [+FORMAT]:显示
FORMAT:格式符号
%D
%F
%T
date [MMDDhhmm[[CC]YY][.SS]]:设置
MM:月份
DD:几号
hh:小时
mm:分钟
YY:两位年份
CCYY:四位年份
.ss:秒钟
Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作平路进行的及时;
硬件时钟:
hwclock:显示硬件时钟
-s,--hctosys
-w,--systohc
cal:日历
pwd :显示当前目录
回显命令:echo
-n:禁止自动添加换行符号;
-e:允许使用转义符;
\n:换行
\t:制表符
系统管理类命令:
关机:
halt poweroff shutdown init 0
重启
reboot
-f :强制,不调用shutdown
-p: 切断电源
shutdown
-r :reboot
-h :halt
-c:cancel
TIME:
now :立刻
+m: 相对时间表示法,从命令提交开始多久之后;例如 +3;
hh:mm:绝对时间表示,指明具体时间:
;
init 6
修改环境变量值的方式:export 变量名="值"
变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;
artx命令启动的是xinit,然后再由xinit来启动X Window
3.
Linux命令帮助的获取
外部命令:都有一个可执行程序,位于文件系统某目录下;
which whereis
shell程序搜索可执行程序文件的路径定义PATH环境变量中;
#echo $PATH
注意 自左至右
格式 :COMMAND [OPTIONS...][ARGUMENTS...]
内部命令:
#help COMMAND
外部命令:
(1)#COMMAND --help
#COMMAND -h
(2)使用手册(manual)
#man COMMAND
(3)信息页
#info COMMAND
(4)程序自身的帮助文档
README
INSTALL
Changelog
(5)程序官方文档
官方站点:Documentation
(6)发行版的官方文档
(7)Google
内部命令帮助:
# help COMMAND
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
history命令:
作用是什么?相关的环境变量是什么?有用的选项?
Linux命令帮助的获取
外部命令:都有一个可执行程序,位于文件系统某目录下;
which, whereis
shell程序搜寻可执行程序文件的路径定义在PATH环境变量中;
# echo $PATH
注意:自左至右
格式:COMMAND [OPTIONS...] [ARGUMENTS...]
内部命令:
# help COMMAND
外部命令:
(1) # COMMAND --help
# COMMAND -h
(2) 使用手册(manual)
# man COMMAND
(3) 信息页
# info COMMAND
(4) 程序自身的帮助文档
README
INSTALL
ChangeLog
(5) 程序官方文档
官方站点:Documentation
(6) 发行版的官方文档
(7) Google
内部命令帮助:
# help COMMAND
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
history命令:
作用是什么?相关的环境变量是什么?有用的选项?
管理命令历史;
登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;
history:
-a: 追加本次会话新执行的命令历史列表至历史文件中;
-d: 删除历史中指定的命令;
-c: 清空命令历史;
快捷操作:
!#: 调用历史中第#条命令;
!string:调用历史中最近一个以string开头的命令;
!!: 上一条命令
外部命令帮助获取:
(2) man COMMAND
手册页:/usr/share/man
man1 ... man8
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令
注意:有些关键在不止一个章节中存在帮助手册;
要查看指定章节中的手册:man # COMMAND
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE: 指明新的手册文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示之;
帮助手册中的段落说明:
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHOR
REPORTING BUGS
SEE ALSO
SYNOPSIS:
[]:可选内容
<>: 必选内容
a|b:二选一
...: 同一内容可出现多次
man命令的操作方法:
Space, ^V, ^f, ^F: 向文件尾翻屏;
b, ^B: 向文件首部翻屏;
d, ^D: 向文件尾部翻半屏;
u, ^U: 向文件首部翻半屏;
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;
y or ^Y or ^P or k or ^K:向文件首部翻一行;
q: 退出;
#:跳转至第#行;
1G: 回到文件首部
G:翻至文件尾部
文本搜索:
/KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
n: 下一个
N:上一个
?KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
n: 跟搜索命令同方向,下一个
N:跟搜索命令反方向,上一个
练习:date命令
显示今天为周几?
设定当前系统时间?
显示今天的日期,形如:08/15/15?
显示当前的时间,形如: 16:01:21?
(3) info
info COMMAND
(4) 程序自身的帮助文档
/usr/share/doc/COMMAND-VERSION
(5) 程序官方文档
(6) 发行版的官方文档
http://www.redhat.com/docs
(7) Google
(8) slideshare
http://www.slideshare.net/
4.
文件管理:
cp, mv, rm
复制命令:cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
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, -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: --verbose
-f: --force
mv: move,移动文件
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i: 交互式
-f: 强制
rm: remove,删除
rm [OPTION]... FILE...
常用选项:
-i: 交互式
-f: 强制删除
-r: 递归
rm -rf
文本编辑器:nano
全屏编辑器
5.bash的基础特性(1):
(4) 命令行展开
~: 展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
(5) 命令的执行结果状态
成功
失败
bash使用特殊变量$?保存最近一条命令的执行状态结果:
0:成功
1-255:失败
程序执行有两类结果:
程序的返回值;
程序的执行状态结果;
6.mkdir /tmp/{a,b}_{c,d}
mkdir -p /tmp/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}
7.文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。
.三个时间戳:
access time:访问时间,简写atime,读写文件内容
modify time: 修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
修改文件的时间戳:touch
touch [OPTION]...FILE...
-a:only atime
-m:only mtime
-s STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不予创建
8. ls -d /var/1*[[:digit:]]*[[:lower:]]
9. ls -d /etc/[[:digit:]]*[^[:digit:]]
10. ls -d /etc/[^[:alpha:]][[alpha]]*
11. touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
tree /tmp
12. cp -a /etc/*.d /tmp/mytest2
13. cp -a /etc/{lmn}*.conf /tmp/mytest
全新Linux+Python高端运维班第一次作业