常用的linux命令整理

    技术2025-06-25  8

    今天学习了2个小时左右的linux shell命令,书上介绍的比较全,很多平时都不知道的,才发现原来可以这么方便。

    整理了一下,贴出来。

     

    Linux shell的基本格式:

    Command [options] [arguments]

    一般情况下 man 一下,就能看到常用的一些参数了;

     

    系统管理命令:

    1) ls

        最常用的,-l,-t,还有的系统上是有ll这个命令的,和ls -l一样;

    2) pwd

    3) cd

    4) date

        这个平时用的比较少,date -s 可以设置日期时间,date '+%Y-%m-%d  %T'就可以显示当天的时间和日期了;

    5) passwd

        修改密码,其实也可以修改/etc/passwd文件,一样的;

    6) su

        改变当前用,'-'可以加载相应用户下的环境变量;

    7) clear

    8) man

    9) who

        查看登陆到系统的用户,who -r 查看当前系统运行级别;who -buT就可以查看每个用户的登陆详情和登陆状态;

    10) w

        跟who有点类似

    11) uname

        显示操作系统相关的信息,uname -a查看操作系统全部信息;

    12) uptime

        显示当前系统时间,系统开机到现在的时间,用户,平均负载等;

    13) last

        显示目前和过去登入系统的用户相关,查看/var/log/wtmp文件也能同样查看;

    14) dmesg

        显示系统开机信息

    15) free

        查看内存信息,例如free -m -s 3,每隔3s显示内存状态,以mb为单位;

    16) ps

        查看系统进程,ps -x 或者 ps -ef 或者 ps -aux

    17) top

        比较重要的一个命令,实时监控处理器状态;

        进入top信息后:

            m可以切换显示内存信息;

     

            t切换进程和cpu状态;

     

            l切换显示平均负载和启动时间信息;

     

            P根据cpu使用多少进行排序;

     

            q退出;

     

        Top信息的含义:

            VIRT代表了进程使用的虚拟内存,单位为kb,VIRT=SWAP+RES;

     

            RES代表了进程使用的,没有被换出的物理内存大小,单位也为kb,RES=CODE+DATA;

     

            SHR代表了共享内存大小,单位kB;

     

            进程状态,D表示不可中断睡眠,R运行,S睡眠,T跟踪/停止,Z僵死进程;

     

    文件管理命令:

    1) mkdir 

        mkdir -p可以为不存在的路径自动创建文件夹;

    2) more 

        逐屏显示;

    3) cat

        打印到终端,也可以利用 > 管道合并文件,如cat a b > c;cat -b可以显示行号(非空行);

    4) diff

        比较文件,diff -c 显示全部内容,并标出不同之处;diff -r 比较目录;

    5) grep

        比较有用的一个文本过滤工具,主要和其他命令配合使用;grep -i忽略大小写,grep -n显示行号;

    6) rm

        删除,rm -r删除目录,rm -f忽略不存在的问题;

    7) touch

        修改文件的访问时间和修改时间,touch -a改变文件的访问时间为当前系统时间,touch -m改变文件的修改时间为当前系统时间;直接touch相当于创建文件;touch -r表示参考其他的文件的时间做修改,类似于refer;

    8) ln

        链接,直接ln src dest为硬链接,ln -s为软链接,类似windows下的快捷方式;

    9) file

        显示文件类型;

    10) cp

        拷贝, cp src dest;cp -a保留文件所有属性,cp -r目录下递归拷贝;

    11) find

        很强大的查找命令,格式为find path [options] [-print -exec -ok 命令{} /;]

        参数格式:

            -name ' ' :文件名匹配过滤;

     

            -path ' ':路径名匹配过滤;

     

            -mtime +n/-n:按时间过滤,+n表示n天前的,-n表示n天后的;

     

            -print:搜索结果输出到标准输出;

     

            -exec:搜索出的结果执行给出的linux命令,注意给出的命令要以 “{} /;”结束;

     

            -ok:表示exec执行linux命令是需要交互;

     

    12) split

        分割文档,split -b按大小分割,split -n按文件长度分割,split -d分割生成的文件序列以数字形式命名,默认按a、b、c等等命名;例如split -b 2M -d a.log a.log.bak,则会生成a.log.bak01, a.log.bak02等等;

    13) mv

        移动文件或者目录

     

    压缩与解压缩

    1) tar

        最常见的打包解包命令,常用的tar -zxvf打包,tar -zcvf打包。

        参数含义:

            -c:创建新的文件

     

            -x:解包

     

            -z:用gzip命令进行压缩或者解压缩

     

            -j:用bzip2命令进行压缩或者解压缩

     

            -f:指定文件名,必须是最后一个参数

     

            -v:在打包或者解包时,显示文件名

     

    2) dd

        转换或者拷贝文件命令,可以用来备份设备。

        dd if="input_file" of="output_file" bs="block_size" count="number of bs"

     

    磁盘管理与维护

    1)df

        检查磁盘空间情况

        常见的df -hT,可以查看当前文件系统类型和分区情况;df -i可以显示文件系统分区的inodes信息;

    2)du

        显示目录或者文件占用的磁盘空间;

        一般du -sh 就可以了;

    3)fsck

        检查文件系统并尝试修复错误,慎用;

        参数 -r 采取互动的修复模式,-T显示执行过程,推荐;

        其实fsck是调用了/sbin/fsck.ext3命令

    4)sync

        将内存中的数据写回磁盘,无需参数

    5)eject

        弹出设备,-c光驱,-d默认设备,-f软盘,-q磁盘,-r光盘,-n指定路径(推荐);

    6)mount/unmount

        挂载和卸载文件系统,常用的命令之一;

        mount [-o 选项] [-t 文件系统类型] [设备名] [挂载点];

        文件类型包括有ext2, ext3, msdos(FAT), vfat, nfs, iso9660, nfs等等;

        -o选项一般默认就可以了;

     

    网络设置与维护

    1) ifconfig

        配置网络或者显示当前网络的状况;

        -a,显示所有

        常用的如下:

            ifconfig 不带参数,显示网卡状态;

     

            ifconfig eth0 up/down 禁用或者启用网卡eth0;

     

            ifconfig eth0 hw ether **:**:**:**:**:** 修改网卡eth0的mac地址;

     

            ifconfig eth0 192.168.1.12 netmask 255.255.255.254 修改网卡eth0的ip和地址和子网掩码;

     

    2) scp

        非常是用的一个远程copy命令

        与cp不一样的是,远程的文件名需要格式:用户名@ip地址#端口:路径文件名; 

    3) netstat

        显示本机网络连接,运行端口和路由表等信息;

        -a 显示所有的连接和监听;

        -t 显示所有的tcp连接情况;

        -u 显示所有的udp连接情况

        -r 显示路由表信息

     

        -n 以网络ip的形式显示当前建立的连接和端口

     

        常用:

            netstat -rn 显示路由信息;

     

            netstat -an 显示所有有效的tcp连接;

     

            netstat -tlnpu 显示已经启动的网络连接和对应的端口信息;

     

            netstat -atunp 显示目前系统上处于连接状态的资源信息;

     

    4) traceroute

        显示网络数据包传输的路径信息

        Traceroute [选项] [远程ip或者主机名] [数据包大小]

        常用选项:

        -i:指定网卡

        -n:使用ip

        -w:设置超时时间,以秒为单位;

        -s:来源ip,本机发送数据包的ip;

        例如 traceroute -i eth0 -s 192.168.1.12 -w 10 www.baidu.com 100,可以显示从本地192.168.1.12发送到www.baidu.com的100bytes的包中间经过了多少路由转发;

    5) telnet

        一般就用来看看到对方的网络端口能不能通,其他基本用不上;

    6) wget

        下载命令,后面直接加网址就可以了

     

    最新回复(0)