您的位置:首页 > 运维架构 > Linux

linux常用命令集合

2011-09-20 10:57 417 查看
linux 常用命令记录

xargs 构造参数列表
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件
find / -mtime +2 两天之前
find / -mtime -2 两天以内

/sbin/iptables -A INPUT-i lo -j ACCEPT
# Accept EstablishedConnections
/sbin/iptables -A INPUT-m state --state ESTABLISHED,RELATED -j ACCEPT

# ICMP Control
/sbin/iptables -A INPUT-p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

watch -n 1 "ifconfig eth0|grep bytes" 查看网卡速率
rpm -i --test *.rpm 查询 rpm 包是否可以被安装
tar 小结
1.#查看tar包中的内容
tar -tf XXX.tar来查看tar包中的内容
2.#删除tar包中的目录
tar --delete (tar包中目录) -vf XXX.tar
3.#打包时排除个别目录
tar -zcvf XXX.tar.gz --exclude=test/XXX1 --exclude=test/XXX2 test
要注意的有3点
1. "-f"参数后要紧跟文件名
2."tar.gz" 包不能用tar --delete删除其中目录(先用gzip -d解开.gz)
3.配合是用file命令查看文件类型,到底是tar包,还是tar.gz
1.如果主机的 tar 是 GNU 的版本,exclude 参数就要放在前面了:
2.注意--exclude后面的排除目录后不能带/ ,否则不起作用。
# export PATH=$PATH:/usr/local/mysql/bin
检查下 PATH 中是否写入了 /usr/local/mysql/bin 路径:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

小注意点:在进行./configure安装配置软件的时候,此时会用/tmp目录,如果此时/tmp被挂载别的设备,此时./configure就无法进行,会出错.我发生过/tmp挂载光盘, 在./configure安装别的软件是发生错误.[root@localhost ~]# ifconfig eth0 |awk '/HWaddr/{print $5}'
00:0C:29:0F:C7:D8
[root@localhost ~]# ifconfig eth0 |awk '/inet addr/{print $2}'|awk -F: '{print $2}'
192.168.187.129
查看是否中了arp欺骗方法:发现网关的mac在变化
arping -I eth0 网关地址
如sh# arping 192.168.0.125
ARPING 192.168.0.125 from 192.168.0.1 eth0
Unicast reply from 192.168.0.125 [00:E0:4D:06:5C:C4] 0.700ms
Unicast reply from 192.168.0.125 [00:E0:4D:06:5C:C4] 0.677ms
Unicast reply from 192.168.0.125 [00:E0:4C:00:32:F9] 837.700ms

查看是否中的洪水syn flood:查看是否有大量请求来自同一个主机
netstat -ant | wc -l
netstat -ant | grep -c SYN_RECV
查看节点号inode
stat filename
ls -i filename
df -i

给CentOS YUM加速
CentOS 5.x下 安装 yum-fastestmirror (yum install yum-fastestmirror)
CentOS 4.x下 安装 yum-plugin-fastestmirror (yum install yum-plugin-fastestmirror)
确保/etc/yum.conf里有 plugins=1 一行

curl -I www.badiu.com
curl --head www.baidu.com
host/nslookup/digwww.baidu.com
netstat -an |awk '/^tcp/{++a[$NF]}END{for(i in a)print i, a[i]}'

# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息

rpm -qpl 包名,查看包中内容

rpm -qf /bin/ping 可以查看命令属于那个包
redhat/solaris下允许root通过telnet登录
在redhat中对于远程login的限制,体现在/etc/pam.d/login文件中,缺省有一行:
 auth required /lib/security/pam_security.so注释该行,任何限制都没有,root当然可以直接telnet登陆echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
vi /etc/sysctl.conf

