当前位置: 首页 > news >正文

Linux 命令 —— 常用命令总结

常用命令

文件夹与文件相关操作

创建一个文件(touch、vi、nano)

  • 使用 touch 命令,如果文件不存在则创建,如果存在则更新文件的时间戳;touch 命令只用于常见空文件,不能直接向文件中输入内容;如果需要输入内容,可用使用文编编辑器,如:vi、nano;

    示例:

    touch newfile.txt  # 创建新的空文件
    touch file1.txt file2.txt file3.txt  # 同时创建多个文件
    
  • 使用文本编辑器 vi,如果文件不存在则创建新文件,如果文件存在则打开文件。vi 编辑器有两种主要模式:命令模式、插入模式;

    命令模式:默认模式,启动 vi 后默认进入此模式,用于执行命令(如保存、退出、移动光标等);

    插入模式:用于编辑文本;

    命令模式切换到插入模式:

    • i:在当前光标位置前插入文本;
    • a:在当前光标位置后插入文本;
    • o:在当前行的下一行插入新行并进入插入模式;
    • O:在当前行的上一行插入新行并进入插入模式;

    插入模式命令模式切换到插入模式:按 Esc 键可返回命令模式;

    保存和退出

    • :w:保存文件但不退出 vi;
    • :q:若文件未修改,直接退出 vi;若文件已修改,会提示先保存;
    • :q!:强制退出 vi,不保存修改;
    • :wq:x:保存并退出 vi;
    • ZZ:保存并退出(快捷键);

    示例:

    • 打开文件:

      vi myfile.txt
      
    • 进入插入模式并输入文本:按 i,然后输入内容;

    • 保存并退出:按 Esc,然后输入 :wq ;

  • 使用文本编辑器 nano;如果文件不存在则创建新文件,如果文件存在则打开文件。nano 是一个简单易用的命令行文本编辑器,适合初学者或不熟悉 vi/vim 的用户。

    在 nano 中编辑文本非常直观,可以像在其他文本编辑器中一样直接输入、删除和修改字符:

    • 保存文件:按下 Ctrl + O 组合键,此时屏幕底部会提示输入要保存的文件名,按 Enter 确认并保存文件;
    • 退出编辑器:按下 Ctrl + X 组合键。如果文件已被修改,nano 会询问你是否要保存更改。输入 Y 表示保存并退出,输入 N 表示不保存直接退出;
    • 插入文本:直接输入文本即可;

    示例:

    • 打开文件:

      nano myfile.txt
      
    • 编辑文件:直接输入文本;

    • 保存文件:按 Ctrl + O,然后按 Enter;

    • 退出 nano:按 Ctrl + X;

创建一个文件目录或文件夹(mkdir)

  • mkdir 命令用于创建目录,-p 选项可以递归创建多级目录;

    示例:

    • 创建单个目录:

      mkdir new_directory
      

      在当前工作目录下创建一个new_directory的新目录;

    • 同时创建多个目录:

      mkdir dir1 dir2 dir3 
      

      在当前工作目录下同时创建dir1、dir2和dir3三个目录;

    • 递归创建多级目录:

      mkdir -p parent_dir/child_dir/grandchild_dir
      

      如果parent_dir不存在,-p选项会先创建parent_dir,接着创建child_dir,最后创建grandchild_dir;

    • 创建目录并设置权限:

      mkdir -m 700 secret_dir 
      

      创建一个名为secret_dir的目录,并将其权限设置为 700,即只有目录所有者具有读、写、执行权限,所属组和其他用户没有任何权限;

删除一个文件或目录以及目录中所有文件(rm)

  • rm 命令用于删除文件和目录,rm -rf-r 表示递归删除,-f 表示强制删除,不提示;

    示例:

    rm test.txt  # 删除文件
    rm -f test.txt  # 强制删除文件
    rm file1.txt file2.txt file3.txt # 删除多个文件
    rm -r myfolder # 删除目录及其所有子目录和文件,执行时会提示确认信息
    rm -rf myfolder # 不提示删除目录及其所有内容
    

移动或重命名一个文件或目录(mv)

  • mv 命令可以用于移动文件或目录,同时也可用于重命名文件或目录,重命名时将源文件名和目标文件名给出即可。

    示例:

    • 重命名文件:

      mv oldfile.txt newfile.txt 
      

      将当前目录下的 oldfile.txt 文件重命名为 newfile.txt;

    • 重命名目录:

      mv old_directory new_directory
      
    • 移动文件到其他目录:

      mv file.txt /home/user/documents/
      

      把当前目录下的 file.txt 文件移动到 /home/user/documents/ 目录中;

    • 移动目录到其他目录:

      mv my_folder /new_location/
      
    • 同时移动多个文件:

      mv file1.txt file2.txt /destination/
      

列出当前目录中的文件和文件夹(ls)

  • ls 命令用于列出目录内容,显示指定目录下的文件和子目录信息;

    示例:

    • 显示当前目录的内容:

      ls
      

      列出当前工作目录下的非隐藏文件和目录的名称;

    • 显示指定目录的内容:

      ls /home/user/documents
      

      列出 /home/user/documents 目录下的非隐藏文件和目录的名称;

    • 显示所有文件和目录(包括隐藏的):

      ls -a
      
    • 以长格式显示详细信息:

      ls -l
      
    • 以人类可读的格式显示文件大小:

      ls -lh
      
    • 递归显示目录内容:

      ls -R
      

查找文件或目录(find):

  • 使用文件搜索工具find 命令,可以根据各种条件在指定目录及其子目录中查找文件和目录;

    示例:

    • 按文件名查找:

      在当前目录及其子目录中查找名为 test.txt 的文件:

      find . -name "test.txt"
      

      按文件名不区分大小查找:

      find . -name "test.txt"
      

      查找所有文件名包含 readme 且不区分大小写的文件:

      find . -iname "*readme\*"
      
    • 按文件类型查找:

      查找 /var/log 目录下的所有普通文件:

      find /var/log -type f
      

      查找当前目录下的所有目录:

      find . -type d
      
    • 按文件大小查找:

      查找大小大于 10M 的文件:

      find . -size +10M
      

      查找大小小于 500k 的文件:

      find /tmp -size -500k
      
    • 按文件权限查找:

      查找权限为 777 的文件和目录:

      find . -perm 777
      

      查找具有可执行权限的文件:

      find /usr/bin -perm /a+x
      
    • 按文件时间属性查找

      查找 7 天之内修改过的文件:

      find . -mtime -7
      

      查找 30 天之前修改过的文件:

      find /var/log -mtime +30
      

压缩与解压缩

在 Linux 系统中,常见的压缩文件格式包括以下几种

1、.tar 格式

  • .tar 是一种打包格式(归档文件格式),它只是将多个文件或文件夹打包成一个文件,并不进行压缩;
  • 使用tar命令:常用于归档和压缩,支持多种压缩格式;

    示例:

    打包:将 documents 目录打包成 documents.tar 文件;

    tar -cvf documents.tar documents
    -c:创建新的归档文件。
    -v:显示详细的操作过程。
    -f:指定归档文件的名称。
    

    解包:解包 documents.tar 文件;

    tar -xvf documents.tar
    -x:从归档文件中提取文件。
    -v:显示详细的操作过程。
    -f:指定要提取的归档文件名称。
    

2、.gz 格式

  • gzip常用于压缩单个文件;
  • 使用gzip命令:用于单个文件的压缩和解压;

    示例:

    压缩:将 documents.tar 压缩成 documents.tar.gz

    gzip documents.tar  # 生成 documents.tar.gz
    上述是使用tar打包后再使用gzip进行压缩;等价于
    tar -zcvf documents.tar.gz documents
    -z:使用 gzip 进行压缩或解压缩。
    不是对tar文件进行压缩和解压,就不能使用tar
    

    解压:将 documents.tar.gz 文件解压

    gzip -d documents.tar.gz # 解压成 documents.ta
    

