码迷,mamicode.com
首页 > 系统相关 > 详细

2015.8.23作业 Linux命令学习

时间:2015-08-30 08:50:46      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:command   linux   ffffff   style   color   

echo $?
这是一个shell的变量,意思就是返回上一步执行任务是否成功。
如果为0 说是成功。
如果非0说明失败。

command命令  ---SHELL内建命令

command命令调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。
command: usage: command [-pVv] command [arg ...]

                     调用命令

参数: 指令:需要调用的指令及参数

实例:使用command命令调用执行echo Linux

技术分享

GUI:

        GNOME,KDE,XFCE

CLI:

       狭义上的shell

/bin/bash

    shell能够提供给用户操作系统的一个接口,能够将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。shell中有很多中形式,比如bshell,CShell,KShell,TCSH等等,通过/etc/shells 中文件可以查看当前系统中存在的shell形式。当我们进行用户登录时,系统会自动检查/etc/passwd目录下的文件,取得当前系统中当前用户使用的shell形式。

bash的基础特性

(1)命令历史

技术分享
  -c:清空命令历史
  -d OFFSET [n]: 删除指定位置的命令
  -w:保存命令历史至历史文件中

-a: 当缓冲区中的历史手动追加文件;

(2)命令别名

   alias/unalias

  (3)命令补全

  (4)路径补全

(5)命令行展开

      ~,{}  

cd ~回到用户家目录,这得看你是用什么用户登录了,如果是以root身份登录,执行此命令后,回到/root/目录下,如果是以其他用户等录得话,则是回到/home/目录下

!!是执行和显示上一条命令的结果

技术分享

技术分享cd不加任何参数,回到用户家目录

cd~USERNAME:切换指定用户的家目录

技术分享

cd-:回到上一次所在目录

技术分享

pwd命令:printing working directory 显示工作目录

ls:list  列出指定路径下的文件或目录的属性信息

ls [OPTION]... [FILE]...

     -l  使用长格式 显示

         drwxr-xr-x. 2 root root  4096 8月  22 21:58 aaa

            d:文件类型

            rwxr-xr-x:权限,mode

            root: owner,属主

            root: group,属组

             8: size,默认为字节

             8月  22 21:58:修改时间戳

     -d:显示目录自身属性

    -h:human-readable   与-l 一起,以易于阅读的格式输出文件大小

     -r:reverse,逆序显示

     -R:recusive,递归        

     -a –all 显示所有文件,包括.开头的隐藏文件

      .:当前目录

     ..:父目录

     -A:列出除. 及.. 以外的任何项目

    -m:水平输出文件列表

    -t:最近修改的文件显示上面

   -n:打印文件的UID和GID

  -lh:列出可读文件和文件夹的详细信息

   -ld:显示文件夹信息

   -lt:按时间列出文件和文件夹详细信息

   -ltr: 按修改时间列出文件和文件夹的详细信息

   -F:按特殊字符对文件进行分类

 

文件查看类命令:

       cat,tac命令:

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

    -n:有1开始对所有输出的行数编号;

   -b :和-n相似,只不过对于空白行不编号

   -A:显示不可打印字符,行尾显示“$”

    -e: –vE

   -E:显示行结束符

   -v:显示非打印字符

tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。

-a:将内容追加到文件末尾

-i:忽略中断信号。

相关示例:

[root@localhost www]# cat test
1234
abcd

[root@localhost www]# rev test
4321
dcba

[root@localhost www]# tac test
abcd
1234
 
文件内容类型查看命令: 

file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

    -b:不输出文件名(简要模式)
    -c:详细显示指令执行过程,便于排错或分析程序执行的情形

-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;

-L:直接显示符号连接所指向的文件类别;

-m<魔法数字文件>:指定魔法数字文件;

-v:显示版本信息;

-z:尝试去解读压缩文件的内容。

