Linux快速上手

1.Linux系统架构

  内核(kernel)

    内存管理(mm)

      Linux内存特性无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能

    进程管理(sched)

      Linux使用了比较简单的基于优先级的进程调度算法选择新的进程

      Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等

    设备驱动程序(drivers)

      设备驱动程序运行在高特权级的处理器环境中

    文件系统和网络管理等(fs,net)

      

  shell

    shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器

    BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell

  文件系统

    挂载(mount)

    Linux 中最普遍使用的文件系统是 Ext2,它也是 Linux  土生土长的文件系统。但 Linux  也能够支持 FAT、VFAT、FAT32、MINIX 等不同类型的文件系统

  应用程序

    略

2.Linux基本命令

man

man <COMMAND NAME> //查看指令的用户手册

ls

ls [OPTION] [FILE] //以当前目录开始,向下列出所有文件
-a :全部的档案,连同隐藏档案( 开头为 . 的档案) 一起列出来
-d :仅列出目录本身,而不是列出目录内的档案数据 
-f :直接列出结果,而不进行排序 (ls 预设会以档名排序) 
-F :根据档案、目录等信息,给予附加数据结构,例如: 
*:代表可执行档; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案; 
-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来; 
-i :列出 inode 位置,而非列出档案属性; 
-l :长数据串行出,包含档案的属性等等数据(类似于windows详细信息); 
-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小; 
-R :连同子目录内容一起列出来; 
-S :以档案容量大小排序! 
-t :依时间排序 
View Code

touch

touch [OPTION] [FILE] //创建空文件[FILE]
-t :后面可以接时间,格式为[YYMMDDhhmm] 创建时间
View Code

cat

cat [OPTION] [FILE] //将[FILE]或标准输入组合输出到标准输出。
 -A, --show-all 
  -b, 对非空输出行编号
  -E, 在每行结束处显示 $
  -n, 对输出的所有行编号
  -s, 不输出多行空行
如果[文件]缺省,或者[文件]为 - ,则读取标准输入。
View Code

mkdir

mkdir [OPTION]  [DIR] //若指定目录不存在则创建目录
 -p:需要时创建目标目录的上层目录,即使这些目录已存在也不当作错误处理
 -v:每次创建新目录都显示信息
View Code

rmdir 

rmdir [OPTION]  [DIR]  //删除非空的目录
 -p: 删除指定目录及其上级文件夹
  -v:输出处理的目录详情
View Code

mv

mv [OPTION] [-T] [SourceFILE] [DestinationFILE] //将源文件重命名为目标文件
mv [OPTION] [SourceFILE]  [DIR] //将源文件移动到指定目录
 -f:覆盖前不询问
 -i: 覆盖前询问
 -n:不覆盖已存在文件
如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
 -u:  只在源文件文件比目标文件新,或目标文件不存在时才进行移动
 -v:详细显示进行的步骤
View Code

cp

cp [OPTION] [FILE]/[DIR] [DIR] //复制
-b 诺删除或者覆盖目标文件将对文件进行备份,备份的文件以备份的字符结尾
-f 强制复制
-i 交互模式,覆盖目标文件之前要进行询问
-r 处理指定目录以及目录的子目录下的所有文件
-u 只在源文件更新时进行复制
-v 运行时显示详细的处理信息
-x 只在源文件和目标文件文件系统类型相同时才复制
View Code

mount

mount [SYSTEM] [DIR] //挂载
例1
[root@linux ~]# mount -l    #列出所挂载的系统
[root@linux ~]# mount /dev/sda1 /media/usb   #挂载u盘
例2
# mount -o username=xiexiangrong,password=xxxxxx  -l //192.168.6.2/soft /mnt  #访问windows共享文件
-o username= windows user,password=访问密码
-l //网络地址/共享文件
View Code

