linux常用命令

一、关机与重启指令

(1)shutdown - 关机

复制代码
语法:shutdown

    shutdown -h now 【立即关机】
    shutdown -h 1 【1分钟后关机,shutdown后不填默认一分钟后关机】
    shutdown -r now 【立即重启】

(2)halt - 关机

(3)reboot - 重启

(4)sync - 将内存的数据同步到磁盘

复制代码
无论是要关机还是重启,建议先运行 sync 命令将内存数据保存到磁盘。

二、帮助指令

(1)man - 查看某个命令的帮助手册

复制代码
语法:man 命令或配置文件

    man ls 【查看 ls 命令的帮助手册】
    man netstat 【查看 netstat 命令的帮助手册】

(2)help - 查看某个命令的帮助信息

复制代码
语法:help 命令

    help cd【查看 cd 命令的相关信息】

三、文件目录类指令

(1)pwd - 显示当前目录的绝对路径

复制代码
语法:pwd

    pwd 【查看当前路径】

(2)ls - 显示当前路径下的文件和目录

复制代码
语法:ls 目录或文件

    ls 【查看当前路径下所有文件或目录】
    ls -l 【查看当前路径下所有文件或目录的详细信息】
    ls -a 【查看当前路径下所有文件或目录,包括隐藏文件】
    ls -l index 【查看当前路径下 index 下的详细信息】

(3)cd - 切换至指定目录

复制代码
语法:cd 目录

    cd /a 【切换到 /a 目录下】
    cd ~ 【切换到用户主目录】
    cd - 【切换到上一次访问的目录】
    cd .. 【切换到当前目录的上一级】

(4)mkdir - 创建目录

复制代码
语法:mkdir 目录名

    mkdir index 【创建一个 index 目录(一级)】
    mkdir -p index/a 【创建 index 目录,其下再创建 a 目录(多级)】

-p 选项用于创建多级目录。

(5)rmdir - 删除目录(空目录)

复制代码
语法:rmdir 目录名

    rmdir /home/a 【删除 home 下的 a 目录】 
    rmdir -rf /home/a 【强制删除 home 下的 a 目录】

rmdir删除的是空目录,目录下有内容时是无法删除的,-rf 则可删除非空目录,慎用。

(6)touch - 创建空文件

复制代码
语法:touch 文件名

    touch hello.txt 【创建 hello.txt 空文件】

(7)cp - 拷贝文件或目录到指定文件或目录

复制代码
语法:cp 源文件 目标文件

    cp hello.txt a/ 【拷贝 hello.txt 文件到 a 目录下】 
    cp -r /home/a /b/ 【递归将 home 下的整个 a 目录拷贝到 b 目录下】
    \cp -r /home/a /b/ 【强制覆盖不提示】

如果连续执行相同的拷贝命令系统会一个一个提示是否覆盖文件内的文件,这时在 cp 前加一个 \ 就可以进行强制覆盖,不提示。

(8)rm - 删除文件或目录

复制代码
语法:rm 文件或目录

    rm a.txt 【删除 a.txt 文件】
    rm -f a.txt 【强制删除 a.txt 文件,不提示】
    rm -r /home/a 【递归删除整个 a 目录】
    rm -rf /home/a 【递归删除整个 a 目录,不提示】

(9)mv - 移动文件与目录或重命名

复制代码
语法:mv 旧文件名 新文件名、mv /源目录 /目标目录

    mv a.txt b.txt 【将 a.txt 重命名为 b.txt】
    mv a.txt test/ 【移动 a.txt 到 test 目录下】
    mv abc bcd 【重命名目录 abc 为 bcd】
    mv abc bcd/ 【将目录 abc 目录到 bcd 下】

重命名的前提是两个文件在同一个目录下。

(10)cat - 查看文件内容

复制代码
语法:cat 文件

    cat a.txt 【查看文件 a.txt 的内容】
    cat -n a.txt 【查看文件 a.txt 的内容,并显示行号】

cat 指令查看文件比 vim 更安全,因为 cat 指令只能查看不能修改。

(11)more - 文本过滤器

复制代码
语法:more 要查看的文件

    more a.txt 【查看 a.txt 文件的内容】

more 指令是一个基于 vim 编辑器的文本过滤器,可以以全屏幕的方式按页显示文本文件的内容,且有若干快捷键:

    space;向下翻一页
    Enter;向下翻一行
    q;立即离开more,不再显示文件内容
    Ctrl+F;向下滚动以一屏
    Ctrl+B;返回上一屏
    =;输出当前行的行号
    :f;输出文件名和当前行的行号

more 指令也可以结合 cat 指令进行使用,可以让文件内容按百分比显示,使用管道指令 | more:

    cat a.txt | more 【查看文件 a.txt 的内容,并以百分比显示】

(12)less - 分屏查看文件内容

复制代码
语法:less 查看的文件

less 用来分屏查看文件的内容,类似 more 指令但强于 more 指令,支持各种显示终端;less 在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要来加载内容,效率较高。同样它也有相关快捷键:

    space;向下翻动一页
    pagedown;向下翻动一页
    pageup;向上翻动一页
    /字符串;向下搜寻字符串,n 向下,N 向上
    ?字符串;向上搜寻字符串,n 向下,N 向上
    q;离开 less

(13)echo - 输出内容到控制台

复制代码
语法:echo 输出内容

    echo $PATH 【输出环境变量 $PATH】
    echo "Hello World" 【输出语句"Hello World"】

