Linux常用命令总结

文件和目录命令

  • ls

    • -a显示指定目录下所有子目录和文件,包括隐藏文件

    • -l纵向显示文件列表和详细信息

    • -h以KB显示文件大小

    • 通配符的使用

      • *表示任意个数字符

        表示任意一个字符

        []表示可以匹配字符组中的任意一个

        [abc]匹配a,b,c中任意一个

        [a-f]匹配a到f范围中任意一个字符

  • cd

    • cd 切换到当前用户主目录/home/用户目录
    • cd ~ 切换到当前用户主目录/home/用户目录
    • cd . 保持当前目录不变
    • cd .. 切换到上级目录
    • cd - 可以在最近两次工作目录之间来回切换
    • 绝对路径:在输入路径时最前面不是/或~,表示相对当前目录所在的目录位置
    • 相对路径:在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体位置
  • touch

    • 文件不存在,创建文件
    • 文件存在,修改末次修改时间
  • mkdir

    • 创建目录,同一个目录下目录和文件都不能同名
    • -p创建多级目录
  • rm

    • 删除后无法恢复
    • -f强制删除,忽略不存在的文件
    • -r递归删除目录下内容,删除文件夹时使用
  • tree

    • 以树状图列出文件目录结构
    • -d只显示目录

拷贝和移动命令

  • cp

    • cp 源文件 目标文件复制文件或目录到另一个文件或目录中
    • -i覆盖文件前提示
    • -r若给出源文件是目录文件,则cp将递归复制该目录下所有子目录和文件,目标文件必须为一个目录名
  • mv

    • mv 源文件 目标文件:移动或重命名文件或目录
    • -i覆盖前提示

文件内容命令

  • cat

    • 显示文件全部内容
    • -b为文件标行号
    • -n为所有行标行号(包括空行)
  • more

    • 分屏显示文件
    • Space显示下一页
    • Enter一次滚动一行
    • b回滚一屏
    • f前滚一屏
    • q退出
  • grep

    • 文本搜索工具
    • -n显示匹配行及行号
    • -v显示不含不包含目标文本的行
    • -i忽略大小写
    • ^a行首,搜索以a开始的行
    • ke$行尾,搜索以ke为结尾的行
  • echo

    • 显示参数指定的文字
    • >表示输出,会覆盖文件原有内容
    • >>表示输入,会将内容追加到已有文件的
  • 管道|

    • 将一个命令的输出通过管道作为另一个命令的输入
    • more
    • grep

远程操作命令

  • shutdown

    • shutdown 选项 时间
    • -r重新启动
    • -c取消关机计划
  • ifconfig

    • 查看配置网卡设置信息
    • 127.0.0.1本地回环地址
  • ping

    • 检测计算机到计算机网络连接是否正常,数值越大,速度越慢
  • scp

    • 远程拷贝命令
    • scp -P port filename user@remote:Desktop/filename
      • 复制当前目录下文件到远程文件夹
    • scp -P port user@remote:Desktop/filename filename
      • 从远程文件夹复制文件到当前目录
    • WIN scp command
      • scp -rp .\Desktop\Notes logo@192.168.142.128:Desktop/
      • 复制当前目录下文件夹到远程目录
      • scp -p logo@192.168.142.128:Desktop/linuxNotes/Command.md C:\Users\admin\Desktop
        • 从远程文件夹复制文件到当前目录
    • -r复制文件夹
  • ssh

    • ssh -p 22 user@remote

    • ssh-keygen生成ssh钥匙

    • ssh-copy-id -p port user@remote让远程服务器记住公匙

    • 添加别名:在~/.ssh/config中追加

      1
      2
      3
      4
      Host logo_ubuntu
      Hostname 172.***.***.***
      User logo
      Port 22

用户权限命令

  • ls -l 拓展

    • r 可读 4

      w 可写 2

      x 可执行 1

    • 第一列(一个字符):是否是文件夹标记

      第二列(三个字符):文件拥有者权限

      第三列(三个字符):组权限

      第四列(三个字符):其他用户权限

      第五列(数字):硬连接数

      • 硬连接数:有多少种方式可以访问当前目录/文件
  • chmod

    • 修改用户/组对文件/目录权限
    • chmod +/- rwx 文件|目录名
      • 执行文件:./文件名
  • sudo

    • 以其他身份来执行命令,预设的身份为root

