Linux命令笔记(一)

vi 有三种模式,输入模式,编辑模式,“:”命令模式
vi 进入以后默认是编辑模式
vi 编辑模式默认的快捷键 上下左右分别是 J K H L
vi 在编辑模式使用 i 可以进入输入模式
vi 输入模式只能输入英文,默认不能使用上下左右箭头
vi 输入模式用Esc可以返回到编辑模式
vi 编辑模式 Shift + ; 可以进入命令模式
vi 命令模式w保存,q退出

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如: 
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)

SSH客户端后台运行程序,
用screen命令,开始线程
用screen -r查看线程
用ctrl + A, 后d退出screen界面,但不关闭运行的程序。
在screen 的界面输入exit,即可退出并结束程序的screen窗口

LINUX在线安装文件压缩包 wget命令
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py



安装 screen文件
yum install screen

常用命令汇总

mkdir 制作文件夹
cd 进入文件夹
cd ..返回上层文件夹
ls -al显示详细信息

删除文件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹


删除文件使用实例:
rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件

使用这个rm -rf的时候一定要格外小心,linux没有回收站的
很多朋友在使用前没有看到这一点重要的提示信息,以至于删除之后再想找回就很难了

查找文件

解压:tar xvfz xxx.tar.gz.
压缩:tar czf xxx.tar.gz xxxx
输入"uname -a ",可显示电脑以及操作系统的相关信息。
输入"cat /proc/version",说明正在运行的内核版本。
输入"cat /etc/issue", 显示的是发行版本信息
lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)

