Linux常见命令

232 阅读10分钟

基础指令

1. 查看目录下有什么文件

    ls                // list查看"当前"目录下有什么文件
    ls  目录          // 查看指定目录下文件信息
    ls -a            // 全部文件,包含隐藏文件

2. 目录切换

    cd  ***目录名称
    cd  ..         // 上级目录切换
    cd ~ 或 cd     //  回到用户的家目录
    cd -           //  返回上次工作目录

3. 获得当前操作的目录位置

pwd

4. 用户切换

    su  用户名
    su  -         // 切换到root用户
    su  -  root   // 同上
    su  root      // root用户切换,在有的linux系统效果是:用户是root,权限是普通的
    su  普通用户   // 没有"横线"
    exit          // 退回到上一个用户
    // su和exit要配对使用,如果使用多个su,会造成用户叠加
        jinnan-->root-->jinnan-->root-->**jinnan**

5. 查看当前操纵者信息

whoami        //我是谁

6. 桌面模式 与 命令模式的切换(root用户操作)

    init 3
    init 5

7. 查看文件内容

    cat  filename   //把文件内容输出到终端查看

8. 查看文件占据磁盘空间大小

du -h  文件 

9. 目录操作

  • 创建目录 make directory

    mkdir  dirname
     mkdir  dir/newdir                 //在dir下创建一个newdir
    
  • 创建多级目录,如果"新目录"个数大于1个数量,就要设置"-p"参数

    mkdir -p  newdir/newdir/newdir    //创建多级递归目录
    mkdir -p  dir/newdir/newdir    //创建多级递归目录
    mkdir -p dir/newdir/newdir/newdir
    
  • (文件/目录)移动-改名字 操作 move

    mv  dir1  dir2                //dir1移动到dir2目录下,并改名字为“原名”
    mv  dir1  dir2/newdir         //dir1移动到dir2目录下,并改名字为“newdir”
    mv  dir1  newdir              //dir1移动到当前目录下,并改名字为“newdir”
    mv  dir1/dir2  dir3/dir4      //dir2移动到dir4目录下,并改名字为“原名”
    mv  dir1/dir2  dir3/dir4/newdir      //dir2移动到dir4目录下,并改名字为“newdir”
    
  • (文件/目录)复制-改名字 操作 copy

      • 文件复制
      cp  file1  dir1                   //file1被复制到dir1下,并改名字为“原名”
      cp  file1  dir1/newfile           //file1被复制到dir1下,并改名字为“newfile”
      cp  dir1/file1  dir2/dir3         //file1被复制到dir3下,并改名字为“原名”
      cp  dir1/file1  dir2/dir3/newfile //file1被复制到dir3下,并改名字为“newfile”
      
  • 目录复制,统一设置-r参数 recursive递归地 (无视目录层次)

    cp -r dir1  dir2              //dir1被复制到dir2下,并改名字为“原名”
    cp -r dir1  dir2/newdir       //dir1被复制到dir2下,并改名字为“newdir”
    cp -r dir1/dir2  dir3/dir4    //dir2被复制到dir4下,并改名字为“原名”
    cp -r dir1/dir2  dir3/dir4/newdir    //dir2被复制到dir4下,并改名字为“newdir”
    cp -r dir1/dir2  newdir       //dir2被复制到当前目录下,并改名字为“newdir”
    
  • 删除(文件/目录)

    rm  file          //删除文件
    rm -r dir         //删除目录
    rm -rf  filename  //recursive force 递归、强制 删除文件
    //-f  force  避免 “进入目录、删除隐藏文件” 的提示
    rm -rf  /         //kill you by your self
    

