zoukankan      html  css  js  c++  java
  • Linux学习笔记1

    First Day

    1、系统软件、应用软件、用户等之间的关系
          
    与用户交流的是外壳。它以命令的形式与用户打交道。我们win7等是用图形界面同用户打交道。
    2、比如说,bash---->对应着一个shell,每个shell可以理解为命令的名字。ctrl+c表示终止当前命令。
         一个终端至少有一个shell,默认为bash。管理员中,根用户是root。具有最高权限。
         exec ksh 表示切换到ksh这个shell。
    3、linux是一个文件系统。什么东西都可以被找到。所有的文件都是一体的。
          文件的路径可表示为:/dev/dri/……   其中严格区分大小写。
     4、绝对路径与相对路径
        绝对路径就是文件的起始位置。该是什么就是什么。而相对路径是我们人为的将当前路径设为当前工作路径。以后就在这个环境下操作就ok了。
     5、几个小命令
     1)清屏   clear  或者ctrl+l 
     2)显示进程状态  ps  :print status 每个程序执行一次都会有个进程。终端中进程编号唯一。pts/2  表示进程id。
          打印当前工作目录  pwd :print working directory 。
          改变当前工作目录 cd :change directory。 直接回到主目录。如果没带路径,其实就是相对路径。
          ~ : 表示主目录。 .:表示当前目录。  .. :表示上一级目录。../.. : 表示上一级的上一级。
     3)列出文件列表  ls :list  .
          也可以登录远程终端:telnet 192.168.0.20  然后输入username   passwd 之类的。但只可以修改自己的密码。
     4)显示系统时间命令 date 。

    注意:命令是可以带参数与选项的。命令 [选项]……[参数]……
    5)命令的用户手册: 用man +  命令。查看命令的所有用法。 manual pages.  按q(quit)退出用户手册页。  
    6)id是可以查看的。  有用户id ,组id。 我们也可以man man  ;man id 一下。。。


    小结一下: 1、linux的文件系统为一体。2、绝对路径用 / 打头。它是从 / 开始的树状结构。3、相对路径是从当前路径开始的树状结构。 4、cd ./abc  5、username passwd uid gid 6、shell是与用户交互的部分,然后shell把命令转交给内核,然后内核返回给外壳,与用户进行交流。
    命令:   ps  ;  id ;   pwd ;   man ;  ls  ;  clear ; crtl + l .
     

    所谓的命令其实就是一些可执行的文件,类似于.exe。位于./bin 目录下。 我们可以用  

    ls -l /bin  命令,-l就是以横的形式排列这些文件。



    ls -F /bin  命令,-F 就是标记文件。其中@表示软链接(就是快捷方式)*表示可执行文件。
    类似的,ls -a  列出所有文件和目录。其中以.打头的是隐藏文件。  在windows中,是以属性来区分的。


    如何从命令行界面切换到图形界面: startx

     

    Second Day

    1、ls -al   显示文件属性。普通文件 "---"打头。
                                             目录文件"d"打头。
                                             .exe文件"l"打头。
                                             管道文件"p"打头。
           ls -lr    /bin      reverse 的意思。将文件顺序反过来。
           ls -R   列出当前目录下的整个目录数。一级一级的。。。
    2、硬连接与软连接  :
          硬连接就是给文件起个别名,其实是一个引用。
          软连接就是一个快捷方式。
         命令: ln  -s /bin/sleep   bs (软链接)
                     ln     /bin/sleep    bs (硬链接)
                 然后  sleep 5 =   ./bs 5   (和PATH有关)
          目录名最末尾的 / 可有可无。当硬链接数变为0,则意味着文件内容被完全删除。
    3、权限命令:
         

    每一个级别又可以分为3个等级。W  R  X
    readable   wtitable  execute .可读 、 可写 、 可执行
    改变权限命令: chmod  ugo +        (user , grid , outer)
    change  +  "-" 表示去掉权限。"+"表示加上权限。
    chmod  u-w,o+r ,g+w z.
    所以,我们也可以用数字化表示:
    chmod  755 z;


    chmod a + x z  注:a = ugo。

    4、建立目录
       mkdir   da dd dc  ;  make directory. 
       mkdir   dd/de   ;前提是dd已经存在。
       mkdir   -p  dd/df/dv  ; 建立多层目录。dd,df可以不存在。
       我们可以用 ls -R dd 来查看dd下所有层。
    5、建立文件
       touch  f1 f2 f3 f4
       touch da/f7 ; 前提是da必须存在,不然建立不了。
      我们一般先用cd命令,指定当前目录,然后建立文件。一般touch建立的文件是空文件。
    那如何建立不空的文件呢???
    6、拓展文件建立
      >   、  >> 
    date > xy   ;   把左边命令输出的内容写到xy(右边)(当前目录)文件中去。

    两个特殊的文件: date > /dev/tty ; 表示输出到终端。
                                  date > /dev/null  ;表示空文件。linux中一切设备全当作文件看待。怎么都填不满。

    cat  xy  ;  查看xy当中的内容。
    如何不改变xy内容,然后追加内容呢?
    pwd >> xy ;表示把左边命令产生的输出内容追加到右边文件中去。
    7、如何随时随地,更自由的输出?
    几个小命令: cal  (calendar) 日历。
    cal 10 2010   ;查看2010年10月的日历。必须是月、年的顺序。
    更自由的输出命令: echo
    8、如何执行多个命令
     date;sleep 5;date   ;  用;分隔开即可。

    9、移动、删除、复制命令。
         移动: mv (move)
        mv x da dc  ;把x和da 移动到dc文件夹中去。
        mv db  da/d2    ; 把db移动到d2当中。并改名为da。只有移动一个文件或目录的时候可改名。多个无法改名。
        mv xy xy99 ;  移动文件相当于改名。
         
         复制: cp(copy)
         对于文件用 cp 
         对于目录用cp -r  用 -i  来用于提示和用户进行互动。interactive(互动的) 
         
          删除: rm 
          对于目录用rmdir 
          对于文件(目录)  rm  (-r)  
          rm -ri  dc  ; 交互是否删?

    小结: 1、看目录 ls  2、看文件 cat   (用猫将文件抓出来)
                3、>> 追加   >  写进去。
                4、软硬链接  ln -s    xx   xx  ;   硬链接必须在同一个分区当中。
                5、移动 mv  复制 cp   删除 rm

     

    Third Day

    1、编辑器 
       1)gedit  :图形化界面处理。不多讲。

       2)kate   : 图形化界面处理。不多讲。
     

    cat  katefile 
    3)vim  vi 
       可视化编辑器
        
    :q!表示强制退出。

     快捷键:
    移动光标命令:
     行首: o                     I          注:O表示插入新的一行。                 
     行尾: $                     A                           home end
    整体的首行:H  ,x+H,表示移动到屏幕的x行。   整体的尾行 L  类似。
    注:在此功能键也可以使用。
    ctrl + f,在文件中向上移动一页(pageup)
    ctrl + b,在文件中向下移动一页(pagedown)
    :8  回到第8行。 :+ x 表示到某一行。
    8 + G/M :表示到某一行去。
    直接G 到文件末尾。 1G 到首行。类似于H的作用。
    w 把光标移动到下一个单词的开头。{大小写都认}
    B 把光标移动到上一个单词的开头。{大小写都认}
    :set nu 显示行号。: set nonu 不显示行号。
    方向键也可以使用。

    替换和删除:
    常见删除命令    
        删除一个字符:delete     

                                     x   ,  长按可以删除多个字符。
    数字+ x,表示删除光标所指向的后 数字 个字符。不会影响到另一行。u表示可以恢复一次。
    d + w,删除光标后面的单词。
    d+ b, 删除光标前面的单词。
    dd 本身就是删除。 删一行。  数字+ dd ,删除  数字行。
    :9,18  表示删除9-18行。

    粘贴和复制

    p一下,其实3x之后,删除的字符在vi可视化编辑器的剪贴板中。p在光标之后插入。 P在光标之前插入。
    数字+p :表示粘贴的次数。
    yl 表示复制一个字符。 3yl表示复制3个字符。 
    yw复制一个单词,yy复制一行。

    替换:
    字符: 8rk:替换8个k。replace。
                               cw表示替换整个单词。 cw + 单词。  会直接进入到插入状态。
    ~  :表示大小写翻转。J   :连接俩行。
    c与s:把一个字符换成一段内容。c与s之后进入插入模式。光标会变成$符号。

    查找:  
              /   :表示查找,从当前位置向后查找。n(ext)  :n一下,表示继续查找。
             /str1   :正向查找字符串str1.  
             n        :继续查找。
            ?str1  :反向查找。

    撤销和重复   
    u :撤销前一条命令的结果。
    . :  重复最后一条命令。

    插入文件
     :r  xyz  将当前文件插入到光标位置之后。
    替换
    实现字符串的替换     :5-8 s/wf/妻子/g  在5-8行,用妻子替换wf。 g表示所有出现的字符。
    :s/str1/str2/     没有g表示首次出现的字符。
    :5,$  s/str1/str2/g   表示用str2替代从第5行开始到末尾所有出现的str1.
    :%  s/str1/str2/g  全部替换。
    保存于退出  
    :w   表示保存vi文件。 :w  saveas  +  名字。表示另存为。
    :q   表示退出vi文件。 
    :wq 保存并退出。

    shell与vi之间的切换
    :!   command      :! ls 会在终端中显示内容。

     

    Fourth Day

    1、一些命令的深化
    ps -l   显示  进程id PID  。父进程id  PPID 。 
    注:一个进程是谁创造的,那么这个谁就是这个进程的父进程。
    s 表示状态。 程序按时间片执行。
    睡眠状态:S(leep)
    挂起状态:T ()
    运行状态:R (un)

    2、 创建后台任务
     sleep 10 &  指定id。
    ps -e 更详细点。
    僵尸进程 : 程序执行完了,但没有回收。变成 z 状态。
    ps -e -l | grep z   查找z状态。
    ps -f 查看命令开始时间。。
    ps -f -p  1487 :查看进程id为1487的副进程的父进程是谁。

    3、查看后台任务
    命令:jobs
    注: + - 表示优先级。
    4、将命令放入 前/后 台执行
    fg  一下,默认为"+"的。放入前台 ;继续执行。
    fg + 编号,表示选择执行哪个任务。即指定任务。f  forward

    bg  + 编号,表示选择执行哪个任务。并放入后台执行。 b  backward

    4、终止进程
    kill  +  进程号。 有些是致命的,有些不一定致命。

    比如: sleep  100&    ;  fg    (ctrl + z  :表示将该进程挂起);kill  9090 
    通过发信号使进程终止。
    kill也可以终止后台进程 :kill % 编号。

    5、查找
    grep VS find
    grep :从文件中搜索。
    find   :+ 目录 + 条件[命令]    在指定目录下按条件查找。
    find  .  -name  f1    : 在当前目录下按名字查找f1文件。
    也可以加通配符。 find . -name f* ;
    find . -name  "*.c"  -exec  cp { } db ;     解释:exec 表示切换命令,追加命令。 { }表示前面命令所有输出的内容。
     ; 表示";"本身,不表示其他意思。";"表示语句结束的标志。我们可以用";" ,也可以用';'。因为';'本身有特殊含义。
     找人: who  。 
     查看谁在使用这个服务器。可以有相同的用户名,但终端编号必须不同。
    可以只显示自己,who am  i   ;  只显示用户名  whoami
    只关心用户我们可以用  users  , 若要更详细,用w命令。
    查找ip相同范围内的名字: who | grep 192.168.24.

    6、一些技巧
      history命令,查看以前敲入的所有命令。
    !+  编号; 表示重新执行该命令。
    其实命令历史在.bash/history中。

    7、和磁盘有关的命令
     du  (diskusage)  : 查看磁盘空间使用情况。
     du -k     :以kb为单位显示空间使用情况。
     du -h     :显示的空间使用情况,全部带上了单位。
    du -h -s  :只看使用的总和。

    8、和文件有关的命令
    df (diskfile) :查看文件系统中各部分的使用情况。
    df -h    : 带上单位,查看文件系统中各部分的使用情况。

     

     

    Fiveth Day

    1、与网络相关的命令
         
    1)ping  看看各个部分是否正常工作。 可以ping自己,也可以ping其他人的ip。
    2)查看ip用ifconfig。在windows中,用ipconfig。
    3)ftp 命令:ftp> bye 表示退出。
          ftp环境下,现在一般用ftp软件进行文件的上传及下载工作。
         上传: put + 文件名   mput  表示上传很多文件。
         下载:get + 文件名    mget 表示下载很多文件。会有提醒,prompt 表示关闭提示。
      ftp> !ls  表示执行查看本地的文件。
     在ftp 服务器上,我们也可以进行文件的各种操作。
    ftp > l cd  表示进入本地目录下。local  与  ! 代表本地。 

    gftp 工具进行文件的下载与上传。

    2、输出命令的拓展
       echo $UID

     

    " X "  值可能会变。而'x'  值不会变。echo 输出什么就是什么。

    3、环境变量
    env(ironment) : 环境变量。
    $ + 环境变量的名字 就是那个环境变量的值。
     几个重要的环境变量:
    1)PS1   用来指定命令提示符; echo  $ PS1
     
    可以更改其值,也可以更改回来。但必须将其作为一个整体。不然肯定不行。
    2)PATH :路径。
          一个命令对应的.exe,并不是从当前目录(路径)下去找,而是从PATH目录(路径)中去找。
      date   vs   ./da    
    PATH = /bin : .   其中.表示当前目录。:表示分隔作用,或者连接符,起附加作用。
    此时再键入ls 已经不管用了。 ls 它的原始路径在/.bashrc 文件中的。
    我们可以尝试查找   which / whereis  cal   :表示找到cal所在的那一堆目录。
    然后将其所在目录的路径加入到PATH中来。 
    这样麻烦了,我们可以用 PATH = $PATH:. 来解决这个问题。
    但这样之后,重新打开终端,恢复到原始态,最终是治标不治本,我们希望其一直有效,那么必须将上面命令写入到初始化文件中去。~/.bashrc  文件。. 表示隐藏文件。
    在此,我们也可以给命令起别名。  alias  c = clear   alias  ps = "ps -l "
    若起在初始化文件中,则下次打开终端这些命令(新起的别名)依然有效。
    4、如何打开 bashrc?
       用命令 vi ~/.bashrc  (其实就是写脚本文件)  我们可以用vi my.sh 写自己的脚本文件。
       source  my.sh 表示执行这个文件。 当我们不加source 时,提示权限不够,我们可以通过命令chmod 修改权限。
       ls -l  my.sh  查看权限。
       
       注:当我们执行vi  my.sh其实my.sh已经生产了。
        备份的作用: bak = $PATH  ; PATH = XXX ; PATH = bak;防止文件破坏。 

  • 相关阅读:
    Atitit 查找算法 艾提拉大总结 目录 1. 查找算法分类 1 1.1. 简单查找算法之折半查找、插值查找、斐波那契查找 1 1.2. 按照数据结构查找法分类 hash 表 1 2. 第8章查找
    Atitit 数据结构与常见文件元数据结构 目录 1. 分类 内部数据结构与外部存储数据结构 1 2. 编程语言内部数据结构 (堆栈 树 图等 1 2.1. 数据结构 (集合,列表,tree,map
    关于“王福朋详解petshop4.0系列视频教程”的开放下载问题
    《王福朋petshop4.0视频教程》新浪视频地址
    《petshop4.0视频教程》在线看
    《微软petshop4.0视频教程》 开放下载了!!!
    看马克扎克伯格创建facebook——电影《社交网络》观后感
    《王福朋petshop4.0视频教程》新浪视频(高清)
    当ListView控件在后台绑定数据源时,用DataPager控件分页需要注意的问题
    《王福朋petshop4.0视频教程》下载通知
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4190751.html
Copyright © 2011-2022 走看看