zoukankan      html  css  js  c++  java
  • 《Linux 就是这个范儿

    选择哪个发行版?

    就目前的情形看,Linux 发行版可以分为三个主要的分支:RedHat、Slackware 和 Debian。每一个分支都拥有一个最具代表性的商业服务器级的发行版,它们是:Red Hat Enterprise Linux 简称(RHEL);SUSE Linux Enterprise 简称(SUSE);Ubuntu Server 简称(Ubuntu)。

    Linux 分支概念在当前的发行版中越来越模糊了,现在比较清晰的是软件安装方法的不同,有些使用 rpm,有些使用 deb,有些甚至直接采用源代码。当然,这样的差别只有在使用不同安装方法的发行版之间才能感觉到。在日常使用中,Linux 就是 Linux,跟发行版没什么关系。

    比较理想的选择应该是--CentOS,它实际是 RHEL 的一个克隆,RHEL 有一个优势,就是对 KVM 虚拟机的支持。为什么要选择 RHEL 的一个克隆呢?原因非常简单,RHEL 要收费,当然 RHEL 也允许免费使用,但是你将得不到任何系统升级服务,也得不到任何技术支持。RHEL 在对外发行的时候采用两种方式:一种就是收费的二进制方式,一种就是完全免费的源代码方式。CentOS 就是利用完全免费的 RHEL 的源代码重新编译而成的。免费提供给大家,所以本质上与 RHEL 没什么区别。唯一的区别就是更新的频率没有付费的 RHEL 快。

    安装系统

    建议安装64位的版本,毕竟现在已经是21世纪又过了10多年了,老掉牙的32位系统应该在坟墓里歇息了!在安装 CentOS 6.x 以上时,确保能启动图形安装模式,那么必须保证你的机器内存大于628M。

    CentOS 6.x 的图文安装教程:

    登录系统

    Linux 的用户被划分为根用户和普通用户两种。其中根用户是系统内置用户,用户名永远都是 root,所以也叫 root 用户。Linux 的 root 用户与 Windows 的 administrator 用户是一样的,都拥有系统的最高控制权。普通用户一般是用户自定义的,所以没什么特别的权限。

    如果在安装 Linux 系统的时候,没有给系统添加任何普通用户,那么请用 root 登录,密码则是你安装系统时设置的初始密码。

    不一样的图形操作

    Linux 本身是没有图形界面的。不管你信还是不信,事实就是这个样子。这么说的原因并不是因为 Linux 只是一个内核,其实所有类 UNIX 操作系统本身都没有图形用户界面。

    那为什么我们能通过图形用户界面来使用 Linux 或者其他类 UNIX 操作系统呢?原因是有一个软件提供了这样的功能。Linux 上提供这个功能的软件以前是 XFree86,现在是 xorg(X.Org)。虽然这两个软件名字上差别很大,但实际上是一个软件的不同分支。1992~2004年间就只有 XFree86,以 GPL 许可证发型。但是2004年就发生了变化,XFree86 的开发商改变了许可证。这引起了GNU社区的极大不满,于是从 XFree86 4.4 RC2 衍生出了 xorg。目前几乎所有开源的类 UNIX 操作系统使用的都是 xorg。

    X 和 xorg 是什么关系?KDE、GNOME 跟它们又是什么关系?

    首先,X 不是什么具体的软件,它是一种协议,和 HTTP 协议、SOAP 协议等是一样的。而 xorg 则是实现 X 协议的服务器软件,这跟实现 HTTP 协议的 IIS、Apache 是相同的概念。那么 xorg 通过 X 协议来提供什么服务呢?答案是图形用户界面服务。Apache 的客户端请求 Apache 得到的结果是 HTML 内容,而 xorg 的客户端请求 xorg 的结果则是向屏幕上画图。所以,Linux 上的那些用户图形用户界面的软件实际上都是 xorg 的客户端,它们利用 X 协议让 xorg 在屏幕上画出窗口或通过 xorg 获得键盘和鼠标事件。

    如果系统中只有 xorg 是不可能有任何图形界面供大家使用的,至少还需要有个 X 客户端程序。而且这个X 客户端程序还有一个专有名称--窗口管理器,英文叫做 Window Manager,简称WM。WM 也不是一个具体的软件,而是一类软件。比如 KDE、GNOME 这些就是窗口管理器,它们控制窗口外观、位置和提供用户去操作这些窗口的方法。如果你当前使用的 Linux 系统没有配置成默认使用图形用户界面的话,可以使用命令:

    # startx

    来启动 xorg 和默认的 WM。对于 CentOS 6.4 来说,默认的 WM 应该是 GNOME 的 Metacity 窗口管理器(KDE 的是 KWin)。

    目前比较流行的就有 GNOME、KDE、XFCE 和 LXDE,它们并称为 Linux 图形界面的杰,它们并不是单纯的单一软件,而是一套软件集合,比如 WM、DM(显示管理器:Display Manager)、应用框架库等。

    返璞归真的命令行

    Linux 系统上的软件向来是百花齐放,模拟器终端也不例外,例如 gnome-terminal、konsole、xterm、rxvt、kvt、nxterm 和 eterm 等,而大多数 Linux 发行版会同时支持几种。

    要在文本和图形界面之间来回切换非常简单,只需要使用快捷键“Ctrl+Alt+F1”~“Ctrl+Alt+F6”来回切换就行,具体什么效果大家可以自己试验。

    如果想在 Windows 平台下管理 Linux 系统,推荐使用 PuTTY(一个免费的 telnet、rlogin 和 SSH 客户端) 和 WinSCP(使用 SSH 的开源图形化 SFTP 客户端) 搭配使用。

    Linux 命令太多了,数量至少有 200 多个,怎么记呀。其实谁也记不住这么多命令,剥丝抽茧抓重点,把重要的和经常使用的搞定了就行。按照它们在系统中所起的作用,我做一下简单地分类说明:

    命令

    说明

    目录和文件处理:

    在讲解之前,我们先认识一下几个好玩的符号

    :小点活在当下,即当前目录。例如:./jie_work执行当前目录下的jie_work文件

    ..:两点跑上去,既到当前的上一级目录。举个例子,命令cd..修改当前工作目录到上一级目录

    :水波带我回家,即/home/我的登录名。例如我的登录名为zhangjiecd ~命令就是cd /home/zhangjie。当然你直接输入cd,也有同样功效

    mkdir

    建立目录

    用法:mkdir [OPTION] DIRECTORY

    例:mkdir fangru

    ls

    列出目录下的内容

    用法ls [OPTION][FILE]

    例:ls -al fangru

    cd

    更换工作目录

    用法:cd [DIRECTORY]

    例:cd fangru

    pwd

    显示当前工作目录

    用法:pwd

    vim

    增强版文本编辑器

    用法:vim [OPTION] [file]

    例:vim helloworld.c

    cp

    拷贝文件及其目录

    用法:cp [OPTION]... SOURCE DEST

    例:cp jie.txt jie.bak

    mv

    移动(重命名)文件

    用法:mv [OPTION]SOURCE DEST

    例:mv jieold jienew

    rm

    删除文件或目录

    用法:rm [OPTION]FILE

    例:rm -rf jie_dir

    find

    在目录及其子目录查找文件

    用法:find [OPTION] [path] [pattern]

    例:find -name jie*.txt

    history

    显示最近使用过的命令

    用法:history

    文本处理:

    在讲解之前,有必要说明一下模式的定义。

    模式是一种表达式,不列出所有元素,而是给出一系列字符串的一种精确描述

    例如:ab*cd匹配了以ab开始和cd结束的一系列字符串

    cat

    连结文件打印到标准输出

    用法:cat [OPTION] [FILE]

    例:cat pic.png love.txt > pic1.png

    还记得那个命令行的故事吧?

    echo

    显示一行文本

    用法:echo [OPTION] [string]

    例:echo $HOME

    grep

    搜索特定的内容并将含有这些内容的行标准输出

    用法:grep [OPTION] PATTERN [FILE]

    例:grep -i Jagen magicLinux.txt

    wc

    统计指定文件中的字节数、字数、行数,并将统计结果显示输出

    用法:wc [OPTION][FILE]

    例:wc -L magicLinux.txt

    sort

    对文件中的各行进行排序

    用法:sort [OPTION][FILE]

    例:sort -r magicLinux.txt

    系统管理:

    在讲解这类命令之前,先谈谈文件权限的定义。Linux系统上文件有三种权限-读、写和执行。敲入ls -l命令后,我们会发现有10个字母表示文件类型和权限信息:第一个字母是文件类型,d代表目录,-代表普通文件;接下了的每三个字母为一组,分别代表拥有者(owner)群组成员(groups)其他人(others)的读、写和执行权限。

    例:drwxrw-r--意味着这是一个目录,拥有者拥有读、写和执行三种权限,群组成员拥有读写权限,其他人只拥有可读权限。

    权限位还可以用相应的数值来代表,读-4、写-2、执行-1,这些数字或它们的和就代表一个角色的权限。

    例:rwxrw-r-- = 764

    673 = rw-rwx-wx

    chmod

    控制用户对文件的权限

    用法:chmod [OPTION] [MODE] [FILE]

    例:chmod 764 count.sh

    chown

    改变档案的拥有者

    用法:chown [OPTION]OWNER[:[GROUP]] FILE

    例:chown jie magicLinux.txt

    su

    su是切换到其他用户,但是不切换环境变量

    su - 是完整的切换到一个用户环境

    要知两者的区别,用export命令一查便知。

    用法:su [OPTION] [LOGIN]

    例:su zhangjie

    passwd

    更改使用者的密码参数

    /etc/passwd

    存储的是操作系统用户信息,该文件为所有用户可见


    /etc/shadow

    被称为/etc/passwd的影子文件。它们之间的内容是互补的。shadow内容包括用户及被加密的密码以及其它/etc/passwd不能包括的信息,比如用户的有效期限等


    用法:passwd [OPTION]

    例:passwd zhangjie

    who

    显示目前登入系统的用户信息

    用法:who [OPTION]

    例:who -b

    进程管理

    ps

    强悍的进程查看命令

    用法:ps [OPTION]

    例:ps -aef

    kill

    删除执行中的程序或工作

    用法:kill [OPTION]

    例:kill -9 3154

    jobs

    通过jobs命令查到后台正在执行的命令的序号(非进程号pid)

    用法:jobs

    bg

    指定号码(非进程号)的命令进程放到后台运行

    用法:输入'ctrl+z' 然后输入 'bg<job id>'

    例:bg <job id>

    fg

    指定号码(非进程号)的命令进程放到前台运行

    用法:fg <jobid>

    档案

    tar

    压缩和解压

    用法:tar [OPTION] DEST SOURCE

    例:tar -cvf /home/archive.tar(压缩)

    tar -xvf /home/archive.tar(解压)

    zip

    打包压缩

    用法:zip [OPTION] DEST SOURSE

    例:zip original.zip original

    unzip

    解压缩zip文件

    用法:unzip filename

    例:unzip original.zip

    网络

    ssh

    远程登录的客户端

    用法:ssh [options] [user]@hostname

    例:ssh zhangjie@10.105.11.20

    scp

    基于ssh登陆进行安全的远程文件拷贝命令

    用法:scp [options] [[user]@host1:file1] [[user]@host2:file2]

    例:scp file1.txt zhangjie@10.105.11.20:~/work/

    文件系统

    fdisk

    观察硬盘之实体使用情形与分割硬盘用

    用法:fdisk [options]

    例:sudo fdisk -l

    mount

    如果你要使用储存设备(Mo、硬盘、光驱等),就得先将它挂上(Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令

    在使用mount这个指令时,至少要先知道下列三种信息:

    1. Mount对象的文件系统类型?

    2. Mount对象的设备名称?

    3. 要将设备Mount到哪个目录去?

    用法:mount -t type device dir

    例:mount /dev/sda5 /media/target

    umount

    卸除文件系统

    用法:umount [OPTIONS] dir | device

    例:umount /media/target

    du

    查看目录或文件所占用磁盘空间的大小

    用法:du [OPTION]……[FILE]……

    例:du

    df

    检查文件系统的磁盘空间占用情况。

    用法:df [OPTION]……[FILE]……

    例:df

    quota

    显示磁盘使用情况和限制情况

    用法:quota [OPTION]

    例:quota -v

    扩展

    reboot

    重启系统

    用法:reboot [OPTION]

    例:reboot

    poweroff

    关闭系统

    用法:poweroff [OPTION]

    例:poweroff

    sed

    一种在线编辑器,它一次处理一行内容

    用法:sed [OPTION] [input-file]

    例:sed 's/love/hate/g' loveletter.txt

    awk

    一种文本处理工具,LinuxUnix环境中功能最强大的数据处理引擎之一。

    用法:awk [-F fs] [-v var=value] [-f progfile | 'prog'] [file ……]

    例:awk '/^[ns]/{print $1}' test

    遇到问题寻找帮助能加快解决问题的速度。在 Linux 系统上,有以下几个途径使用帮助:

    1、遇到问题,man 命令的帮助很靠谱。需要某个命令或者配置文件的帮助,就在终端输入:man 命令名man 配置文件

    屏幕就会显示对应命令系统的帮助手册。输入“Q”退出帮助浏览器。

    2、info 和 man 功能相似,但是包含更多的最新信息。

    3、使用 命令名 –help 得到一个简略容易消化的命令帮助。

    4、程序自带 Readme 文件或者其他帮助信息文件,例如在 /usr/share/doc 下的一些手册。

    如何在man页中查找信息呢?浏览 man 页默认的工具是 less。less 的使用方法很简单。翻页用“Space”,翻半页用“U”,查找用 / 紧跟着正则表达式,用“N”查找下一个匹配项,用“Shift+ N”查找前一个匹配项。如果这页里没有你感兴趣的,按“Space”翻到下页。更多的操作还是 man 一下 less 文档吧。

    很多命令的 man 帮助页中涉及到脚本命令、系统调用和编程接口等多方面。例如“man printf”就是浏览 printf 的编程手册。用“man -a 【命令名】”查看关于这个【命令名】所有帮助的文档。“man -k scanf”会给你一个所有与 scanf 有关的 man 页列表。还有,SEE ALSO 经常是被遗忘的角落,但是我经常会在这里发现其他有用的命令或函数,千万不要放过它。

    条条大路通罗马,你是 Linux 系统的主人,如果喜欢用 vim 阅读 man 页的话,改一下配置和装个 man.vim 插件就行,另外使用 most 工具浏览 man 页也是一个好主意。

  • 相关阅读:
    Knockout应用开发指南 第八章:简单应用举例(2)
    微软ASP.NET站点部署指南(7):生产环境部署
    Knockout应用开发指南 第七章:Mapping插件
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(6)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(5)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(3)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(9)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(8)
    Microsoft Visual Studio .NET 2003 引导程序插件下载地址(非官方)
    Vs2010在没有安装SQL Server 2005/2008 Express时如何连接MDF数据文件?
  • 原文地址:https://www.cnblogs.com/jasonsoop/p/3960692.html
Copyright © 2011-2022 走看看