zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    一张图片入门Python
    4.1. 如何在Windows环境下开发Python
    你必须知道的EF知识和经验
    XUnit的使用
    如何使用NUnit
    Entity Framework 不支持DefaultValue
    Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT?
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
    Entity Framework 与多线程
    sqlite中的自增主键
  • 原文地址:https://www.cnblogs.com/cslunatic/p/3044081.html
Copyright © 2011-2022 走看看