3.程序员常用命令(如需使用请至http://linux.51yip.com/查询)

grep //使用正则表达式搜索文本,并把匹配的行打印出来

cut //在文件的每一行中提取片在每个文件FILE的各行中, 把提取的片断显示在标准输出.

sed //对文件内容进行处理

tar //用来压缩和解压文件。

find //查找目录和文件

diff //比较两个文件

chmod //更改文件属性

4.Shell编程

  介绍

  *shell脚本程序,简称shell脚本或shell程序,是使用系统提供的命令编写的文本文件,该文件具有可执行的属性,能够帮助系统管理员自动管理系统。在Linux的发行版本中就包含了很多的shell程序,这些脚本有的是为了完成系统参数的设置,例如/etc/profile等文件;有的是为了完成某项系统服务的启动工作,例如/etc/rc.d/init.d目录下的所有脚本。

  应用

  随着Linux图形界面的日益完善,依靠GNOME或KDE提供的图形界面已经能够完成大部分基本的应用。但是图形界面的功能是有限的,只能完成一些可以预见的功能。例如,如果需要大批量地创建系统用户,使用图形界面是非常耗时的。此时就可以选择使用shell脚本程序。Linux的shell程序是一个非常有用且很容易掌握的工具,可以帮助用户轻松地完成繁重的任务,提高使用和维护系统的效率。另外,Linux的图形界面也是通过shell脚本解释启动的,很多应用程序本身就是一个shell程序。

  解释器 

*  shell程序与C语言等高级语言程序不同,shell程序是通过shell命令解释器解释执行的,不生成二进制的可执行代码,这一点和DOS下的批处理文件类似。不同的shell解释器对应的shell程序的语法也不完全相同。由于bash是Linux下默认提供的shell解释器,并且bash也是使用最广泛、与其他shell兼容性最好的解释器,因此下面介绍的shell程序的知识都是基于bash解释器的。

  一个简单的Shell程序

一个简单的shell程序一般需要三个步骤

(1)利用文本编辑器创建脚本内容。

命令提示符下使用vi Hello.sh,创建文本文件Hello.sh,在系统打开的文本编辑窗口中输入如下的语句(其中行首编号除外)。输入完毕后保存退出。

1 #!/bin/sh
2 echo `date +%Y%m%d`

一个合法的shell脚本程序,都是以shell解释器声明开始的,即在shell程序的第一行。其中“#!”后面的“/bin/bash”,表示实际使用的解释器。

例如,以perl作为shell解释器,则可以该声明可以是“/usr/bin/perl”。注:与其他行不同,这里前面虽然以“#”开头,但不是注释行。

(2)使用“chmod”命令赋权,设置脚本的可执行属性。

Hello.sh文件编辑完毕并保存后,在命令提示符下执行如下命令,设置其可执行的属性。

chmod a+x Hello.sh

(3)执行脚本。

shell脚本的执行方法也很简单,只需要在命令提示符下输入如下命令即可:                

 ./ Hello.sh

        或者:

sh Hello.sh

  vi编辑器  

  vi有两种工作模式:

    编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中。

    指令模式:用来编辑、存盘和退出文件的模式。

  从指令模式切换到编辑模式,则可以按“Insert”键或“i”键,从编辑模式切换到指令模式,可按“Esc”键。  

  vi的启动和退出

    启动vi

            在系统图示字符下键入“vi”+“空格”+“文件名”。

                如:vi test.txt   注:vi可以自动载入所要编辑的文件或是开启一个新文件。

    

    退出vi

    在指令模式下键入如下命令可以退出vi。

    :q 如果用户只是读文件的内容而未对文件进行修改,可以在命令模式下输入“:q”退出vi。

    :q! 如果用户对文件的内容作了修改,又决定放弃对文件的修改,则用“:q!”命令。

    :w! 强行保存一个vi文件,如果该文件已存在,则进行覆盖。

    :wq 保存文件并退出vi。

    ZZ 快速保存文件的内容,然后退出vi。功能和“wq”相同。

    :w filename 相当于“另存为”。

     :n,mw filename 将第n-m行的文本保存到指定的文件filename中。

*  chmod命令  

    权限设定字符串。
    格式:[所有者][+-=][权限]
    所有者:

        u:用户     g:组     o:其它      a:所有用户(默认)

    权限:

        r:读    w:写    x:执行     s:设置用户(组)的ID号

        u:用户的当前权限          g:组的当前权限

        o:其他用户的当前权限

    +-=

      +:增加权限

          -:删除权限

        =:重新分配权限

    注:mode部分还可以用3位0~7数字代替

  Shell编程语法

    变量、控制结构和函数

    弱语言、串变量

  

posted @ 2015-03-09 17:25  Liuxiaoke  阅读(1038)  评论(0编辑  收藏  举报