`
dcj3sjt126com
  • 浏览: 1830416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux常用命令

阅读更多
搜索文件命令:

    find /dir -name httpd.conf 在/dir目录下马查找文件httpd.conf.

   find / -user 用户名 可以搜索某用户的文件.

   find / -type f -readable 2>/dev/null |xargs fgrep --binary-files=without-match -i -s 10.134.143

            /表示在搜索目录是/

          -type f 表示搜索的东西是普通文件

           2>/dev/null 把find的由于权限或文件类型出错的输出略掉

           |xargs 是把前面find得到的文件做为后面命令的输入

           fgrep --binary-files=without-mathc -i -s 10.134.143 在不是binary类型的文件搜索10.134.143串,-i表法不区分大小写,-s表示关闭错误输出.

         i.e: find ./ -type f -name 'php.ini*' 切记要加上为php.ini*加上'',因为里面有特殊字符,否则shell解析时会报错"find 路径必须在表达式之前".   

    locate httpd.conf 也可以查找,但不够实时.(先用updatedb命令来更新数据库后就会实时的);

  which ls 查找可执行文件的路径.
  whereis ls 查找可执行文件或源文件的路径
  grep 370 ./*.txt 在当前目录下搜索文本内容包括370的行. grep 370 -r ./* 搜索时包括了所有文件及子目录.
  grep abc a.txt 在a.txt中搜索abc.
文件信息
  stat /etc/inetd.conf 显示文件的详细信息,包括文件修改时间,大小,权限
  file /etc/inetd.conf 显示文件类型.
  chattr +i test.txt 设置test.txt文件不允许修改.这时执行echo "1">>test.txt 或 chmod 777 test.txt执行不成功的,会提示权限不够.
  chattr -i test.txt 允许test.txt文件修改.
  ls -lh h表示human,显示文件大小时可以以k,m,g这样可读的信息显示给用户
  tree -l 显示目录结构.没有没有安装,请先安装apt-get install tree.
  wc -l / -c 显示文件的行数与字符数.
文件内容
   more test.txt 显示文件内容
   cat test.txt 显示文件内容
   touch test.txt 建立新的空文件
   diff -a -b -y default.vcl default-suc0401.vcl 比较两个文件的不同之处.-a就是当text对比,-b忽略空白的不同,-y分屏显示.
显示系统版本
  more /etc/issue 可以显示系统发行版本.
  cat /proc/version 显示中包括了内核版本.
  uname -a 也可显示内核版本.
  uname -ar 可以看出是32位系统还是64位系统.
  /etc/hostname 可以改计算机名字.
结束程序
  killall php-fpm 进程名通过进程名杀进程.
  kill 9是强制结束程序
 
  kill 15是正常结束程序
  pgrep php 查找进程名中包含php的串,并打出所有符合条件的进程pid. 如: pgrep -u root php 以root用户启动的php进程.
  pkill php 结束pgre php查到的所有进程.
  ctrl+c = kill 2 中断(可以被进程忽略)
用户相关命令
    addgroup hadoop 添加组
     adduser --gid 1002 hadoop #1002为组hadoop的group id. 为组添加用户.
    chown -hR hadoop /usr/local/hadoop 更改目录所属人 注:h--表不影响符号连接的指向位置.R--表对子目录递归执行.
     who,显示登录用户信息。
     userdel/useradd 用户 删除用户
     groupdel/groupadd 分组 删除分组

     id [用户] 可以显示当前用户或别的用户uid,gid的信息.

权限相关

     chmod -Real 777 dir 改权限

      umask 显示或设置默认的遮挡权限 如显示为022时,使用mkdir建立的文件目录权限为755即drwxr-xr-x

      ulimit 可以查看或修改系统对当前用户的各种限制,ulimit -a , ulimit -n 3000,如进程数,内存,最大文件描述符.等信息,它只可在当前环境下生效,如果要永久生效,请修改/etc/security/limits.conf.

系统信息

     more /proc/cpuinfo  CPU信息
     cat /proc/meminfo 内存信息

     free -l 显示内存的当前信息,已用的,空闲的,缓存的等.

    fdisk -l |grep Disk 硬盘信息

     df 分区信息

    ps -aux 查看系统进程.ps -afx 显示以进程树的形式显示所有进程. 

               ps afx | grep php | wc -l 显示所有包含php的进程的数目.

    ps -emf 显示线程.

    pstree 显示当前的进程数.

系统调试命令

   strace -p 5854 追踪进程的系统调用 如: strace -p 5854 -o ./strace.txt 把所有调用写到文件strace.txt里.

   strace -p 816 -c  可以统计每进程的系统调用次数与时间.

系统负载相关命令

   cat /proc/loadavg 随时可以运行,但尚未分配到cpu而处于等待状态的进程数的平均值.如果cpu足够,此值为接近于0,经验上来说,只要此值小于cpu内核数就行.

        0.02(1分钟) 2.09(5分钟) 3.33(15分钟) 1/376(运行中的进程/总进程) 4950(最后创建的进程pid) 

   w[当前登陆的用户] / uptime[系统已经运行的时间] / tload[系统负载变化图] 显示当前连接的用户及负载.

   top 也可以显示负载. 

   nmon 工具可以更友好在的命令行下显示系统的各种实时性能参数.如cpm,mem,net,nfs,filesystem.内核kernel,等.

   vmstat -a 10 4 可以查看mem/cpu/swap等性能指标. 

   sar -A  / sar -u 10 4 查看系统各项性能指标.如没安装,请使用 apt-get install sysstat安装. 
   nice -10 top  把top命令的执行优先级调低,并同时执行top 系统默认top的PRI=20,nice=0. 这时top的PRI=30,nice=10
系统环境

    env 显示系统环境变量 例如:PATH,USER,SHELL

    export AAA="hollo francis" 把这个环境变量设入内存.然后用env|grep AAA可以看到.

    echo $AAA 可以输出此变量.

    export PATH="$PATH:/usr/local/apache/bin"    

系统的重要目录

   /etc/rc.local(ubuntu) /etc/rc.d/rc.local(redhat) 是linux系统的初始执行脚本文件.

    /etc/init.d/是系统的服务的守候程序目录,可以查看重起服务 /etc/init.d/network-manager restart 

    /etc/default/ 存/etc/init.d下的服务启动时要调用的默认配置.

                使用service network-manager restart 也可以.      

    /etc/rc0.d/- /etc/rc5.d 中的 0,5代表不同的运行级别 

    /etc/profile 每个shell启动的初始程序文件.

    /ect/passwd 文件,如果要禁止某用户登陆shell,只要把它的默认shell改成/usr/etc/nologin 或/bin/false即可.

    /etc/vim/vimrc vim的配置文件,可以在里面加上如下内容:                set number                set tabstop=4                set showmatch # {}匹配显示。

    /etc/sudoers sudo的配置文件: 可以使 linux sudo命令时记住密码 

> visudo -f /etc/sudoers #必须使用visudo,否则无法修改. 也可先把chmod 777 修改后再chmod 0440 
%admin ALL=(ALL) ALL
改為
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL 
vi使用

    /etc/vim/vimrc vim的配置文件,可以在里面加上如下内容:                set number                set tabstop=4                set showmatch # {}匹配显示。

   :%s/##/xxxx/g 会把##替换为xxxx.

   /abc 开始搜索 n搜索指向下一个被搜索到的内容.

   u 撤销.

   左ctrl+r 恢复.

   :w !sudo tee %  保存时如果没有root权限时: 操作过程 :w !sudo tee %=> 请按enter 或其它命令继续 [enter] => W12: 警告: 文件 "my.cnf" 已变动,并且在 Vim 中的缓冲区也已变动 确定([O]), 加载文件((L)) [L] => :q 退出

    :set number / :set nu   显示行号

    :set nonumber / :set nonu 去除行号  
cron相关     分     小时   日       月       星期     命令     0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)     系统的主配置文件:/etc/crontab     crontab -e 显示与编辑当前和户的cron文件:/var/spool/cron/用户名.
服务管理

   在需要管理的服务放在/etc/init.d/下,如mysql.server

   chkconfig mysql.server on/off 打开关闭服务

   chkconfig mysql.server 查看服务当前状态

   sysv-rc-conf 可以通过text界面配置,里面有1,2,3,4,5,6,s按运行级别配置.很好命名用.

   update-rc.d -f  XXXX  remove  禁止启动 (ubuntu可用)           

   update-rc.d -f  XXXX  defaults 启动 (ubuntu可用)                           

      rc6.d重新启动 (千万不要把initdefault 设置为6 )                

     rc5.d进入图形模式的运行级别是5,就是说在中的S开头进程都会运行,而S代表的是Start,后面的数字表示执行顺序,不要改.                  

          关闭开机启动,直接把文件名由S=>K测试后发现不行,必须运行: update-rc.d -f  XXXX  remove 才可以.                

      rc4.d 没有用到               

     rc3.d表示网络多用户文本模式.                

      rc2.d多用户,但是没有 NFS                

      rc1.d单用户模式就是,               

      rc0.d如果是就是关机,其中没有S开头的,都是K开头的进程名字,K代表的是Kill.

     S与1一样,表示single用户.

     [注: ubuntu比较特殊:默认级别为2,但2,3,4,5级别完全一样.都是多用户,带x界面的.]

  runlevel 查看当前的运行级别,例如输出:N  2,n表示上一次运行级别没有,当前是2.      



文件传输:

    使用rcp/scp/rsync命令,此命令使用ssh传书数据.所以在使用的机器上要装好ssh客户端,而要上传的server上要装好ssh server.

    rcp -r ./testdir nancy@10.143.134:/home/nancy 这样就把testdir的目录传输到10.143.134的/home/nancy文件夹下了.

    rcp ./test.txt nancy@10.143.134:/home/nancy 把文件test.txt传到10.143.134的/home/nancy文件夹下.

    rsync -r ./testdir nancy@10.143.134:/home/nancy  它传输的更快,它可以对比两边的文件差别,只传输差别的.

    scp 与 rcp的功能一样.没发现有什么差别.

    scp -P 2838 ./ashell root@192.168.4.2:/root/bbat 测试通过 把./ashell传到4.2上的/root/bbat目录下.

    scp hadoop@192.168.5.22:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/jobtracker_rsa.pub 从5.22复制到本机.

    wget -c ....tar.gz 可以断点下载文件.

    ssh在首次连接时会提示公钥确认。这会导致某些自动化任务失败.

The authenticity of host 'fran3 (192.168.3.182)' can't be established. ECDSA key fingerprint is 09:ee:8b:56:86:c3:3b:75:08:6e:c8:41:78:33:e7:e7. Are you sure you want to continue connecting (yes/no) 关闭操作: > vi /etc/ssh/ssh_config 在HOST *下加入 StrictHostKeyChecking no
ftp相关

ftp命令

> ftp

ftp> open xxx.com 21

输入用户名密码

ftp> quit




网络相关

    ifconfig eth0 up/down 启用/禁用网卡 

    curl http://baidu.com/brand/index/edit/id/65 直接打开远程文件.
    ab -n1000 -c100 http://baidu.com/brand/index/edit/id/65 ab压力测试. 
    dig baidu.com 查找dns解析的信息.比nslookup好用一些.
    nslookup baidu.com 查找dns解析的信息. 
    sockstat -l 查看本机所有有对外对内端口,不过需要安装 apt-get install sockstat后才能用. 
    netstat -at 列出所有(all) tcp 连接.
    lsof -Pnl +M -i4 列出所有已占用的端口,感觉比netstat详细.
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看系统的tcp连接数
安装软件

    apt-get install/update/purge(把配置文件也清掉)/remove(保留配置文件) xxx (ubuntu)

    dpkg -l | grep keepalived 检查指定包是否已安装.

    yum install/update xxx (redhat)

    rpm -ivh xxx.rpm (redhat)

    zypper install/update xxx (suse)

    (在ubuntu安装rpm包)

    1.apt-get install rpm alien [安装alien]

    2 alien -d xxx.rpm    [产生一个xxx.deb文件]

    3.dpkg -i xxx.deb     [安装deb文件]  dpkg -l | grep keepalived 检查指定包是否已安装.

   解压:

    tar zxvf xxx.tar.gz

    tar jxvf xxx.tar.bz2

    tar zxf xxx.tgz

    gzip -d xxx.gz

   压缩:

    tar -cvf name.tar /dir1 /dir2

    gzip name.tar 

    ps aux | grep php | gzip -9 > tt.txt.gz #不会生成tt.txt文件.

   ps aux > tt.txt | gzip -9 > tt.txt.gz   #会在当前目录生成tt.txt文件.    -1或--fast表示最快压缩方法(低压缩比),    -9或--best表示最慢压缩方法(高压缩比)。    -6系统缺省值.
   

 时间管理

     date  显示日期

    date -s 2008-09-01 设置日期

    date -s 20:01:52 设置时间

    ntpdate -u stdtime.gov.hk

管道

   | more  手动翻页

   | grep str 在结果中查找

执行命令

   source filename 把filename中的内容读出来在当前shell下执行

   nohup ls>/dev/null & 挂起执行命令.

分区相关

   fdisk -l 显示所有分区

   mount /dev/sda5 /home/wind/

   umount /dev/sda5

链接

  ln -s /usr/local/bin/abc /home/桌面 

代理设置
  /etc/profile中加入:
  http_proxy=http://192.168.1.122:9087
  export http_proxy
对ping伪伪命令无反应
  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 可以加入/ect/rc.d/rc.local文件,这样就可以对ping命令无反应了.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics