• linux 常用到的命令(持续更新)


    getconf LONG_BIT #查看系统位数

    ls  -al  #显示隐藏的文件,linux下在文件加"."隐藏文件。

    sysctl  -l  #是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。

    sysctl -A | grep keep  #查看linux tcp的保活定时器

    fuser –k /path/to/your/filename  #fuser通常被用在诊断系统的“resource busy”问题,通常是在你希望umount指定的挂载点得时候遇到。 如果你希望kill所有正在使用某一指定的file, file system or sockets的进程的时候,你可以使用-k option。 

    lynx -mime_header -auth=username:password "http://members.3322.net/dyndns/update?system=dyndns&hostname=domainname.3322.org"  #3322动态域名绑定

    make clean  #清除编译过程中产生的临时文件

    make distclean #清除配置过程中产生的文件

    man  #Linux丰富的帮助手册,可以查看命令,系统调用API函数的帮助

    ping  www.inesa-etv.com #PING www.inesa-etv.com (120.90.0.50): 解析出网络IP地址为120.90.0.51。

    watch -n 1 "ifconfig eth0" #ifconfig 本身已经提供了某个接口当前的实时流量信息,通过watch命令可以做到动态更新

    watch more /proc/net/dev  #linux下查看网络流量

    traceroute #跟踪数据包到达网络主机所经过的路由工具;

    route  #命令查看 Linux 内核路由表 UG是何意?这里面有U,有G, 有的可能还有H

        #U的意思是当前的路由是运行的、有效的
        #G的意思是通过gateway连接的,因为有一种连接时可以直接连接的,但是我们现在一般不存在,除非自己组建的网络
        #H的意思是指对某一个特定的机器的路由

    dmesg |grep mmc #获取内核mmc的打印信息

    lsmod #显示已载入系统的模块

    lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more 

          #131 24204 
      #57 24244  
      #57 24231  
      #56 24264

      #其中第一列是打开的文件句柄数量,第二列是进程号。得到进程号后,我们可以通过ps命令得到进程的详细内容。

    lsof -p pid   #看到某个进程开了哪些句柄

    lsof -p pid |wc -l  #某个进程开了几个句柄

    lsof  |wc -l #查看打开多少文件句柄

    lsof path/filename #某个目录 /文件被什么进程占用了,显示已打开该目录或文件的所有进程信息

    ps -aef|grep 24204 #mysql  24204 24162 99 16:15 ?    00:24:25 /usr/sbin/mysqld

    cat(more) /proc/sys/fs/file-max  #查看系统总限制 命令

    cat(more) /proc/sys/fs/file-nr  #查看整个系统目前使用的文件句柄数量命令

    dhwclock --show  #显示硬件时钟时间
    hwclock --hctosys  #硬件时钟与系统时间同步
    hwclock --systohc  #系统时间与硬件时钟同步

    date; ifconfig eth1 #针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得

    fuser -k -SIGHUP /root/install.log #只是挂起进程,那么发送HUP信号就可以了

    fuser - k  /usr/sbin/thttpd  #杀死所有的正在访问指定文件(/usr/sbin/thttpd )的进程, 它发送信号:SIGKILL杀死的进程

    lsof |grep /media/sda1/   #查找使用这个文件的进程和命令,linux下一切皆文件, /media/sda1/硬盘挂载的节点,umount的时候提示device is busy, 查看使用的进程,然后杀掉。

    date -s "2007-08-03 14:15:00" #ubuntu设置时间日期

    mlabel i: newLabelName  #Fat16/Fat32格式 使用命令修改分区卷标, drive i: file="/dev/sda2" //里面的”/devsda2”应根据实际情况更改为你要改的盘, mcd i: 更改命令提示符路径到”i:”盘:, mlabel -s i: 查看”i:”当前的卷标.

    ntfslabel /dev/sda1 newLabelName  #NTFS格式 使用命令修改分区卷标

    e2label /dev/sda1 newLabelName   #ext2/ext3格式 使用内置命令修改分区卷标  e2lable /dev/sda1 查看卷标

    wc -c filename   #显示一个文件的字节数
    wc -m filename     #显示一个文件的字符数
    wc -l filename  #显示一个文件的行数
    wc -L filename  #显示一个文件中的最长行的长度
    wc -w filename  #显示一个文件的字数

    cat /proc/2506/maps  #使用进程maps文件深入分析, 2506是ps的时候可以看到的进程的进程号PID

    flash_eraseall /dev/mtd3    #擦除falsh分区3

    dd if=/tmp/cramfs of=/dev/mtdblock3 bs=512  #用dd命令烧写cramfs文件系统

    flash_eraseall /dev/mtd4  #擦除falsh分区4

    nandwrite -a -o /dev/mtd4 /tmp/yaffs  #用nandwrite命令烧写yaffs文件系统; 注意:如果同时烧写cramfs和yaffs,可能要先烧写yaffs,再烧写cramfs,否则可能会出现对齐错误。

    lsusb   #查看系统中的USB设备 |主控制器号|设备号|设备ID|

    demsg  #从内核的log buffer中获取信息并将它们打印出来。

    netstat -nlp  #查看网络连接情况 -n -l - p

    lsof -i :port       #使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。

    od -c hello         #通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件

    hexdump -C myfile    #以16进制查看文件

    ctrl + shift + alt + F1   #ubuntu切换到终端模式

    Alt+F7    #ubuntu切换到图形界面

    touch -d "2010-05-31 08:10:30" xxx.doc  #同时修改文件的修改时间和访问时间

    touch -m -d "2010-05-31 08:10:30" xxx.doc #只修改文件的修改时间

    touch -a -d "2010-05-31 08:10:30" xxx.doc  #只修改文件的访问时间

    file xxx.ko  #查看xxx.ko是不是编译的属性(arm,x86...)

    touch xxx   #创建xxx文件

    ifconfig ethx up   #打开网卡x

    ifconfig ethx down  #关闭网卡x

    echo 1 > xxx(file)   #写到文件中(> 重定向)

    tar -zcvf  rootfs.tar.gz  *    #压缩成*.tar.gz格式

    tar -jcvf rootfs.tar.gz2  *    #压缩成*.tar.gz2格式

    tar -jxvf xxxx.tar.bz2    #解压.tar.bz2格式的压缩包

    xz -d ***.tar.xz  tar -xvf  ***.tar  #解压***.tar.xz文件

    grep -r TSLIB_QWS_MOUSE_PROTO /  #在整个根目录下查找字符串TSLIB_QWS_MOUSE_PROTO 区分大小写

    grep -ir hello .    #在当前所有目录下文件中查找hello,不区分大小写

    unrar x *.rar     #x参数 是解压到一个文件里

    unrar e *.rar  #e参数  是把所有文件解压到当前的目录下

    cat /proc/meminfo  #机器的内存使用信息

    sudo -s -H  或者 su   #输入登陆密码,进入root。 exit、logout或者ctrl+D(快捷键)退出root。

    fdisk #fdisk 是一款强大的磁盘操作工具,来自util-linux软件包,我们在这里只说他如何查看磁盘分区表及分区结构;参数 -l ,通过-l 参数,能获得机器中所有的硬盘的分区情况

    free -m  #查看内存使用情况 free 查看内寸

    cat /proc/pid/maps  #pid为进程号,显示当前进程所占用的虚拟地址。

    cat /proc/pid/statm  #进程所占用的内存

    ll -h /proc/kcore #查看/proc/kcore文件的大小(内存镜像)

    top    #top 命令来查看 CPU 使用状况

    ipcs -q   #显示消息队列分配的情况

    ipcs -s   #显示信号量

    ipcs -m   #只显示共享内寸

    mkimage -A arm -O linux -T kernel -C none -a -e -n -d zImage uImage  #生成uImage(u-boot专用镜像文件)

    grep -qe 'nfs\|smbfs\|ncp\|coda.*' /proc/mounts   # 文件/proc/mounts 匹配nfs,smbfs或ncp或code,*在正则表达式中表示0个或者多个某字符,.* 只能限制0个或多个任意字符, -q不输出

    cat /proc/sys/kernel/threads-max   #Linux支持线程的最大个数

    cat /proc/sys/kernel/pid_max   #Linux支持最大的进程ID 默认32768

    cat /proc/interrupts    #查看已经使用的中断和IO资源

    mount -t debugfs debugfs /xxx   #挂载debugfs文件系统

    umount debugfs       #卸载debugfs文件系统

    mount -l   #查看挂载的文件系统

    uname -r   # 查看内核版本

    ulimit     #通过一些参数选项来管理不同种类的系统资源

    选项 [options] 含义 例子
    -H 设置硬资源限制,一旦设置不能增加。 ulimit – Hs 64;限制硬资源,线程栈大小为 64K。
    -S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。 ulimit – Sn 32;限制软资源,32 个文件描述符。
    -a 显示当前所有的 limit 信息。 ulimit – a;显示当前所有的 limit 信息。
    -c 最大的 core 文件的大小, 以 blocks 为单位。 ulimit – c unlimited; 对生成的 core 文件的大小不进行限制。
    -d 进程最大的数据段的大小,以 Kbytes 为单位。 ulimit -d unlimited;对进程的数据段大小不进行限制。
    -f 进程可以创建文件的最大值,以 blocks 为单位。 ulimit – f 2048;限制进程可以创建的最大文件大小为 2048 blocks。
    -l 最大可加锁内存大小,以 Kbytes 为单位。 ulimit – l 32;限制最大可加锁内存大小为 32 Kbytes。
    -m 最大内存大小,以 Kbytes 为单位。 ulimit – m unlimited;对最大内存不进行限制。
    -n 可以打开最大文件描述符的数量。 ulimit – n 128;限制最大可以使用 128 个文件描述符。
    -p 管道缓冲区的大小,以 Kbytes 为单位。 ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。
    -s 线程栈大小,以 Kbytes 为单位。 ulimit – s 512;限制线程栈的大小为 512 Kbytes。
    -t 最大的 CPU 占用时间,以秒为单位。 ulimit – t unlimited;对最大的 CPU 占用时间不进行限制。
    -u 用户最大可用的进程数。 ulimit – u 64;限制用户最多可以使用 64 个进程。
    -v 进程最大可用的虚拟内存,以 Kbytes 为单位。 ulimit – v 200000;限制最大可用的虚拟内存为 200000 Kbytes。

    ulimit -HSn 4096 #H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后。

    ulimit -n  #查看Linux系统默认的最大文件句柄数,系统默认是1024

    嵌入式QQ交流群:127085086
  • 相关阅读:
    hdu 1171 Big Event in HDU (01背包)
    Codeforces 86C Genetic engineering (AC自己主动机+dp)
    ANDROID L——Material Design具体解释(动画篇)
    三层架构理论篇
    Linux下的tree命令 --Linux下文件夹树查看
    排序之冒泡排序、插入排序及希尔排序
    TRIZ系列-创新原理-9~11-预先反作用原理、预处理原理、预先防范原理
    Linux 获得机器的IP和网卡信息
    Hackerrank
    Android编程之Fragment使用动画造成Unknown animation name: objectAnimator异常
  • 原文地址:https://www.cnblogs.com/cslunatic/p/3044081.html
Copyright © 2020-2023  润新知