linux学习笔记

与windows的区别

(1)区分大小写

(2)所有内容以文件形式保存

(3)不靠扩展名区分文件类型,靠权限区分

 常用命令

命令提示符

  [root@localhost ~]#

  注:

    root:当前用户

    localhost:主机名

    ~:当前所在目录(家目录)

    #:超级用户的提示符

      普通用户的提示符是$

(1)查询目录中的内容

  ls [选项]  [文件或目录]

    -a 显示所有文件

    -l 显示详细信息

     -rw-r--r--

      -文件类型(-文件  d目录  l软连接文件)

      rw-       r--        r--

      u所有者    g所属组    o其他人

      r读    w写    x执行

      -d查看目录属性

    -h人性化显示文件大小

    -i显示inode

(2)目录处理命令

  A.创建目录

  mkdir -p [目录名]

    -p递归创建

  B.切换目录

  cd  [目录]

  C.查询所在目录

  pwd

  print working directory

   D.删除目录

  rmdir [目录名分]

  remove empty directories删除空白文件

  rm -rf [文件或目录]

    -r 删除目录

    -f 强制

  E.复制

  cp [选项] [源文件或目录] [目标目录]

    -r 复制目录

    -f 连带文件属性复制

    -d 若源文件是连接文件,则复制链接属性

    -a 相当于-pdr

  F.剪切或改名

    mv [源文件或目录] [目标目录]

  常见目录的作用:

    / 根目录

    /bin  命令保存(普通用户可以使用)

    /sbin 命令保存(超级用户才能使用)

    /usr/sbin

    /boot 启动目录

    /dev 设备文件

    /etc 配置文件

    /lib 系统库

    /mnt 系统挂载目录

    /media 挂载

    /proc  与 /sys     内存挂载点

    /tmp  临时目录

    /usr 系统资源目录

      /usr/bin 系统命令(普通用户)

      /usr/sbin 系统命令(超级用户)

    /home 家目录(普通用户)

    /root 家目录(超级用户)

(3)连接命令

  ln  -s [原文件] [目标文件]

  -s  软连接

(4)搜索

  A.文件搜索

  locate 文件名

  注:

    locate命令搜索快,所搜索的是后台数据库,在/var/lib/mlocate,每天更新一次,新建的会找不到,用updatedb更新数据库

    /etc/updatedb.conf配置文件,搜索的限制

   B.搜索命令

    whereis 命令名

      -b  只查找可执行文件

      -m  只查找帮助文件

    可查看帮助文件

    whitch 命令名

    可查看别名

  C.find

    find [搜索范围]  [搜索条件]

    eg:

      find /root -name insatll.log

      #按文件名完全匹配

      匹配是完全匹配,模糊查询需要使用通配符 *匹配任意内容 ?匹配任意一个字符 []匹配任意一个中括号中的字符

      find /root -iname  install.log

      #不区分大小写

      find /root -user root

      #按所有者搜索

      find /root -nouser

      #查找没有所有者的文件

      find /var/log -mtime +10

      #查找10天前修改的文件

       -10      10天内

      10       10天当天

      +10     10天前

      atime       文件访问时间

      ctime   改变文件属性

      mtime  修改文件内容

      find  .  -size  25k

      #查找当前目录等于25k的文件(千字节k,兆字节M)

      -25k  小于25KB

      25k   等于25KB

      +25k  大于25KB

      find .  -inum 262422

      #查找i结点是262422的文件

      find /etc -size +20k -a -size -50k

      #-a   and  逻辑与     -o  or  逻辑或

      find /etc  -size +20k -a -size -50k -exec ls -lh  {} \;

      #-exec  命令 {} \;对搜索结果进行操作

    D.搜索字符串

      grep [选项] 字符串 文件名

      #在文件中匹配符合条件的字符串

      -i 忽略大小写

      -v 排除指定字符串

(5)帮助

  A.man

  man 命令

  查看命令拥有哪个级别的帮助

  man -f 命令  相当于whatis 命令

  查看和命令相关的所有命令

  man -k  命令

  B.其他

  命令 --help

  help shell内部命令

    eg:whereis cd

      #确定是否是shell内部命令

      help cd

  info 命令

(6)压缩与解压

  A. .zip

  zip 压缩文件名 源文件

  zip -r  压缩文件名  源目录

  unzip 压缩文件

  B. .gz

  gzip 源文件

  #压缩为.gz,源文件会消失

  gzip -c 源文件>压缩文件

  gzip -r 目录
  #压缩目录下所有子文件,但不能压缩目录

  gzip -d 压缩文件

  gunzip 压缩文件

  gzip -r 目录

  C. .bz2

  bzip2 源文件

  #不保留原文件

  bzip2 -k 源文件

  #压缩后保留源文件

  不能压缩目录

  bzip2 -d 压缩文件

  bunzip2 压缩文件

  D.打包tar

  tar -cvf 打包文件名 源文件

    -c 打包

    -v 显示过程

    -f 指定打包后的文件名
  tar -xvf  打包文件名

    -x解打包

  tar -zcvf 压缩包名.tar.gz  源文件

  #-z  压缩为gz

  tar -zxvf 压缩包名.tar.gz

  tar -jcvf 压缩包名.tar.bz2 源文件

  #-j 压缩为bz2

  tar -jxvf 压缩包名.tar.bz2  -C 位置
  
    tar -ztvf 压缩包名.tar.gz

  #-t  查看包,不解压