10. 文件操作

    1. 查看文件
      cp  /etc/passwd   ./      //复制passwd文件到当前目录
      cat  filename             //输出文件内容到终端
      more  filename            //敲回车,逐行查看文件的内容
                              //不支持回看
                              //q键,退出查看
      less  filename            //通过"上 下 左 右"键的方式,查看文档的各个部分内容
                              //支持回看,q键退出查看
      head -n  filename         //查看文档的前n行内容
      tail -n  filename         //查看文档的末尾n行内容
      wc -l filename              //计算文件行数
      
    1. 创建文件
      touch  filename           //创建一个文件
      
    1. 给文件追加内容
      echo 内容 >/>> 文件
      echo dog  >  animal.txt   //把dog内容以"覆盖写"方式追加到animal.txt文件中
                              //如果animal.txt文件不存在会"自动创建"
      
      echo htc  >> order.txt    //把htc内容以"纯追加"方式设置到order.txt文件中
                              //order.txt文件不存在,会自动创建
      
    1. 文件搜索
      find 范围 -name "通配符"   //文件名查找 find . -name "*.log"
      find 范围 -size 大小      //文件大小查找 find . -seze +10k  
      find 范围 –mtime 时间     //修改时间查找 
      find . -mtime +3         //修改时间在3天以上
      find . -mtime -3         //修改时间在3天内
      find . -mtime 3          //修改时间恰好在3天前  
      

11. 打包压缩

tar zxvf 文件             //拆包解压
tar zcvf 文件             //打包压缩

12. 磁盘统计

df                       //disk free缩写, 直接显示大小
df -h                    //human缩写,磁盘大小(适合阅读)
du 文件                  //disk used缩写,统计文件大小
du -h 文件               //统计文件大小(适合阅读)
du -hs 目录              //统计单个目录大小

12. 用户操作(root)

  • 用户:user
    • 增加:add 修改:mod(ify) 删除:del(ete)

    • 配置文件:/etc/passwd

    • wc -l /etc/passwd //查看当前有多少个用户

        1. 增加用户 useradd
      useradd xiaogang      //增加一个xiaogang用户,会创建一个同名的组
                          //没有设置用户的组别,就会创建同名组
      useradd -g 组别编号  liming    //创建liming用户,并设置其组别(避免创建同名组)
      useradd -u 用户编号  -g 组编号  -d  家目录  用户名
      
      1. 修改用户 usermod
      usermod  -u 用户编号 -g 组编号 -d 家目录  -l 新名字  用户名   
      //如果修改家目录,需要手动创建(不同于增加用户)
      
      1. 删除用户 userdel
      userdel  用户名       // /etc/passwd的配置用户信息会删除(保留家目录,可以手动删除)
      userdel  -r  用户名   // 用户信息 和 其家目录 都删除
      

13. 组别操作(root)

  • 组别:group
    • 配置文件:/etc/group

      1. 增加组别 groupadd
      groupadd music          //创建一个music组别
      
      1. 修改组别 groupmod
      groupmod -g 组编号  -n 新名字 组名
      
      1. 删除组别 groupdel
      groupdel  组名 
      //组下存在对应的用户信息,禁止删除
      

linux 根目录介绍

  1. /bin
    binary 二进制 许多“指令”对应的可“执行程序文件”目录 ls pwd init等等

  2. /sbin super binary 超级的 二进制 许多“指令”对应的可“执行程序文件”目录 该目录文件对应指令都是"root"用户可以执行的指令 例如:init

  3. /usr
    unix system resource (unix系统资源文件目录) 该目录类似win系统的 C:/Program files 目录 该目录经常用于安装各种软件

软件安装完毕会形成对应的指令,该指令对应的可执行程序文件就存放在以下目录
/usr/bin
    许多“指令”对应的可“执行程序文件”目录
/usr/sbin
    root用户执行的指令 对应的 可“执行程序文件”目录

4. /dev device 系统硬件设备目录(linux系统所有的硬件都通过文件表示) 例如:/dev/cdrom是光驱 /dev/sda 是第一块scsi硬盘

  1. /home 普通用户的"家目录" 给系统每增加一个“普通用户”的同时,都会在该目录为该用户设置一个文件目录 代表该用户的“家目录”,用户后期使用系统的时候会首先“进入”其家目录 家目录名字默认与当前用户名字一致 用户对家目录拥有绝对最高的权限。

  2. /root 该目录是root管理员的家目录,root用户登录系统后首先进入该目录

  3. /proc 内存映射目录,该目录可以查看系统的相关硬件信息

  4. /var variable 可变的、易变的 该目录存储的文件经常会发生变动(增加、修改、删除) 经常用于部署项目程序(php)文件 /var/www/shop /var/www/book

  5. /boot 系统启动核心目录,用于存储系统启动文件

  6. /etc 系统主要配置文件目录 例如: /etc/passwd 用于存储用户信息的文件 /etc/group 用于存储组别信息的文件

  7. /lib library 系统资源文件类库目录

  8. /selinux secure enhanced linux 安全增强型linux 对系统形成保护 会对给系统安装软件时有干扰作用