3、.zip 格式

  • .zip 是一种常见的跨平台压缩格式,支持多文件压缩,在 Windows、Linux 和 macOS 等系统中都广泛使用;
  • 使用zipunzip:用于创建和解压 .zip 文件;

    示例:

    压缩:将 documents 目录压缩成 documents.zip 文件

    zip documents.zip documents
    

    解压:将 documents.zip 文件解压

    unzip documents.zip
    

4、.7z 格式

  • 7z 是一个高压缩率的工具,支持多种压缩格式;

  • 使用7z命令;

    示例:

    压缩:将 documents 目录压缩成 documents.7z 文件

    7z a documents.7z documents
    

    解压:将 documents.7z 文件解压

    7z x documents.7z
    

5、.rar 格式

  • rar 压缩率较高,支持分卷压缩;
  • 使用rarunrar命令:用于创建和解压 .rar 文件;

    示例:

    压缩:将 documents 目录压缩成 documents.rar 文件

    rar a documents.rar documents
    

    解压:将 documents.rar 文件解压

    unrar x documents.rar
    

权限相关

权限表示方法

  • 数字模式:使用三个八进制数表示文件或目录的权限,每一个数对应不同的用户类别(所有者、所属组、其他用户)的权限;每个数的二进制位的取值是读(4)、写(2)、执行(1)权限,3个数组合得到一个3位数,表示所有者、所属组和其他用户的权限值;例如,755 表示所有者具有读、写、执行权限(4 + 2 + 1),所属组和其他用户具有读和执行权限(4 + 1)。
  • 符号模式:使用 u(所有者)、g(所属组)、o(其他用户)、a(所有用户)表示不同的用户类别;+ 表示添加权限,- 表示移除权限,= 表示设置权限;r(读)、w(写)、x(执行)表示具体的权限。

1、查看权限(ls -l)

  • 使用 ls -l 命令可以查看文件或目录的权限;

    示例:

    ls -l filename
    

    输出示例:

    -rw-r--r-- 1 user group 4096 Oct 10 12:34 filename
    
    • 第 1 列:权限信息(如 -rw-r–r–);
    • 第 3 列:文件所有者(如 user);
    • 第 4 列:文件所属组(如 group);

    权限符号说明:

    • r:读权限(read);
    • w:写权限(write);
    • x:执行权限(execute);
    • -:无权限;

    权限分为三组:

    1. 所有者权限(前 3 位);
    2. 所属组权限(中间 3 位);
    3. 其他用户权限(最后 3 位);

2、修改权限(chmod)

  • 使用 chmod 命令可以修改文件或目录的权限;

  • 符号模式:

    chmod [who][operator][permissions] filename
    

    who —— u:所有者(user)、g:所属组(group)、o:其他用户(others)、a:所有用户(all,默认);

    operator —— +:添加权限、-:移除权限、=:设置权限;

    permissions —— r:读权限、w:写权限、x:执行权限;

  • 示例:

    chmod u+x filename      # 给所有者添加执行权限
    chmod g-w filename      # 移除所属组的写权限
    chmod o=r filename      # 设置其他用户的权限为只读
    chmod a+rw filename     # 给所有用户添加读写权限
    
  • 数字模式

    所有者、所属组、其他用户的权限可以用 3 个八进制数表示,每个数的二进制位表示不同的权限 —— 4:读权限(r)、2:写权限(w)、1:执行权限(x);

    chmod 755 filename      # 所有者:rwx,所属组:r-x,其他用户:r-x
    chmod 644 filename      # 所有者:rw-,所属组:r--,其他用户:r--
    

3、修改所有者(chown)

  • 使用 chown 命令可以修改文件或目录的所有者和所属组;

    示例:

    chown user filename      # 将文件所有者改为 user
    chown user:group filename  # 将文件所有者改为 user,所属组改为 group
    