(6)关机与重启

  shutdown [选项]  时间

    -c 取消前一个关机命令

    -h 关机

    -r 重启

  其他关机命令

    halt

    poweroff

    init 0 

  其他重启命令

    reboot

    init 6

  #init 数字   调用系统级别

    0 关机

    1 单用户

    2 不完全多用户

    3 完全多用户

    4 未分配

    5 图形界面

    6 重启

   查看系统运行级别 runlevel

   /etc/initab 配置默认的运行级别

  退出登录

  logout  

(7)挂载命令

  A.查询已挂载的设备

    mount

  B.依据配置文件/etc/fstab的内容,自动挂载

    mount -a 

  C.

    mount  [-t 文件系统] [-o 特殊选项] 设备文件名 挂在点

    eg:

      挂载光盘

        mkdir /mnt/cdrom

        #建立挂载点

        mount   /dev/sr0  /mnt/cdrom/

        #挂载光盘

        umount  /mnt/cdrom/

        #卸载

      挂载U盘

        fdisk -l

        #查看U盘设备文件名

        mount -t vfat  /dev/sdb1  /mnt/usb/

(8)用户登录查看命令

  w 用户名

  who 用户名

  last       查看当前登录和过去登陆的用户信息

  lastlog   查看所有用户的最后一次登录时间

Shell基础

  shell是命令行解释器

  echo $SHELL 查看linux的shell

  脚本执行方式

  echo [选项] [输出内容]

  eg:
    echo -e "\e[1m;31m嫁人就要嫁凤姐 \e[0m"

    #红色显示

  脚本

  vi hello.sh

  #!/bin/bash

  #the first shell 

  echo -e "\e[1m;32m hello world \e[0m"

  执行脚本  a.赋予执行权限

          chomd 755 hello.sh

          ./hello.sh

        b.通过Bash调用执行脚本

          bash hello.sh

  Bash基本功能

    A.命令别名

    alias

    #查看别名

    alias 别名='原命令'

    #设定命令别名

    这是临时设定的,重启后就失效了,若想永久生效,写入环境变量

    vi  ~/.bashrc

    #写入环境变量配置文件

    重启生效,若想立即生效

    source .bashrc

    删除别名

    unalias 别名

    命令生效顺序

      1.执行用绝对路径或相对路径执行的命令

      2.执行别名

      3.执行Bash的内部命令

      4.执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令(查看环境变量echo $PATH)

    B.常用快捷键

      ctrl+c  强制终止当前命令

      ctrl+l   clear 清屏 

      ctrl+a  光标移动到命令行首

      ctrl+e  光标移动到行尾

      ctrl+u  从光标所在位置删除到行首

      ctrl+z  把命令放入后台

      ctrl+r  在历史命令中搜索

     C.历史命令

    history [选项] [历史命令保存文件]

      -c  清空

      -w  把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

    按一下tab命令不全,按两下tab,会列出目录或命令

    历史命令的调用

      上、下箭头调用以前的历史命令

      !n重复执行第n条历史命令  (用history查看会显示n)

      !!重复执行上一条命令

      !字符串 重复执行最后一条以字符串开头的命令

    D.输出重定向

    标准输入输出

  设备文件名 文件描述
键盘 /dev/stdin 0
显示器 /dev/sdtout 1
显示器 /dev/sdterr 2
 

 

    

 

    标准输出重定向

        命令>文件        覆盖

        命令>>文件      追加

      标准错误输出重定向

        错误命令  2>文件      覆盖

        错误命令  2>>文件    追加

    正确、错误输出同时保存

        命令 > 文件 2>&1

        命令 >> 文件 2>&1

        或

        命令 &>文件

        命令 &>>文件

        (ls  &>/dev/null    系统黑洞,相当于垃圾箱)

        命令>>文件1  2>>文件2   正确的追加到文件1错误的追加到文件2

    输入重定向

      wc [ 选项] [文件名]

        -c 统计字节数

        -w 统计单词数

        -l 统计行数

        格式:

          wc < 文件名

          wc <<标识

           ……

          <<标识

          注:<<遇到相同的标识结束

    E.管道符

    多命令执行符

      ;     多个命令顺序执行

      &&   前边命令正确,后边的才会执行

      ||    前边的正确,后边的不执行;前边的错误,后边的执行

      eg:

        ls && echo yes || echo no

        #检测命令是否正确

     管道符

        命令1 | 命令2 

        命令1的结果作为命令2的操作对象

     F.通配符

       ?  单个字符

       * 任意个字符

       [] 

    ``和$()括起来的内容是系统命令,会先执行命令

    eg:a=123

      echo $a

      aa=`ls`   等价于  aa=$(ls)

      echo $aa

          

      

posted @ 2016-02-12 17:48  慕尘  阅读(251)  评论(0编辑  收藏  举报