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 页也是一个好主意。

  • 相关阅读:
    58:二叉树的下一个节点
    57:删除链表中重复的结点
    56:链表中环的入口结点
    55:字符流中第一个不重复的字符
    54:表示数值的字符串
    53:正则表达式匹配
    52:构建成绩数组
    51:数组中重复的数字
    每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。
    ClientValidationEnabled
  • 原文地址:https://www.cnblogs.com/jasonsoop/p/3960692.html
Copyright © 2011-2022 走看看