zoukankan      html  css  js  c++  java
  • 从零开始学Linux[一]:基本命令:系统信息、目录、文件、文件编辑

    摘要:linux基础学习:系统信息、目录、文件查找、文件操作、查看文件内容及大小、文件内容检索、软链接、VIM使用。

    现在Linux的使用非常普遍。对于一个小白来说,满屏幕的字母,看起来就是一头雾水~   目前由于工作需要学习hadoop,所以会linux是最最基础的,好吧,一点一点开始学习吧~

    1.系统信息&命令帮助  

    uname -a 当前操作系统所有有用信息
    uname -r 当前操作系统内核版本
    lsb_release -a 列出所有版本信息

    whereis find 寻找find命令手册
    whereis -b find 寻找find文件命令存在位置
    which ls 查看ls存在哪个目录
    which which 查看which存在哪个目录
    who 当前有多少用户登录在系统
    whoami 显示我是谁

    man find 获取find的帮助信息 cd /usr/share/man
    whatis ls 查询ls命令执行什么功能
    apropos search 用apropos查找search相关的命令

    2.目录及目录权限修改

    pwd 显示当前目录
    cd 更改当前目录为用户的主目录
    sudo mkdir work 创建目录
    mkdir -p test100/mydir 在test100不存在的情况下,创建,并创建子目录mydir (-p创建多级目录)
    sudo chgrp workgroup work (chgrp为更改一个目录的所属用户组)
    sudo chmod g+rwx work 修改权限 g代表用户组 r读 w写 x可执行
    sudo chmod o-rwx work 撤销其他用户对该目录的读写可执行 o代表other
    sudo chown lewis work 将work目录的属组改为lewis

    3.文件查找

    ls 列出所有文件
    ls -lrt 列出所有文件按照时间排序
    ls -F 文件加上特殊标志,区分不同种类文件
    ls -a 显示当前目录所有隐藏文件
    ls -l 显示文件的各种属性 vdir
    ls m* 以m开头的文件
    ls m??? 以m开头后边有三个字母的文件。
    ls m*[od] 以m开头,以o或者d结束的文件
    ls g*[m-p] 以g开头,以m n o p结束的文件
    find ./ -name *bash* 当前目录中寻找名称包含bash的文件
    find /etc -name init.d -type d -print 在etc目录中寻找名为init.d而且文件类型是目录的文件。
    find /usr/bin/ -type f -atime +100 -print 在/usr/bin/ 查找最近一百天没有使用过的命令 (atime表示最后一次使用)
    find ./ -type f -mtime -1 -print 寻找最近一天之内修改过的文件
    locate bash 查找系统中包含bash的文件
    sudo updatedb 强制刷新locate目录数据库

    4.文件操作及文件权限修改

    touch hello 创建一个0字节的文件,如果touch一个已经存在的文件,那么就会改变这个文件最后的打开时间戳
    ls -l hello 显示文件的创建时间 (继续touch hello看到访问时间更新)
    mv test test1 移动test到test1中
    mv -i hello mvtest/ 移动文件时若有同名文件,提示是否覆盖
    mv -b hello mvtest/ 避免文件被覆盖,后跟波浪线的是源文件
    mv hello~ hello.bakup 重命名文件
    cp pse2 test2 复制pse2文件到test2中
    cp -r mvtest/ test3 将mvtest及其子目录复制到test3中
    rm hello 删除hello文件
    rmdir test1 删除test1目录
    rm -i test 删除test文件时给个提示
    rm -r test100删除test100及其所有子目录

    drwxr-xr-x 2 westnorth westnorth 4096 2009-04-23 05:19 Music菜单
    d表示该文件为目录
    rwx表示目录属主的权限
    r-x表示该用户所在组的其他用户的权限
    r-x表示所有其他用户对该目录的权限
    2 该文件或目录硬连接的数目
    westnorth 该文件由哪个用户创建
    westnorth 该文件属于哪个组
    4096 linux目录文件大小
    2009-04-23 05:19 文件创建日期

    sudo chown lewis mvhello 更改mvhello文件的属主
    sudo chown -R lewis test3 将test3及其所有子目录所有者都更改为lewis

    chmod u+x test 给test的属主用户增加可执行权限
    chmod a+x test 给所有用户增加x权限
    chmod a-x test 给所有用户取消x权限
    chmod ug=rw,o=r test 给用户和组赋予读写权限,其他用户读权限
    chmod o=u test 将用户的创建者的权限赋予其他所有用户

    ln -s pse2 symbolpse2 创建pse2的符号链接文件 ls -F查看创建结果
    ln -s dirtest/ sysmdir创建dirtest目录的符号链接文件
    ln test2 hardsym 创建test2文件的硬链接文件 硬链接:将文件进行拷贝

    ls > currentdir 将当前目录重定向到目录currentdir cat curentdir [输出重定向]
    pwd > currentdir cat curentdir
    pwd >>currentdir
    cat 从键盘输入 Control+D 退出
    cat < currentdir 将输入重定向到currentdir
    cat << EOF 输入文字 当输入ECOF时编辑退出
    cat << END >hello
    ls | grep update 管道命令|
    command1 | command2 把第一个命令command1执行的结果作为command2的输入传给command2

    5.查看文件内容

    cat .bashrc 一次性显示
    cat -n .bashrc 显示行号
    more .bashrc 显示一页,按空格键可向下继续显示文件
    head -n 5 .bashrc 显示bashrc文件的前五行
    tail -n 5 .bashrc 显示文件后五行
    less .bashrc 与more命令类似,所不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。
    grep PS1 .bashrc 文件中寻找包含PS1的文本行
    cat a.txt b.txt |wc -l 计算文件a,b共有多少行

    6.查看文件大小

    du常用的选项:
      -h:以人类可读的方式显示
      -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
      -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
      -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
      --apparent-size:显示目录或文件自身的大小
      -l :统计硬链接占用磁盘空间的大小
      -L:统计符号链接所指向的文件占用的磁盘空间大小

    du -sh : 查看当前目录总共占的容量,而不单独列出各子项占用的容量。
    du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
    du -h --max-depth=1 |sort :查看当前目录下所有一级子目录文件夹大小 并排序

    du -ch abc* :列出以abc开头的文件的大小和总大小

    8.文件内容检索及字段处理

    1.awk

    awk -F ','   '$2~/1/'  youfile #以逗号分割,输出第二列的值为1的数据

    awk -F ','   '{print $2}' youfile #以逗号分割,输出第二列的值

    awk -F ','   '{print $1"-"$2}'  youfile #输出$1-$2格式的数据

    awk -F '[:/.]' '{print $4}' 以 : / . 分割,输出第四列 

    2.sort

    sort a.txt 从首字符向后依次按ASCII码值进行比较最后按照升序输出

    sort -u a.txt  在升序输出行中去除重复行

    sort -r  a.txt  降序排序

    sort -n a.txt  以数值排序

    sort -n -k2 -t:  a.txt  以第二列升序按数值排序

    3.comm

    comm -1 -3 file1 file2 两个文件之间的比较,求交集,差集等:-1 不显示在第一个文件出现的内容 ; -2:不显示在第二个文件中出现的内容; -3:不显示同时在两个文件中都出现的内容

    4.uniq

    uniq -c a.txt  在行首显示该行重复出现的次数 (在发出 uniq 命令之前,请使用 sort 命令使所有重复行相邻)

    5.sed

    sed -i 's/"//g' youfile   #去掉文件中的所有双引号

    8.软链接及其拷贝

    ln -s 源文件 目标文件  #为某一个文件在另外一个位置建立一个同步的链接

    9.VIM的两种模式及常用编辑指令

    VIM 分插入模式命令模式
    i进入插入模式
    [插入模式下]输入信息 :
    hello world! 
    Monday
    Tuesday
    Thrusday
    Friday
    Saturday
    Sunday
    按esc,输入:w weeb 将内容保存为week文件
    [命令模式下]:使用jk作为向下,向上键,移动光标,一行的任意位置输入o,在该行下方添加新行,输入完毕,执行:wq保存

    命令模式下的操作有:

    a:向当前光标所在的字母后面插入文本
    A:向当前行末尾插入文本
    o:向当前行之后添加新行
    O:向当前行之前添加新行
    H:向左移动
    L:向右移动
    J:向下移动
    K:向上移动
    ^:移动到行首(shift+6)
    $:移动到行尾(shift+4)
    G:移动到文件尾
    Ctrl+F:向下翻页
    Ctrl+B:向上翻页
    /hello:查找文本中的hello位置,并光标移动到该位置

  • 相关阅读:
    如何在 Creator3D 中切换模型贴图,超级简单!
    研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了!
    Creator3D 守护你的球球—UV动画与天空盒
    一个玩游戏的失足青年,转行做软件开发的挣扎过程
    Cocos Creator 3D 打砖块教程(二) | 子弹发射与摄像机平滑移动
    Cocos Creator 3D 打砖块图文教程(一)
    Creator3D长什么样?看看官方惊艳的DEMO就知道了,附在线体验!
    不要总想着二进制
    关于 JSX
    早教
  • 原文地址:https://www.cnblogs.com/wonglu/p/5147208.html
Copyright © 2011-2022 走看看