求GUIDE for Linux和射灯安装方法图解!

  • 一张图了解命令提示符和命令行

  mkdir(make directory创建目录)、ls(list,列出当前目录下的内容)、rm(remove删除文件,如果删除目录需要加参数-r,表示递归-recursive删除)、man(manual手册,后面跟命令打开该命令嘚使用手册进入后键入/- 参数:查找参数如何使用,n查找下一处q退出用户手册)、ctrl+l(清屏)、pwd(print working dir,显示工作路径)、ctrl+a:到达命名行首

更多信息可参見书籍:The Linux Command Line的第二章和第六章(什么是shell、使用命令)

  cd(change directory)、.表示当前目录、./代表当前目录的子目录、..表示当前目录的父目录、cd /(通过绝对路径嘚方式进入根目录)、cd -(回到原来的目录)

  Tips:cd 目录名(和cd ./目录名的作用相同) 可以通过Tab键补齐如果有多个备选项的话,双击Tab列出所有匹配选项

  分页查看文件内容:less 文件名  (按住j向下滚屏 按住k向上滚屏  /字符:进行字符查找键入n查找下一处 双击g可以到达文件头 点击G可到达文件尾 q退出),man命令底层的分页就是用的less因此less中所有的快捷键在man中都是可以使用的。

  输入命令后不想执行:ctrl+ c

  解压缩zip文件:unzip 文件名       压缩成zip文件:zip -r 压缩后文件名.zip 被压缩的文件名

  将程序的输出内容保存到文件中:date >output.txt(注:date是一个系统自带程序输出当前时间)

  (PS:linux下有一个传统:Everything is a file,如目录是一个目录文件各种设备都被抽象成了文件放到了目录文件/dev下,系统上有三个非常特殊的文件因为它們是一直打开的,因此系统为他们分配了三个固定的file descriptor文件描述符为0的文件叫做标准输入文件(stdin),为1的叫做标准输出文件(stdout)为2的叫做标准错誤输出文件(stderr),因此你会看到标准错误输出重定向的标识符为:2>)

  一般情况下标准输入重定向的使用频率不如管道,如:cat file1|sort|uniq|grep str(sort对每行字苻串进行排序uniq忽略重复行,grep打印匹配行PS:uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用换句话说,为了使uniq起作用所有嘚重复行必须是相邻的。)

  三种权限:用户对文件主要有三种权限:r(reading)、w(writing)、x(executing)

  如在终端中查看文件权限:$ ls - l a.txt,得到结果(注:查看目录权限ls -ld mydir):

  该行信息传达的信息如下图:

  对文件的r 权限表示可以查看文件的内容(cat file),对目录的r 权限表示可以查看目录的内容(ls mydir);对文件的w 权限表示可以编辑该文件里的内容而对目录的w 权限表示我们可以在该目录下创建、删除、重命名文件;对攵件的x 权限表示可以把它作为一个程序来执行,对目录的x 权限表示我们可以进入该目录(cd mydir)

  对当前目录增加写权限:chmod +w .

  用vim编辑器創建一个脚本文件a.sh:vim a.sh(键入i进入插入模式,写入一个简单的打印命令:echo helloesc退出插入模式,两次大写Z保存文件)执行该脚本:./a.sh,一般情况丅我们没有执行权限,可以这样做:chmod +x a.sh执行该脚本,终端输出:hello

  终端中启动vim,它会占据当前的shell敲Ctrl+Shift+T(编辑->键盘快捷键中可查看终端中使用的快捷键,也可根据需要自定义快捷键例如Ctrl+Shift+C复制内容,Ctrl+Shift+V粘贴)打开一个新的终端标签ps aux 查看系统上所有的进程情况,因为输出篇幅较长我们可以在ps aux 后面加上管道符(|),用less 程序做分页器:ps aux|less输出中的PID字段,就是我们关注的进程号键入 /vim 进行查找,可以看到vim程序嘚进程号不过更一般的查看进程号的方式是用grep 命令查找vim关键字:ps aux|grep vim,使用kill vim进程号 就可以结束vim程序(Ctrl+PgUp切换到上一个终端标签可以看到vim程序巳经被杀死了)。

  在命令行中也可以启动图形化程序如firefox,Alt+Tab 可以切换回命令行可以看到firefox占据了当前的shell,如何处理这种情况呢一个簡单的方法是firefox &,这样firefox就自动在后台执行了而且切换回终端后命令行依然可以使用。但是如果已经出现了firefox占据了shell这种情况可以Ctrl+z,发现firefox已經没有响应了切回终端,键入bg这样就跟firefox & 的情况一样了,fg切换回前台Ctrl+c 结束firefox(bg:把一个任务放到后台执行,fg:把一个任务放到前台执行)

  kill 命令中常用的信号有2、9、15。其中2 表示中断实现和Ctrl+c 一样的功能,由终端发送通常它会终止一个程序;15 表示终止,是kill 命令发送的默认信号如果程序仍然"活着",可以接受信号的话;9 表示杀死这个信号很特别,鉴于进程可能会选择不同的方式来处理发送给它的信號,其中也包括忽略信号这样9号信号并不发送给目标进程,而是内核立即终止这个进程当一个进程以这种方式终止的时候,它没用机會去做些"清理"工作或者是保存劳动成果。因为这个原因可以把9号信号看作杀手锏(kill -9 进程号),当其他终止信号失败后再使用它。

  除了通过kill终止进程很多程序也定义了自己的退出方式,比如shell就可以通过exit 命令退出它等价于Ctrl+d。

  这里顺便说一下一种更糟糕的情况一个异常的程序占用了大量的内存,导致整个桌面系统卡顿了使得我们无法在终端中输入命令,此时怎么办呢Linux是同时运行着七个工莋台的敲入Ctrl+Alt+F2到达其中一个工作台,在这里杀死那个进程Ctrl+Alt+F1回到原来运行着图形化界面的工作台。

  文件和字符串搜索是一个开发者日常笁作中颇为重要得一部分下面就来看看shell中都有哪些命令供我们使用来实现自己的需求:

  locate - 通过名字来在系统全局范围内查找文件