4、修改所属组(chgrp)

  • 使用 chgrp 命令可以修改文件或目录的所属组;

    示例:

    chgrp group filename      # 将文件所属组改为 group
    

网络相关

参考:Linux 命令—— ping、telnet、curl、wget(网络连接相关命令)

1、查看网络接口信息(ifconfig或ip)

  • ifconfig(传统命令)、ip(推荐使用):

    示例:

    查看所有网络接口的详细信息:

    ifconfig
    # 或
    ip addr show
    

2、查看路由表(route或ip

  • routeip命令

  • 示例:

    route -n
    # 或
    ip route show
    

3、测试网络连接

  • ping 命令通过发送 ICMP 包来测试网络连通性。

    示例:

    ping www.baidu.com # 测试与目标主机的连通性;
    
  • traceroute 命令跟踪数据包的路由路径:

    示例:

    traceroute www.baidu.com
    
  • mtr命令结合 pingtraceroute 的功能:

    示例:

    mtr www.baidu.com
    

4、查看网络连接状态

  • 使用netstat命令

    # 查看所有网络连接:
    netstat -a
    # 查看 TCP 连接:
    netstat -at
    # 查看 UDP 连接:
    netstat -au
    
  • 使用ss命令

    # 查看所有网络连接:
    ss -a
    # 查看 TCP 连接:
    ss -t
    

日志查看

参考:Linux 命令 —— grep、tail、head、cat、more、less(查看日志常用命令)

  • 常用 cat(查看整个文件内容)、more(分页查看)、less(功能更强大的分页查看)、tail(查看文件尾部内容)等命令。
  • grep 和 find 的区别:

    grep 主要用于在文件内容中查找匹配指定模式的行;find 用于在文件系统中查找符合条件的文件或目录;

    如:grep 针对文件内容搜索, 在 log.txt 中找含 “error” 的行;

    grep "error" log.txt
    

    find 针对文件系统,在根目录下找名为 test.txt 的文件;

    find / -name "test.txt"
    

查看进程与端口

1、查看 JAVA 进程并关闭进程

  • 使用用 ps -ef | grep java 查看所有 Java 进程,找到对应进程的 PID(进程号);

    ps 命令可以列出当前运行的进程。结合 grep 可以过滤出 Java 进程;

    示例:

    ps -ef | grep java
    
    • -e:显示所有进程;
    • -f:显示完整格式;
    • grep java:过滤出包含 java 关键字的进程;

    或使用 jps 命令,jps 是 JDK 自带的工具,专门用于查看 Java 进程;

  • kill 命令关闭,kill 更具进程号关闭进程;

    示例:

    kill 12345  # 关闭 PID=12345 进程
    kill -9 12345  # 强制关闭 PID=12345 进程
    
  • 使用 pkill 命令,pkill 可以根据进程名称关闭进程;

    示例:

    pkill java  # 关闭所有名称中包含java的进程
    

2、端口查看

  • 使用 lsof 命令,查看某个端口的占用情况;

    示例:

    lsof -i :8080
    
    • -i:指定端口号;

    通过 lsof -i:端口号 找到占用端口的进程,可以再用 kill 命令杀掉进程。

3、检查端口是否开放

  • 使用 telnet 命令,也可以测试端口是否开放;

    示例:

    telnet 192.168.1.100 8080 # 测试远程主机的端口
    
  • 使用 nc(netcat)命令,nc 是一个网络工具,也可以测试端口是否开放;

    示例:

    nc -zv 192.168.1.100 8080 # 测试远程主机的端口
    
    • -z:只扫描,不发送数据;
    • -v:显示详细信息;

4、查看端口对应的服务

  • 使用 /etc/services 文件,/etc/services 文件包含了端口号与服务的映射关系;

    示例:

    grep 8080 /etc/services # 查看端口对应的服务
    

其他命令

查看命令历史记录

  • 使用history 命令用于显示用户之前输入过的命令历史;

查看 Linux 磁盘空间使用情况

  • 使用 df 命令用于显示磁盘分区上的可用空间等信息,df -h-h 选项以人类可读的格式显示;

上传和下载文件

  • 使用 scp(Secure Copy)命令进行文件传输;

    示例:

    从本地上传到远程 scp 本地文件路径 用户名@远程主机地址:远程路径

    scp myfile.txt user@192.168.1.100:/home/user/
    

    从远程下载到本地 scp 用户名@远程主机地址:远程文件路径 本地路径

    scp user@192.168.1.100:/home/user/myfile.txt /local/directory/
    
  • 使用 sftp(Secure File Transfer Protocol),sftp 是基于 SSH 的交互式文件传输工具;

    示例:

    连接到远程主机:

    sftp username@remote_host
    

    上传文件:

    # put /path/to/local/file /path/to/remote/directory
    put myfile.txt /home/user/
    

    下载文件:

    # get /path/to/remote/file /path/to/local/directory
    get /home/user/myfile.txt /local/directory/
    
  • 使用 rzsz 命令,rz 和 sz 是 Linux 中用于通过 ZMODEM 协议进行文件传输的命令。它们通常与终端工具(如 xterm、SecureCRT 或 Xshell)结合使用,适合在远程服务器和本地计算机之间传输文件;

    rz 用于从本地计算机上传文件到远程服务器;

    示例:

    • 在远程服务器的终端中运行:

      rz
      

      选项

      • -y:覆盖已存在的文件;(rz -y)
      • -e:对控制字符进行转义(适用于二进制文件);
    • 终端会弹出一个文件选择对话框(取决于终端工具),选择要上传的文件;

    • 文件将上传到当前工作目录;

    sz 用于从远程服务器下载文件到本地计算机;

    示例:

    • 在远程服务器的终端中运行:

      sz filename
      
      • -y:覆盖已存在的文件;
      • -e:对控制字符进行转义(适用于二进制文件);
    • 终端会弹出一个保存文件对话框(取决于终端工具),选择保存位置;

    • 文件将下载到本地计算机;

http://www.dtcms.com/a/474584.html

相关文章:

  • 【AI论文】大型推理模型能从有缺陷的思维中更好地习得对齐能力
  • 网站服务器费用wordpress手赚推广
  • 24ICPC昆明站补题
  • 口碑好的聊城网站建设设计软件网站
  • 五种编程语言比较选择最适合您项目的工具
  • 商城网站开发项目分工公司网页背景图
  • 第六章:并发编程—Go的杀手锏
  • 网站建设内部流程图定制开发网站 推广
  • 衡石科技HENGSHI SENSE 6.0:重塑企业级BI的技术范式
  • 西安便宜网站建设品牌网十大品牌排行榜
  • OpenSIPS call_center 模块测试
  • 深度学习周报(10.6~10.12)
  • 易语言实现多文件选择对话框模块详解
  • 电子商务网站建设与综合实践如何翻译wordpress主题
  • Java基础--集合复习知识点
  • spdlog讲解
  • 怎样用vps做网站超级优化
  • 下载接口返回的数据流格式文件
  • 关于网站建设的合同范本正规太原软件开发公司有哪些
  • Python反射机制通俗详解(新手友好版)
  • 网站开发要源码多少钱wordpress 静态资源加速
  • 【多线程】阻塞等待(Blocking Wait)(以Java为例)
  • 公众号做 视频网站商品行情软件下载
  • Kubernetes环境下Nginx代理Nacos服务请求故障诊断
  • Linux 文件权限详解与实操命令
  • 1Docker镜像与容器,目录挂载和卷映射的选择
  • 06_k8s数据持久化
  • c 教学网站开发网页设计尺寸大小规范
  • 第一章:AI大模型基本原理及API应用——第一小节
  • 购物便宜的网站有哪些vivo即将发布的新手机