****************************
[sms@gc64 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
[sms@gc64 ~]$ uname -ar
Linux gc64 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[sms@gc64 ~]$
****************************




如果不知道命令的意思.可以通过 "man 命令"可以查看它的使用方式.及详细信息.

Python 安装注意事项

 

Linux 查看JAVA进程端口号

 

启动节点后,再关闭安全模式,就可以删除了

 [sms@gc64 hadoop]$ hdfs dfsadmin -safemode leave
 Safe mode is OFF

 

yum 源的配置说明





[root@vm-linux-x86 ~]# ps -ef|grep java

root      4834     1  2 Jun10 pts/6    03:10:50 /opt/JDK/jdk1.6.0_21/bin/java -classpath /opt/JReport/Server_B201106081302/derby/lib/*:/opt/JReport/Server_B201106081302/lib/JREngine.jar:/opt/JReport/Server_B201106081302/lib/JRESServlets.jar:/opt/JReport/Server_B201106081302/lib/JRStructuredEngine.jar:/opt/JReport/Server_B201106081302/lib/JRStructuredClient.jar:/opt/JReport/Server_B201106081302/lib/JREntServer.jar:/opt/JReport/Server_B201106081302/lib/JRWebDesign.jar:/opt/JReport/Server_B201106081302/lib/*:/opt/JDK/jdk1.6.0_21/lib/tools.jar:/opt/JReport/MyReports/Data/DBdrivers/classes12.jar:/opt/JReport/MyReports/Data/DBdrivers/dbdrivers2.zip:/opt/JReport/MyReports/Data/DBdrivers/dbdrivers3.zip: -Dinstall.root=/opt/JReport/Server_B201106081302/ -Djava.net.preferIPv4Stack=true -Djreport.url.encoding=UTF-8 -Xmx1600m -XX:PermSize=64m -XX:MaxPermSize=128m -Dreporthome=/opt/JReport/Server_B201106081302 jet.server.JREntServer

root      5857  5804  0 10:11 pts/7    00:00:00 grep java

[root@vm-linux-x86 ~]# kill -9 4834


通过 ps -ef | grep java  得到如上线程将某线程终止时用 

kill -9 XXXXX     XXXXX为上述查出的序号  如: 19979线程终止为: kill -9 4834 


kill一个线程时需注意不要误停止了不应该停止的线程造成不必要的麻烦。 

在相当确信时才可用此方法停止线程。

 

 

bash脚本编写

 

 

info exec 查看exec命令的信息

 

Linux统计文件行数

语法:wc [选项] 文件…

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

  - c 统计字节数。

  - l 统计行数。

  - w 统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total

举例分析:

1.统计demo目录下,js文件数量:

find demo/ -name "*.js" |wc -l

2.统计demo目录下所有js文件代码行数:

find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1

3.统计demo目录下所有js文件代码行数,过滤了空行:

find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l

 

原文链接

 http://www.cnblogs.com/fullhouse/archive/2011/07/17/2108786.html

 

复制 Linux文件到另一台机器

 

执行中。。。。


LINUX 安装命令
apt-get install packagename——安装一个新软件包(参见下文的aptitude)

**源码安装:
下载后的源码包需要编译后再安装
基本流程:解压->configure->make->make install(具体可以看各个软件的README文件会介绍安装事宜,(在InstallWay/Configure参数选项详解中有configure相关)


RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含可 执行的二进制程序。
一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;

**yum(http://www.daydaytop.com/archives/2007/06/04222428.html)
一. yum是什么
yum = Yellow dog Updater, Modified
主要功能是更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题
二. yum特点
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
三. yum安装
CentOS自带(yum-*.noarch.rpm)
#rpm -ivh yum-*.noarch.rpm

另外:
Fedora 软件包管理器system-config-packages(http://www.linuxsir.org/main/?q=node/48)
file.src.rpm和file.spec 的用法(http://www.linuxsir.org/main/?q=src.spec.html)

 

 

Linux命令

whereis 命令 && which 命令     查找命令的位置和使用命令是哪一个

 

./bash_profile 修改个人用户的环境变量

 

 

ifconfig 不显示ip

 

CentOS中ifconfig命令不显示IP地址

[plain] view plaincopy
 
  1. $ ifconfig  
  2. bash: ifconfig: command not found  

环境:

非root用户登录

[plain] view plaincopy
 
  1. $ lsb_release -a  
  2. LSB Version:    :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-ia32:graphics-3.0-noarch  
  3. Distributor ID: CentOS  
  4. Description:    CentOS release 4.3 (Final)  
  5. Release:        4.3  
  6. Codename:       Final  

解决:

 

[plain] view plaincopy
 
  1. $ whereis ifconfig  
  2. ifconfig: /sbin/ifconfig.old /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz /usr/share/man/man8/ifconfig.8  
[plain] view plaincopy
 
  1. $ /sbin/ifconfig  
  2. eth1      Link encap:Ethernet  HWaddr XXXXXXX  
  3.           inet addr:XXXXXXXXX  Bcast:XXXXXXXX  Mask:255.255.255.128  
  4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  5.           RX packets:740194638 errors:0 dropped:398 overruns:0 frame:15  
  6.           TX packets:1409116497 errors:0 dropped:0 overruns:0 carrier:0  
  7.           collisions:0 txqueuelen:1000   
  8.           RX bytes:622505947542 (579.7 GiB)  TX bytes:1299620061208 (1.1 TiB)  
  9.           Interrupt:36   
  10.   
  11. lo        Link encap:Local Loopback    
  12.           inet addr:127.0.0.1  Mask:255.0.0.0  
  13.           UP LOOPBACK RUNNING  MTU:16436  Metric:1  
  14.           RX packets:590278628 errors:0 dropped:0 overruns:0 frame:0  
  15.           TX packets:590278628 errors:0 dropped:0 overruns:0 carrier:0  
  16.           collisions:0 txqueuelen:0   
  17.           RX bytes:121711705636 (113.3 GiB)  TX bytes:121711705636 (113.3 GiB)  

解决二:

查看登录用户的path:

[plain] view plaincopy
 
  1. $ echo $PATH  

path中没有 /sbin/ifconfig ,添加到path中:

[plain] view plaincopy
 
  1. $ export PATH=$PATH:/sbin  

再次执行:

[plain] view plaincopy
 
  1. $ ifconfig  
  2. eth1      Link encap:Ethernet  HWaddr XXXXXXXXX  
  3.           inet addr:XXXXXXXX  Bcast:XXXXXXX  Mask:255.255.255.128  
  4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  5.           RX packets:740213476 errors:0 dropped:398 overruns:0 frame:15  
  6.           TX packets:1409138987 errors:0 dropped:0 overruns:0 carrier:0  
  7.           collisions:0 txqueuelen:1000   
  8.           RX bytes:622508623742 (579.7 GiB)  TX bytes:1299632841268 (1.1 TiB)  
  9.           Interrupt:36   
  10.   
  11. lo        Link encap:Local Loopback    
  12.           inet addr:127.0.0.1  Mask:255.0.0.0  
  13.           UP LOOPBACK RUNNING  MTU:16436  Metric:1  
  14.           RX packets:590326935 errors:0 dropped:0 overruns:0 frame:0  
  15.           TX packets:590326935 errors:0 dropped:0 overruns:0 carrier:0  
  16.           collisions:0 txqueuelen:0   
  17.           RX bytes:121723122294 (113.3 GiB)  TX bytes:121723122294 (113.3 GiB)  

 

Linux 查看文件夹的大小

 

 

 Ubuntu右键打开终端,安装

sudo apt-get install nautilus-open-terminal

 

Linux grep

 

 

 

 Linux 网络修改


 redhat:
/etc/sysconfig/networking/profiles/default

linux服务器修改网段怎么改?以前是10网段,现在改成6网段。请写出具体命令。谢谢
分享| 2015-01-20 12:23 yingduoduo01 | 浏览 148 次
linux
2015-01-20 12:31
提问者采纳

方法一:修改配置文件
1. 使用ifconfig -a 来确定你的网卡是eth0,还是eth1还是什么。
2. 进入目录/etc/sysconfig/network-scripts,编辑文件ifcfg-eth0(上面你确定的那个),修改里面的参数。
3. 重启网络:service network restart

方法二:使用界面命令(如果你已安装)
命令:system-config-network,按提示修改就行了,最后记得应用。

追问:

方法一中,怎么修改参数?可以有例子么?谢谢、

追答:

只修改网段,就是
IPADDR=
GATEWAY=
这两个参数。按网管的要求去写啊。

 

shell登陆问题
分享| 2014-02-18 11:34 默陌奴 | 浏览 884 次

怎么用脚本自动登录呢
比如我有aa,bb用户,密码分别对应aa,bb
我在aa用户上想切换登录到bb
命令是 su - bb,然后提示要输入密码bb
现在我想用一个脚本直接执行就能登陆到bb不需要交换输入密码,应该怎么做?
希望能从原理上讲述。。。。谢谢,
#!/bin/bash
su - bb<bb.txt
bb.txt里面输入的是bb
执行后报错standard in must be a tty


根据报错信息,该登录用户要求一个tty设备。基于安全策略,这是默认设置。


所以,可以在/etc/sudoers文件中加上下面这句试试:

Defaults:bb !requiretty

 

或者,不修改任何东西,直接用Expect脚本。Expect是交互式脚本的首选。
#!/usr/bin/expect
spawn su - bb
expect "assword: " #前面的p小写大写都无所谓
send "bb\r"
expect eof
exit
shell登陆问题

ref: http://blog.csdn.net/span76/article/details/11575231

 

 

经过分析发现系统默认的core文件生成路径是/var/logs,但/var/logs目录并非系统自带的,系统初始安装默认自带的是/var/log,最终导致该系统出现core dump后并没能生成core文件,因此如何查询和修改系统默认的core dump文件生产路径呢?
方法如下:
一. 查询core dump文件路径: 
方法1:
# cat /proc/sys/kernel/core_pattern
方法2:
# /sbin/sysctl kernel.core_pattern

二. 修改core dump文件路径: 
方法1:临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。
/proc/sys/kernel/core_pattern
例:echo ‘/var/log/%e.core.%p’ > /proc/sys/kernel/core_pattern
方法2:永久修改:使用sysctl -w name=value命令。
例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命名:
%% 单个%字符


--------------------------------------------------------------------------------------------------------------------------------------

本文讲述了实现core文件自动生成的配置方法,具体执行步骤如下:

1.编辑环境配置文件,让shell启动时自动设置ulimit
 

vi /etc/profile
ulimit -c unlimited > /dev/null 2>&1

2.更改core文件生成路径
 

vi /etc/sysctl.conf
kernel.core_uses_pid = 1
kernel.core_pattern=/tmp/core-%e-%p

3.sysctl配置生效

sysctl -p /etc/sysctl.conf

这样就可以实现以后发生coredump时,core文件就可以自动生成到/tmp目录下。方便调试!

--------------------------------------------------------------------------------------------------------------------------------------
[sms@localhost ~]$ cat /proc/sys/kernel/core_pattern     
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

echo 'core.%e.%p.%t' > /proc/sys/kernel/core_pattern

2 修改core的大小限制
在/etc/profilejiaru
ulimit -c unlimited





http://blog.csdn.net/flynetcn/article/details/38315555
https://zhidao.baidu.com/question/488064682627019412.html
core dump

 

posted @ 2014-11-11 21:53  kongmeng  阅读(320)  评论(0编辑  收藏  举报