不是矗接搜索整个文件系统,而是从一个数据库中读数据这也就是为什么locate 跑的如此溜的原因,系统中的命令updatedb 会把系统中的数据存放到数据库の中但是updatedb 一般都是每天自动运行一次,因此我们刚刚创建的文件locate 是找不到的解决办法就是手动运行一下:sudo updatedb。

  find - 在目录层次结构中搜索文件支持很多参数,经常与字符串查找利器grep一起使用用来处理搜索到的文件列表。

  例:find . 列出当前目录下的所有目录和文件包括子目录的文件和目录。

  网络操作主要涉及两块内容:远程操作工具ssh和数据传输工具rsync由于没有可供操作的网络主机,因此这部分内嫆暂且略过更多信息可参见书籍:The Linux Command Line第十七章(网络系统)。

  在CentOS上安装软件主要有三种方式:

  1. 手动下载编译好的软件或者源码进行安裝
  2. 下载rpm 包安装(类似于ubuntu系统安装deb包)
  3. 从官方仓库用yum 下载安装(类似于从ubuntu官网,用apt-get下载安装)

  手动下载编译好的软件(可执行程序)咹装实例:

解压缩但是执行程序必须要用全路径来执行压缩包中的sublime_text,如果想方便使用把它变成一个系统命令,需要把整个解压缩包中嘚子文件移动到$ PATH 包含的一个目录中(使用命令echo $ PATH查看)或者也可以不移动,方法就是搞一个符号链接:$ ln -s Sublime\ Text\

  手动下载源码安装实例:

  終端中执行$ hello输出:hello, world!。这里./configure 的作用就是检查当前环境是否满足安装该软件的依赖关系make 是用来从Makefile中读取指令进行编译的,而make install 是用来从Makefile中读取指令将软件安装到指定位置的。

  把许多命令集中到一个文件中作为一个脚本来执行就是所谓的shell 脚本编程。

  关于shell 脚本编程我們划分成以下几个部分一一阐述:

  可以通过bash、ruby 或python 这样的语言来写脚本只要在脚本的首行指定用什么语法来进行解析即可(bash 的语法很機器化,很多细节也比较晦涩因此可以用ruby 这种更加人性化的语言来写脚本)。如:

  命令就是语句语句就是命令

  因为每一个命囹都是合法的脚本语句,因此可以把多条语句直接罗列到脚本中也可以将其包裹到一个函数中:

  此外,还有些元素是脚本语句的一蔀分:

 注意到这里的[ $# != 1 ] 其实也可以放到终端中去执行 
 查看返回指为0 表示命令执行成功。只要if 后面跟一个可以正确执行的命令则结果为真;如果跟一个执行会出错的命令,那么结果即为假此外,由于命令对空格是敏感的这就导致脚本语句对空格也是变态的敏感。

  这里的$0 代表命令名$1 代表第一个参数,$2 代表第二个参数...$# 表示该命令执行时的参数总个数。

  脚本不再当前shell 中执行

  每次启动一個脚本系统都会为当前shell 单独开启一个子shell,在子shell 中执行脚本中的语句例如,脚本中导出一个环境变量:

  编写脚本rename.sh更改模式为可执荇:

  添加到 ~/bin 中,使其成为一个系统命令执行:

  SSH 远程登录服务器的时候,需要先登录再执行命令实际中每次这样操作很麻烦。鈳以在本地写一个脚本在服务器上执行脚本中相关的命令。

  让程序在执行过程中暂停报告一些信息,用户根据程序提供的信息判斷是否允许程序继续执行下面的操作这就是确认执行。

最后:
转载请注明出处.
以上.
}

我要回帖

更多关于 射灯安装方法图解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信