vi编辑器

  1. 切换到编辑模式(四种方式) a: 光标后移一位 i: 光标和所在内容没有任何变化 o: 另起一个新行 s: 删除光标所在的一个字符 esc : 编辑"退回"到命令模式

  2. 尾行模式操作 :w 保存文档 :q 退出vi编辑器 :wq 保存并退出 //对文档没有操作权限,可以强制执行 :w! 强制保存 :q! 强制退出(不保存修改,直接强制退出) :wq! 强制保存并退出

:set  number 或 :set nu         给编辑器设置行号
:set  nonumber 或 :set nonu      取消行号设置

:数字              光标跳转到数字所在行

:/内容/  或 /内容      在文档中寻找指定内容,给翻屏查找
                    小写n 下一个
                    大写N 上一个
//字符串替换操作,cont2去替换cont1内容
:s/cont1/cont2/         替换光标当前行的"第一个"cont1为cont2
:s/cont1/cont2/g         替换光标当前行的"全部"cont1为cont2
:%s/cont1/cont2/g        替换“整个文档”的cont1为cont2

命名模式下的撤销操作
u           小写u

3. 命名模式操作 1) 光标移动 a.字符级移动 上(k) 下(j) 左(h) 右(l)键 b.单词级 w word下个单词首字母 b before上个(本)单词首字母 e end下个(本)单词尾字母 c. 行级 0 行首 $ 行尾 d. 段落级(内容之间有空白行) { 上个(本)段落首部 } 下个(本)段落尾部 e. 屏幕级(不翻屏) H 屏幕首部 L 屏幕尾部 1.向下翻页快捷键(下一页):Ctrl + f 2.向上翻页快捷键(上一页):Ctrl + b

    f. 文档级
        G   文档尾行
        1G   文档首行
        nG   文档第n行
 
2) 删除内容
    dd       删除光标当前行
    ndd      从光标当前行向后删除n行内容
    x       删除光标所在的字符
    cw       从光标所在位置删除至单词结尾,并进入“编辑”模式
            (该方式方便删除“单个单词”)

3) 复制内容
    yy       复制光标当前行
    nyy      从光标当前行向后复制n行内容
    p       对复制(删除)好的内容进行粘贴操作

4) 快捷操作
    u       undo撤销
    r       替换单个字符
    J       合并上下两行
    .点      重复执行上个指令

Linux命令行指令

  1. bc 开启算术 可以了逻辑运算符 5%2 显示 1

  2. scale 显示逻辑运算结果保留小数点后几位 scale=3 开启并显示3位小数 1/3 显示 .333

  3. tab 接在一串命令的第一个字的后面,则为"命令补全" 接在一串命令的第二个字的后面,则为"文件补全"

  4. ctrl + c : 如果输入错误的命令或参数,导致这个命令或程序会在系统下不停的运行

  5. ctrl + d : 表示键盘输入结束,可取代exit的输入

  6. ctrl+u ctrl+k 分别代表光标处往前和光标处往后删除

  7. ctrl+a ctrl+e 分别代表把管标移动到最前和最后

查找指令

  1. find

find <指定目录> <指定条件> <指定动作> 直接搜索文件夹名 例如 odshen find / -name odshen -d

  1. locate

locate /etc/sh //搜索etc目录下所有以sh开头的文件。

  1. whereis

whereis grep //用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)

  1. which

which grep //看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

  1. type

type cd //type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的,系统会提示,cd是shell的自带命令(build-in)