file /sbin/init 或 file /bin/ls查看系统是32位还是64位的(os) ,i386,i686都是32位的, x86_64 x86_64 x86_64 是64位的
dd if=/etc/passwd of=/tmp/passwd.bak 备份
gcc -v 查看GCC版本
chattr +i filename 禁止删除 chattr -i filename 取消禁止
lsattr 显示隐藏档属性
ifdown eth0 关闭网卡
ifup eth0 开启网卡
clear 清屏
history 历史记录 !55 执行第55个指令
stty 设置终端 stty -a
fdisk /mbr 删除GRUB
at 仅进行一次的工作排程
jobs 观看后台暂停的程序 jobs -l
kill 结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的kill信号
top 查看后台程序 top -d 2 每两秒更新一次 top -d 2 -p10604 观看某个PID
top -b -n 2 > /tmp/top.txt ----->将 top 的资讯进行 2 次,然后将结果输出到 /tmp/top.txt
pstree 以树状图显示程序 [A]以 ASCII 来连接, [u]列出PID, [p]列出帐号
killall 要删除某个服务 killall -9 httpd
free 显示内存状态 free -m -------->以M为单位显示
uptime 显示目前系统开机时间
netstat 显示网络状态 netstat -tulnp------>找出目前系统上已在监听的网路连线及其 PID
nice 设置优先权 nice -n -5 vi & ----->用 root 给一个 nice 植为 -5 ,用於执行 vi
runlevel 显示目前的runlevel
depmod 分析可载入模块的相依性
lsmod 显示已载入系统的模块
modinfo 显示kernel模块的信息
insmod 载入模块
modprobe 自动处理可载入模块 modprobe -l
rmmod 删除模块
chkconfig 检查,设置系统的各种服务 chkconfig --list ----->列出各项服务状态
ntsysv 设置系统的各种服务
cpio 备份文件
vi一般用法
一般模式 编辑模式 指令模式
h 左 a,i,r,o,A,I,R,O :w 保存
j 下 进入编辑模式 :w! 强制保存
k 上 dd 删除光标当前行 :q! 不保存离开
l 右 ndd 删除n行 :wq! 保存后离开
0 移动到行首 yy 复制当前行 :e! 还原原始档
$ 移动到行尾 nyy 复制n行 :w filename 另存为
H 屏幕最上 p,P 粘贴 :set nu 设置行号
M 屏幕中央 u 撤消 :set nonu 取消行号
L 屏幕最下 [Ctrl]+r 重做上一个动作 ZZ 保存离开
G 档案最后一行 [ctrl]+z 暂停退出 :set nohlsearch 永久地关闭高亮显示
/work 向下搜索 :sp 同时打开两个文档
?work 向上搜索 [Ctrl]+w 两个文档设换
gg 移动到档案第一行 :nohlsearch 暂时关闭高亮显示
有用:
G 档案最后一行
gg 移动到档案第一行
H 屏幕最上
M 屏幕中央
L 屏幕最下

4yl是向后复制4个字符,l是用来指明方向的吧? 4yh用向前复制四个字符。

通过vim 编辑文件,用V 进行块选

alias 显示当前所有的命令别名
alias lm="ls -al" 命令别名 unalias lm 取消命令别
type 类似which
exprot 设置或显示环境变量
exprot PATH="$PATH":/sbin 添加/sbin入PATH路径
echo $PATH 显示PATH路径
bash 进入子程序
name=yang 设定变量
unset name 取消变量
echo $name 显示变量的内容
myname="$name its me" & myname='$name its me' 单引号时$name失去变量内容
ciw=/etc/sysconfig/network-scripts/ 设置路径
env 列出所有环境变量
echo $RANDOM 显示随意产生的数
set 设置SHELL
PS1='[\u@\h \w \A #\#]\$ ' 提示字元的设定
[root@linux ~]# read [-pt] variable -----------读取键盘输入的变量
参数:
-p :后面可以接提示字元!
-t :后面可以接等待的『秒数!』
declare 声明 shell 变量
ulimit -a 显示所有限制资料
ls /tmp/yang && echo "exist" || echo "not exist"
意思是说,当 ls /tmp/yang 执行后,若正确,就执行echo "exist" ,若有问题,就执行echo "not exist"
echo $PATH | cut -d ':' -f 5 以:为分隔符,读取第5段内容
export | cut -c 10-20 读取第10到20个字节的内容
last | grep 'root' 搜索有root的一行,加[-v]反向搜索
cat /etc/passwd | sort 排序显示
cat /etc/passwd | wc 显示『行、字数、字节数』
正规表示法
[root@test root]# grep [-acinv] '搜寻字串' filename
参数说明:
-a :将 binary 档案以 text 档案的方式搜寻资料
-c :计算找到 '搜寻字串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字串' 内容的那一行!
grep -n 'the' 123.txt 搜索the字符 -----------搜寻特定字串
grep -n 't[ea]st' 123.txt 搜索test或taste两个字符---------利用 [] 来搜寻集合字元
grep -n '[^g]oo' 123.txt 搜索前面不为g的oo-----------向选择 [^]
grep -n '[0-9]' 123.txt 搜索有0-9的数字
grep -n '^the' 123.txt 搜索以the为行首-----------行首搜索^
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母开头
grep -n '[a-z]$' 123.txt 搜索以a-z结尾的行---------- 行尾搜索$
grep -n 'g..d' 123.txt 搜索开头g结尾d字符----------任意一个字元 .
grep -n 'ooo*' 123.txt 搜索至少有两个oo的字符---------重复字元 *
sed 文本流编辑器 利用脚本命令来处理文本文件
awk 模式扫描和处理语言
nl 123.txt | sed '2,5d' 删除第二到第五行的内容
nl 123.txt | sed -n '2,5p'显示2-5行内容
diff 比较文件的差异
cmp 比较两个文件是否有差异
patch 修补文件
pr 要打印的文件格式化
sudo 以其他身份来执行指令
visudo 编辑/etc/sudoers 加入一行『 test ALL=(ALL) ALL 』
%wheel ALL = (ALL) ALL 系统里所有wheel群组的用户都可用sudo
%wheel ALL = (ALL) NOPASSWD: ALL wheel群组所有用户都不用密码NOPASSWD
User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 加入ADMPW组
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root 可以更改使用者密码,但不能更改root密码 (在指令前面加入 ! 代表不可)
PAM (Pluggable Authentication Modules, 嵌入式模组)
who & w 看谁在线
last 最近登陆主机的信息
lastlog 最近登入的时间 读取 /var/log/lastlog 这点重要
talk 与其他用户交谈
write 发送信息 write test [ctrl]+d 发送
mesg 设置终端机的写入权限 mesg n 禁止接收 mesg y
wall 向所有用户发送信息 wall this is q test
mail 写mail
/etc/default/useradd 家目录默认设置
quota 显示磁盘已使用的空间与限制 quota -guvs ----->秀出目前 root 自己的 quota 限制值
quota -vu 查询
quotacheck 检查磁盘的使用空间与限制 quotacheck -avug ----->将所有的在 /etc/mtab 内,含有 quota

