• 【Linux】Linux常用命令


    目录

    一.帮助命令

    1.man获取帮助信息

    # man[命令或者配置文件] //获取帮助信息(外部命令)
    
    • 1

    列如 :

    # man ls //查看ls命令的帮助信息
    
    • 1

    在这里插入图片描述

    2.help获取shell内置命令的帮助信息

    shell:可以看做是一个命令解释器(终端输入命令,shell进行解释并最终交给内核执行)

    一部分基础功能的系统命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载,常驻系统内存中。这部分命令被称为“内置命令”;相应的其他命令被称为外部命令。

    # help [命令] //获取shell内置命令的信息
    # 命令 --help //查看外部命令
    
    • 1
    • 2

    列如 :

    # help cd //查看cd命令的帮助信息
    
    • 1

    在这里插入图片描述

    3.怎么判断命令的类型

    # type [命令] //查看命令的类型
    
    • 1

    列如 :

    # type cd //查看cd命令的类型
    # type useradd //查看useradd命令的类型
    
    • 1
    • 2

    在这里插入图片描述

    4.使用man查看内置命令

    # man -f cd //查看cd命令的信息
    # man 3tcl cd//查看3tcl里面的cd命令信息
    
    • 1
    • 2

    在这里插入图片描述

    5.常用快捷键

    常用快捷键功能
    ctrl + c停止进程
    ctrl + l清屏等同于clear;彻底清屏 reset
    tab提示(防止敲错)
    上下键查找执行过的命令

    二.文件目录类命令

    绝对路径:从根目录开始都显示出来 / 开头。例如 /usr/local/mysql
    相对路径:就是相对当前你所在路径开始算。例如你现在进入到usr目录下,然后你想到达mysql目录,你只需要local/mysql

    1.pwd 显示当前工作目录的绝对路径

    # pwd   //显示当前工作目录的绝对路径(print working directory)
    
    • 1

    2.cd 切换路径

    # cd [参数]   //切换路径(change directory)
    
    • 1
    参数功能
    cd 绝对路径切换路径
    cd 相对路径切换路径
    cd返回自己的家目录
    cd -回到上一次所在的目录
    cd . .返回上一级目录

    3.ls 列出目录的内容

    # ls [参数][目录或文件]   //列出目录内容(list)
    
    • 1
    参数功能
    -a全部的文件,连同隐藏文档(开头为.的文件)
    -l长数据串列出,包含文件的属性与权限等等数据;(等价于 ll

    4.mkdir 创建一个新的目录(文件夹)

    # mkdir [选项]   //建立目录(make directory)
    
    • 1
    参数功能
    -p创建多层目录

    举例:

    # mkdir xinxin  //建立一个名字为xinxin的目录 
    # mkdir xin1 xin2 //建立两个目录名字分别为xin1和xin2
    # mkdir -p xin1/xin2 //创建多层目录,xin1目录包含xin2
    
    • 1
    • 2
    • 3

    5.rmdir 删除目录(文件夹)

    # rmdir [选项]   //要删除的空目录(remove directory),如果删除的目录下面包含目录或文件都会删除失败
    
    • 1
    参数功能
    -p删除多层空目录

    举例:

    # rmdir xinxin  //删除名字为xinxin的空目录 
    # rmdir xin1 xin2 //删除两个空目录名字分别为xin1和xin2
    # rmdir -p xin1/xin2 //删除多层空目录,会先删除xin2,然后删除xin1
    
    • 1
    • 2
    • 3

    6.touch 创建空文件

    # touch 文件名称   //创建空文件
    
    • 1

    举例:

    # touch /home/jjr/hello  // 在/home/jjr文件夹下创建一个hello文件。前提是/home/jjr文件夹存在 
    
    • 1

    在这里插入图片描述

    7.cp 复制目录或者文件

    # cp [选项] source dest   //复制source到dest
    
    • 1
    选项功能
    -r递归复制整个文件夹

    举例:

    # cp initial-setup-ks.cfg /home/jjr        // 把initial-setup-ks.cfg文件复制到,/home/jjr目录下
    # cp initial-setup-ks.cfg /home/jjr/hello  // 把initial-setup-ks.cfg文件复制到hello文件,hello文件内容和initial-setup-ks.cfg一致
    # cp -r xinxin/ /home/jjr/                 // 把xinxin文件夹所有内容复制到/home/jjr/文件夹下
    
    • 1
    • 2
    • 3

    8.rm 删除目录或者文件

    # rm [选项] 目录或文件名   //删除目录或者文件
    
    • 1
    选项功能
    -r递归删除整个文件夹
    -f强制删除,不提示确认
    -v显示指令的详细执行过程

    举例:

    # rm -rf /*             //千万别试,试试就逝世
    # rm -rf ./*            //删除当前目录下的所有文件 
    # rm /home/jjr/hello    // 删除hello文件
    # rm -r home            //删除home文件夹
    
    • 1
    • 2
    • 3
    • 4

    9.mv 移动文件与目录或重命名

    # mv 旧名字 新名字   //重命名
    # mv 旧位置 新位置   //移动
    
    • 1
    • 2

    举例:

    # mv hello /home/jjr/   //把hello文件移到/home/jjr/目录下 
    
    • 1

    在这里插入图片描述

    # mv hello hello1     //把hello文件重命名为hello1
    
    • 1

    在这里插入图片描述

    10.cat 查看文件内容

    # cat [选项] 文件名   //查看文件内容(针对小文件)
    
    • 1
    选项功能
    -n显示所有行的行号,包括空行

    11.more 文件内容分屏查看器

    # more 文件名   //查看文件内容
    
    • 1
    选项功能
    空格键下一页
    Enter下一行
    f向下滚动一屏
    b返回上一屏
    =输出当前行的行号
    :f输出文件名和当前行的行号
    q退出查看文件

    12.less 分屏显示文件内容

    more命令相似,但是比more功能强大,不同的是less命令不是一次加载全部的内容,而是根据显示的内容去加载,大于很大的文件具有较高的效率

    # less 文件名   //查看文件内容
    
    • 1
    选项功能
    空格键下一页
    上移动键上一页
    下移动键下一页
    G直达底部
    g直达头部
    / 【字串】向下搜寻【字串】;n:向下查找;N:向上查找
    ?【字串】向上搜寻【字串】;n:向下查找;N:向上查找
    q退出查看文件

    13.echo 输出内容到控制台

    # echo [选项] 输出内容   //输出内容到控制台
    
    • 1

    -e 支持反斜线控制的字符转换

    控制字符功能
    \输出\本身
    \n换行符
    \t制表符,也就是tab键

    举例:

    # echo hello zhangsan  //控制台输出hello zhangsan,如果你要想增加字符之间的距离,那就加上双引号
    
    • 1

    在这里插入图片描述

    # echo hello zhangsan  //控制台换行输出hello zhangsan
    
    • 1

    在这里插入图片描述

    # echo $USER  //执行系统环境变量,如果不知道有什么环境变量,那就echo $ 按下Tab键就行了,就会提示出来所有的变量。
    
    • 1

    在这里插入图片描述

    14.> 输出重定向和 >> 追加

    # ls -l > 文件   //将ls -l查看的内容写到文件中(覆盖写)
    # ls -l >> 文件  //将ls -l查看内容追加到文件中
    # cat 文件1 > 文件2   //将文件1的内容复制到文件2
    # echo 内容 >> 文件   //将内容追加到文件中
    
    • 1
    • 2
    • 3
    • 4

    -e 支持反斜线控制的字符转换

    控制字符功能
    \输出\本身
    \n换行符
    \t制表符,也就是tab键

    15.head 显示文件头部内容

    # head 文件       //显示文件头部10行信息
    # head -n 5 文件  //显示文件头部5行信息,5行可以是任意行
    
    • 1
    • 2
    参数功能
    -n 行数显示头几行的行数

    16.tail 显示文件尾部内容

    # tail 文件       //显示文件尾部10行信息
    # tail -n 5 文件  //显示文件尾部5行信息,5行可以是任意行
    
    • 1
    • 2
    参数功能
    -n 行数显示尾部几行的行数
    -f显示文件最新追加内容,监视文件变化,退出监控 Ctrl + c

    17.ln 软连接

    软连接和windows里的快捷方式类似

    # ln -s [文件或者目录][软连接名]     //给原文件创建一个软连接
    
    • 1
    参数功能
    -n 行数显示尾部几行的行数
    -f显示文件最新追加内容,监视文件变化,退出监控 Ctrl + c

    在这里插入图片描述
    在这里插入图片描述

    18.history 查看已经执行过的历史命令

    # history -s [文件或者目录][软连接名]     //查看已经执行过的历史命令
    
    • 1

    三.时间日期类命令

    1.date 显示当前时间

    # date [参数][format]             //显示当前时间
    # date +%Y                       //当前年份
    # date +%m                       //当前月份
    # date +%d                       //显示当前是哪一天
    # date "+%Y-%m-%d %H:%M:%S"      //显示年月日时分秒
    # date +%s                       //显示当前时间的时间戳 (从1970.01.01开始到当前时间)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    参数功能
    -n 行数显示尾部几行的行数
    -f显示文件最新追加内容,监视文件变化,退出监控 Ctrl + c

    2.date 显示非当前时间

    # date -d "1 days ago"            //显示前一天时间
    # date -d "-1 days ago"           //显示后一天时间
    
    • 1
    • 2

    3.date 设置系统时间

    # date -s "字符串时间"            //设置系统时间(格式为:%Y-%m-%d %H:%M:%S 例如:2017-03-18 12:34:22)
    
    • 1

    4.cal 查看日历

    # cal [参数]           //显示本月日历
    
    • 1
    参数功能
    具体年数显示这一年的日历
    -y显示本年一年的日历

    举例:

    # cal -3           //前一个月,本月,下个月一起显示
    
    • 1

    在这里插入图片描述

    # cal -m           //周一开头
    
    • 1

    在这里插入图片描述

    四.用户权限类命令

    1.useradd 添加新用户

    # useradd 用户名        //添加新用户
    # passwd  用户名        //添加对应用户的密码
    # id      用户名        //查看用用户信息
    # cat /etc/passwd      //查看创建了那些用户
    # userdel 用户名        //删除用户
    # userdel -r 用户名     //删除用户包括用户下的文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.su 切换用户

    # su 用户名       //切换用户(root用户切换不用输密码,普通用户切换需要输入密码)
    # who am i      //查看最外层会话是哪个用户(最外层会话就是指你初始登陆的那个 root)
    # whoami		//查看当前会话是哪个用户(当前会话就是指你现在使用的用户 xiaoming)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3.sudo 设置普通用户具有root权限

    # sudo 命令        //设置普通用户具有root权限
    
    • 1

    使用root用户去修改 /etc/sudoers 文件,然后使用sudo就可以正常用了。
    在这里插入图片描述

    4.groupadd 新增组

    # groupadd 组名              //新增组
    # groupmod -n 新组名 旧组名   //修改组名
    # groupdel 组名              //删除组
    # useradd -g 组名 用户名     //添加新用户到某个组
    # usermod -g 组名 用户名     //修改用户的用户组
    
    • 1
    • 2
    • 3
    • 4
    • 5

    举例:

    # usermod -g tongluowan shanji  //修改shanji用户到tongluowan用户组
    
    • 1

    在这里插入图片描述

    5.权限详解

    ls -lll 命令每行列出的信息依次为:文件类型与权限  链接数  创建者 文件属组 文件大小用byte表示  建立或者最近修改的时间 文件名称

    如果是文件的话:链接数指的是硬链接数。
    如果是目录的话:链接数指的子文件夹个数。

    在这里插入图片描述

    (1)文件
    r(read):代表可以读,查看。
    w(write):可以修改,但是不代表可以删除该文件,想删除文件,必须对该文件所在的目录有写的权限,才能删除该文件。
    e(execute):可以被系统执行。
    (2)目录
    r(read):可以读取,ls查看目录下的内容。
    w(write):可以修改,可以在目录内新建和删除文件或重命名目录。
    e(execute):可以进入目录

    在这里插入图片描述

    6.chmod 改变权限

    第一种
    # chmod [u/g/o/a][+-=][rwx] 文件或目录 //改变权限
     
    第二种
    # chmod [421][421][421]     文件或目录 //改变权限 r=4,w=2,x=1,rwx=7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    参数功能(第一种参数的解释)
    u/g/o/au代表user(创建这个文件人的权限),g代表group(同一组的权限),o代表other(其他用户的权限),a代表all(u,g,o)
    + - =+代表增加某个权限,-是减掉某个权限,=是设置权限等于啥
    rwxr可读,w可写,x可运行

    第一种举例:

    # chmod u=rw 文件或目录   //修改u的权限为rw
    # chmod o+r  文件或目录   //o增加权限r
    # chmod a-w  文件或目录   //a减掉权限w
    
    • 1
    • 2
    • 3

    第二种举例:

    # chmod 751 文件或目录      //u的权限:rwx,g的权限:r-x,o的权限:--x
    # chmod -R 777 目录        //修改目录及里面的所有文件(ugo)都修改为rwx(可读可写可执行)
    
    • 1
    • 2

    在这里插入图片描述

    7.chown 改变所有者

    # chown [选项][用户] 文件或目录 //改变文件或目录的所有者(u)
    
    • 1
    选项功能
    -R递归操作

    举例:

    # chown jjr  hello //改变hello的所有者为jjr用户
    
    • 1

    在这里插入图片描述

    8.chgrp 改变所属组

    # chgrp [选项][用户] 文件或目录 //改变文件或目录的所有组(g)
    
    • 1

    举例:

    # chgrp tongluowan  hello //改变hello的所有组为tongluowan
    
    • 1

    在这里插入图片描述

    五.搜索查找类命令

    1.find 查找文件或目录

    # find [搜索范围][选项]  //指的目录向下递归的遍历其各个子目录,显示在终端
    
    • 1
    选项功能
    -name按照文件名查找
    -user按照用户名查找
    -size按照文件大小查找,b-块(512字节),c-字节,w-字(2字节),k-千字节,M-兆字节,G-吉字节

    举例:

    # find -name hello       //查找文件名称为hello的目录
    # find /root -size +10M  //查找/root目录下文件大于10M的文件
    
    • 1
    • 2

    2.locate 快速定位文件路径

    由于locate命令是基于数据库进行查询,所以第一次运行期,必须使用 updatedb命令创建locate数据库

    # locate 搜索文件     //搜索文件
    
    • 1

    3.grep 过滤查找及 ‘|’ 管道符

    管道符,‘|’,表示将前一个命令的处理结果输出传递给后面的命令处理

    # grep [选项][查找的内容][源文件]     //过滤查找
    
    • 1
    选项功能
    -n显示匹配行及行号

    举例:

    # grep -n boot initial-setup-ks.cfg    //在initial-setup-ks.cfg文件查找boot字符串,并显示行号
    
    • 1

    在这里插入图片描述

    ls | grep .cfg  //查找后缀名为.cfg的文件
    
    • 1

    在这里插入图片描述


    六.压缩和解压类命令

    1.gzip 压缩和gunzip 解压

    • 只能压缩文件不能压缩目录
    • 不保留原有文件
    • 多个文件会产生多个压缩包
    # gzip 文件名     //压缩文件,只能将文件压缩为 *.gz文件
    # gunzip 文件.gz  //解压文件命令
    
    • 1
    • 2

    2.zip 压缩和unzip 解压

    # zip [选项] XXX.zip 压缩的内容     //压缩文件和目录
    # unzip [选项] XXX.zip             //解压缩文件
    
    • 1
    • 2
    zip 选项功能
    -r压缩目录
    unzip 选项功能
    -d解压后存放到那个目录

    3.tar 打包

    # tar [选项] XXX.tar.zip 打包的内容     //打包目录,文件格式为 *.tar.zip
    
    • 1
    选项功能
    -c产生 .tar 打包文件
    -v显示详细信息
    -f指定压缩后的文件名
    -z打包同时压缩
    -x解包 .tar文件
    -C解压到指定文件夹

    举例:

    # tar -zcvf mytar.tar.zip tar -zcvf mytar.tar.zip initial-setup-ks.cfg hello xinxin/     //将initial-setup-ks.cfg和hello文件和xinxin目录一起打包压缩成 mytar.tar.zip文件
    
    • 1

    在这里插入图片描述

    七.磁盘管理类命令

    1.du 查看文件和目录占用的磁盘空间

    # du [选项] 目录/文件     //查看目录下每个目录和文件的磁盘使用情况(dist usage)
    
    • 1
    选项功能
    -h容易阅读的GBytes,MBytes,KBytes等格式自行显示
    -a不仅查看子目录大小,还包括文件
    -c显示所有文件和子目录大小,显示总和
    -s只显示总和
    - - man-depth=n指定统计子目录的深度为第 n 层 (- -max-depth=1(只显示该目录下一级子目录))

    2.df 查看磁盘空间使用情况

    # df [选项]     //查看磁盘空间使用情况(dist free)
    
    • 1
    选项功能
    -h容易阅读的GBytes,MBytes,KBytes等格式自行显示

    3.lsblk 查看设备挂载情况

    # lsblk [选项]     //查看设备挂载情况
    
    • 1
    选项功能
    -f查看详细的设备挂载情况,显示文件系统信息

    4.mount 挂载 和 umount 卸载

    # mount [options][device][dir]     //挂载设备
    # umount 设备文件名或挂载点       //卸载设备
    
    • 1
    • 2
    选项功能
    options主要用来描述设备或档案的挂接方式。
    loop:用来把一个文件当成硬盘分区挂接上系统;
    ro:采用只读方式挂接设备;
    rw:采用读写方式挂接设备;
    device要挂接的设备
    dir设备在系统上的挂接点(目录名)
    # vim /etc/fstab    //打开设置开机自动挂载文件
    
    • 1

    查看挂载type
    在这里插入图片描述
    在这里插入图片描述

    5.fdisk 分区

    在root用户下才能使用

    # fdisk -l             //查看磁盘分区详情
    # fdisk 硬盘设备名      //对新增硬盘进行分区操作  (/dev/ 都在这个目录下)最多有16个分区
    
    • 1
    • 2

    八.进程管理类命令

    1.ps 查看当前进程系统状态

    # ps aux | grep xxx      //查看系统中所有进程(process status)
    # ps -ef | grep xxx      //可以查看子父进程之间的关系
    
    • 1
    • 2
    选项功能
    a列出带有终端的所有用户的进程
    x列出当前用户的所有进程,包括没有终端的进程
    u面向用户友好的显示
    -e列出所有进程
    -u列出某个用户关联的所有进程
    -f显示完整格式的进程列表

    ps aux 显示信息说明(想查看进程的CPU占用率和内存占用率,可以使用aux)

    • USER:那个用户产生。

    • PID:进程的ID号。

    • %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源。

    • %MEM:该进程占物理内存的百分比,占用越高,进程越耗费资源。

    • VSZ:该进程占用虚拟内存的大小,单位KB。

    • RSS:该进程占用实际物理内存的大小,单位KB。

    • TTY:该进程是在那个终端运行的。 对于CentOS来说 ,? 代表没有终端,tty1 是图形化终端,tty2-tty6 是本地的字符界面终端,pts0-pts255代表虚拟终端。

    • STAT:进程状态。 R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示、<:优先级比较高、N:优先级比较低。

    • START:该进程的启动时间。

    • TIME:该进程占用CPU的运算时间,注意不是系统时间。

    • COMMAND:产生此进程的命令名。

    在这里插入图片描述
    ps -ef 显示信息说明(想看父进程的PID可以使用-ef)

    • PPID:父进程的ID。
    • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高。
      在这里插入图片描述

    2.kill 终止进程

    # kill [选项] 进程号      //通过进程号杀死进程
    # killall 进程名称        //通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用(谨慎使用)
    
    • 1
    • 2
    选项功能
    -9强制进程立马停止

    3.pstree 查看进程树

    # pstree [选项]       //查看进程树
    # yum install pstree //安装pstree命令(pstree要是能使用就不用安装了)
    
    • 1
    • 2
    选项功能
    -p显示进程的PID
    -u显示进程的所属用户

    4.top 实时监控系统进程状态

    # top [选项]       //实时监控系统进程状态
    
    • 1
    选项功能
    -d 秒数top隔几秒更新。默认是3秒在top命令的交互模式当中可以执行命令
    -i不显示任何闲置和僵尸进程
    -p通过指定进程ID来监控某个进程的状态

    5.netstat 显示网络状态和端口占用信息

    # netstat -anp | grep 进程号       //查看该进程网络信息
    # netstat -nlp | grep 端口号       //查看网络端口号占用情况
    
    • 1
    • 2
    选项功能
    -a显示所有正在监听和未监听的套接字
    -n拒绝显示别名,能显示数字的全部转化为数字
    -l仅列出在监听的服务状态
    -p显示那个进程在调用

    九.系统定时类命令

    1.crontab 定时任务设置

    # crontab [选项]     //定时任务设置
    
    • 1
    选项功能
    -e编辑crontab定时任务
    -l查询crontab任务
    -r删除当前用户所有crontab任务
    参数含义范围
    第一个 *一小时中的第几分钟0-59
    第二个 *一天中的第几个小时0-23
    第三个 *一个月中的第几天1-31
    第四个 *一年中的第几个月1-12
    第五个 *一周中的星期几0-7 (0和7都代表星期天)
    *代表任何时间比如第一个X改为*(就是一小时中每分钟都执行)
    代表不连续时间比如:0 8,12,16 * * * (每天8,12,16点都执行一次命令)
    -代表连续的时间比如:0 5 * * 1-6(周一到周六凌晨5点0分执行命令)
    */n代表每隔多久执行一次比如:*/10 * * * *(代表每隔十分钟就执行一次)
    # crontab -e //会打开vim编辑器
       * * * * * 执行的任务
       */n * * * * echo "hello,world" >> xinxin //每隔一分钟就把hello,world写进xinxin文件
    
    • 1
    • 2
    • 3

    十.软件包管理

    1.RPM(RedHat Package Manager) 基于CentOS

    安装的时候会有依赖关系,你下载下来可能依赖于别的软件,你还得再去下载依赖的软件,所以不是很方便。

    # rpm -qa                //查询所安装的所有rpm软件包
    # rpm -qa | grep XXX     //查询包含XXX的的rpm软件包
    
    # rpm -e  软件包                  //卸载软件包
    # rpm -e --nodeps 软件包          //不考虑依赖关系卸载软件包
    
    # rpm -ivh  RPM包全包                //安装软件包 -i安装,-v显示详细信息,-h显示进度条
    # rpm -ivh --nodeps RPM包全包        //安装前不检查依赖 -i安装,-v显示详细信息,-h显示进度条
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.YUM(Yellow dog Update,Modified) 仓库配置

    基于RPM,可以自动处理依赖关系(类似于maven)。

    # yum [选项][参数] 软件包名      //操作软件包
    
    • 1
    选项功能
    -y对所有问题都回答yes
    参数功能
    install安装rpm软件包
    update更新rpm软件包
    check-update检查更新rpm软件包
    remove删除指定rpm软件包
    list显示软件包信息
    clean清理yum过期的缓存
    deplist显示yum软件包的所有依赖关系
  • 相关阅读:
    dubbo(5):使用dubbo进行业务分离与dubbo-admin的使用
    字节一面:HTTPS 会加密 URL 吗?
    设计模式七大原则-单一职责原则SingleResponsibility
    git项目迁移到新仓库,且保留原项目的历史记录
    【蓝桥杯2025备赛】集合求和
    P8539 「Wdoi-2」来自地上的支援 题解
    P02014182王子恒信息论作业
    SpringBoot 全局异常处理
    苏宁suningAPI接入说明获得suning商品详情
    【.NET项目分享】免费开源的静态博客生成工具EasyBlog,5分钟拥有自己的博客
  • 原文地址:https://blog.csdn.net/twotwo22222/article/details/127893414