Linux常用指令总结

慈云数据 2024-03-12 技术支持 123 0

Linux内核的官方网站:https://www.kernel.org/

Linux常用指令总结
(图片来源网络,侵删)

目录

  • 命令备忘录
    • 1.关机/重启/注销
    • 2.系统信息和性能查看
    • 3.磁盘和分区
    • 4.用户和用户组
    • 5.网络和进程管理
    • 6.常见系统服务命令
    • 7.文件和目录操作
    • 8.文件查看和处理
    • 9.打包和解压
    • 10.RPM包管理命令
    • 11.YUM包管理命令
    • 12.DPKG包管理命令
    • 13.APT软件⼯具
    • 常用的命令
      • 1.不同目录下切换
      • 2.进入到某个目录
      • 3.显示当前目录中的文件和子目录
      • 4.解压缩文件
      • 5.创建文件或文件夹
      • 6.删除文件或文件夹
      • 7.关于终端的常用操作
      • 8.打开终端
      • 9.建立符号连接(软连接)
      • 10.全局查找某一个文件
      • 11.关于ip的设置
      • 12.关节和重启
      • 13.启动和关闭后台终端
      • 14.查看程序是否在运行状态
      • 15.克隆一个项目并进行编译的步骤
      • 16.gdb指令
      • 17.下载软件安装包后安装软件
      • 18.tcpdump抓包工具
      • 19.ldd指令
      • 20.新建子仓库
      • 21.手动启动xfwm4
      • 22.指定math.cpp生成名为libmath.so的动态链接库
      • 23.指定链接库为当前目录
      • 24.卸载软件
      • 25.netstat

        命令备忘录

        1.关机/重启/注销

        常用命令作用
        shutdown -h now即刻关机
        shutdown -h 1010分钟后关机
        shutdown -h 11:0011:00关机
        shutdown -h +10预定时间关机(10分钟后)
        shutdown -c取消指定时间关机
        shutdown -r now重启
        shutdown -r 1010分钟之后重启
        shutdown -r 11:00定时重启
        reboot重启
        init 6重启
        init 0⽴刻关机
        telinit 0关机
        poweroff⽴刻关机
        halt关机
        syncbuff数据同步到磁盘
        logout退出登录Shell

        2.系统信息和性能查看

        常用命令作用
        uname -a查看内核/OS/CPU信息
        uname -r查看内核版本
        uname -m查看处理器架构
        arch查看处理器架构
        hostname查看计算机名
        who显示当前登录系统的⽤户
        who am i显示登录时的⽤户名
        whoami显示当前⽤户名
        cat /proc/version查看linux版本信息
        cat /proc/cpuinfo查看CPU信息
        cat /proc/interrupts查看中断
        cat /proc/loadavg查看系统负载
        uptime查看系统运⾏时间、⽤户数、负载
        env查看系统的环境变量
        lsusb -tv查看系统USB设备信息
        lspci -tv查看系统PCI设备信息
        lsmod查看已加载的系统模块
        grep MemTotal /proc/meminfo查看内存总量
        grep MemFree /proc/meminfo查看空闲内存量
        free -m查看内存⽤量和交换区⽤量
        date显示系统⽇期时间
        cal 2021显示2021⽇历表
        top动态显示cpu/内存/进程等情况
        vmstat 1 20每1秒采⼀次系统状态,采20次
        iostat查看io读写/cpu使⽤情况
        sar -u 1 10查询cpu使⽤情况(1秒⼀次,共10次)
        sar -d 1 10查询磁盘性能

        3.磁盘和分区

        常用命令作用
        fdisk -l查看所有磁盘分区
        swapon -s查看所有交换分区
        df -h查看磁盘使⽤情况及挂载点
        df -hl同上
        du -sh /dir查看指定某个目录的大小
        mount /dev/hda2 /mnt/hda2挂载hda2盘
        mount -t ntfs /dev/sdc1 /mnt/usbhd1指定⽂件系统类型挂载(如ntfs)
        mount -o loop xxx.iso /mnt/cdrom挂载iso⽂件
        mount /dev/sda1 /mnt/usbdisk挂载usb盘/闪存设备
        umount -v /dev/sda1通过设备名卸载
        umount -v /mnt/mymnt通过挂载点卸载
        fuser -km /mnt/hda1强制卸载(慎⽤)

        4.用户和用户组

        常用命令作用
        useradd xxxx创建用户
        userdel -r xxxx删除用户
        usermod -g group_name user_name修改⽤户的组
        usermod -aG group_name user_name将⽤户添加到组
        usermod -s /bin/ksh -d /home/codepig–g dev xxxx修改⽤户xxxx的登录Shell、主⽬录以及⽤户组
        groups test查看test⽤户所在的组
        groupadd group_name创建⽤户组
        groupdel group_name删除⽤户组
        groupmod -n new_name old_name重命名⽤户组
        su - user_name完整切换到⼀个用户环境
        passwd修改密码
        passwd xxxx修改某⽤户的密码
        w查看活动⽤户
        id xxxx查看指定⽤户xxxx信息
        last查看⽤户登录⽇志
        crontab -l查看当前⽤户的计划任务
        cut -d: -f1 /etc/passwd查看系统所有⽤户
        cut -d: -f1 /etc/group查看系统所有组

        5.网络和进程管理

        常用命令作用
        ifconfig查看网络接口属性
        ifconfig eth0查看某网卡的配置
        route -n查看路由表
        netstat -lntp查看所有监听端口
        netstat -antp查看已经建立的TCP连接
        netstat -lutp查看TCP/UDP的状态信息
        ifup eth0启⽤eth0网络设备
        ifdown eth0禁⽤eth0网络设备
        iptables -L查看iptables规则
        ifconfig eth0 192.168.1.1 netmask 255.255.255.0配置ip地址
        dhclient eth0以dhcp模式启⽤eth0
        route add -net 0/0 gw Gateway_IP配置默认⽹关
        route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1配置静态路由到达网络络’192.168.0.0/16’
        route del 0/0 gw Gateway_IP删除静态路由
        hostname查看主机名
        host www.baidu.com解析主机名
        nslookup www.baidu.com查询DNS记录,查看域名解析是否正常
        ps -ef查看所有进程
        ps -efgrep xxxx
        kill -s namekill指定名称的进程
        kill -s pidkill指定pid的进程
        top实时显示进程状态
        vmstat 1 20每1秒采⼀次系统状态,采20次
        iostat查看io读写/cpu使⽤情况
        sar -u 1 10查询cpu使⽤情况(1秒⼀次,共10次)
        sar -d 1 10查询磁盘性能

        6.常见系统服务命令

        常用命令作用
        chkconfig --list列出系统服务
        service status查看某个服务
        service start启动某个服务
        service stop终止某个服务
        service restart重启某个服务
        systemctl status 查看某个服务
        systemctl start 启动某个服务
        systemctl stop 终止某个服务
        systemctl restart 重启某个服务
        systemctl enable 开启自启动
        systemctl disable 关闭自启动

        7.文件和目录操作

        常用命令作用
        cd 进入某个目录
        cd ..回上级目录
        cd ../..回上两级目录
        cd进个人主目录
        cd -回上⼀步所在目录
        pwd显示当前路径
        ls查看文件目录列表
        ls -F查看目录中内容(显示是⽂件还是⽬录)
        ls -l查看⽂件和⽬录的详情列表
        ls -a查看隐藏⽂件
        ls -lh查看⽂件和⽬录的详情列表(增强⽂件大小易读性)
        ls -lSr查看⽂件和⽬录列表(以⽂件大小升序查看)
        tree查看⽂件和目录的树形结构
        mkdir 创建⽬录
        mkdir dir1 dir2同时创建两个⽬录
        mkdir -p /tmp/dir1/dir2创建⽬录树
        rm -f file1删除’file1’⽂件
        rmdir dir1删除’dir1’⽬录
        rm -rf dir1删除’dir1’⽬录和其内容
        rm -rf dir1 dir2同时删除两个⽬录及其内容
        mv old_dir new_dir重命名/移动⽬录
        cp file1 file2复制⽂件
        cp dir/* .复制某⽬录下的所有⽂件⾄当前⽬录
        cp -a dir1 dir2复制⽬录
        cp -a /tmp/dir1 .复制⼀个⽬录⾄当前⽬录
        ln -s file1 link1创建指向⽂件/⽬录的软链接
        ln file1 lnk1创建指向⽂件/⽬录的物理链接
        find / -name file1从跟⽬录开始搜索⽂件/⽬录
        find / -user user1搜索⽤户user1的⽂件/⽬录
        find /dir -name *.bin在⽬录/dir中搜带有.bin后缀的⽂件
        locate 快速定位⽂件
        locate *.mp4寻找.mp4结尾的⽂件
        whereis 显示某⼆进制⽂件/可执⾏⽂件的路径
        which 查找系统⽬录下某的⼆进制⽂件
        chmod ugo+rwx dir1设置目录所有者(u)、群组(g)及其他⼈(o)的读(r)写(w)执⾏(x)权限
        chmod go-rwx dir1移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限
        chown user1 file1改变⽂件的所有者属性
        chown -R user1 dir1改变⽬录的所有者属性
        chgrp group1 file1改变⽂件群组

        8.文件查看和处理

        常用命令作用
        cat file1查看⽂件内容
        cat -n file1查看内容并标示⾏数
        cat xxx.txt查看xxx.txt文件
        tac file1从最后⼀行开始反看⽂件内容
        more file1查看⼀个长⽂件的内容
        less file1类似more命令,但允许反向操作
        head -2 file1查看⽂件前两行
        tail -2 file1查看⽂件后两行
        tail -f /log/msg实时查看添加到⽂件中的内容
        grep xxxx hello.txt在⽂件hello.txt中查找关键词xxxx
        grep ^xxxx hello.txt在⽂件hello.txt中查找以xxxx开头的内容

        9.打包和解压

        常用命令作用
        zip xxx.zip file压缩至zip包
        zip -r xxx.zip file1 file2 dir1将多个⽂件+目录压成zip包
        unzip xxx.zip解压zip包
        tar -cvf xxx.tar file创建⾮压缩tar包
        tar -cvf xxx.tar file1 file2 dir1将多个⽂件+⽬录打tar包
        tar -tf xxx.tar查看tar包的内容
        tar -xvf xxx.tar解压tar包
        tar -xvf xxx.tar -C /dir将tar包解压⾄指定⽬录
        tar -cvfj xxx.tar.bz2 dir创建bz2压缩包
        tar -jxvf xxx.tar.bz2解压bz2压缩包
        tar -cvfz xxx.tar.gz dir创建gzip压缩包
        tar -zxvf xxx.tar.gz解压gzip压缩包
        bunzip2 xxx.bz2解压bz2压缩包
        bzip2 filename压缩⽂件
        gunzip xxx.gz解压gzip压缩包
        gzip filename压缩⽂件
        gzip -9 filename最⼤程度压缩

        10.RPM包管理命令

        常用命令作用
        rpm -qa查看已安装的rpm包
        rpm -q pkg_name查询某个rpm包
        rpm -q --whatprovides xxx显示xxx功能是由哪个包提供的
        rpm -q --whatrequires xxx显示xxx功能被哪个程序包依赖的
        rpm -q --changelog xxx显示xxx包的更改记录
        rpm -qi pkg_name查看⼀个包的详细信息
        rpm -qd pkg_name查询⼀个包所提供的⽂档
        rpm -qc pkg_name查看已安装rpm包提供的配置⽂件
        rpm -ql pkg_name查看⼀个包安装了哪些⽂件
        rpm -qf filename查看某个⽂件属于哪个包
        rpm -qR pkg_name查询包的依赖关系
        rpm -ivh xxx.rpm安装rpm包
        rpm -ivh --test xxx.rpm测试安装rpm包
        rpm -ivh --nodeps xxx.rpm安装rpm包时忽略依赖关系
        rpm -e xxx卸载程序包
        rpm -Fvh pkg_name升级确定已安装的rpm包
        rpm -Uvh pkg_name升级rpm包(若未安装则会安装)
        rpm -V pkg_nameRPM包详细信息校验

        11.YUM包管理命令

        常用命令作用
        yum repolist enabled显示可⽤的源仓库
        yum search pkg_name搜索软件包
        yum install pkg_name下载并安装软件包
        yum install --downloadonly pkg_name只下载不安装
        yum list显示所有程序包
        yum list installed查看当前系统已安装包
        yum list updates查看可以更新的包列表
        yum check-update查看可升级的软件包
        yum update更新所有软件包
        yum update pkg_name升级指定软件包
        yum deplist pkg_name列出软件包依赖关系
        yum remove pkg_name删除软件包
        yum clean all清除缓存
        yum clean packages清除缓存的软件包
        yum clean headers清除缓存的header

        12.DPKG包管理命令

        常用命令作用
        dpkg -c xxx.deb列出deb包的内容
        dpkg -i xxx.deb安装/更新deb包
        dpkg -r pkg_name移除deb包
        dpkg -P pkg_name移除deb包(不保留配置)
        dpkg -l查看系统中已安装deb包
        dpkg -l pkg_name显示包的⼤致信息
        dpkg -L pkg_name查看deb包安装的⽂件
        dpkg -s pkg_name查看包的详细信息
        dpkg –unpack xxx.deb解开deb包的内容

        13.APT软件⼯具

        常用命令作用
        apt-cache search pkg_name搜索程序包
        apt-cache show pkg_name获取包的概览信息
        apt-get install pkg_name安装/升级软件包
        apt-get purge pkg_name卸载软件(包括配置)
        apt-get remove pkg_name卸载软件(不包括配置)
        apt-get update更新包索引信息
        apt-get upgrade更新已安装软件包
        apt-get clean清理缓存

        常用的命令

        1.不同目录下切换

        • 进入root目录
          sudo su
          
          • 进入用户目录,如用户名是BossDog
            su BossDog
            

            2.进入到某个目录

            cd:打开某个文件夹,如cd Desktop/

            cd ..:回退到上一个目录

            Linux常用指令总结
            (图片来源网络,侵删)

            pwd:显示当前所在的目录路径

            3.显示当前目录中的文件和子目录

            • ls:ls是"list"的缩写,用于列出指定目录中的文件和子目录,它的常用选项包括:
              -l:以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等。
              -a:显示所有文件和目录,包括以"."开头的隐藏文件。
              -h:以人类可读的格式显示文件大小,如使用K、M、G等单位。
              -r:以相反的顺序显示文件和目录。
              -t:按照修改时间排序,最新修改的文件或目录显示在前面。
              
              • ll:ll是ls -l的简写形式,实际上是ls命令的一个别名。它以长格式显示目录中的文件和子目录,并且默认包含了一些常用的选项,如显示文件权限、所有者、大小、修改时间等。

                4.解压缩文件

                • 使用unzip指令

                  压缩命令

                  zip newfile.zip file1 file2 file
                  # 将文件file1、file2和file3压缩成名为newfile.zip的压缩文件
                  
                  # 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
                  zip -q -r html.zip /home/html
                  

                  解压缩命令

                  unzip filename.zip
                  
                  • 使用tar指令

                    压缩命令

                    tar -zcvf filename.tar.gz newfilename
                    

                    解压缩命令

                    tar -zxvf filename.tar.gz
                    
                    • 解压缩.tar.bz2格式的文件

                      压缩命令

                      tar -cjf images.tar.bz2 ./images/
                      

                      解压缩命令

                      tar -xjf images.tar.bz2
                      

                      5.创建文件或文件夹

                      mkdir:创建一个文件夹

                      mkdir -p /root/.config/autostart
                      

                      touch:创建一个文件

                      touch test.txt
                      

                      6.删除文件或文件夹

                      rm(remove的缩写):删除一个文件

                      rm test.txt
                      

                      rm -r:删除一个文件夹

                      rm -r src
                      

                      rm -rf xxx:无提示地强制递归删除xxx文件

                      7.关于终端的常用操作

                      reset:重新初始化终端/清屏

                      clear:清屏

                      history:查看命令历史

                      help:帮助

                      exit:退出

                      8.打开终端

                      Ctrl+alt+T:linux中打开终端的快捷键

                      Ctrl+shift+T:在同一终端中打开另一个终端

                      9.建立符号连接(软连接)

                      sudo In -s:用于建立符号连接(又称软连接)

                      sudo ln -s 源文件  目标文件
                      sudo ln -s hikvision/hikvision.so hikvision/lib/libMvCameraControl.so
                      

                      如果报错说某个文件已存在,就删掉那个文件

                      10.全局查找某一个文件

                      find / -name "Force.png":寻找一个文件Force.png

                      find / -name "*penmount*":寻找带penmount字样的文件和文件夹

                      11.关于ip的设置

                      ifconfig :查询网口信息

                      sudo systemctl restart NetworkManager.service :重启网络服务

                      ifconfig eth0 192.168.192.10 up :设置网卡eht0的ip地址

                      ifconfig eth0 up:启动网卡eth0

                      ifconfig eth0 down:关闭网卡eth0

                      ifconfig  名字  192.168.31.169 netmask 255.255.255.0
                      # 临时设置某个网卡的ip地址
                      

                      12.关节和重启

                      shutdown now:关节

                      reboot:重启

                      13.启动和关闭后台终端

                      Ctrl+Alt+F1:切换到第一个虚拟终端,也就是TTY1。在TTY1上可以登录并执行命令行操作,通常用于系统维护和故障排查。

                      Ctrl+Alt+F7:切换回图形界面,也就是X会话。

                      14.查看程序是否在运行状态

                      假设运行程序是hikcamera

                      ps -ax|grep hikcamera # 查看程序是否在运行状态
                      ps -A # 显示所有程序
                      ps a # 显示现行终端机下的所有程序,包括其他用户的程序
                      ps e # 列出程序时,显示每个程序所使用的环境变量
                      ps aux | grep hikcamera # 查询hikcamera的进程
                      htop -p `pgrep hikcamera` # 查询hikcamera的进程
                      pgrep hikcamera # 查看进程的信息
                      pidof ××× # 查询×××软件是否在进程中
                      killall hikcamera # 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程
                      

                      15.克隆一个项目并进行编译的步骤

                      git clone git://github.com/stevengj/nlopt
                      cd ×××
                      mkdir build
                      cd build
                      cmake ..
                      make -j`nproc`  
                      sudo make install
                      

                      或者克隆下来以后,直接用Qt打开该项目的CMakeList.txt,注意项目的构建目录,要改成项目名/build,然后先执行cmake,再进行项目构建。

                      16.gdb指令

                      gdb ./hikcamera
                      -l # 显示源代码
                      -b # 设置断点
                      -i # 查看信息,如i b查看设置的断点信息
                      -n # 执行下条语句
                      -r # 运行程序
                      -p # 打印变量值,如p sum 打印变量sum的值
                      -q # 退出gdb调试
                      
                      gdb -p `pgrep aubo_control`
                      # 进去后输入bt查看堆栈信息,或者run执行程序,q是退出
                      

                      17.下载软件安装包后安装软件

                      apt download ×××:下载软件包:

                      dpkg -i libdouble-conversion3_3.1.5-4ubuntu1_amd64.deb :安装软件包

                      18.tcpdump抓包工具

                      tcpdump -i 网卡 -w 名字.cap
                      tcpdump -i enp1s0 -w test.cap
                      

                      19.ldd指令

                      ldd -r ×××.so
                      # 执行数据对象和函数的重定位,并且报告任何丢失的对象和函数,可查看当前so库的所有链接文件
                      # 用来打印或者查看程序运行所需的共享库(访问共享对象依赖关系),常用来解决程序因缺少某个库文件而不能运行的一些问题
                      cp  -d  
                      # 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
                      readelf -d hikcamera
                      # 显示程序依赖的动态库
                      

                      20.新建子仓库

                      git submodule add https://gitlab.com/libeigen/eigen 
                      # 新建一个子仓库
                      git submodule update --init 
                      # git更新模块
                      

                      21.手动启动xfwm4

                      xfwm4 --daemon &
                      

                      22.指定math.cpp生成名为libmath.so的动态链接库

                      gcc -shared -fPIC math.c -o libmath.so
                      

                      23.指定链接库为当前目录

                      # 指定链接库为当前目录,搜索不到再去系统目录下搜索/usr/local/lib
                      export LD_LIBRARY_PATH="$(pwd)"
                      

                      24.卸载软件

                      sudo apt-get --purge remove ×××××
                      

                      25.netstat

                      sudo netstat -ap | grep 120225 # 查询进行120225的IP地址和端口号
                      netstat –tnlp
                      
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon