码迷,mamicode.com
首页 > 系统相关 > 详细

马哥2013年运维视频笔记 day03 Linux系统常识

时间:2015-09-07 01:58:38      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:linxu系统常识

day03

①.回顾

描述GPLBSDAPACHE三大开源协议?

自由软件,开源协定  版权描述

www.kernel.org

 

GNU/Linux-->发布的是源代码-->第三方软件公司重新打包发行-->目前流行的发行版-->RedHat (Fedora 个人社区版   CentOS 社区企业版)

  -->SUSE OpenSUSE

  -->Debian --> Ubuntu -->Mint

  --> Gentoo

  --> LFS (Linux for scratch)  手动编译整个Linux系统

    注意:为了兼容之前的CPU,目前的发行版是在较老的CPU上使用通用的编译器进行编译工作,64bit操作系统是完全兼容32bit的操作系统的

    例如在奔腾的CPU上编译的Linux操作系统,能跑在新一代的CPU

优点:通用,兼容

缺点:无法发挥新硬件的新特性

所以在特定CPU平台上编译并使用才能发挥新硬件的最大效能(自定义高级技法)

 

②.常用命令

目录管理

ls   cd   pwd   mkdir   rmdir   tree

文件管理

touch   stat   file   rm   cp  mv  nona

date   clock  hwclock  cal

Linux中的配置文件都是文本文件,所以学号文本操作很重要。

文本处理

cat  tac  more  less   head  tail

 

cat命令

连接并显示

例如  cat /etc/issue /etc/fatab

-n 显示行号

-E 显示行结束符      注:Linux的文本行结束符是 $

                         Windows的文本行结束符为 $回车

-A 显示所有

tac命令 与cat命令相对

逆序显示文本内容

 

在模拟终端中:

Shift + PgUP    向上翻屏

Shift + PgDown  向下翻屏

 

Ctrl + c 键:控制信号 中断  输入命令时可以直接打断

 

more命令  less命令

分屏显示

more  /etc/rc.d/rc.sysinit

less   /etc/rc.d/rc.sysinit

space键   下一页     b键  上一页

enter键    下一行    k键  上一行

q键  退出    

支持查找功能    /string  向下查找 

?string  向上查找

head命令  tail命令

head -n 2 /etc/inittab   ====   head -2 /etc/inittab

tail  -n 5 /etc/inittab   ====   tail  -5 /etc/inittab

默认显示文件开头head  结尾tail 10行内容

-n  指定显示n行内容

tail -f  /etc/inittab

查看inittab文件并不退出,监控该文件内容的变化---主要用于日志文件,等待显示后续追加到次文件的新内容

 

cut命令  join命令   sed命令  awk命令文本处理

grep   sed   awk  文本处理三大利器

Linux中对于用户和密码的保存使用的是database

文件性数据库文件

/etc/passwd

cut命令   仅对显示的内容进行处理,不影响原文件

例如

cut -d: -f1 /etc/passwd

-d  指定分隔符 默认是空格 这里是:

-f  filed 字段  指定要显示的字段

-f1,3  选取字段13

-f1-3  选取字段13

sort命令

sort /etc/fstab   默认是以ASCII表中的升序排序

-n 按照数字大小排序

-r  逆序排序

-t  字段分隔符

-k  指定字段

-u  保留相同行一次(出去重复)

-f  忽略字符大小写(不区分大小写)

sort -t-k 3 -n /etc/passwd   会显示所有行内容,但是安装第3个字段的数值形式排序

 

uniq命令  

报告或忽略重复的行,只有相近的行相同才是重复的行

-d   只显示重复的行(1次)

-D  显示重复的行(所有)

-c   显示文件中行重复的次数

 

wc命令  

文本统计命令

wc /etc/fstab   结果:行数  单词数   字节数  文件路径

 -l  只显示行数

-w  只显示单词数

-c -m   只显示字符数

-L 最长一行包含的多少字符数

 

tr命令

字符处理命令  转换或删除字符

tr [option] ... SET1[SET2]...

tr a-z A-Z  < /etc/passwd

tr ab AB  < /etc/passwd

-d 删除指定字符集中出现的字符