[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log
UTF-8 Unicode text <== 不显示文件名称
[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8 <== 显示MIME类别

显示符号链接的文件类型:

技术分享

 

echo命令

显示环境变量:

技术分享

-e:让控制字符生效 \b删除前一个字符

技术分享

-n:不进行换行

\n:new line 换行

which命令:

which [options] [--] programname [...]

--skip-alias 禁止列出别名


 

whereis COMMAND:
            显示二进制程序、源码文件以及帮助手册的路径;

    技术分享

linux文件系统

     绝对路径:/

      根文件系统:rootfs

      文件系统挂载:

      FSB:FHS(文件系统层级结构标准)

FHS:

         /boot:引导文件存放目录,例如kernel(vmlinuz)、bootloader(grub,grub2)

      /bin binary,供用户使用的基本命令:OS启动即会用到程序

     /sbin :管理类的基本命令

     /lib:基本共享库;内核模块

   /lib64:X86_64系统的共享库

   /etc:配置文件目录

  /home/USERNAME:普通用户主目录的默认位置

/root:管理员的主目录

/media:便捷式的移动设备;

/mnt:临时文件系统挂载点

/opt: 可选目录,第三方应用程序的默认安装位置

/dev: devices,设备

   b: block devices

  c:character devices,linear access (线性访问)l

/proc: 伪文件系统:用于输出内核与进程的相关信息  是内存中有关系统进程的实时信息

/sys:伪文件系统:是有关系统内核以及驱动的实时信息

/srv:services,系统上运行服务用到中间数据

/tmp:临时文件目录

/usr:Universal Shared,Read-only data

   bin/

   sbin/

   lib/

   lib64/

   include:C 程序的头文件:header files

  share:结构化的独立数据

         doc,man

local:现在常用 的第三方程序 的安装位置

    bin

    sbin

    lib

   lib 64

   etc

  share

/var: Variable data files

   cache:应用程序 的缓存数据

   lib:应用程序的状态信息数据

   local:专用于为/usr/local下的应用程序存储可变数据

   lock:锁文件

   log:日志文件

   opt:专用于/opt

   spool:应用程序的数据池

   run:运行中的进程的相关数据,通常应用于守护进程 的pid文件。

/selinux

 

Linux下的文件类型:

      -(f):普通文件

     d:目录文件

    b:块设备文件

    c: 字符设备文件

   l: 符号链接文件

  p:命名管道文件

s:套接字文件

 

命令别名
        命令的另一个引用符号,由bash程序维护;

        alias/unalias

            alias: 查看所有已经定义别名;
            alias NAME=COMMAND:定义别名;

                如果别名同原命令名,想直接执行原命令,则需使用\COMMAND

            unalias NAME: 撤消别名;

[root@localhost ~]# alias cls="clear"

 

目录管理类命令:

mkdir,rmdir,tree,

(1) mkdir
        mkdir [OPTION] /PATH/TO/SOMEWHERE
            -p:创建父目录
            -v: 显示创建过程

练习:
            如何创建目录:x_m, x_n, y_m, y_n?

               技术分享

(2) rmdir
        rmdir /PATH/TO/SOMEWHERE

        删除空目录;

(3) tree   以树状图列出目录的内容
        tree [OPTION]... [DIR]
            -d:只层级目录类型的文件;
            -L level: 只显示几个层级;

技术分享


文本文件查看命令:
    
    cat, tac, more, less, tail, head

 

cat 命令,文件或标准输入组合输出到标准输出

技术分享

技术分享

tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。

-a或——append:将内容追加到文件的末尾; -i或——ignore-interrupts:忽略中断信号。

more,less

翻屏查看

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答: 按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 按H键:显示帮助屏,该屏上有相关的帮助信息。 按B键:显示上一屏内容。 按Q键:退出rnore命令。

less命令文件内容查看 less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。语法 less(选项)(参数) 选项 -e:文件内容显示完毕后,自动退出; -f:强制显示文件; -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; -l:搜索时忽略大小写的差异; -N:每一行行首显示行号; -s:将连续多个空行压缩成一行显示; -S:在单行显示较长的内容,而不换行显示; -x<数字>:将TAB字符显示为指定个数的空格字符。

head和tail

head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

-n<数字>:指定显示头部内容的行数; -c<字符数>:指定显示头部内容的字符数; -v:总是显示文件名的头信息; -q:不显示文件名的头信息。

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

技术分享

 

时间戳管理工具:touch

touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

用法:touch [选项]... 文件...

-a            只更改访问时间
  -c, --no-create    不创建任何文件
  -d, --date=字符串    使用指定字符串表示时间而非当前时间
  -f            (忽略)
  -h, --no-dereference        会影响符号链接本身,而非符号链接所指示的目的地
                (当系统支持更改符号链接的所有者时,此选项才有用)
  -m            只更改修改时间
  -r, --reference=文件    使用指定文件的时间属性而非当前时间
  -t STAMP        使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间
  --time=WORD        使用WORD 指定的时间:access、atime、use 都等于-a
            选项的效果,而modify、mtime 等于-m 选项的效果
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

请注意,-d 和-t 选项可接受不同的时间/日期格式。

实例

touch ex2       在当前目录下建立一个空文件ex2,然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。

 

文件管理命令:

   cp ,mv,rm


    复制命令:cp, copy
        cp [OPTION]... [-T] SOURCE DEST
           cp [OPTION]... SOURCE... DIRECTORY
           cp [OPTION]... -t DIRECTORY SOURCE...

           cp SRC DEST:
               SRC是文件:
                   如果DEST不存在:新建目标文件,并将SRC复制到目标文件;
                   如果DEST存在:
                       如果DEST是文件:用SRC的内容覆盖至DEST文件中;
                       如果DEST是目录:在DEST目录中新一个与原文件同名的文件,将将SRC内容复制到新建的同名的目标文件中;

           cp SRC... DEST:
               如果DEST不存在:
                   是错误的;
               如果DEST存在:
                   如果DEST是文件:错误;
                   如果DEST是目录:

           常用选项:
               -r, -R: 递归复制;
               -d: 不跟踪符号链接;
               --preserve[=ATTR_LIST]:
                   mode, ownership, timestamps
                   context, links, xattr, all
               -a: -dR --preseve=all
               -i: interactive
               -f: force
               -v: 显示过程

mv: move, 移动文件
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...

       常用选项:
           -i:交互式
           -f:强制

   rm: remove

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
        rm [OPTION]... FILE...
            只删除文件;
     常用选项:             

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

--preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

删除当前目录下除隐含文件外的所有文件和子目录

# rm -r *

应注意,这样做是非常危险的!

文本编辑器:
    nano

bash的基础特性(02)
    (1) glob
        文本名“通配”
            *:匹配任意长度的任意字符;
            ?:匹配任意单个字符;
                a*b: aab, ab, a123b;
                a?b:
            []: 匹配指定范围内的任意单个字符;
                [0-9]
            [^]:匹配范围外的任意单个字符;
                [^a-b]


练习:
    显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;

解:

[root@localhost ~]# mkdir /tmp/c
[root@localhost ~]# cp -vr /etc/[^a-zA-Z]* /tmp/c
"/etc/123aaa" -> "/tmp/c/123aaa"
"/etc/[^a-z]aaa111222" -> "/tmp/c/[^a-z]aaa111222"

[root@localhost ~]# cd /tmp/c
[root@localhost c]# ls
123aaa  [^a-z]aaa111222

    复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu.com目录中;

解:

[root@localhost ~]# mkdir /tmp/mageedu.com

[root@localhost ~]# cp -r /etc/*.d/tmp/mageedu.com/

[root@localhost ~]# ls /tmp/mageedu.com/

[root@localhost ~]# rm -rf/tmp/mageedu.com/

 


(2) 组合键

    Ctrl+l:清屏
    Ctrl+a: 切换至命令行首
    Ctrl+e:切换至命令行尾
    Ctrl+c:取消命令执行

    Ctrl+u:删除光标所在处至行首的内容;
    Ctrl+k: 删除光标所在处至行尾的内容;


(3) IO重定向和管道

    程序:指令+数据
        读入数据:Input
        输出数据:Output

    打开的文件都一个fd:file descriptor

    标准输入:keyboard, 0, /dev/stdin
    标准输出:monitor, 1, /dev/stdout
    标准错误输出:monitor, 2, /dev/stderr

    I/O重定向:
        输入重定向
        输出重定向:
            COMMAND > NEW_POS, COMMAND >> NEW_POS
            >:覆盖重定向;
            >>:追加重定向;

            set -C
                如果覆盖重定向目标文件存在,则禁止执行;
                >|
            set +C

        错误重定向:
            2>:覆盖
            2>>:追加

    同时重定向标准输出流和错误输出流:
        COMMAND > /path/to/file.out 2> /path/to/file.err

        COMMAND > /path/to/file.out 2>&1

        COMMAND &> /path/to/file.out

    输入重定向:
        <

        tr命令:
            tr [OPTION]... SET1 [SET2]
                -d: 删除字符

    Here Document:<<
        cat >> /path/to/somefile << EOF

管道:
    COMMAND1 | COMMAND2 | ...

tee 命令

tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。

-a 附加到文件-i 无视中断--help 显示帮助信息--version 显示版本信息

[root@localhost ~]# tee 12 -a /tmp/12 <<EOF
> 1233233333

> EOF

[root@localhost c]# cat /tmp/12
1233233333

文件处理工具:
    wc, cut, sort, uniq

wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出

    wc:word counts
        wc [OPTION]... FILE...
            -l: 显示行数
            -w: 显示单词数

[root@localhost~]#cat/etc/passwd |ws –l  查看passwd文件有多少行

[root@localhost~]#echo“qqq www eee” |wc –w  查看输出有多少个单词

[root@localhost~]#echo“21312123” | wc –m  查看输出有多少个字符

    cut:
        cut OPTION... [FILE]...
            -d: 指明分隔符;-d‘ ‘, -d:
            -f:指明要显示的字段
                #:
                #-#:1-3
                #,#: 1,3,7

    sort命令:排序
        sort [OPTION]... [FILE]...
            -r: 逆序
            -f: 忽略字符大小写
            -u: 排序后去重
            -t CHAR: 指明分隔符
            -k #: 字段
            -n: 表示以数值大小排序

最简单排序:

技术分享

 

    uniq命令:

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
        uniq [OPTION]... [FILE]...
            -c: 显示每行重复的次数;
            -d: 只显示重复过的行;
            -u: 只显示不曾重复的行;

删除重复行: uniq file.txt sort file.txt | uniq sort -u file.txt

只显示单一行: uniq -u file.txt sort file.txt | uniq –u

统计各行在文件中出现的次数: sort file.txt | uniq –c

在文件中找出重复的行: sort file.txt | uniq -d

2015.8.23作业 Linux命令学习

标签:command   linux   ffffff   style   color   

原文地址:http://cisco520.blog.51cto.com/226739/1689672

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!