(14)head - 显示文件开头部分

复制代码
语法:head 文件

    head a.txt 【查看 a.txt 文件的前 10 行内容】
    head -n 5 a.txt 【查看 a.txt 文件的前 5 行内容】

默认情况下 head 显示文件的前十行。

(15)tail - 显示文件尾部的部分

复制代码
语法:tail 文件

    tail a.txt 【查看 a.txt 文件的后 10 行内容】
    tail -n 5 a.txt 【查看 a.txt 文件的后 5 行内容】
    tail -f a.txt 【查看 a.txt 文件的后 10 行内容,并实时追踪文件更新】

(16)> / >> - 输出重定向/追加

复制代码
    cat 文件1 > 文件2 【将文件1的内容覆盖到文件2】
    ls -l /home > /home/info.txt 【将 /home 下的文件列表写入 info.txt 中】
    cal >> /time 【将当前日历信息追加到 /time 文件中】

重定向 > 会覆盖之前内容,追加 >> 会将新内容添加到之前内容的末尾。

(17)ln - 软链接

复制代码
语法:ln -s 源文件 软链接名

    ln -s /root /myroot 【创建一个软连接 myroot,连接到 /root 目录】
    rm /myroot 【删除软连接 myroot】

软链接也称符号链接,类似 Windows 中的快捷方式,主要存放了链接其他文件的路径,删除软连接的方式与删除文件相同。

(18)history - 查看执行过的的历史命令

复制代码
语法:history

    history 【查看最近所有执行过的指令】
    history 10 【查看最近执行过的10条指令】
    !5 【执行历史编号为5的指令】

四、时间日期类指令

(1)date - 显示当前日期、设置日期

复制代码
语法:date、data -s 时间

    date 【显示当前时间】
    date +%Y 【显示当前年份】
    date +%m 【显示当前月份】
    date +%d 【显示当前是哪一天】
    date "+%Y-%m-%d %H:%M:%S" 【显示年月日时分秒】
    data -s "2022-3-20 11:05:06" 【设置系统时间为...】

(2)cal - 查看日历

复制代码
语法:cal

    cal 【显示本月日历】
    cal 2022 【显示 2022 年日历】

五、搜索查找类指令

(1)find - 查找文件

复制代码
语法:find 范围 方式 文件

    find /home -name a.txt 【根据文件名查找 home 下的 a.txt 文件】
    find /home -user xiaoma 【根据用户查找 home 下用户昵称为 xiaoma 的文件】
    find / -size 200M 【根据文件大小查找系统中大小为 200M 的文件】
    find / -size +200M 【查找系统中大于 200M 的文件】

find 指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。

(2)locate - 定位文件路径

复制代码
语法:locate 文件

    updatedb 【创建 locate 数据库,第一次使用 locate指令前必须先创建数据库】
    locate a.txt 【定位 a.txt 文件的路径】

locate 指令可以快速定位文件路径,利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位文件,无需遍历整个文件系统;但为了保证查询准确度,管理员须定期更新locate时刻。

(3)which - 定位指令路径

复制代码
语法:which 指令

    which ls 【检索 ls 指令所在路径】

(4)grep - 过滤查找

复制代码
语法:grep 查找内容 源文件

    grep "yes" hello.txt 【查找 hello.txt 文件中 "yes" 所在行】
    cat hello.txt | grep "yes" 【查找 hello.txt 文件中 "yes" 所在行】
    cat hello.txt | grep -n "yes" 【查找 hello.txt 文件中 "yes" 所在行并显示行号】

grep 过滤查找常和管道符 | 结合使用,表示将前一个命令的处理结果传递给后面处理。

六、压缩解压类指令

(1)gzip - 压缩文件

复制代码
语法:gzip 文件

    gzip hello.txt 【将 hello.txt 文件压缩为 .gz 文件】

(2)gunzip - 解压文件

复制代码
语法:gunzip 文件.gz

    gzip hello.txt.gz 【将 hello.txt.gz 文件压缩为 .txt 文件】

(3)zip - 压缩文件或目录

复制代码
语法:zip xxx.zip 文件或目录

    zip -r myhome.zip /home/ 【将 home 以及它的子目录压缩为 myhome.zip】

-r 递归压缩,用于压缩目录以及目录下的子文件夹。

(4)unzip - 解压文件或目录

复制代码
语法:unzip xxx.zip

    unzip -d /tmp myhome.zip 【将 myhome.zip 解压到 /tmp 目录下】

-d 用于指定解压后文件的存放目录。

(5)tar - 打包

复制代码
语法:tar xxx.tar.gz 打包的内容

    tar -zcvf a.tar.gz b.txt c.txt 【将 b.txt 和 c.txt 压缩成 a.tar.gz】
    tar -zcvf a.tar.gz /home/ 【将 /home 下的文件夹压缩为 a.tar.gz】
    tar -zxvf a.tar.gz 【将 a.tar.gz 解压到当前目录】
    tar -zxvf a.tar.gz -C /tmp 【将 a.tar.gz 解压到 /tmp 目录下】

tar 打包后的文件为 .tar.gz 文件。
相关推荐
白鹭2 分钟前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师26 分钟前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN1 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛1 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine1 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
未来之窗软件服务1 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟
睿思达DBA_WGX2 小时前
由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程
运维·数据库·oracle
杰哥的狗2 小时前
nacos连接失败,启动失败常见问题
linux·docker
Jackilina_Stone2 小时前
【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
android·linux·c++·编译·faiss