重新学习的这段时间里,我又逐渐认识并加深了对linux的了解。并详细了解了linux的发展及linux的基本使用命令。因为接触时间还没多长时间,可能所述的命令并不是太全,所以请大家多多见谅。

        Linux的发展史是曲曲折折的,它是在unix的基础上发展起来的,是与Windows不尽相同的一种操作系统;实际上linux是叫GNU/linux。linux都知道,而GNU大家都不太了解,GNU计划: GNU是“GNU's NotUnix”的递归缩写。2013-3-2 21:44:19Richard Stallmannet.unix新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,指导思想是“重现当年软件界合作互助的团结精神”1984年正式启动GUN工程,目标创建一套完全自由的类UNIX操作系统。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public LicenseGPL)。这个就是被称为“反版权”(或称Copyleft)的概念。
        Linux的基本原则是:
1、由目的单一的小程序组成;组合小程序完成复杂任务;
2、一切皆文件;
3、尽量避免捕获用户接口;
4、配置文件保存为纯文本格式;
        目前最著名的发行版本:Debian,ubuntuOpenSuse(Suse)CentOSfedora等。国内比较著名的红旗linux版本。
        下面来说说linux的基本命令;linux的基本命令格式都差不多,都是命令、选项、参数组成的。选项就是修改命令的基本方式,参数就是命令的作用对象。我们要了解的关于linux 的第一个命令就是man,你有什么不懂的命令啊就可以man一下啦(都是英语,所以英语要好)。
 Man:
       NAME:命令名称及其功能简要说明
       DYNOPSIS:用法说明,包括可用的选项
       DESCRIPTION:命令功能的简要说明,可能包括每一个选项的意义
       OPTIONS:说明每一个选项的意义
       FILES:此命令相关的配置文件
       EXAMPIES:使用示例
     实际上man命令有8页,我们一般查看的是第一页,其他的一般都不用,如果你想了解一下,可以试试 #: manman。
   ls :list的缩写,列出列表。用来列出指定路径下的文件
        -l :用于显示具体属性 与文件类型
   pwd:查看当前目录
   cd:changedirectory 用于切换目录
       cd~USERNAME:进入指定用户的家目录
       cd -:在当前目录和上一次所在的目录之间来回切换
   date: 显示系统时间、管理时间
   clock:显示硬件时间
   hwclock:
        -w :将系统时间同步为硬件时间
        -s : 将硬件时间同步为系统时间
   mkdir:创建空目录
        -p: 连续创建多个递归目录
        -v:显示目录的创建过程(一般与-p连用)
   rmdir:删除空目录
文件的创建和删除 touch 、stat
   nano:创建空文档
复制和移动文件:
    cp: 复制文件 -r -i -p -a(用于归档复制,常用于备份)
    mv:移动文件
    du:查看文件大小
        -d:用于创建目录
        -s:统计目录大小
        -h:用于转换文件大小的显示方式
常用查看文本的命令:cat  tac  more  less  head  tail
    cat:连接并显示
        -n:自动为在行首编号
        -E:显示行结束符
文本统计
   wc(word count): 统计文本中共多少字符 行数 单词数 字节数
     -l:只显示行
     -w:显示单词数
     -c/-m;显示字节数
     -L:最长的一行包含了字符数
tr: 转换或删除字符
     tr [OPTION]... SET1 [SET2]
     tr ‘ab’ ‘AB' <文件>
     tr 'a-z' 'A-Z'
   -d:删除出现在字符集中的所有字符 tr -d
文本处理:cut 、join 、sed 、awk
    cut
       -d :指定分隔符
       -f :指定要显示的字段
           -f 1,3 指的是显示显示1-3
文本排序:sort
    sort
        -n:数值排序
        -r:降序排序
       -t::字符分隔符
       -k:以哪个为关键字进行排序
       -u:相同的只显示一次
       -f:忽略字符大小子
命令别名: alias
         alias  CMDALIAS(别名)=“COMMAND(本身命令)”把前一次输入的字符变为后面的命令
        只有当前shell生命周期有效
命令替换:把命令中某个子命令替换为其执行结果的过程
       例:touch  /file -$(date +%F-%H-M%-S%).txt    创建一个以当前时间为名字的txt文件
文件名通配 globbisg
     *: 任意长度的任意字符
     ?:任意单个字符
     []:匹配指定范围内的任意单个字符
     [abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
     [:space:]:空白字符
     [:punct:]:标点符号
     [:lower:]:小写字母
     [:upper:]: 大写字母
     [:alpha:]: 大小写字母
     [:digit:]: 数字
     [:alnum:]: 数字和大小写字母
用户管理:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
useradd +新用户名  创建用户
    -M:不创建家目录
    -G:指定其额外的(附加)组
    -u:手动指定UID
    -g:GID指定基本组(必须事先存在)
    -C:指定注释信息
    -S:指定shell路径
    -m:强制为用户创建家目录
修改用户账户属性:usermod
  usermod与创建用户账户相识,可查看man
组管理:创建组:groupadd
groupadd
  -g GID
  -r:添加为系统组
groupmod
  -g GID
  -n GRPNAME
groupdel
    gpasswd:为组设定密码
环境变量:

命令搜索路径
HISTSIZE:命令历史缓冲区大小

 

命令行编辑

光标跳转:
     Ctrl+a: 跳到命令行首
     Ctrl+e:跳到命令行尾
     Ctrl+u:删除光标至命令行首的内容
     Ctrl+k: 删除光标至命令行尾的内容
     Ctrl+l:清屏
 

    !n:执行命令历史中的第n条命令
    !-n:执行命令历史中的倒数第n条命令
    !!:执行上一条命令
    !string:执行命令历史中最近一个指定字符串开头的命令
    !$ / Esc .:引用上一个命令的最后一个参数 Alt+.:终端部不支持

命令补全: 搜索 PASH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件。
cl 两次Tab键,
路径补全:
搜索我们给出的起始路径下的每个文件名,并试图补全

I/O重定向:
     改变了输入输出的来源
    linux:
       >:覆盖输出
         >>:追加输出(保留原先的内容)
       set -C:不允许对已存在文件覆盖重定向:
            强制覆盖输出 使用 >|
            +C:关闭以上功能
      2>:重定向错误输出
      2>>:追加方式
   &>:重定向标准输出或错误输出至同一文件
 <:输入重定向
 <<:here document 此处文档
管道:前一个命令的输出,作为后一个命令的输入
    命令1|命令2|命令3|...
文本查找的需要
 grep:根据模式搜索文本,并将符合模式的文本行显示出来
pattern:文本字符和正则表达式的元字符组合而成匹配条件
   grep
        -i
  --color
  -v:显示没有被比配到的行
  -o:只显示被模式匹配的字符串

正则表达式():Regular EXPression REGEXP
    元字符:
     .:任意单个字符
     *:表示比配前面的字符任意次
        .*:任意长度的任意字符
        \?:匹配前面的字符一次或0次   
  \{M,N\}匹配前面的字符至少M次,至多N次
 字符锚定:
        ^:锚定行首,此字符后面的 任意内容必须出现在行首 
        &:锚定行尾,此字符后面的 任意内容必须出现在行尾
  ^&:空白行
  \<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
  \>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
    [:space:]:空白字符
 [:punct:]:标点符号
 [:lower:]:小写字母
 [:upper:]: 大写字母
 [:alpha:]: 大小写字母
 [:digit:]: 数字
 [:alnum:]: 数字和大小写字母

在此声明:如有不明白的请详看附件。