7.19学习日志

grep find sed 命令的区别 
grep sed 都是文本查找的命令 find是文件查找命令
---------------------------------------------------------------------------------
grep egrep fgrep 都是文本查找的命令 查找文本通过正则表达式匹配到的字符所在的行
grep [options] PATTERN [FILE] 
grep 选项 正则表达式 文本 (注意这边一定是文本!!!)
这边的正则表达式可以用行首锚定和行尾锚定
---------------------------------------------------------------------
find 是文件查找命令
用法:find 查找路径 查找标准 查找到以后做的处理
查找标准:
-name 'filename':根据文件名查找 
注意:一定要加引号 引号里面的文件名匹配 只能有* ?[a-z]
-type:根据文件类型查找 
f:普通文件 d:目录 c:字符 b:块设备 l:链接 p:管道 s:链接
-regex:根据正则表达式查找
很多标准 上面为常用的

查找后要做的处理:
默认为显示 -print
-ok 或 -exec 后面均可以加命令
比如说:find ./ -type f -exec mv {} {}.new \;
主要看-exec后面的格式 将匹配到的文件经过mv命令将名字后面加.new {}为匹配到的文件 
注意:后面一定要加 \; 表示操作结束!!!
----------------------------------------------------------------------------
sed命令 和grep一样都是文本处理
sed [options] 'addresscommand' file...
sed 选项  地址(即查找的范围)  文件
用到的时候去 http://blog.51cto.com/13691207/2106761 查找用法
---------------------------------------------------------------------------

管道和重定义的用法
管道的话用的最多的就是 | less
重定向的话有输出重定向 输入重定向
输出重定向的话有覆盖 和 追加
覆盖输出 > 
追加输出 >>
注意:这边通常用追加输出,也就是两个大于号
最简单的例子就是将一个文本的内容追加到另一个文本后面
cat a.txt >> b.txt
或者将某些命令行显示的信息追加到文本里面
ls /etc >> a.txt
---------------------------------------------------------------------
df 与 du 不同的是 
df显示整体 du显示目录

df命令列出文件系统的整体磁盘使用量
-a:列出所有的文件系统
-h:以GB KB MB 等格式显示
-T:连同文件系统的名称
-i:不用硬盘容量 以inode的数量显示
df命令会显示出一下几部分:
文件系统的名称
文件系统的磁盘块数量
挂载点

du命令评估文件系统的磁盘使用量(常用于评估目录所占用的容量)
你在当前目录中输入du 会显示每个当前目录下每个目录的磁盘使用量(即占磁盘的大小)
-h:以GB KB MB 等格式显示
-s:列出总量
注意:du命令不会显示文件所占的容量

---------------------------------------------------------------------------------------

通过df du命令 复习一下文件系统
inode:存放权限和属性
inode table:用来遍历的
date block:存放实际数据 ext2系统支持设置数据块的大小 通常有1KB 2KB 4KB
superblock:存放整体文件系统的信息

每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
Unix/Linux系统允许,多个文件名指向同一个inode号码。
-------------------------------------------------------------------------------------
IPC:进程间通信

service

chkconfig 管理系统服务默认开机启动
chkconfig --list:列出系统上被chkconfig管理的服务
chkconfig --level [0123456] [service name] [on|off]

export LANG=en_US.utf8
---------------------------------------------------------------------------------------
重启SSH 
service sshd restart
/etc/init.d/sshd restart
重启网关 
service network restart
/etc/init.d/sshd restart
-----------------------------------------------------------------------------------------------
驱动所用头文件均来自内核源代码,应用程序所用头文件来自库函数。

------------------------------------------------------------------------------------------
学到现在接触到的/etc下有用的目录
/etc/init.d/* 里面都是些系统服务的可执行文件
/etc/grub.conf 是个链接文件 指向/boot/grub/grub.conf 里面就是系统启动时grub的一些参数设置
/etc/rc.d/rc.sysinit init进程需要配置的一些参数

写一个脚本执行gcc编译的四个步骤 输入.c文件 输出 .i .s .o 和链接文件
#!/bin/bash
#

case $1 in
-h|-help)
    echo "Usage:$0  filename.c filename"
    exit 0;;
-d|del)
    rm -rf ./*.o
    rm -rf ./*.i
    rm -rf ./*.s
    exit 0;;
*)
    gcc -E $1 -o $2.i   预处理 -E 输出.i文件 将#define 等#操作处理一下
    gcc -S $2.i -o $2.s 编译 -S 输出.s文件 输出汇编代码 c --> 汇编
    gcc -c $2.s -o $2.o 汇编 -c 输出.o文件  汇编 --> 二进制
    gcc $2.o -o $2

esac    

猜你喜欢

转载自blog.csdn.net/sinat_39440759/article/details/81122523