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 :依时间排序

touch

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

cat

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

mkdir

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

rmdir 

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

mv

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

cp

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

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 //网络地址/共享文件

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,在系统打开的文本编辑窗口中输入如下的语句(其中行首编号除外)。输入完毕后保存退出。

 #!/bin/sh
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编程语法

    变量、控制结构和函数

    弱语言、串变量

  

Linux快速上手的更多相关文章

  1. Linux的压缩解压命令快速上手——解压篇

    在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...

  2. 新手学习Linux之快速上手分析

    一.起步 首先,应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先 ...

  3. 【学习总结】快速上手Linux玩转典型应用-第7章-WebServer安装和配置讲解

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. Apache的安装 2. Apache的虚拟主机配置及伪静态操作 3. Nginx的基本操作 4. Nginx伪静态的实现 5. 实例演 ...

  4. 【学习总结】快速上手Linux玩转典型应用-第6章-linux常用命令讲解

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 软件操作命令 2. 服务器硬件资源信息 3. 文件操作命令 4. Linux文本编辑神器vim与其他常用命令 5. 系统用户操作命令 6 ...

  5. 【学习总结】快速上手Linux玩转典型应用-第5章-远程连接SSH专题

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 认识SSH 2. 服务器安装SSH服务 3. 客户端安装SSH工具 4. 客户端链接SSH服务 5. SSH config 6. SSH ...

  6. 【学习总结】快速上手Linux玩转典型应用-第4章-准备工作

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 准备工作一 2. 准备工作二 ===================================================== ...

  7. 【学习总结】快速上手Linux玩转典型应用-第3章-CentOS的安装

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 虚拟机是什么 2. 在虚拟机中安装CentOS 3. 云服务器介绍 ================================== ...

  8. 【学习总结】快速上手Linux玩转典型应用-第2章-linux简介

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 什么是Linux 2. Linux能够做什么事情 3. Linux的学习方法 4. 忘掉Windows的所有东西 1. 什么是Linux ...

  9. 【学习总结】快速上手Linux玩转典型应用-第1章-课程介绍

    课程目录链接 快速上手Linux玩转典型应用-目录 1. Linux有什么用 2. 课程安排 3. 课程收获 基本运维能力,等等 END

随机推荐

  1. Usual tiny skills & solutions

    Ubuntu and Win10 - double OS 2016-02-21 Yesterday I helped my friend install Ubuntu (14.04 LTS) on h ...

  2. 关于IOS调用微信支付jsapi不起作用的解决方法

    微信支付时,安卓机调用 jsapi可以支付,IOS就不行,点击立即支付,直接返回原立即支付页面,跟刷新页面差不多,解决方案很简单:两句话而已. 不得不说,微信支付坑太多了,我擦..... <sc ...

  3. BZOJ 1030: [JSOI2007]文本生成器 [AC自动机 DP]

    1030: [JSOI2007]文本生成器 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3953  Solved: 1614[Submit][Stat ...

  4. h5+mui

    参考链接http://blog.csdn.net/tbwood/article/details/42081861 待补充

  5. 通过配置Mysql参数提高写入速度

    1) innodb_buffer_pool_size 如果用Innodb,那么这是一个重要变量.相对于MyISAM来说,Innodb对于buffer size更敏感.MySIAM可能对于大数据量使用默 ...

  6. 【java基础系列】一、常用命令行

    常用的DOS命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd\:退回到根目录 del:删除文件 exit:退出dos ...

  7. javaMd5加密

    package com.md5Test; import java.security.MessageDigest; public class Md5Test { public void toMD5(St ...

  8. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  9. ApacheCommons的Java公共类库(实现如Log这些功能)

    Apache Commons是Apache软件基金会的项目,曾隶属于Jakarta项目.Commons的目的是提供可重用的.开源的Java代码. 解释:http://baike.baidu.com/i ...

  10. python爬乌云dorps文章

    有时候翻看drops 无赖drops没有一个全部文章列表,所以就有了这个想法把所有文件标题链接都爬出来这样又直观又好找感兴趣的文章 #coding=utf-8 import re import url ...