tr -d ab < /etc/passwd

③.Bash及其特性

shell 外壳   

GUI   Gnome   KDE   Xface

CLI    sh  bash  csh  tcsh  ksh  tsh  zsh

 

logout  exit  退出登录

Linux中允许同一个账号登录多次,每次登录的bash是一个进程,在每个进程来看,当前主机只存在内核和它本身。这是虚拟内存技术。

程序:硬盘上的程序代码

进程:内存中的程序副本,或说是程序的执行实例。

      进程是有生命周期的,用进程号进行区分PID

 

用户的工作环境:不同用户的默认配置工作环境是一样的

新建用户将会按照默认配置进行新建

bash#  为管理员的提示符   $为普通用户的提示符

 

pstree命令

列出系统中的进程树

bashLinux中有子shell和父shell的关系

exit命令  退出子shell,返回上层shell

 

bash的特性

指出命令历史   上下箭头键可查找使用

支持管道和重定向

支持命令别名

命令行编辑操作

命令行展开

文件名通配

变量

编程---bash脚本   自动化运维

 

详解:

1.命令行编辑

光标的跳转

Ctrl + a    跳转到命令行首

Ctrl + e    跳转到命令行尾

Ctrl + u    删除光标至命令行首的字符

Ctrl + k    删除光标至命令行尾的字符

Ctrl  <-    左跳转一个单词

Ctrl  ->    右跳转一个单词

Ctrl + l     清屏 == clear

 

2.命令历史

上下箭头键  查找命令历史

history命令  列出曾经使用的命令

-c  清空命令历史记录

-d  #1  #2  删除第#1到第#2间的命令记录

注:用户退出后history中的命令会追加到用户的家目录的隐藏文件 .bash_history

-w  强制保存命令历史到历史记录文件中 ~/.bash_history

 

环境变量:PATH   命令执行的搜索路径

          HISTSIZE  命令历史条数的大小 默认是1000

  HISTFILESIZE  .bash_history文件中的记录的条数 默认1000

小技巧:

!$  引用前一个命令的最后一个参数

ESC键松开再按 :也可在命令行中引用前一个命令的最后一个参数

!string  执行命令历史中最近一个以指定字符串开头的命令

3.万能的tab

命令的补全功能:搜索PATH变量所指定的每个路径下的以我们给出的字符串开头的可执行文件

路径补全功能:搜索我们给出的起始路径下的每个文件名,并试图补全

4.命令别名

alias命令

alias COMMAND = COMMAND [OPTION] [ARGUMENTS]

例如:alias cls=clear

shell中定义的命令别名仅对于当前的shell有效,退出即失效

alias  查看当前系统中所有定义的命令别名

unalias 命令别名     撤销指定的命令别名

\COMMAND   使用原始命令

大多数的Linux发行版中使用下面三个文件来启动个人配置信息:

~/.bash_profile

~/.bash_login

~/.profile

这样配置只对特定用户生效,也是希望的结果,但有更通用的配置文件来实现对所有用户均能实现

/etc/profile

5.命令替换

把命令中的某个子命令替换为其执行的结果 $(COMMAND)

例如:echo The current directory is $(pwd)

  touch ./file-$(date +$F-%H-%M-%S).txt

$()  和  ``  反引号  均能实现命令替换功能

 

bash中支持的三种引号

`` 反引号------- 命令替换

“” 双引号----弱引用,可以实现变量替换

‘’ 单引号----强引用,不支持变量替换

6.文件名通配

globbing

*  代表任意长度的任意字符

?  代表任意单个字符

[]  指定范围内的任意单个字符   [abc]  [a-z]  [A-Z]  [0-9]

[^  ] 指定范围外的任意单个字符

 

字符集合

[[:apace:]]   空白字符     [[:punct:]]  标点符号

[[:lower:]]   [[:upper:]]  [[:alpha:]] 大小写字母

[[:digit:]]   数字   [[:alnumber:]] 数字和大小写字母

[^[:alpha:]]

 

#man 7 glob  

whatis glob

 


马哥2013年运维视频笔记 day03 Linux系统常识

标签:linxu系统常识

原文地址:http://315220.blog.51cto.com/305220/1692064

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!