查看文件目录
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
进程和服务
若一台机器运行有很多不需要的服务,那么被攻击者入侵的可能性就会大大加大,因此作为管理员就应该经常查看系统运行有哪些服务。
- 首先查看系统运行的进程
若需要查看系统当前运行的所有进程,就需要用如下命令:
# ps auxw
其中参数a表示显示系统中所有用户的的进程;u表示输出进程用户所属信息;x表示也显示没有控制台的进程;若显示行太长而被截断则可以使用f参数; - 查看系统监听的服务
# 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 the
pcspkr
module into theMOD_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 exp_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.