组管理命令

  • 创建组/删除组都需要sudo
  • groupadd 组名添加组
  • groupdel 组名删除组
  • cat/etc/group确认组信息
  • 组信息保存在/etc/group文件中
  • /etc目录是专门用来保存系统配置信息的目录
  • chgrp -R 组名 文件/目录名递归修改文件/目录的所属组

用户管理

  • useradd -m -g 组添加新用户

    • -m 自动建立用户家目录
    • -g 指定用户所在的组,否则会建立一个和用户同名的组
  • passwd 用户名设置用户密码

  • userdel -r 用户名删除信息

    • -r 删除用户家目录
  • cat /etc/passwd | grep 用户名确认用户信息,新建用户后,用户信息会保存在/etc/passwd中

  • id 用户名查看用户UID(用户标识)和GID(组标识)信息

  • who查看当前所有登陆的用户列表

  • whoami查看当前登陆用户的账户名

  • passwd文件:/etc/passwd文件保存的是用户的信息,由6个分号组成的7个信息

    • 用户名

      密码(x,表示加密的密码)

      UID

      GID

      用户全名或本地账号

      家目录

      登陆使用的Shell,就是登陆之后使用的终端命令,ubuntu默认的是dash

  • usermod -g 组 用户名修改用户主组

  • usermod -G 组 用户名修改用户附加组

    • usermod -G sudo 用户名给用户添加sudo权限
  • usermod -s /bin/bash修改用户登陆Shell为bash,XShell下dash存在缺陷

  • which

    • which 命令查看执行命令所在位置
      • /user/passwd用于保存用户信息的文件

        /user/bin/passwd用于修改用户密码的程序

        /bin二进制执行文件目录,主要用于具体应用

        /sbin系统管理员专用的二进制代码存放目录,主要用于系统管理

        /usr/bin后期安装的一些软件

        /usr/sbin超级用户的一些管理程序

  • su

    • su - 用户名切换用户和目录
    • exit退出当前登陆目录
    • su切换到root,但不安全
  • 修改文件权限

    • chown 用户名 文件名|目录名修改文件的拥有者
    • chgrp -R 组名 文件名|目录名递归修改文件的组
    • chmod -R 755递归修改文件权限,三个数字分别代表拥有者/组/其他用户的权限
    • r -> 4 w -> 2 x -> 1,例如755->rwx r-x r-x

系统信息相关命令

  • date查看当前系统时间

  • cal 查看日历

    • -y查看一年的日历
  • df -h显示磁盘剩余空间

  • du -h[目录名]显示目录下文件大小

  • ps aux查看进程的详细状况

    • ps默认只会显示当前用户通过终端启动的应用程序

    • a 显示终端上的所有进程,包括其他用户的进程

      u 显示进程的详细状态

      x 显示没有控制终端的进程

  • top动态显示运行中的进程并排序

  • kill [-9] 进程代号终止指定代号的进程,-9表示强行终止

    • 使用kill时不要终止root身份开启的进程

其他命令

  • find

    • find[路径] -name "*.py"查找文件
  • ln

    • ln -s 被链接的源文件 链接文件建立文件的软链接
    • -s建立的是硬链接文件(两个文件占用相同大小的硬盘空间)
    • 源文件要使用绝对路经,方便移动链接文件后仍能正常使用
    • 在Linux中文件名和文件数据是分开存储的

打包压缩

  • tar -cvf 打包文件.tar打包文件

  • tar -xvf 打包文件.tar解包文件

  • c 生成档案文件,创建打包文件

    x 解开档案文件

    v 列出归档解档的详细过程,显示进度

    f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

  • gzip

    • tar只负责打包文件,但不压缩

    • 用gzip压缩打包后文件扩展名为filename.tar.gz

    • tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...压缩文件

    • tar -zxvf 打包文件.tar.gz 解压缩文件

    • tar -zxvf 打包文件.tar.gz -C 目标路径解压缩文件到指定路径(指定路径必须存在)

  • bzip2

    • tar -jcvf 打包文件.tar.gz 被压缩的文件/路径...压缩文件
    • tar -jxvf 打包文件.tar.gz 解压缩文件

软件安装

  • sudo apt install 软件包

  • sudo apt remove 软件包

  • sudo apt upgrade