乐趣区

linux-常用命令汇总

linux 常用命令汇总

linux 本质

linux : 文件系统,一切皆文件

  1. 命令、选项、参数彼此之间要用空格
  2. 命令本质上就是一个程序文件,选项和参数本质上都是参数
  3. Linux 中的大小写是敏感的,单词容易拼错, 建议初学者使用快捷键 TAB:对命令的自动补全

     - 按一下自动补全,如果没有自动补全代表有多个候选项
     - 按两下显示所有的匹配项 
  4. 最常见的 Linux 初学者的报错:

    • command not found:命令没有找到

      1. 命令单词写错了
      2. 语法格式不对
    • No such file or directory:没有找到该文件或者目录

      1. 文件路径写的不对
      2. 文件名写的不多

绝对路径、相对路径

  1. 相对路径
    如果不加 /,即为从当前路径开始计算
  2. 绝对路径
    绝对路径都是使用 / 打头

linux 基本命令

1. ls = list 显示当前目录下所有的文件,包括目录

ls /home 显示指定目录下的所有文件  
-a 隐藏的文件也要显示出来  
-l 显示详细的信息,包括属主,属组,文件大小,创建时间等  
-al 显示所有的文件,并且显示详细的信息  

2. cd = change directory 切换目录即打开目录

 目录结构
/ 根目录
    bin:基本命令的目录,所有用户都可以用的命令就在这里
    sbin:超级管理员才能使用的命令,root 用户使用的管理类命令
    usr:共享软件的安装位置
    var:日志目录,重要记录文件的目录
    tmp:临时目录
    opt:可选目录
    lib:库包的目录
    etc:Linux 的配置文件目录
    root:管理员的家目录,root 用户的家目录
    home:用于存储每个普通用户的家目录的,类似于 windows 上的用户目录
        zhizuobiao 用户名 
        haitong    用户名
    ……
    

3. 其他常用命令

  • pwd = print word directory 显示当前的目录机构
  • clear:清屏,等价于 Ctrl+l

  • whereis:用于查找某个命令的位置
  • history:查看历史运行的命令
  • last:查看登录信息
  • man:用于查询某个命令的使用文档
    man $command
  • du:统计目录或者文件的大小
    du [-sh] $dir_path
    s:统计总和
    h:人性化显示单位

    du -sh /opt/
  • wc:用于统计文件中的单词、行、字符数
    wc [-wcl] $file_path

linux 文件管理命令

创建


> 对文件 file
    touch:用于修改文件的时间,如果修改一个不存在的文件,就等于创建一个文件
        touch $file_path
                touch /opt/haitong.txt
                touch haitong03.txt haitong04.txt   
注意:
    1. Linux 中文件的后缀名不影响该文件的格式,文件后缀名只起到一个标示性的作用
    2. touch 命令中创建文件时,文件名中不要包含空格,如果文件名中包含空格,请用引号引起来

> 对目录 director:在本质上实际也是一个文件
    mkdir:make directory
        mkdir $dir_path
            mkdir /opt/bigC
        -p:递归,在 linux 中有两个选项经常在与目录相关的操作时表示递归 p/r

删除

rm : remove
    rm [-rf] $file_path
        -r:递归删除目录时使用
        -f:免确认
            
注意:1. 确认要删除的目标路径
    2. 备份关键性的文件,可能影响服务或者系统运行的文件
    3. 删除
    4. 观察测试
    5. 删除备份 

编辑


vim/vi
        vim $file_path
        三种编辑模式:刚进入:命令模式
                快捷命令
                    G:跳转到文件最后一行
                    gg:跳转到文件的第一行
                        100gg:光标跳转到 100 行
                    i:进入编辑模式
                    dd:剪切当前行
                        10dd:剪切从当前行开始的 10 行
                    yy:复制当前行
                        5yy:复制从当前行开始的 5 行
                    p:粘贴
                    o:在下一行插入
                    O:在上一行插入
                    A:跳转到行尾部,并进入插入模式
                    u:回退
            按 i 进入:编辑模式
                按 esc 键退回命令模式
            在命令模式下:按:键(shift+:)进入最后行模式
                w:保存
                q:不保存退出
                wq:保存退出
                !:强制的
                wq!:强制保存退出
                x:保存退出
                X:加密,等待输入密码 

查看


- cat:一次性查看
    cat [-n] /etc/passwd
- more:分页查看,不可回退
    翻到最后一页自动退出
- less:分页查看,可回退
    按 q 手动退出
- head:查看文件的前 n 行,n 默认为 10
    head /etc/passwd
    head -5 /etc/passwd
- tail:查看文件的末尾 n 行,n 默认也是 10
    tail -[nf]  $file_path
    f:动态显示文件的末尾变化 

复制


cp:copy
    cp [-r] $sourcePath... $targetPath
    r:用于复制文件夹时使用,代表递归

剪切(重命名)


mv:move
    mv $sourcePath $targetPath

压缩、解压缩

原始压缩命令:

  • zip

     zip/unzip
  • gzip;最常用的压缩格式

     gzip/gunzip
  • bzip2:主要压缩大文件

     bzip2/bunzip2

    缺点:不能对目录进行压缩,只能压缩文件

推荐命令:

  tar:打包命令,可以将目录打包成一个文件
        c:打包
        x:解包
        z:gzip 格式
        j: bzip2 格式
        f:档名
        j:bzip2 格式
        v:显示打包或者解包的过程
        t:查看一个压缩文件的内容
        -C:解压到什么地方
            
  示例:压缩一个目录成为 gzip 格式的文件
        tar -zcvf /big.tar.gz /opt/bigC/bigD/bigE
            将 bigE 目录打包成一个 gizp 格式的压缩文件放在 / 目录下
        tar -tvf /big.tar.gz
        tar -zxvf bigE.tar.gz -C /opt
        gz 格式的压缩文件的后缀名:.tar.gz/.tgz
  如果是 bzip2
        将上面的 z 改成 j 就可以了
        后缀名:.tar.bz2
        tar -jxvf bigE.tar.bz2 -C /opt

查找

find 查找文件的位置

 示例:在 / 中查找名称中带有 init 的文件或者目录
    find / -name *init*         
查询条件:-name:按名称查找
    -size:按大小查找,默认的单位是块(512 字节),可以指定 K、M、G
        -10: 小于 10 个块的大小
        +10: 大于 10 个块的大小    
    -o:表示或者
    -a:并且
        find /etc -size +1000 -a -size -1100
    -type:按类型查找
        f:文件
        d:目录
    -user:按用户查找
符合查询:find /etc/ -size +1000 -a -name *init*

linux 用户管理命令

linux 是一个多用户的管理系统

    两类用户:管理员:默认是一个叫 root 的用户
            大部分的管理操作都只能由管理员来执行
            软件安装、用户的管理、修改系统的属性……
        普通用户:普通用户的家目录:/home/$username
    创建用户:useradd -[g] $username
        useradd haitong
        g:指定用户属于哪个组的 id
    设置密码:passwd $username
        passwd haitong
    Linux 中管理用户的配置文件:/etc/passwd
        root:x:0:0:root:/root:/bin/bash
        用户名:密码:用户 id:组 id:组的名称:家目录:shell 类型
        普通用户的 id 都从 500 开始
    删除用户:userdel -r $username
        r:表示删除用户时同时删除该用户的家目录
    创建用户组:groupadd $groupname
    删除用户组
        groupdel $groupname

linux 权限管理命令

退出移动版