• Home

  • 归档

  • 分类

  • 标签
Keep Coding
Keep Coding

12月
02
Linux

Shell 命令

发表于 2015-12-02 • 分类于 Linux
  • shell 脚本第一行要指明要使用的 shell,其格式是:

    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    ```
    在通常的 shell 脚本的行里,井号(#) 用作注释行.然而 shell 脚本文件的第一行是个特例,井号后接感叹号指明用哪个 shell 来运行脚本.


    - 在环境变量前加 $ 符号可以输出环境变量的值.
    ```
    echo $USER
  • 在脚本中看到美元符号,shell 脚本会以为在引用一个变量,可以通过在变量两侧添加花括号来识别美元符号后的变量名:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ${variable} 
    ```

    - 通过等号给用户变量赋值时,在变量/等号和值之间不能出现空格.

    - 类似于系统变量,也可通过美元符号获得用户变量的值.
    ```
    name="chao"
    echo $name
  • 将一个变量的值赋值给另一个变量时,必须使用美元符号,否则 shell 会将变量名解释成普通的文本字符串.

  • 反引号(`)允许你将 shell 命令的输出赋值给变量(必须用反引号把整个命令行圈起来).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    d=`date`;echo $d 
    ```

    - 输出重定向: 将命令的输出发送到一个文件中.
    ```
    date > date.txt
    ```
    `>` 符号是覆盖文件中的文本(如果文本中已有数据),要想在文本数据中追加内容可以使用 `>>` 符号.

    - 输入重定向: 将文件的内容重定向到命令.
    ```
    wc < date.txt
    ```
    结果: 1 6 43
    wc 命令提供了对数据中文本的计数.默认情况下,它会输出3个值:
    - 文本的行数;
    - 文本的词数;
    - 文本的字节数.

    - 管道: 将一个命令的输出重定向到另一个命令,类似于反引号(`). 格式:
    ```
    command1 | command2
    ```
    管道两边的命令会同时运行,在系统内部将它们连接起来.在第一个命令产生输出的同时,输出会被立即送给第二个命令.传输数据不会用到任何中间文件或缓冲区域.

    - expr 命令: Bourne shell 提供的用来处理数据表达式的命令.

    - bash shell 兼容了 expr 表达式,但同时也提供了一个更简单的方法.在 bash 中,在将一个数学运算结果赋给某个变量时,可以用美元符号和方括号($[operation])将数学表达式圈起来.
    ```
    var=$[1 + 5]
阅读全文 »
12月
01
Linux

Linux 命令

发表于 2015-12-01 • 分类于 Linux

查看文件内容

stat

file

查看文件类型。

查看整个文件

cat

-n 给所有内容加上行号
-b 给只有文本的行加上行号

more

cat 命令的主要缺陷是,一旦运行了 cat 命令,就无法控制后面的操作了。为了解决这个问题,开发人员写了 more 命令。more 命令会显示文本文件的内容
,但会在显示每页数据之后停下来。

less

more 命令只支持文本文件中基本的移动。如果要更多高级功能,要用 less 命令。
尽管从名字上看上去,它不会像 more 命令一样高级,但 less 命令的命名实际上是个文字游戏(从俗语 “less is more” 得来),它实为 more 命令的升级版本。
它提供了一些极为使用的在文本文件中前后翻动的功能,还有一些极先进的搜索功能。

less 命令也可显示文件的内容,而不用读取整个文件。这点是 cat 命令和 more 命令在读取大文件时的明显缺陷。

查看部分文件

通常用户要查看的数据要么在文本文件的开头,要么在文本文件的末尾。如果这些数据是在一个大型文件中,那你就得等 cat 或 more 加载完整个文件之后才能看到内容。如果
数据是在文件的末尾(比如日志文件),你可能需要翻成千上万行的文本才能到最后的内容。好在 Linux 有解决这两个问题的专用命令。

tail

tail 命令会显示文件末尾部分的内容。默认情况下它会显示文件的末尾10行,你也可以通过参数来指定显示的行数。
-f 参数是 tail 命令的一个突出的特性,它允许你在其他进程使用该文件时查看文件的内容。tail 名利观会保持活动状态并不断地显示添加到文件中的内容。这是实时监测系统日志的绝妙方式。

head

head 命令会显示文件开头那些行的内容,默认情况下它会显示10行文本。

阅读全文 »
1…678
wuchao

72 日志
18 分类
Creative Commons

博客已萌萌哒运行(●'◡'●)ノ♥

© 2020 Keep Coding. 由 Hexo 强力驱动. Theme By Sagiri v0.0.4.

Made with by wuchao.