大数据学习系列(二)需要掌握的Linux命令及功能

Filesystem Hierarchy Standard(文件系统层次化标准)
    -/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
    -/dev: 设备文件	
    -/etc:配置文件
    -/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
    -/root:管理员的家目录;
    -/lib:库文件
    -/media:挂载点目录,移动设备
    -/mnt:挂载点目录,额外的临时文件系统
    -/opt:可选目录,第三方程序的安装目录
    -/proc:伪文件系统,内核映射文件
    -/sys:伪文件系统,跟硬件设备相关的属性映射文件
    -/tmp:临时文件, /var/tmp
    -/var:可变化的文件
    -/bin: 可执行文件, 用户命令
    -/sbin:管理命令

系统操作命令:

type:显示命令类型
       -t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
       -p:如果给出的指令为外部指令,则显示其绝对路径;
       -a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名

练习:

help  命令:用于显示内部命令的帮助信息
        -s:输出短格式的帮助信息。仅包括命令格式。

练习:展示cd 后面可接的选项

man:帮助手册manual,显示外部命令的帮助手册,功能等同help
        -a:在所有的man帮助手册中搜索;
        -f:等价于whatis指令,显示给定关键字的简短描述信息;
        -P:指定内容时使用分页程序;
        -M:指定man手册搜索的路径

若没有此命令,安装:yum install man man-pages -y

练习:

whereis : 定位命令位置
file:文件类型
echo:打印到标准输出
举例:echo  "hello world"
$PATH: 输出环境变量:路径
cat  /etc/profile  :输出此文件
》 这个文件是一些人机交互的配置,不要乱动 ,(bash启动(交互方式))
ps :显示当前进程列表
    -ef:显示所有进程列表
echo $$  :当前shell的PID
hash -r :清除缓存
shell文件:是一个bash(程序)

/etc/profile:是bash(程序)的配置文件

source  a.sh :执行这个bash(程序),在当前bash环境下读取并执行FileName中的命令

练习:

df:显示磁盘使用情况,默认显示单位为KB
    选项: 
        -h :以可读性较高的方式来显示信息,格式化
du:du会显示指定的目录或文件所占用的磁盘空间。
   : du -sh :显示当前目录总的大小
   : du -a  :显示当前目录下所有文件的大小
stat  文件名:输出文件的元数据(属性:大小,修改时间等属性)

练习:

touch 文件名  :触摸文件
    对于已经存在的文件,会修改文件的元数据(修改时间等属性)
    对于未存在的文件,会创建文件

文件操作命令

cat : 输出文件内容,打印到屏幕上,并退出。
      
    缺点:内容比较多时展示不全
more 文件A : 输出内容,分屏展示,空格键切一屏,回车下一行

less 文件A : 道理同上
head  -10  文件A :显示前10行
tail  -10  文件A : 显示后10行
| :管道,左右都为命令,原理为先执行左边的,然后在左边的基础上执行右边的

练习:显示文件的第八行内容,先输出前8行,再在此基础上输出最后一行。

vim  文件A: 打开文件A,进入编辑模式

按i : 进入输入模式

按Esc: 进入编辑模式

shift+:   : 进入末行模式

vim +3 文件A : 打开文件A,并把光标定位到第三行

vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

ZZ: 编辑模式,保存并退出   不需要冒号,

编辑模式下:

i : 在当前光标字符的前面转成输入模式
a : 在当前光标字符的后面转成输入模式
o : 在当前光标所在行的下方,新建一行,并转为输入模式
O :大写的o,在当前光标所在行的上方,新建一行,并转为输入模式
编辑模式下:

    移动光标:
        h: 左;j: 下;k: 上;l: 右
    单词
        w: 移至下一个单词的词首
        e: 跳至当前或下一个单词的词尾
        b: 跳至当前或前一个单词的词首
    行内
        0: 绝对行首
        ^: 行首的第一个非空白字符
        $: 绝对行尾
    行间
        G:文章末尾
        3G:第3行
        gg:文章开头
    翻屏
        ctrl:f,b
删除&替换单个字符
    x:删除光标位置字符
    3x:删除光标开始3个字符
    r:替换光标位置字符
删除命令(相当于剪切) : d 
      dw:删除一个单词
      dd:删除一行
复制粘贴:
    yw :复制一个单词
    yy :复制一行
    p  : 粘贴
编辑模式下:
撤销&重做
    u : 撤销上一个操作
    ctrl+r : 重新执行上一个已撤销的操作
    . : 再次执行上个操作
末行模式下:快捷键:  shift+:

        set nu  : 显示行号
        set nonu  : 不显示行号
        set readonly : 设置只读
末行模式下:
    查找某字符的位置  : /
        /abc : 查找abc的位置  按n 查看上一个  按N查看下一个
末行模式下:
    替换:
        s/abc/123/gi :   将当前光标行abc全部替换成123
            
             g : 替换当前行全部
             i :不区分大小写

正则表达式

grep:强大的文本搜索工具,显示匹配行
    v:反显示
    e:使用扩展正则表达式,指定字符串作为查找文件内容的范本样式

匹配操作符
    \  :转义字符
    .  :匹配任意单个字符
    [1249a],[^12],[a-k] :字符序列单字符占位
    ^  :行首
    $  : 行尾
    \<,\>  :单词首尾边界
    |  : 连接操作符
    (,)  :选择操作符
    \n   :反向引用

重复操作符:
    ?      	匹配0到1次。
    *      	匹配0到多次。
    +     	匹配1到多次。
    {n}   	匹配n次。
    {n,}  	匹配n到多次。
    {n,m}      匹配n到m次。

举例

   51  grep "a" test
   52  grep  "a\{3\}"  test
   53  grep  "\<aaa"  test
   54  grep  "\<aaa\>"  test
   55  grep "b" test
   56  grep  "b\{2,3\}" test 
   57  clear
   58  cat test
   59  grep "god" test
   60  grep "godgood" test
   61  grep "god*good" test
   62  grep "god.*good" test
   63  grep "god.*good.*god.*good" test
   64  grep "god.*good+" test
   65  grep "\(god.*good\)+" test
   66  grep "\(god\).*good.*\1" test
   67  grep "\(god\).*\(good\).*\1.*\2" test
   68  vi test 
   69  grep "\(god\).*\(good\).*\1.*\2" test
   70  grep "\(god\).*\(good\).*\2.*\1" test

高级命令

sed :查找、替换

cut :用来显示行中的指定部分,删除文件中指定字段,连接两个或多个文件

sort: 给文件内容排序输出

wc :用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

awk:  重要 ,必须掌握

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章