标签:linxu系统常识
day03
①.回顾
描述GPL、BSD、APACHE三大开源协议?
自由软件,开源协定 版权描述
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 选取字段1和3段
-f1-3 选取字段1到3段
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命令
列出系统中的进程树
bash在Linux中有子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
标签:linxu系统常识
原文地址:http://315220.blog.51cto.com/305220/1692064