Linux常用命令

常用命令
pwd:printing working directory

cd:change directory
        cd 不带任何参数时回到家目录
        cd ~ 也可以回到家目录
        cd ~USERNAME 切换指定用户的家目录
        cd - 回到上一个目录【两个目录之间切换】
              相关的环境变量
                  $PWD 当前工作目录
                  $OLDPWD  上一次的工作目录
ls:list,列出指定目下的内容
        ls [option] [file]
            -a: 显示所有文件,包括隐藏文件;
            -A:显示除了.和..之外的所有文件;
            -l: long,长格式列表,即显示文件的详细属性信息  
            -i 查看文件的inode编号

            以如下这段显示出来的详细信息为例
                -rw-r--r--. 1 root root  6332 Aug  4  2017 ping.8.gz

               最前面有10位,其中第一位是文件类型,可以有-,d,b,c,l,s,p;
                         -:常规文件
                         d:directory目录
                         b:block device,块设备文件  ,支持以block为单位进行随机访问
                         c:character device,字符设备文件,支持以"character"为单位进行线性访问
                              major number:主设备号,用于表示设备类型,进而确定要加载的驱动程序
                              minor number:次设备号,用于标识同一类型下的不同设备;
                                8位二进制:0-255
                        l:symbolic link,符号链接文件;
                        p:pipe,命名管道;
                        s:socket,套接字文件;      
                后面的9为每3个为一组
                        左三位 文件属主的权限
                        中三位 文件属组的权限
                        右三位 其他用户(非属主,属组)的权限
                 数字1表示文件被硬链接的次数
                 root表示文件的属主
                 root表示文件的属组
                 6332表示文件的字节数
                 Aug  4  2017 文件最近一次修改时间
                 ping.8.gz 文件名
            -h, --human-readable,对文件大小换算,可能不精确
            -d 查看目录自身属性,而非文件本身
            -r reverse 逆序显示
             -R recursive 递归显示

cat: concatenate【tac和cat使用方法一样,只是逆序显示】
    文本查看工具
    如果查看多个文本文件时,使用空格分开即可,两个文件即可被连接显示
      
    -n 给显示的文本编号
    -e 显示行结束符$
file:查看文件内容类型

echo   回显
    echo [short-option] [string]
    -n 不自动执换行操作
    -e 让转义符生效【例如增加\n换行生效】
    string可以使用银行
          单引号:强引用,变量引用不执行替换,即显示字符串

          双引号:弱引用,变量引用会被替换,即会显示变量的信息

关机与重启:shutdown
        shutdown [OPTIONS...] [TIME] [WALL...]
              OPTIONS:
                     -h:halt
                     -r:reboot
                     -c:cancel 会通知所有当前连接的用户

              TIME:
                      now
                      hh:mm
                      +m
               WALL 提示所有当前连接的用户相应的文本信息
 日期相关的命令:
       Linux有两套时钟,硬件时钟和系统时钟。系统启动时从硬件读取日期和时间信息,读取完成后,不再与硬件关联

          date  系统时钟
                date [OPTION]... [+FORMAT]
                    日期显示
                    FORMAT【查看手册即可】
                        %s:从1970年1月1号0点0分0秒到命令执行那一刻经过的秒数
                    
                date [-u|--utc|--universal]      [MMDDhhmm[[CC]YY][.ss]]
                     日期设置
        
           clock 硬件时钟
                hwclock [function] [option...]
                      -s --hctosys以硬件为准,把系统时间设置为硬件时钟
                      -w --systohc以系统为准,把硬件时钟设定为系统时钟
            
            cal calendar 日历
                  cal [options] [[[day] month] year]


命令历史:shell进程会将其会话中保存此前用户执行过的命令列表
       history
          定制history的功能,可通过环境变量实现:              
                 $HISTSIZE:sehll进程可保留的命令历史的条数;
                 $HISTFILE:持久保存命令历史的文件;
                          .bash_history
                $HISTFILESIZE:命令历史文件的大小
          用法:
                history [-c] [-d offset] [n] 
                        -c清空内存中的历史命令
                        -d删除指定行历史命令【例如23 2  即从23行起删除两行】
                or history -anrw [filename]    
                        -r 从历史文件中的命令读到内存中的历史列表中
                        -w 将当前内存历史命令写入历史文件中
                        num 查看最近num条历史命令
                or history -ps arg [arg...]

           调用命令历史列表中的命令:
                    ! + num:再一次执行历史列表中的第num条命令;
                    !!:再一次执行上一条命令;
                    !+COMMAND 执行上一次此COMMAND以及对应的参数
                    !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
                        注意:命令的重复执行有时候需要依赖于幂等性。
           调用上一条命令中的最后一个参数:
                      快捷键:ESC + .
                      字符串:! + $
           控制命令历史记录的方式,环境变量$HISTCONTROL
                         ignoredups,忽略重复的命令,
                         ignorespace,忽略空格
                         ignoreboth,既忽略重复又忽略空格
                  修改变量的值:NAME = "VALUE" 仅对当前shell有效

文件管理cp,rm,mv

  cp:copy
      复制文件的数据,创建一个空文件,把源文件的数据填充到新文件。
      单源复制:cp [OPTION]... [-T] SOURCE DEST
               如果dest不存在,则先创建此文件,并复制源文件的数据流至dest中;
              如果dest存在,
                  如果dest是非目录文件,则会 覆盖目标文件;            
                  如果test是目录文件,则先在此目录下创建一个与源文件同名的二五年间,并复制其数据流。
      多源复制:cp [OPTION]... SOURCE... DIRECTORY
                        cp [OPTION]... -t DIRECTORY SOURCE...
              如果DEST不存在,错误,
              如果DEST存在,
                    如果DEST是非目录文件,错误;
                     如果DEST是目录文件,则分别复制每个文件至目标目录中,并保持原名。
            常用选项:
                  -i 交互式提醒,覆盖之前提醒用户;
                  -f 强制覆盖目标文件
                  -r 递归复制目录
                  -d no dereference 赋值符号链接文件本身,而非其指向的源文件
        
                   -p preserve
                          mode 权限
                          ownership 属主和属组
                          timestamps 时间戳
                          context 安全标签
                          xattr 扩展属性
                          links 符号链接
                          all 上述所有属性

                  -a -dR --preserve = all,archive 用于实现归档


mv move
      在同一个目录下,是重命名
      在不同目录下,是移动【新建一个文件,把源数据复制过去,然后删除源文件】
      mv [OPTION]... [-T] SOURCE DEST
     mv [OPTION]... SOURCE... DIRECTORY
     mv [OPTION]... -t DIRECTORY SOURCE...
        常用选项:
              -i 交互式
              -f force

 rm remove
        rm [OPTION]... FILE...
        建议生产环境不要轻易删除,最好自制一个垃圾文件夹【模拟回收站】,mv进去

      常用选项
            -i interactive
            -f force
            -r recursive

你可能感兴趣的:(Linux常用命令)