• Linux常用命令大全


    Linux常用命令大全

    1.常用快捷键

    常用快捷键

    功能

    ctrl + c

    停止进程

    ctrl+l 或clear

    清屏;彻底清屏是:reset

    ctrl + q

    退出

    善于用tab

    提示(更重要的是可以防止敲错)

    上下键

    查找执行过的命令

    ctrl +alt

    linux和Windows之间切换

    2.帮助命令

    . man:是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助等等

    案例实操

    查看ls命令的帮助信息

    [root@Linux01 ~]# man ls

    .help:该命令是bash内建命令,用于显示bash内建命令的帮助信息

       案例实操

           查看cd命令的帮助信息

    [root@Linux01 ~]# help cd

    3.文件目录类操作

    pwd 功能描述:显示用户当前工作目录的绝对路径
    ls

    功能描述:用来显示目录列表         

    ls -a:展示包含隐藏的目录名

    ls -A: 展示不包含隐藏的目录名

    ls -l :  展示包含文件的属性及权限信息

    ls -R:递归展示目录ls -s:以k为单位展示文件
    ls -lh 展示包含文件的属性及权限信息并且显示大小(k为单位)

    cd

    功能描述:将当前工作目录切换到指定目录  

    cd 绝对路径/相对路径:切换路径;

    cd .. :回到当前目录的上一级目录;

    cd或cd~ :回到根目录;

    cd - :回到上一次所在目录;

    cd -P :跳转到实际物理路径,而非快捷方式路径

     mkdir

    功能描述:创建新目录   

    mkdir 要创建的目录 :创建目录

    mkdir -p 要创建的多级目录 :创建多层目录;

    mkdir -pv 要创建的多级目录 :创建多层目录并显示创建过程

     rmdir

     功能描述:删除空目录

    rmdir 要删除的目录 :删除目录;

    rmdir -p 要删除的目录 :递归删除指定目录;

    rmdir -pv 要删除的目录 :递归删除指定目录并显示删除过程;

     touch

     功能描述:创建空文件

    touch 要创建的文件名称:创建空文件

     rename

     功能描述:批量为文件修改名称

     rename  原字符串  新字符串  被操作的文件:单个修改文件名或批量修改文件名

    案例:

    将/home/test1下的文件名中的aa全部改为bb

    [root@Linux01 home]# ls test1
    aabb.txt aa.txt bbaacc.txt

    [root@Linux01 home]# rename aa bb test1/*
    [root@Linux01 home]# ls test1
    bbbbcc.txt bbbb.txt bb.txt

     cp

     功能描述:cp指令用来将-一个或者 多个源文件或者目录复制到指定的目标文件或者目录

    cp 源文件 文件复制到的目录 :进行复制

    cp -a 源文件 文件复制到的目录 :保持源文件的结构和属性进行复制;
    cp -r 源文件 文件复制到的目录 :递归复制;

    加 -v :显示拷贝过程

    案例:

    将etc下的passwd拷贝到home下

    [root@Linux01 home]# cp /etc/passwd ./
    [root@Linux01 home]# ls
    banzhang.txt jinghang lisi3 passwd test1 work01-shell.sh xiaozhang
    class233.txt jinghang2 mayun test test2 work02-shell.sh

     rm

     功能介绍: rm指令用于删除给定的文件和目录。

    rm -r 文件或目录名 :递归删除目录中所有内容;

    rm -f 文件或目录名 :强制执行删除;

    -i :交互式删除,会询问;

    -v:显示过程

     mv

     功能介绍: mv 移动文件与目录或重命名

    mv 老的目录名 新的目录名 :重命名;

    mv 要被移动的目录名 移动到目的目录路径:移动目录

    案例:

    1、将/home/passwd目录改为passs 

    [root@Linux01 home]# mv passwd passs
    [root@Linux01 home]# ls
    banzhang.txt jinghang lisi3 passs test1 work01-shell.sh xiaozhang
    class233.txt jinghang2 mayun test test2 work02-shell.sh

    2、将home/passs移动到/home/test1下

    [root@Linux01 home]# mv passs test1/
    [root@Linux01 home]# ls test1
    bbbbcc.txt bbbb.txt bb.txt passs

     cat

     功能介绍: 查看文件内容(一次性全部读取,适用小文件)

    -b :在非空行前面显示行号;

    -n:显示所有行的行号,包括空行;

    -s:压缩空行,多个空行连续出现时仅显示一个空行;

     more

     一次性读取,全屏展示分屏查看器查看该文件(适用中小型文件)

     more  要查看的文件名 :查看文件,进去查看之后可以用内置快捷键如下

    内置快捷键:空格:向下翻一页,

          回车:向下翻一行,

          q:退出more,

          ctrl+F:向下滚动一屏,

          = :输出当前行号;

     less

     跟more相似,但是他不是一次把整个文件加载之后再显示,而是根据显示需要加载内容,适用显示大型文件;

    less 文件名:要查看的文件名 :查看文件,进去查看之后可以用内置快捷键如下

    内置快捷键: 空格:向下翻页,

          / 字符串:查找该字符串,n:向下查找;N:向上查找

          q:退出less

     echo

     功能介绍:echo指令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

    echo $指令名称:执行该指令;

    echo "内容":打印该内容;

    -e:支持反斜线控制的字符转换,如下:

    echo -e  "hello  \  word" :输出就是hello word

    echo -e "hello  word":输出的hello word会换行;

    echo -e "hello    word" :输出的hello word中间有一个制表符

     head

     功能介绍:head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

    head  要读取文件名 : 读取该文件前10行

    head -n  指定数字  要读取文件名:读取该文件指定前几行  

     tail

     功能介绍:tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。

    tail  要读取文件名 : 读取该文件后10行

    tail -n 指定数字 要读取文件名 :读取该文件后几行;

    tail -f 文件名:监控该文件所有更新

     > 和 >>

      > :覆盖

    >> :追加

     history

     功能介绍:history指令用于查询历史指令命令

    history :查询所有历史指令命令

    history 数字:从后查询几条执行过的命令

     ln

    功能介绍:(硬)软链接也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。

    ln -s  原文件或目录名 软链接名:给原文件创建软链接

    案例:

      给/home/test创建软链接名为aatest

      [root@Linux01 home]# ln -s test aatest

      [root@Linux01 home]# ll 

      总用量 48

      lrwxrwxrwx. 1 root      root         4 7月   4 15:41 aatest -> test

    注意:

      1、ln 默认创建链接为硬链接,不能对目录建立链接。要为目录建立链接必须使用“-s”选项,指明创建的链接类型为符号链接。

      2、只能为普通文件创建硬链接, 不能为目录创建硬链接。而符号链接(软连接)则没有任何限制,

      3、删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/

      4、查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。

     

    4、搜索查找类操作

    find

    功能介绍:find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端

    find -name 查询目录 :模糊查找所有的该目录名的目录

    find -user 用户名 :查找该用户的所有文件目录

    find -size +/-10k : 查找大于/小于10k的文件

    find -empty : 查找文件大小为0k的文件

    find -empty |xargs ls -l :将之前查询的文件当成参数传给后面

    find -type 加文件类型 : 查找对应的(文件类型:b代表块设备文件,d代表目录,f代表普通文件,c代表字符设备文件,l代表符号链接文件例如软链接,s代表网络套接字文件)

    案例:

      在全部目录中搜索test目录

      [root@Linux01 home]# find / -name test

    /home/test

    /home/test2/test

    /usr/bin/test

    /usr/share/doc/db4-devel-4.7.25/ref/test

    /usr/lib64/python2.6/test

    /usr/lib64/python2.6/site-packages/OpenSSL/test

    /lib/alsa/init/test

    grep

    功能介绍:grep 过滤查找,在文件中搜索匹配的行 (管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理)

    which

    功能介绍:which指令用于查找并显示给定指令的绝对路径

    which + 指令名:查找该命令的绝对路径

    whereis

    whereis + 指令名:查找该指令相关文件的路径

    5、用户管理类操作

    useradd

    功能介绍:useradd 添加新用户

    useradd  用户名 :添加新用户

    useradd -g 组名 用户名 :添加一个该组名的该用户名(但是前提该组得存在,不会再自动创建组)

    useradd -d  /添加该用户的宿主目录 用户名:默认添加用户组直接到根目录,这个可以指定根目录

    useradd -u 要设置的ID号 用户名:设置用户ID

    useradd -c "注释内容" 用户名:给用户加说明;

    passwd

    功能介绍:passwd 设置用户密码

    passwd 用户名 :更改用户密码

    id

    功能介绍:id 查看用户是否存在

    id 用户名 :查看用户是否存在

    查看创建的用户 语法:cat  /etc/passwd
    userdel

    功能介绍:userdel删除用户及相关文件

    userdel 用户名:只删除用户,目录还在

    userdel -r 用户名:删除用户及相关文件

    userdel - f 用户名 :强制删除,即使正在登录  

    usermod

    功能介绍:usermod指令用于修改用户的基本信息

    usermod -g 要换成的组名 用户名:修改用户的组

    usermod -c "要修改成什么注释" 用户名:修改用户的注释信息

    usermod -d /想要修改成宿主目录 用户名:修改用户的宿主目录,但是不会帮你生成文件,只是会有路径 

    su

    功能介绍:su <swith user> 切换用户

    su 用户名:切换用户

    who

    功能介绍:who 查看登录用户信息

    whoami:查询当前所登录的用户名

    who am i:查询系统登录用户信息

    sudo

    功能介绍:sudo 设置普通用户具有root权限

    先root用户进入这个文件 vim /etc/sudoers,然后找到91行复制粘贴,将root修改为普通用户名,然后su 普通用户名:切换用户,然后sudo vim /etc/sudoers:这个时候普通用户就可以进这个配置文件了,只需要在指令前面加sudo 就可以执行root权限

    6、用户组管理操作

     groupadd

    功能介绍:groupadd创建新工作组 

    groupadd 新组名:创建一个新的用户组

    groupadd -g 新用户组的ID 新用户组:创建一个新的指定ID的用户组

     groupdel

     功能介绍:groupdel删除工作组

    groupdel 用户组:删除用户组(只能删除没有用户的组,也就是空的用户组)

     groupmod

     功能介绍:groupmod修改工作组信息

    groupmod -n 修改后的组名 原组名:修改用户组的组名

    groupmod -g 修改后的组名ID 原组名:修改用户组的ID(新的组名和ID必须唯一)

     查看创建的组  语法:cat  /etc/group

    7、文件权限类操作

    文件属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

                 

     chmod

    功能介绍:chmod 改变权限    

    经验技巧:
    u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
    r=4 w=2 x=1 

    chmod u/g/o  +/-  r/w/x  用户名:添加或取消对应权限

    chmod 三个数字(三个数字代表三组权限,每组可以计算rwx) 用户名:添加或取消对应权限;

     chown

    功能介绍:chown 改变文件或目录所有者

    chown 要改变成的用户 文件名:更改该文件创建的用户

    chown -R 要改变成的用户 文件名:递归更改,

    再加-v:显示修改过程

    chgrp

    功能介绍:chgrp 改变所属组

    chgrp 要改成的用户组 文件名:改变文件的所属组

    chgrp 要改成的用户名  要改成的用户组 文件名:改变文件的所属用户及用户组

    8、时间日期类操作

    date  

    date :显示当前时间

    date -s 字符串时间  :设置系统时间

    cal

    cal : 查看当前月日历

    cal 某年:查看某年日历;

     9、压缩和解压缩操作

    gzip/gunzip

    功能介绍: gzip/gunzip 压缩与解压缩;将文件压缩为.gz后缀的文件,只能压缩文件,不能压缩目录,不能保留原文件

    案例:

      将/home下的class23.txt压缩、解压

    [root@Linux01 home]# gzip class233.txt 

    [root@Linux01 home]# ls
    banzhang.txt jinghang lisi3 test test2 work02-shell.sh
    class233.txt.gz jinghang2 mayun test1 work01-shell.sh xiaozhang
    [root@Linux01 home]# gunzip class233.txt
    [root@Linux01 home]# ls
    banzhang.txt jinghang lisi3 test test2 work02-shell.sh
    class233.txt jinghang2 mayun test1 work01-shell.sh xiaozhang

     zip/unzip  功能介绍: zip/unzip 压缩与解压缩、zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。

    zip -r  XXX.zip  要压缩的内容 :递归压缩成zip格式

    unzip  XXX.zip  -d  要解压到的目录/ :解压缩文件到指定目录

     tar

     功能介绍: tar 打包备份

    -z  打包同时压缩

    -c  产生.tar打包文件

    -v  显示详细信息
    -f  指定压缩后的文件名
    -x  解包.tar文件

    tar -zcvf   XXX.tar.gz   要压缩的内容 :压缩指定内容

    tar -zxvf  XXX.tar.gz  -C  解压到的目录:解压到指定目录

    10、进程管理类操作

    ps

    功能介绍: 查看当前系统进程状态

    -a 选择所有进程
    -u 显示所有用户的所有进程
    -x 显示后台进程得运行参数

    ps -aux :查看系统中所有进程

    ps -ef :查看子父进程之间的关系

     kill

    功能介绍: kill 终止进程

    kill -9  进程ID:通过进程号强制杀死进程

    killall 进程名称:通过进程名称杀死进程

     pstree

     功能介绍: pstree 查看进程树

    pstree -p :以树的形式显示进程名称并显示进程ID

    pstree -u :以树的形式显示进程名称并显示进程所属用户

    11、系统性能监控类操作

    top

    功能介绍: top指令实时报告系统整体性能情况(默认3秒更新)

    top -d 秒数:指定几秒更新数据

    top -i :使top命令不显示闲置和僵尸进程

    top -p  指定进程ID:只监控指定进程

    执行完这些指令后,可以进行排序

    q:退出top

    P:以CPU使用率排序,默认就是此项

    M:以内存的使用率排序

    N:以进程ID排序

    k:根据进程的ID杀死进程

    free

    功能介绍: 显示内存的使用情况

    free -b:以字节为单位显示内存使用情况

    free -k:以千字节为单位显示内存使用情况(默认)

    free -m:以兆字节为单位显示内存使用情况

    free -t:显示汇总结果

    netstat

    功能介绍: netstat 显示网络统计网络系统的状态信息和端口占用情况

    选项 功能
    -n 使用数字形式的IP、端口、用户ID、协议、用户等名称信息
    -l 仅列出有在listen(监听)的服务状态
    -p 表示显示哪个进程在调用
    -a 显示处于监听状态和处于非监听状态的socket信息
    -u 查看udp连接信息
    -t 查看tcp连接信息

    常用

    netstat -anp | grep 进程号:查看该进程网络信息

    netstat -nlp | grep 端口号:查看网络端口号占用情况(使用场景:如果端口被占用,可是又要用这个端口,就可以找到占用这个端口的进程,杀死)

     12、磁盘分区类操作

    df

    功能介绍: df 查看磁盘空间使用情况(列出文件系统的整体磁盘使用量,显示磁盘分区上可用的磁盘空间)

    df -h :展示磁盘空间的使用情况

    du

    功能介绍: du 显示每个文件和目录的磁盘使用空间占用情况

    选项 
    -s 指定目录占用大小汇总
    -h 带计量单位
    -a 含文件
    -c 列出明细的同时,增加汇总值

    du 选项  需要查询的目录:展示某个文件或目录的磁盘使用空间占比情况

     fdisk

    功能介绍:查看磁盘使用情况和磁盘分区

    fdisk -l:查看磁盘使用情况和磁盘分区

    fdisk /dev/sda :回车之后会让按m寻求帮助,显示出相应的指令,可以按下对应的进行增加分区,删除分区,查询分区等(q:查询,n:新建分区,d:删除分区,w:保存并退出)

     mount/umount  

    概述:对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它就是一个根目录、一个独立唯一的文件结构。
    Linux中每个分区都是用来组成整个文件系统的一部分,Linux采用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。

    案例:

     将镜像文件挂载到/home/test下:

    [root@Linux01 home]# mount -t iso9660 /dev/sr0 /home/test
    mount: block device /dev/sr0 is write-protected, mounting read-only

    [root@Linux01 home]# ll test
    总用量 566
    -r--r--r--. 2 root root 14 6月 29 2018 CentOS_BuildTag
    dr-xr-xr-x. 3 root root 2048 6月 30 2018 EFI
    -r--r--r--. 2 root root 212 11月 27 2013 EULA
    -r--r--r--. 2 root root 18009 11月 27 2013 GPL
    dr-xr-xr-x. 3 root root 2048 6月 30 2018 images
    dr-xr-xr-x. 2 root root 2048 6月 30 2018 isolinux
    dr-xr-xr-x. 2 root root 536576 6月 30 2018 Packages
    -r--r--r--. 2 root root 1363 6月 29 2018 RELEASE-NOTES-en-US.html
    dr-xr-xr-x. 2 root root 4096 6月 30 2018 repodata
    -r--r--r--. 2 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
    -r--r--r--. 2 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
    -r--r--r--. 2 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
    -r--r--r--. 2 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
    -r--r--r--. 1 root root 3380 6月 30 2018 TRANS.TBL

    卸载挂载点:

    [root@Linux01 home]# umount /home/test
    [root@Linux01 home]# ll test
    总用量 0
    -rw-r--r--. 1 root root 0 6月 29 20:12 ccab.txt
    -rw-r--r--. 1 root root 0 6月 29 20:10 cca.txt
    -rw-r--r--. 1 root root 0 6月 29 20:10 ccc.txt

     工作常用指令 统计/root文件夹下的文件的个数    :    ls -l /root | grep "^-" | wc -l

    统计/root文件夹下的目录的个数  : ls -l /root | grep "^d" | wc  -l                            
    统计/root文件夹下文件的个数,包括子文件夹里的       :       ls -lR /root | grep "^-" | wc -l 
    统计文件夹下目录的个数,包括子文件夹里的              :       ls -lR /root | grep "^d" | wc -l
    以树状显示目录结构                    :        yum install tree(安装树),才能用tree

    13、软件包管理类操作

    RPM(对本地安装包的操作)

    概述:RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe,是Linux这系列操作系统里面的打包安装工具

    rpm -qa :查询所安装的所有rpm软件包  例如:rpm -qa |grep firefox :查询火狐的安装包

    rpm -qi  安装包名称  :查询安装的软件包的详细信息

    rpm -e  安装包名称  :卸载软件包

    rpm -e  安装包名称  --nodeps :忽略依赖,卸载软件包

    选项 功能
    -i    -i=install,安装
    -v   -v=verbose,显示详细信息
    -h   -h=hash,进度条
    --nodeps 不检测依赖进度

    rpm -ivh 安装包名称 :安装软件

     YUM

    概述:YUM(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

    选项 :
    install  安装rpm软件包
    update  更新rpm软件包
    check-update  检查是否有可用的更新rpm软件包
    remove   删除指定的rpm软件包
    list  显示软件包信息
    clean  清理yum过期的缓存
    deplist  显示yum软件包的所有依赖关系

    yum 选项 安装包名 :执行对应选项的功能

    注意

    默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163

    http://mirrors.163.com/.help/centos.html下载对应CentOS版本的YUM源,替代系统自带的YUM源

    14、定时任务操作

    定时任务操作crontab

    功能介绍:crontab指令周期性执行的任务

    service crond restart/start  :启动服务

    选项 
    -e  编辑crontab定时任务
    -l  显示待执行任务列表
    -r  删除当前用户所有的crontab任务
    -i  删除用户的计划任务前要求用户进行确认

    crontab -e :进入编辑定时任务

    案例:

    每年的3月、7月的1号、2号、5号的12点52分向/home/class233.txt文件里写入 纪念日

    [root@Linux01 home]# crontab -e

    52 12 1,2,5 3,7 * /bin/echo "纪念日" >> /home/class233.txt

     

    定时任务文件编辑相关参数说明

     

    进入crontab编辑界面。会打开vim编辑你的工作。

    * * * * *  执行的任务 

    项目 

    含义 

    范围

    第一个“*”

    一小时当中的第几分钟

    0-59

    第二个“*”

    一天当中的第几小时

    0-23

    第三个“*”

    一个月当中的第几天

    1-31

    第四个“*”

    一年当中的第几月

    1-12

    第五个“*”

    一周当中的星期几

    0-7(0和7都代表星期日)

        

    特殊符号

    含义

    *

    代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。

    代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令

    -

    代表连续的时间范围。比如“0 5  *  *  1-6命令”,代表在周一到周六的凌晨5点0分执行命令

    */n

    代表每隔多久执行一次。比如“*/10  *  *  *  *  命令”,代表每隔10分钟就执行一遍命令

  • 相关阅读:
    js防止按钮被多次点击
    jQuery:localStorage用法
    jQuery Ajax 前端和后端数据交互的问题
    <img>总结: 动态创建等问题
    jQuery
    Echarts 饼图(series)标题文字太长的换行设置
    echarts 为x轴、y轴添加滚动条
    video.js的应用
    关于跨域问题的详解
    麻省理工18年春软件构造课程阅读04“代码评审”
  • 原文地址:https://www.cnblogs.com/chamhary/p/13254648.html
Copyright © 2020-2023  润新知