`
高成锋
  • 浏览: 52768 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Linux学习总结一

阅读更多

Linux学习总结:

我们主要从以下几方面来学习.

一. Linux 简介 

二. 常用命令行

三. 开发软件的安装

 

一. Linux 简介

对于我们而言,linux的强大体现在它是免费的,开源的;同时支持多线程,多用户;安全性好,对内存和文件管理的优越性能。当然,相较其他的一些操作系统而言,Linux自身的操作比较难。

Linux下的文件目录:

root 存放root用户的相关文件

home 存放普通用户的相关文件 

bin 存放常用命令的目录

sbin 要具有一定权限才可以使用的命令

mnt 默认挂载光驱和软驱的目录

boot 存放引导相关的文件

etc 存放配置相关的文件

var 存放经常变化的文件

usr 安装文件的默认文件夹

 

二. 常用命令行

startx 进入图形界面

Shutdowm h now 立刻关机

Shutdown r now 重启

Reboot 重启

 

注:登录的时候尽量少用root账号登录,因为其是系统管理员,具有最大的权限,为了避免操作错误,我们可以用普通用户进行登录,登录后再用“su - ”命令来切换成系统管理员身份。

 

第一步:

我们无论做什么,第一直观感觉是非常重要的,所以我们需要去了解,去掌握第一手资料。那么此时此地,我们就需要先学会以下几个命令:

cd 命令可以查看并定位到指定的文件夹或目录下

cd  / 回到根目录【可以结合pwd命令来查看当前所属目录】

cd  ~ 回到root目录下

cd /目录名或文件夹名称

cd 目录名/ 【在这里要做一下解释,这两个进入目录命令的区别在于是否是从根目录下查找或是在当前目录下查找】

cd .. 回到上级目录

pwd 显示当前所在目录

 

 

第二步:

进入目录或文件夹后,我们需要去查看当前目录中都有些什么文件或文件夹信息

dir 查看当前目录下的文件信息

ls 查看当前目录下的文件信息

ll 查看当前目录下的文件信息【列表详细显示】

ls -l 这个命令是以上两个命令的合并,效果同ll

ls -a 显示包括隐藏文件在内的所有文件

ls -al 效果可以如上推导得出

 

第三步:

去查看文件的具体信息

vi vi编辑器是个非常重要的命令

vi 文件名 进入文件

输入i进入编辑状态

Esc退出编辑状态

:q! 退出当前编辑文档不保存

:wq 退出当前编辑文档并且保存

 

cat 命令主要是对文件进行操作

cat主要有三大功能:

1.一次显示整个文件。cat 文件名

在屏幕上显示整个文件的内容。如果文件较长,它会在屏幕上飞快地滚过。要防止这一效果的发生,使用 cat filename.txt | less 命令。一起使用管道(|)和 less 命令会一页一页地显示文件。然后,你便可以使用向上或向下的箭头键在页码中向前或向后移动

2.cat  >  文件名 【只能创建新文件,不能编辑已有文件】,从键盘创建一个文件。

 cat 文件一 文件二  将文件一中的内容写入到文件二中,当然如果我们想将文件二中的内容清空,那么cat null > 文件二 就实现了

 

3.cat   文件一   文件二   >>  文件三

将几个文件合并为一个文件。 

将文件一和文件二中的内容追加到文件三中。

 

注:cat 命令在操作文件的时候,是覆盖式操作的,所以在操作的时候我们必须确认是否将多文件进行覆盖的操作。

 

参数: 

cat -n 或 --number 由 开始对所有输出的行数编号 

cat -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 

cat -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 

cat -v 或 --show-nonprinting 

 

例子:

cat -b log1.txt log2.txt  >> log.txt 把 log1.txt和 log2.txt的档案内容加上行号(空白行不加)之后将内容附加到 log.txt里。

我们发现在cat命令中用到了这样的符号【>,>>】,这是Linux的重定向命令,下面我们将进行简要学习。

-----------------------------------------知识点补充,可以暂时不看--------------------------------

重定向命令

Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变

将命令输出写入文件或设备,而不是命令提示符或句柄

  从文件而不是从键盘或句柄读入命令输入

  >> 将命令输出添加到文件末尾而不删除文件中已有的信息

  >& 将一个句柄的输出写入到另一个句柄的输入中

  <& 从一个句柄读取输入并将其写入到另一个句柄输出中

  从一个命令中读取输出并将其写入另一个命令的输入中;也称为管道操作符

 

例如:cat  mysh  >>  logs.txt  2>&1

mysh  >>  logs.txt意思是将标准输出重定向到logs.txt,等价于mysh 1> logs.txt

  2 >& 1 意思是将错误输出重定向到句柄1标准输出;综合起来就是mysh命令执行过程中产生的标准输出和错误输出都会被重定向到logs.txt

其他的命令可以依据该命令进行理解

 

2 >& 1】是不是看上去又有点陌生呢?

重定向操作符可以用来将命令输入和输出数据流从默认位置重定向到其他位置,其输入或输出数据流的位置称为句柄;常见的句柄有三种,当然句柄可以自行扩展,一般的OS都提供类似的功能。句柄 句柄代号 句柄描述。

 

  stdin  0 键盘输入

  stdout  1 输出信息到提示符窗口

  stderr  2 输出错误信息到提示符窗口

 

  默认的 重定向输入操作符是 0,而默认的 重定向输出操作符是 1。键入 或 操作符之后,必须指定数据的读写位置,可以是文件名或其他现有的句柄。

  要指定重定向到现有句柄,请使用与 字符,后面接要重定向的句柄号(即 &句柄号)。

 

I/O重定向详解

 

  1、 基本概念

  1)、 I/O重定向通常与 FD有关,shellFD通常为10个,即 09

  2)、 常用FD3个,为0stdin,标准输入)、1stdout,标准输出)、2stderr,标准错误输出),默认与keyboardmonitormonitor有关;

  3)、 用 来改变读进的数据信道(stdin),使之从指定的档案读进;

  4)、 用 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;

  5)、 是 的默认值,因此 与 0<是一样的;同理,与 1> 是一样的;

  6)、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;

  7)、 管道“|(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;

  8)、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;

  9)、 bashksh)执行命令的过程:分析命令-变量求值-命令替代(``$( ))-重定向-通配符展开-确定路径-执行命令;

  10)、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shellStandard input, output, and error plus any other open file descriptors

  11)、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。

 

  2、 基本IOcmd

  > file 把 stdout 重定向到 file 文件中;

  >> file 把 stdout 重定向到 file 文件中(追加)

  1> fiel 把 stdout 重定向到 file 文件中;

  > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;

  2> file 把 stderr 重定向到 file 文件中;

  2>> file 把 stderr 重定向到 file 文件中(追加)

  >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中(追加)

  < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout

  cat <>file 以读写的方式打开 file

  < file cmd 命令以 file 文件作为 stdin

  << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。

 

  3、 进阶IO

  >&n 使用系统调用 dup (2) 复制文件描述符 并把结果用作标准输出;

  <&n 标准输入复制自文件描述符 n

  <&- 关闭标准输入(键盘);

  >&- 关闭标准输出;

  n<&- 表示将 号输入关闭;

  n>&- 表示将 号输出关闭;

  上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的 或 1。如:

  ... 2>file 运行一个命令并把错误输出(文件描述符 2)定向到 file

  ... 2>&1 运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 来建立文件描述符 ,但效果通常是合并了两个流。)

 

  我们对 2>&1详细说明一下 :2>&1 也就是 FD2FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 是改变送出的数据信道,也就是说把 FD2 的 “数据输出通道” 改为 FD1 的 “数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,因为 FD2 的默认输出和 FD1的默认输出本来都是 monitor,一样的!但是,当 FD1 是其他文件,甚至是其他 FD 时,这个就具有特殊的用途了。

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics