linux学习随笔九

主学shell基础的知识

站在用户的角度:shell的类型

登录式shell:正常通常是某些终端登录

su - USERNAME

su -l USERNAME

非登录式shell

su USERNMAE

图形终端下打开命令窗口

自动执行的shell脚本

kash的配置文件:

全局配置:/etc/profile /etc/profile.d/*.sh

/etc/bashrc

个人配置:~/.bash_profile, ~/.bashrc

功能:

profile类的文件

设定环境变量

运行命令或脚本

bashrc类的文件

设定环境变量

定义命令别名

登录式shell如果读取配置文件:

/etc/profile -->/etc/profile.d/*.sh-->~/.bash_profile-->/.bashrc-->/etc/bashrc

非登录式shell如果配置文件:

~/.bashrc -->/etc/bashrc-->/etc/profile.d/*.sh

我们都知道电脑包括控制器(指令)、运算器、存储器

总线包括:地址总线(内存寻址)、数据总线(传输数据)、控制总线(控制命令)

寄存器:cpu暂时存储器

I/O设备:硬盘等输入输出设备

input设备

output设备:

系统设定:默认输出设备,标准输出STDOUT,1

默认输入设备:标准输入 STOIN,0

标准错误输出:STDERP,2

I/O重定向:

> :覆盖输出

>>:追加输出

例:ls var >> /tmp/var.out

set -c 禁止对已经存在文件使用覆盖重定向,强制覆盖重定向

set +c关闭上述功能

标准输出与错误输出不是同一种数据流

2>:重定向错误输出

2>>:追加方式

如:ls /var > /tmp/var3.out 2>/tmp/err.out

ls /var > /tmp/var4.out 2>/tmp/var4.out

&>:重定向标准输出或错误输出至同一个文件

&>>

<:输入重定向

<<:here Document

EOF:end of file =end

cat >> /tmp/myfile.txt<<EOF 在脚本中生成文件

管道:前一个命令的输出作为后一个命令的输入

命令1|命令2|命令3|.......

例:echo "hello world" |tr ‘a-z‘‘A-Z‘

echo "redhat" |passwd --stdin hive

cut -d: -f3 /etc/passwd |sort -n

tee: 保存并显示

echo "hello,world" |tee/tmp/hello.out

wc -l /etc/passwd |cut -d‘‘ -f1

ls -l /usr/bin /head -1

cut -d: -f1 /etc/passwd /sort -n

head -6 /etc/inittab |tail -1

tail -9 /etc/ passwd |head -1|cut -d: -f1,7|tee /tmp/users

ls -d /etc/pa*|wc -l

echo "alias cls=clear">>~/.bashrc

文件查找的需要:grep、egrep、fgrep

grep:根据模式搜索文本,并符合模式的文本显示出来

pattern:(模式)文本字符和正则表达式的元字符组合而成匹配条件

i:忽略大小写

v:显示没有被模式匹配到的行

--color 显示颜色

-o:只显示被模式匹配到的字符串

alias grep=‘grep --color‘ 取别名

grep -o‘root‘ /etc/passswd

正则表达式:REGULAR,EXPRESSION,REGEXP

元字符:

. :

* :

.* :

\?:

\{m,n\}:匹配其前面的字符至少m次,至多n次

\{1,\},匹配其前面的字符至少1次,至多0

\{0,3\}:匹配其前面的字符至少0次,至多3次

grep ‘a \{1,3\}b‘ text.txt

位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

grep ‘^r..root‘ /etc/passwd

$:锚定行尾,此字符钱的任意内容必须出现在行尾

^$:空白符

[ ]:匹配指定范围内的任意字符

[^ ]:匹配指定范围外任意字符

[:digit:] [:lower:] [:upper:] [:punct:] [:space:][:alpha:] [:alnum:]

grep ‘[[:digit:]]$‘ /etc/inittab

\< 或\b:锚定词首,其后面的任意字符必须作为词首部出现

\> \b :锚定词尾,其前面的任意字符必须作为词尾部出现

分组:

\(\)

\(ab\) *:ab可以出现0次或任意次

\1:引用第一个左括号以及与之对应的右括号包括的所有内容

\2:  \3:

正则表达式:包括基本正则表达式(BASIC REGEXP) 扩展正则表达式(EXTENDED REGEXP)

基本正则表达式:

. :

[ ]:

[^ ]:

次数匹配:

*:

\?:

\{m,n\}:

.*:

锚定:

^:

$:

\< \b:

\> \b:

\(\):

\1,\2,\3......

grep :使用基本正则表达式定义的模式来过滤文本命令

i:

-v:

-o:

--color:

-E:使用扩展正则表达式

-A#:显示匹配的行和这行后面的行

-B#:显示匹配的行和这行前面的行

-C#:显示匹配的行和这行前后的行

grep -A 2 ‘^core id‘ /proc/cpuinfo

扩展正则表达式:

字符匹配:

.  [ ] [^ ] 跟基本表达式相同

次数匹配:

*  ?

+:匹配其前字符至少一次

{m,n}

位置锚定:

^ $ \< \>

分组:

():分组

\1,\2,\3...

或者

|:or

如:C|cat :是Cat或cat呢还是C或cat呢

grep -E ‘C| cat‘ test6.txt

gerp --color -E‘C|cat‘ test6.txt

grep --color -E‘(C|c)at‘ test6.txt

grep --color -E ‘^[[:space:]]+‘ /boot/grub/grub.conf

grep -E=egrep(支持扩展正则表达式使用命令)

如显示1到255之间的数字

egrep --color‘\<([1-9][1-9][0-9]|[0-9]2[0-4][0-9]25[0-5]>\>‘ /boot/grub/grub.conf

显示ip地址:

ifconfig |egrep -o ‘上面的.\>.\

\>1. |{3}

ip地址:

5类:A B C D E

A:1-127

B:128-191

C:192-223

时间: 2024-10-28 01:05:20

linux学习随笔九的相关文章

linux学习随笔一

刚接触linux,是零基础学习,感觉有些东西很有趣,有些东西比较枯燥,所以它不好学.正因为不好学所以你才要去努力学好,给生活给爱好给工作添一道美丽的风景. 通过对电脑基础的了解和学习,知道一台电脑是怎么通过加电启动自检,怎么通过输入输出设备去工作,计算机如何处理你的输入指令,又怎么知道这个指令是那个类型呢?电脑的核心部件:cpu.主板.内存,输入输出设备:硬盘.显示器.键盘.鼠标等.电脑启动后通过读取ROM芯片(只读内存,"只读内存read-only memory,缩写为ROM"),这

linux学习之九 学习过程总结

~写在前面 首先非常感谢孟老师的悉心讲解,使用这种新颖的教学方式(MOOC课堂+博客),也感到非常有幸随着老师的思路对linux的内核进行了初步的系统学习.结合代码和gdb调试工具跟踪分析对linux内核的一些重要机制有了更深刻的理解. 一 学习Linux内核的心得Linux系统的理解 liunx内核是一个十分庞大的操作系统,代码量动辄上千万行,并且还会越来越大,所以通过阅读代码来了解他的机制是不现实的.但是光拿着一本讲linux工作机制的书,比如那本引为经典的巨厚的<深入理解linux内核>

linux学习随笔二

一.如何使用查看帮助文档 二.内部命令与外部命令的区别 三.几个常用基础命令的学习 一.命令分为内部命令和外部命令,内部命令即shell命令,外部命令即用户命令,普通用户可以使用的.获得命令使用帮助也不一样,需要注意的是内部命令在用man查看帮助时显示的是bash的解释.对内部外部命令的理解可以分章节: 1.用户命令(/bin,/usr/bin,/usr/local/bin) 2.系统调用 3.库调用 4.特殊文件(设备文件) 5.文件格式(配置文件的语法) 6.游戏 7.杂项(Miscella

linux 学习随笔-磁盘管理

1:df 用于查看已挂载磁盘的容量信息 -i 查看inodes使用情况 -h 以合适的单位显示 -k -m 分别以k M单位显示 2:du 查看某个文件或者目录占用的空间 du [-abckmsh] [文件名目录名] du + 目录 只会列出目录及其子目录的大小 du -a +目录 会列出目录子目录及文件的大小 常用 du -sh +目录 表示以合适的单位列出总和 2:磁盘分区 fdisk -l 列出当前所有的分区情况 Disk /dev/sdb: 8589 MB, 8589934592 byt

linux学习随笔第二天

ctrl+shift+n 新开启terminal ctrl+shift+t 开启页签(也相当于开启terminal ) init3 关闭图形界面     init5 开启图形界面(容易切死机) 字符界面开启图形界面的另一个命令:startx  & :&可有可无 ctrl+shift+F1,图形,,F2--6字符界面centos6-7 ctrl+shift+F1--6字符界面 F7字符界面 centos5 需要登陆者是root用户:chvt N(数字)切换界面 关机命令: poweroff关

linux学习随笔第一天

计算机系统 计算机系统由硬件(Hardware)系统和软件(Software)系统两大部分组成. 硬件系统:主机,外部设备 软件系统:系统软件(操作系统.程序语言处理系统.数据库管理系统.服务程序).应用软件(通用应用软件,专用应用软件) 计算机发展历史: 第一代计算机1946-1957 电子管时代 第二代计算机1958-1964 晶体管时代 第三代计算机1965-1970 集成电路时代 第四代计算机1971以后 大规模集成电路时代 冯.诺依曼体系结构:1946年提出了运算器.控制器.存储器.输

Linux学习笔记九:Linux系统引导流程

当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1.固件firmware(CMOS/BIOS)  ->  POST(Power On Self Test),即加电自检 2.自举程序BootLoader(GRUB) -> 将系统载入内核 3.载入内核Kernel  ->  驱动硬件 4.启动进程init  ->  服务启动 5.读取执行配置文件/etc/initta

linux学习随笔七

本次学习bash的特性 bash及其特性: shell:外壳 GUI   Gnome   KDE   Xfce shell的种类:CLI  sh csh  ksh bash  tcsh  zsh 进程:从每个进程看来,当前主机上只存在内核和当前进程.进程是程序的副本,进程是程序执行实例 bash特性: 1.命令历史.命令补全 2.管道.重定向 3.命令别名 4.命令行编辑 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行编辑: 光标跳转:ctrl +A 行首, ctrl +E 行尾 c

linux学习随笔2——/root 失而复得

今天在操作linux中不小心将/root目录删除 退出后root用户没了 从度娘上查找了大量的资料,给出答案为 以原root的账号和密码登入系统 新建一个/root mkdir /root 然后从/etc/skel文件夹下的全部文件复制到新建的*/root目录中 即 cp -r /etc/skel/* /root 结果老提示错误 后来将"*"改成"."成功执行 reboot后又看到熟悉的root提示符了 root的权限太大了,进行删除操作时一定要万分小心 建议使用普