linux笔记总结(一)

 目录

一、Linux的文件系统

二、Linux命令的介绍

三、linux中的三剑客

1、grep

2、sed 是一种流行编辑器,

3、awk

一、Linux的文件系统

下面列一下Linux目录的作用:

/bin:存放用户命令的文件

/home:存放用户主目录文件

/dev:存放设备的特殊文件

/etc:存放系统管理和配置文件

/etc/rc.d:存放启动的配置文件和脚本

/lib:存放标准程序设计库,也称动态链接共享库。类似windows里的.dll文件

/sbin:存放系统管理命令

/tmp:存放公用的临时文件

/root:存放系统管理员的用户文件

/mnt:存放让用户临时挂载其他文件系统

/var:存放某些大文件的溢出区,比如说各种服务的日志文件

二、Linux命令的介绍

1、查看Linux版本的信息

# uname -a               # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname               # 查看计算机名
# lspci -tv              # 列出所有PCI设备
# lsusb -tv              # 列出所有USB设备
# lsmod                  # 列出加载的内核模块
# env                    # 查看环境变量

2、查看资源

# free -m                # 查看内存使用量和交换区使用量
# df -h                  # 查看各分区使用情况
# du -sh <目录名>        # 查看指定目录的大小
# grep MemTotal /proc/meminfo   # 查看内存总量
# grep MemFree /proc/meminfo    # 查看空闲内存量
# uptime                 # 查看系统运行时间、用户数、负载
# cat /proc/loadavg      # 查看系统负载

3、磁盘和分区

# mount | column -t      # 查看挂接的分区状态
# fdisk -l               # 查看所有分区
# swapon -s              # 查看所有交换分区
# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE       # 查看启动时IDE设备检测状况

4、网络

# ifconfig               # 查看所有网络接口的属性
# iptables -L            # 查看防火墙设置
# route -n               # 查看路由表
# netstat -lntp          # 查看所有监听端口
# netstat -antp          # 查看所有已经建立的连接
# netstat -s             # 查看网络统计信息

5、进程

# ps -ef                 # 查看所有进程
# top                    # 实时显示进程状态

6、用户

# w                      # 查看活动用户
# id <用户名>            # 查看指定用户信息
# last                   # 查看用户登录日志
# cut -d: -f1 /etc/passwd   # 查看系统所有用户
# cut -d: -f1 /etc/group    # 查看系统所有组
# crontab -l             # 查看当前用户的计划任务

7、服务

# chkconfig --list       # 列出所有系统服务
# chkconfig --list | grep on    # 列出所有启动的系统服务

8、程序

# rpm -qa                # 查看所有安装的软件包

三、linux中的三剑客

注:grep擅长查找功能,sed擅长取行和替换。awk擅长取列

1、grep

--color=auto 对匹配到的文本着色显示
-v 显示不被pattern匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系
grep –e ‘cat ’ -e ‘dog’ file
-w 匹配整个单词
-E 使用ERE,相当于egrep
-F 相当于fgrep,不支持正则表达式
1)、查找文件内容包含root的行数            #grep -n root passwd

2)、查找文件内容不包含root的行            #grep -nv root passwd

3)、查找以s开头的行                               #grep ^s passwd

4)、查找以n开头的行                               #grep -n n$ passwd

2、sed 是一种流行编辑器,

选项

-n 不输出模式空间内容到屏幕,即不自动打印

-e 多点编辑

-f /PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本

-r 支持使用扩展正则表达式

-i 直接编辑文件

-i.bak 备份文件并原处编辑

script地址定界

  1. 不给地址:对全文进行处理
  2. 单地址:
    #: 指定的行,$:最后一行
    /pattern/:被此处模式所能够匹配到的每一行
  3. 地址范围:
    #,#
    #,+#
    /pat1/,/pat2/
    `#,/pat1/
  4. ~:步进
    1~2 奇数行
    2~2 偶数行

编辑命令

#    d 删除模式空间匹配的行,并立即启用下一轮循环
#    p 打印当前模式空间内容,追加到默认输出之后
#    a [\]text1 在指定行后面追加文本,支持使用\n实现多行追加
#    i [\]text 在行前面插入文本
#    c [\]text 替换行为单行或多行文本
#    w /path/somefile 保存模式匹配的行至指定文件
#    r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后
#    = 为模式空间中的行打印行号
#    ! 模式空间中匹配行取反处理
#    s///:查找替换,支持使用其它分隔符,s@@@,s###
      替换标记:
#    g 行内全局替换
#    p 显示替换成功的行
#    w /PATH/TO/SOMEFILE 将替换成功的行保存至文件中
 

1)、打印出第二行                #sed -n 2p passwd

2)、打印2-5行的内容                  #sed -n 2,5p passwd

3)、将文件中的root全部替换成abc     #sed -i 's/root/abc/g' passwd

3、awk

选项:

-F 指明输入时用到的字段分隔符
-v var=value 自定义变量

分割符、域和记录
awk执行时,由分隔符分隔的字段(域)标记1,1,2..n称为域标识,n称为域标识,0为所有域。
省略action,则默认执行 print $0 的操作。

变量:

FS:输入字段分隔符;OFS:输出字段分隔符;RS:输入记录分隔符;ORS:输出记录分隔符;NF:字段数量;NR:记录号;NFR:各文件分别计数,记录号。FILENAME:当前文件名;ARGC:命令行的参数;ARGV:数组,保存的是命令行所给定的各参数。

注:以上都是内置变量,在引用时不需要前面加$,每新建一个变量,都需要加个-v,与变量名之间有无空格都可以,变量可以在引用之后再声明,但那一行的输出会输出空行。

printf命令:

a、格式符:

 b、修饰符:

 操作符:

算术操作符:x+y, x-y, x*y, x/y, x^y, x%y
-x: 转换为负数
+x: 转换为数值
比较操作符:==, !=, >, >=, <, <=
模式匹配符:~:左边是否和右边匹配包含 !~:是否不匹配
逻辑操作符:与&&,或||,非!
函数调用:function_name(argu1, argu2, ...)
条件表达式(三目表达式):selector?if-true-expression:if-false-expression
awk控制语句

{ statements;… } 组合语句
if(condition) {statements;…}
if(condition) {statements;…} else {statements;…}
while(conditon) {statments;…}
do {statements;…} while(condition)
for(expr1;expr2;expr3) {statements;…}
break
continue
delete array[index]
delete array
exit

1)、打印文件第一列                         #awk -F ':' '{print $1}' passwd

2)、输出字段1,3,6,以制表符作为分隔符       # awk -F ':' '{print $1,$2,$3}' OFS="\t" passwd


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值