Linux实用命令

查看文件目录
du -sh dirname    //统计dirname文件以及文件夹大小
du -sm * | sort -n //统计当前目录各文件大小,并按大小排序
su  -sk * | sort -n
du dirrname  //查看文件夹又多少文件



关闭防火墙

service iptables stop
chkconfig iptables off
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off

2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT



查看磁盘实用情况         
df -lh
fdisk -l
更详细的情况参考  http://www.vekee.com/b62826/

 

查看内存

# free -m
             total       used       free     shared    buffers     cached
Mem:           504        471         32          0         19        269
-/+ buffers/cache:        183        321
Swap:          996          0        996


从文件中查找内容:
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名
查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
附录

另外一篇讲find和xargs的文章

http://www.linuxsir.org/main/?q=node/137
正则表达式
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm


重启网卡

$ sudo dhclient -r               //release ip 释放IP
$ sudo dhclient                  //获取IP

ifconfig eth0 down
ifconfig eth0 up

或service network restart

进程和服务
若一台机器运行有很多不需要的服务,那么被攻击者入侵的可能性就会大大加大,因此作为管理员就应该经常查看系统运行有哪些服务。

  1. 首先查看系统运行的进程
    若需要查看系统当前运行的所有进程,就需要用如下命令:
    # ps auxw
    其中参数a表示显示系统中所有用户的的进程;u表示输出进程用户所属信息;x表示也显示没有控制台的进程;若显示行太长而被截断则可以使用f参数;
  2. 查看系统监听的服务
    # netstat -ln
    l表示显示当前系统监听的端口信息;n表示端口按照端口号来显示,而不转换为service文件中定义的端口名;若希望了解各个端口都是由哪些进程监听则可以使用p参数。

  若发现不需要的服务,可以使用linuxconf或ntsysv命令来关闭这些服务在系统启动时自启动,然后重新启动系统则这些服务将在运行。
有些服务是由inetd超级服务器来监控的,则需要标记/etc/inetd.conf来关闭这些服务

vi中查找
输入/或? 然后输入要查找的内容,按回车即可

利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

 

按 n 查找下一个,N查找上一个

 

按esc,然后连续输入两次 'd'可以删除当前行,并不留空行


 

去除shell下的警告音

  • To completely prevent the PC speaker from beeping you can disable the module loading at startup. To do this add thepcspkr module into the MOD_BLACKLIST array in /etc/rc.conf :
MOD_BLACKLIST=(pcspkr)

[edit ]Locally

  • To disable the annoying PC speaker beep in X:
xset b off


执行文件或脚本的时候要加./的处理方法


Write the following line to the file "~/.bash_profile":

export PATH=.:$PATH

Or, if you want to make it effective for all users, wirte the above line to /etc/profile.

You can put this into ~/.xinitrc or similar to disable it every time X starts.

  • To disable it in console:
setterm -blength 0
  • Another way is to edit ~/.inputrc , add this:
set bell-style none




查看命令或文件的位置

whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。

下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令:

which java得到的结果就是系统默认执行的java所在的路径。

如果使用命令: whereis java那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。



根据日期生成文件

在UNIX上,使用`date +%y%m%d` (`这个是键盘上~所在的那个键,date之后一定要留空格),例:

touch&nbspexp_table_name_`date +%y%m%d`.dmp 


Windows上,使用%date:~12%,其中12是取日期,你可以改成其它你需要的数字。



linux下查看进程和线程

1、一般用ps 和 top


2、用pstree可查看进程树和线程树,如 pstree -H 5180|grep top 可以看5180的进程树,pstree -c |grep top可以查看top的线程


3、用lsof -p 加进程号可以查看进程中的线程


4、/proc/进程号/ 下面也存放了相关的信息



时间同步

两种办法

第一,可以从时间服务器time.nist.gov
同步。

在crontab中加入:

00 0 1 * * root rdate -s time.nist.gov
ntp server地址
微软公司授时主机(美国)
time.windows.com
台警大授时中心(台湾)
asia.pool.ntp.org
中科院授时中心(西安)
210.72.145.44
网通授时中心(北京)
219.158.14.130

第二,自己建个时间服务器

1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm

2). # vi /etc/ntp.conf

注释一行

restrict default ignore

加入一行

restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap


3). # vi /etc/ntp/step-tickers

加入一行

pool.ntp.org

这样每次ntpd启动时,会自动连接该国际标准时间服务器;


4). # service ntpd start

5). # netstat -an |grep 123
确保该端口以udp方式开放

时间客户端配置(192.168.10.2)


1). # ntpdate 192.168.10.2

应该显示同步成功


2). # crond -e

加入

0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分钟同步一次时间

重新开始执行被挂起的进程

用命令jobs   可以显示所有的任务,再用"fg      任务号"回到被停止的任务.


 linux中修改mac地址

1.1 redhat:a. $ cd /etc/sysconfig/network-scripts
               b. Edit file "ifcfg-eth0",  change to your real MAC address
                   (Use "ifconfig -a" to display real MAC address.)
               c. $ /etc/init.d/network start                   (to restart network.)

1.2 SuSE:a. $ cd /etc/sysconfig/network
             b. $ mv ifcfg-eth-id-00:0c:29:ba:b2:ad  ifcfg-eth-id-<real MAC address>
                    (Use "ifconfig -a" to display real MAC address.)
             c. $ /etc/init.d/network start         (to restart network.)

 

修改redhat locale:

   cd /etc/sysconfig/

   编辑i18n文件,指定自己所需的locale

 

修改SuSE hostname:编辑/etc/HOSTNAME


fuser

找出使用指定文件或者 sockets 的进程

fuser [-a|-s|-c] [-4|-6] [-n space ] [-k [-i] [-signal ] ] [-muvf] name

Examples
fuser -km /home

kills all processes accessing the file system /home in any way.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值