码迷,mamicode.com
首页 > 系统相关 > 详细

Linux命令汇总

时间:2016-11-05 23:21:14      阅读:428      评论:0      收藏:0      [点我收藏+]

标签:位图   uri   client   管理系统   用户   所有者   arc   arch   classpath   

  1. linux查询进程占用哪些端口:netstat –nlap
  2. 从尾部将指定内容输出指定文件:tail -n 100000 /data/HaierServerHomeAir/logs/uhome_service_log >> /data/log07181113.txt
  3. Xxx is not soduers file问题:看看用户是否是root,如果不是,su命令,输入密码,此时切换到了root用户;
  4. vim进入到编辑模式:1. Ctrl+C;2. :e!;下一步就是保存:1. Ctrl+C;2. :wq!
  5. Vi进入编辑模式:1. 摁一下i就可以了;保存:1.ctrl + c;2. :wq!,vim是vi的升级版本,vi是linux原生的编辑器
  6. 查看当前目录路径:pwd(Print Work Directory)
  7. Linux下面命令有的是单横线,有的是双横线;但是这两种横线其实是有开发的时候定义的,并没有什么硬性规定;
  8. 压缩文件:
    tar -czf uos07311445.tar.gz uos
    uos07311445.tar.gz为目标gz文件,ous为要压缩的文件
  9. 解压缩文件:首先是将路径定位到要解压缩的路径,然后执行:
    tar -xzvf uos07311445.tar.gz
    文件将直接解压缩到当前路径;-x代表校验释放,-z代表校验是否为zip,-v显式解压缩的文件,-f指定压缩/解压缩的文件后面紧跟着文件路径(如果是当前路径仅需要写出文件名即可);
  10. 删除文件:rm uos07311445.tar.gz(删除文件,目录不行);
  11. lsof(list open files):罗列系统打开的文件
  12. 查看各进程占用cpu和内存的百分比(%):top
  13. 查看文件/etc/sysctl.conf,第一个开头为"/",代表根目录,所以到etc目录可以直接"cd /etc",然后通过
  14. cat sysctl.conf来查看文章;cat无参指令将会一次性加载文章的所有内容(vi只会加载满屏数据,但是vi具有编辑功能,cat是只读功能);cat –n 用来输出文件指定行数的内容,还可以用来将一个文本的内容输出到另外一个文件 cat file1 > file2(">"代表附加到覆盖,">>"代表追加;
  15. vi sysctl.conf来编辑文本;敲入"i"是进入到编辑模式;敲":q!"来退出文本;
  16. 查看命令服务器的log文件(看心跳等等信息),
  17. 1)使用cd /data定位到根目录下面的data文件夹;
  18. 2)然后dir查看里面的文件夹,敲入cd HaierCommonServer/logs;
  19. 3)查看uhome_service-XXX最先的log,使用tail –f uhome_service-XXX,通过这种方式来动态查看文件的变化(首先显示的是文件的尾部信息,然后是动态的显示文件的变化信息);
  20. 查看进程的端口:netstat –anp,展示所有的进程所占用的端口;–anp,展示所有的进程所占用的端口;根据端口查看进程:lsof i:8080;
  21. 有的log非常的大,不能使用tail -50f XXX之类的方式来查询,比如要全文检索"推送",我们能做的就是vi XXX,回车,返回n行,之后敲"/",这样就会进入到查询模式,敲入"推送",回车,定位到了第一个处,然后"ctrl + N",会定位到下一处,通过上下箭头则可以查看定位出前后的位置的内容。
  22. 剪切,在linux的意义是移动:mv source_filepath+filename, destination_folder
    例如:mv /data/HSJAchievement_Document/AirConditionWash_src.zip /data/AirCondition_Document
  23. 设置共享目录
    mkdir /mnt/shared 新建挂载点(mountpoint)
    mount -t vboxsf share /mnt/shared 挂载共享文件夹
    cd /mnt/shared 进入共享文件夹
  24. 看linux版本:lsb_release –a
  25. 测试gcc的安装:
  26. /root/nginx-1.2.4/configure
  27. 一定要全路径,这样才会测试到,如果显示为"C compiler gcc is not found"则代表gcc没有安装成功;
  28. grep是对于文本进行正则表达式过滤,-a代表对于二进制格式文本也看做文本来处理;有的时候会有"Binary file 二进制文件名 matches"的问题,通过在grep后面添加-a命令再加上过滤条件即可避免这个问题;
  29. Linux删除文件(夹)命令:rm –rf XXX;
  30. 删除某个文件夹下的所有文件:rm -rf /test/*
  31. Linux查看文件/文件夹大小:du –sh *
  32. 全盘搜索:find –name XXX;正则匹配的话, find –name libevent*,之前就是因为直接搜索find –name libevent才导致啥也没有搜到(因为libevent文件都是后缀版本号的);
  33. 脚本执行,如果是直接执行需要使用./<filename>;如果是全路径,也是需要如此,例如执行/var/jdk1.6.0_33/bin/下面的jstack,就需要敲入:. /var/jdk1.6.0_33/bin/jstack
  34. 如果想要在任意路径下执行,就需要写执行脚本,并放置在/usr/local/sbin/下面,例如家用的tomcat日志就是放置在./usr/local/sbin/jylog;
  35. Jstack使用方式:首先是top看看cpu占用率,然后是全盘搜一下jstack,使用上面的命令;然后用命令:jstack -l <PID>查看该进程里面的堆栈。
  36. 58上面的路径是:./root/jdk1.6.0_33/bin/jstack
  37. 167上面的路径是:./usr/java/jdk1.6.0_33/bin/jstack
  38. 正式服务器路径:./var/jdk1.6.0_33/bin/jstack
  39. 文件过大,尤其是日志文件,可以通过split命令进行分隔;
  40. wc –l filename :可以获知某个文件共有多少行;分隔是可以通过行/size进行分隔;
  41. split –l 50000 filename newfilename:按照5万行一个文件进行分隔;分隔到"newFileName"的log文件中。后缀分别为aa~ZZ(最多支持分隔24*24个文件)
  42. 查看某个端口的的数量:netstat -anp | grep -i 56801 | wc –l;wc的意思是word count,l就是list,netstat命令本质是输出一个文件;其后面的参数是对netstat命令进行直接过滤和筛选;管道符(|)则是代表对文件进行处理;grep就是过滤文件中的关键字;wc同样是对于netstat命令导致的文件进行word count;
  43. 从尾部将指定内容输出指定文件:tail -n 100000 /data/HaierServerHomeAir/logs/uhome_service_log >> /data/log07181113.txt
  44. Linux执行脚本之所以需要使用./,是因为./的意思是当前目录,但是执行脚本是需要全目录的,windows下面执行exe文件默认的就是当前目录,但是linux出于安全性考虑没有这样处理,只要是执行脚本就要指定全路径,所以需要在前面加上./指定是当前目录下的XX脚本文件;
  45. 还有一种方式就是写一个脚本,比如Redis就有自己的启动/停止脚本;默认在/etc/rc.d/init.d/下面;把这个脚本拷贝到/usr/local/sbin/下面;但是这个脚本需要修改;他的很多路径有问题;而且还有一点,如果想要使用这个脚本需要让redis运行在"daemonize" yes情况下(redis.conf文件下进行配置)
  46. vi中查找关键字:在命令模式下输入"/",敲回车,然后点击"n"查看下一个(next之意),shift+n,查看上一个;
  47. linux下面的etc文件夹其实"其他,等等"的意思,但是所有的配置文件都放置在这个路径下面,比如如果想要配置nginx,通过find -name nginx找到了一堆,那么直接选择etc目录下就可以找到配置文件;usr/sbin下面是管理系统用的bin文件,即以root权限操作的可执行文件;
  48. Linuxviwq其实是writequit的意思;
  49. 查看端口被那些程序占用使用lsoflist open files)命令:lsof -i:80;还可以添加协议限制lsof -i TCP:80
  50. 切换用户suswitch user,一般普通用户切换为高级用户使用此命令;sudo则是不需要切换,但是需要管理员在sudousers配置文件中指定那个用户可以做什么事情;
  51. 看硬盘空进大小df –h,想要看分区格式使用df –Text3,ext4等);
  52. vmstat n(n=1,2,3... ...)n代表的是延迟时间;显示列bibo代表block input以及block output
  53. 索引,因为iNode很大,所以建立了一个位图索引,这让我想到了昵称生成里面的机制,只是把索引读到内存中,确定昵称也是通过内存昵称进行操作的,避免了数据库复杂的SQL
  54. Linux的内存模式是虚拟内存映射到物理内存;
  55. getconf LONG_BIT 得到系统位数,32/64
  56. lsb_relase –a 查看Linux版本lsbLinux standard base,这是Linux发行版本信息,内核信息使用uname –a或者cat /proc/version来进行查看;
  57. 看内存信息free,默认是以K为单位,后三位为K,前面三位M,再往前是G1049880,就是1G49M889K
  58. Linux~代表用户的根目录;比如连接到阿里云之后,默认就是~,使用pwd命令看后,发现时/root,因为登陆的用户就是root,所以用户的根目录就是root~等价于$home
  59. 查看某个程序是否启动,有两种方式:一种是看进程,ps –ef | grep [app name];第二种方式看端口,netstat –npl | grep 873或者lsof –i:873都可以确定程序是否启动;
  60. 想要查询yum可以安装的软件,yum search [part of application name]
  61. make是编译过程(使用gcc等编译工具,不同版本操作系统环境不一样,需要基于当前系统进行编译,所以没有编译好的,现成的东西);make.sh install,是执行安装,将程序安装到系统中,注册程序,拷贝文件到bin下面等;
  62. 对于防火墙iptables,修改完毕后,切记要调用iptables save进行保存,才会重启后仍然生效;
  63. 打开一个端口:iptables –A INPUT –p tcp --dport 11901 –j Accept
    -A, append to INPUT/ OUTPUT chain;
    -p, protocal, tcp/upd/icmp
    --dport, destinate port, means the outer access the port, relative option is –sport, source port, means the the port packets will be out;
    -j, means jump, jump to target: Accept/ Drop
    查看iptables内容iptables –L,如果想要删除规则,首先
    iptables –L –line-number
    显式带有行号的规则列表,然后通过
    iptables –D INPUT/OUTPUT num
    进行删除,需要制定INPUT以及output是因为这是两张独立的链表(chain),索引行号也是独立的;
  64. 如果想要设置开机启动,最简单的办法就是在/etc/rc.d/rc.local文件中附件上要启动的内容,比如启动FastDFStracker,另起一行,输入:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart即可;但是有一点很重要,就是要让r.local文件具有x(执行)权限,所以还需要执行chmod +x /etc/rc.d/rc.localrc.local文件是Linux系统启动之后做的最后一件启动相关的事情,之前都是把init.d下面以及rc.d下面的rc.0,rc.1...下面的脚本启动执行完毕了(rc.X里面其实引用的是init.d里面的文件),再来执行rc.localinit.d以及rc.d中的ddaemon的意思,这两个文件夹下面的执行的都是守护进程(service)应用
  65. Linux文件的权限,首先会为三种用户(创建者,创建者所在组的成员,其他用户)各自赋权限,这一点之前已经记录过;每类用户其实都有三种操作权限,rread,读),wwrite,写)以及xexcute,执行),还有一个附加在最前面的文件类型,ddirectory,目录)代表是文件夹,llink,代表是软连接文件),bc代表区块设备或者外围设备(区块设备?不懂),"-"代表普通文件,这样,表示文件夹权限一共是10位,如果有权限就是用让位显式为对应的字母,没有权限就显示为"-";"drwxr-xr-x"代表这个文件是个目录(文件夹),本目录的所有者拥有读写执行权限,组成员具有执行和读权限,其他用户具有执行权限;-rwxr-...则代表这个文件是普通文件;通过前缀可以知道文件的类型;
  66. 通过ll看到的内容,有两列是表示用户已经用户组:"-rwxrwxrwx 1 user users 12172 8 15 23:18 conkyrc.sample";第一个user代表创建用户是userusers代表该用户所在的用户组是users,可以通过"chown user conkyrc.sample"来修改所属用户,以及通过"chown :users conkyrc.sample"来修改用户组;
  67. SecurityCRT自动断开,很多时候很挠头,可以在CRT上面的"会话选项"中"终端"设定"反空闲",勾选NO-OP,并设定时间,比如一分钟;这样就可以实现终端实时和服务器交互维持回话;或者是在Linux系统中/etc/ssh/sshd_config中进行设定,打开ClientAliveInterval 并设定时间3-5分钟,这样服务器点就会定时和客户端通信;总之前者是客户端维持回话,或者是服务器维持会话(session);
  68. Linux下面安装jdk,使用yum –search jdk,然后使用yum install进行安装;将会在/usr/lib/jvm下面有一个很长的jdk的文件夹;这个就是JAVA_HOME的位置;然后你需要做的就是在vi /etc/profile,在下面添加上:
    export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    跳出来之后,执行source /etc/profile即可(这一点比windows强多了,还需要重启才能够生效,当然可以通过set方式进行设置,重启前凑合用);
  69. Wget –c url 断点续传;
  70. 正常情况下,一个链接终端的命令将会伴随着这个终端断开或者Ctrl+C之后而断开,比如wget,终端断开,下载也就终止了;使用了nohug…&指令将会使得运行和终端(shell)链接情况无关,而是在服务器后台运行;
  71. source 执行脚本语言将不会创建子进程来执行脚本,但是./ 以及sh方式将会导致每一句脚本都是子新建的子进程来跑,对于sh,是不需要chmod +x来赋权限,./的方式则需要
  72. netstat -ao | find "listening"

    a,代表显示全部

    o,代表显示进程号

    |,代表要对结果进行过滤

    find是过滤机制,只是支持字符串,但是对于整数的检索也是要添加"";另外这个指令在LinuxWindows下面通用;

Linux命令汇总

标签:位图   uri   client   管理系统   用户   所有者   arc   arch   classpath   

原文地址:http://www.cnblogs.com/xiashiwendao/p/6034062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!