支援的 partition 进行扫瞄
[-m] 强制扫描
quota一定要是独立的分区,要有quota.user和quota.group两件文件,在/etc/fstab添加一句:
/dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
chmod 600 quota* 设置完成,重启生效
edquota 编辑用户或群组的quota [u]用户,[g]群组,[p]复制,[t]设置宽限期限
edquota -a yang edquota -p yang -u young ----->复制
quotaon 开启磁盘空间限制 quotaon -auvg -------->启动所有的具有 quota 的 filesystem
quotaoff 关闭磁盘空间限制 quotaoff -a -------->关闭了 quota 的限制
repquota -av 查阅系统内所有的具有 quota 的 filesystem 的限值状态
Quota 从开始准备 filesystem 的支援到整个设定结束的主要的步骤大概是:
1、设定 partition 的 filesystem 支援 quota 参数:
由於 quota 必须要让 partition 上面的 filesystem 支援才行,一般来说, 支援度最好的是 ext2/ext3 ,
其他的 filesystem 类型鸟哥我是没有试过啦! 启动 filesystem 支援 quota 最简单就是编辑 /etc/fstab ,
使得准备要开放的 quota 磁碟可以支援 quota 罗;
2、建立 quota 记录档:
刚刚前面讲过,整个 quota 进行磁碟限制值记录的档案是 aquota.user/aquota.group,
要建立这两个档案就必须要先利用 quotacheck 扫瞄才行喔!
3、编辑 quota 限制值资料:
再来就是使用 edquota 来编辑每个使用者或群组的可使用空间罗;
4、重新扫瞄与启动 quota :
设定好 quota 之后,建议可以再进行一次 quotacheck ,然后再以 quotaon 来启动吧!

开机流程简介
1、载入 BIOS 的硬体资讯,并取得第一个开机装置的代号;
2、读取第一个开机装置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的开机资讯;
3、载入 Kernel 作业系统核心资讯, Kernel 开始解压缩,并且尝试驱动所有硬体装置;
4、Kernel 执行 init 程式并取得 run-level 资讯;
5、init 执行 /etc/rc.d/rc.sysinit 档案;
6、启动核心的外挂模组 (/etc/modprobe.conf);
7、init 执行 run-level 的各个批次档( Scripts );
8、init 执行 /etc/rc.d/rc.local 档案;
9、执行 /bin/login 程式,并等待使用者登入;
10、登入之后开始以 Shell 控管主机。
在/etc/rc.d/rc3.d内,以S开头的为开机启动,以K开头的为关闭,接着的数字代表执行顺序
GRUB vga设定
彩度\解析度 640x480 800x600 1024x768 1280x1024 bit
256 769 771 773 775 8 bit
32768 784 787 790 793 15 bit
65536 785 788 791 794 16 bit
16.8M 786 789 792 795 32 bit

./configure 检查系统信息 ./configure --help | more 帮助信息
make clean 清除之前留下的文件
make 编译
make install 安装
rpm -q ----->查询是否安装 rpm -ql ------>查询该套件所有的目录
rpm -qi ----->查询套件的说明资料 rpm -qc[d] ----->设定档与说明档
rpm -ivh ---->安装 rpm -V -------->查看套件有否更动过
rpm -e ------>删除 rpm -Uvh ------->升级安装
--nodeps ----->强行安装 --test ----->测试安装
-pql 查看包中内容 -qf command 查命令属于那个包

  查看当前目录下文件的个数 ls -l | grep "^-" | wc -l

  查看当前目录下文件的个数,包括子目录里的。

  ls -lR| grep "^-" | wc -l

  查看某目录下文件夹(目录)的个数,包括子目录里的。

  ls -lR| grep "^d" | wc -l
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: