Solaris/Linux 命令手册

无意翻到之前收藏的一个文档,共享一下。

Solaris/Linux 命令手册

 

1. 系统
# passwd:修改口令
# exit:退出系统

2. 文件
# cp:复制文件或目录,参数:-a递归目录,-i覆盖确认
# mv:改名移动
# rm:删除,参数:-r递归删除

3. 目录
# mkdir:创建目录
# rmdir:删除空目录
# cd:改变工作目录
# pwd:查看当前路径
# ls:列目录,参数:-a所有文件,-c按时间排序,-l详细信息

4. 文本
# sort:排序
# uniq:删除重复行

5. 备份压缩
# tar:档案,参数:-c创建新档案,-r追加到末尾,-t列出档案内容,-u更新文件,-x释放文件,-f使用档案文件或设备,-M多卷,-v详细报告,-w每步确认。例tar cvf text.tar *.txt
# gzip:压缩解压缩,参数:-d解压,-r递归压缩
# unzip:解压缩,参数:-d目录,-x解压缩

6. 权限
# chmod:改变权限,r可读,w可写,x可执行。0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
# chgrp:改变所属用户组
# chown:改变属主

7. 管理
# wall:发送信息到全部登录用户
# write:向某个用户发送信息
# mesg y:设定允许别人给自己发送信息
# sync:缓存同步校验
# shutdown:关机,参数:-r重启,-h关机不重启,-f快速关机,-c取消关机
# free:查看内存
# uptime:显示系统运行时间
# df:磁盘占用空间,参数:-a显示所有文件系统
# du:磁盘使用情况
# dd:拷贝并格式转换
# fdformat:低格软盘
# echo:显示文字
# cal:日历
# date:系统日期和时间
# clear:清屏

8. 我的回忆 by tom2sun
# who:查看当前用户
# finger:查看其他用户信息
# rlogin:远程登录
# rcp:远程复制
# netstat:网络状态
# cat:一次完全显示
# more:分屏显示
# file:列出文件类型
# grep:查找内容
# find:查找文件
# ps:当前运行程序,参数-a显示所有进程
# at:时间,命令,Ctrl+D结束
# lp:打印
# nice:指定优先级
# renice:调整优先级
# kill:终止进程
# man:获取命令帮助
# touch:改变时间记录
# ln:链接
# mount -t vfat /dev/hda1 /mnt/dos:挂载Dos分区(不适用于Unix-Center)

9. FTP
# ftp:启动FTP程序
ftp>
open:打开
close:关闭
bye:离开
get:下载
put:上传
mget/mput:多个文件下载/上传
reget:恢复下载
binary:二进制传送文件
ascii:ASCII码传送
cd:改变远程目录
lcd:改变本地目录
mkdir:建目录
rmdir:删除目录
delete:删除文件
mdelete:一次删除多个
rename:重命名
status:显示状态
prompt:交互式
hash:每传送1024字节显示#(hash)
size:显示文件大小
reset:重置

10. vi
a,i:进入输入状态
ESC:返回命令状态
:命令模式
Q!:退出

11. 快键及其他
Alt+F1~F6:访问多个虚拟控制台(不适用于Unix-Center)
Tab:命令补全
末尾&:后台进程

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

硬件系统:

1、如何查看cpu的状态?                   
# psrinfo -v
# mpstat     可以列出多cpu负载的状态

2、如何查看内存?                        
# prtconf | grep 'Memory' 可以查看内存的多少.
# /usr/platform/sun4u/sbin/prtdiag

3、如何动态添加swap分区? # $su - root                                  -----  成为超级用户 
# mkfile 100m /home/swapfile         -----  创建100m的Swap文件 
# /usr/sbin/swap -a /path/filename  -----  激活Swap文件 
# /usr/sbin/swap -l                 -----  验证swap文件
# /usr/sbin/swap -d /path/filename  -----  取消swap文件
# rm -rf /home/swapfile              -----  删除swap文件

4、如何查看当前网卡是以何种速率起来的?     
# dmesg |grep Link

5、如何调整x-window的分辨率和刷新频率?
  字符界面登陆,运行:#/kdmconfig

6、如何使用光、软驱?
一般情况下用:
# /etc/init.d/volmgt start
# volcheck
以上方法不行,用:
# /etc/init.d/volmgt stop
# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom --挂接光驱
# mount -F pcfs /dev/diskette0 /floppy         --挂接软驱
solaris定义系统磁盘文件系统说明:
ufs – UNIX文件系统。是Solaris缺省的文件系统。 
hsfs – 高密度CD-ROM文件系统,是只读文件系统。 
pcfs – PC文件系统,支持DOS格式化的软盘

7、SCSI设备的命名规则是什么?
带有总线控制器的硬盘的使用,下面列出了总线控制器的硬盘命名习惯: 
cWtXdYsZ
c Logical controller number
t Physical bus target number 
d Drive number 
s Slice (or partition) number (0 to 7) 
例如:
/dev/rdsk/c0t0d0s0 该原始接口对应第一个控制器的第一个SCSI目标地址的第一个硬盘的第一片(根) 
/dev/rdsk/c0t0d0s2 该原始接口对应第一个控制器的第一个SCSI目标地址上的第一个硬盘的第三片(表示整上硬盘) 

8、如何查看硬盘的使用情况?                          
# df -k      可以看到已安装的文件系统的空间大小及剩余空间大小。
# quota -v       查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。
# du -sk *   查看目录的使用情况
# du -k | sort -n  可以迅速发现那个目录是最大的。 

9、如何查看硬盘物理信息?
# format       这个命令也可以查看硬盘的类型和分区的详细情况
# iostat -E看硬盘的大小和型号
# prtvtoc /dev/rdsk/c0t0d0s0   显示某个磁盘的分区状况

10、查看系统内核命令。                            
  # isainfo        看内核的bit, 
  # isainfo -kv      调整内核
# modinfo          显示可载入的模组
# prtconf          显示系统硬件配置(周边设备)
#sysdef           显示可载入的模组,硬件配置与一些可以调整的核心参考值
#ulimit -a

11、打印当前的OBP版本号                           
# prtconf –V 
OBP 3.20.0 2000/10/24 10:47 
# /usr/platform/sun4u/sbin/prtdiag –v | grep OBP 
OBP 3.20.0 2000/10/24 10:47 POST 6.1.0 2000/10/24 10:49 
ok. .version 
Release 3.20 Version 0 created 2000/10/24 10:47 
OBP 3.20.0 2000/10/24 10:47 
POST 6.1.0 2000/10/24 10:49 
OBDIAG 4.5.1 2000/10/24 10:48 

12、查看及启动系统的32位或64位内核模式                       
64位模式 
# isalist –v 
sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc 
# isainfo –v 
64-bit sparcv9 applications 
32-bit sparc applications 
# isainfo –b 
64 
启动64位内核模式 
ok. boot kernel/sparcv9/unix 

32位模式 
# isalist –v 
sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc 
# isainfo –v 
32-bit sparc applications 
# isainfo –b 
32 
启动32位模式 
ok. boot kernel/unix 

13、测定当前的显示器刷新频率 
# /usr/sbin/fbconfig –rev \? 

14、如何配置网卡ip?
# ifconfig -a             --查看网卡,例如是hme0
# ifconfig hme0  unplumb  --停止网卡
# ifconfig hme0  plumb    --起用网卡
# ifconfig hme0 inet 192.168.2.3 netmask 255.255.255.0 up  --添加ip、子网掩码
# vi /etc/defaultrouter   添加默认路由的ip
# vi /etc/hostname.hme0   添加主机名
# vi /etc/nodename        添加主机名
# vi /etc/resolv.conf     
   domain china.com          你的域名
   nameserver 202.106.0.20   你使用的nds ip
# vi /etc/nsswitch.conf     更改 hosts:file dns

15、 PROM状态命令与参数
格式:  OK>; 指令
       命令        说明
banner                     显示当前机器配置状况,CPU,内存,hostid,EtherNet
probe-scsi                 显示内部SCSI通道所挂接设备
probe-scsi-all             显示所有SCSI通道及所挂接设备
probe-ide                  显示所有IDE通道及所挂接设备(针对U10,U5)
devalias                   显示设备别名,如 cdrom,disk,disk0,disk1等
printenv                   无参数,显示环境变量或
                                    参数为环境变量名 如: printenv auto-boot?
setenv                     设置环境变量,如: setenv auto-boot? false
set-default                恢复环境变量预定值  如:set-default auto-boot?
set-defaults               恢复所有环境变量预定值
boot device option        启动主机
                        设备别名:  cdrom 或 disk
                        设备名:   /pci@1f,4000/scsi@3,1/disk@6,0:f
                        option  -r  设备配置  
                                -s  单用户
eject cdrom|floppy         弹出cdrom或floppy
reset                         复位
test net        
watch-net-all        
show-devs        

16、查找网卡名称及接口个数                            
# grep network /etc/path_to_inst 

17、如何一块网卡帮定三个ip,并且子网掩码不同?
举例说明,网卡名hme0:
# vi /etc/hosts 
127.0.0.1 localhost 
192.168.2.1 dbs loghost 
192.168.9.15 dd 
192.168.9.65 aa 
# vi /etc/netmasks 
192.168.2.0 255.255.255.0 
192.168.9.0 255.255.255.192 
192.168.9.64 255.255.255.252 

#vi /etc/hostname.hme0 
dbs 
#vi /etc/hostname.hme0:1 
dd 
#vi /etc/hostname.hme0:2 
aa 
# ipconfig hme0 inet 192.168.2..1 netmask 255.255.255.0 up  
# ipconfig hme0:1inet 192.168.9.15 netmask 255.255.255.192 up 
# ipconfig hme0 inet 192.168.9.65 netmask 255.255.255.252 up 
# init 6
#ipconfig -a

18、如何在prom状态下查看光纤硬盘 ?   
stop +a进入ok状态:
ok>; select 光纤卡设备名(可用show-devs查看到) 
ok>; show-children

19、主机双屏幕设置。          
1.Confirm there are two Video Cards。 
2.Confirm driver installed and patches installed if need。 
3.vi /usr/dt/config/Xservers. 
comment the last line. 
and uncomment the nearest line like this. 
4.reboot.

20、查看硬盘参数及其物理地址: 
#format </dev/null 

21、显示磁盘的分区情况: 
#prtvtoc /dev/rdsk/c0t0d0s2 


系统应用:

1、、查看系统运行级别
# who -r 看运行级别

2、进程工具                 
pstop pid  停止进程 
prun pid  重新启动进程 
ptime pid  使用微状态计算进程时间 
pwait pid  等待指定的进程终止 
pcred pid 显示可信度    * 
pfiles pid 显示已打开文件的fstat和fcntl信息   * 
pflags pid 显示每个lwp的/proc跟踪标志,等待和待有信号量以及其他状态信息  * 
pldd  pid 显示链接到每个进程的动态链接库   * 
pmap pid  显示地址映射空间   * 
psig pid 显示信号操作    * 
pstack pid 显示每个lwp的十六进制与符号堆跟踪   * 
ptree pid 显示包含指定PID的进程树 
pwdx  pid 显示当前工作目录   * 
后面加*的必须是超级用户执行。 
这些工具在/usr/proc/bin/里面。

3、patch软件包的安装
每个补丁都有编号。例如补丁号为101945,版本是34的话,这个补丁的目录名就是101945-34. 
# patchadd 105160-01     安装补丁
# patchrm                删除补丁
# patchadd -p            检查系统的补丁情况 
# showrev -p             查看所有已经安装的patch

4、如何容许root用户远程登录?
  # vi /etc/default/login  
  CONSOLE=/dev/console  ---用#注释掉这一行。

5、如何限定telnet登陆数?solaris pts的数量缺省为47, 修改/etc/system文件, 增加如下内容: 
set maxusers=数量 
set pt_cnt=数量 

6、显示已经使用和未使用的i-node数目          
# df –F ufs –o i 

7、显示cpu使用率最高的进程                    
# ps –eo pid,pcpu,args | sort +1n 
该命令输出当前系统进程的pid, CPU占用率及命令描述,并以pcpu来排序  

8、查看当前的OpenWindows版本                    
# showrev –w 
OpenWindows version: 
X11 Version 6.4.1 5 November 2001 

9、查看当前CDE的版本                                
# /usr/ccs/bin/what /usr/dt/bin/dtmail 
/usr/dt/bin/dtmail: 
CDE Version 1.4.6_06 
CDEVersion1.4.6_06 

10、文消掉本中的^M 
# cat test.dat | tr -d '\015' >; test.out 
这样可以将 test.dat 内 ^M(\015) 这个字元去掉, 产生 test.out 

11、关机命令。
关闭系统的方式根据关闭的原因而不同.执行关闭有的是为了转至执行等级S,有的是要停止操作系统并关闭设备的电源. 
(1) /usr/sbin/shutdown –gtime –ilevel -y 
(2) init 0 
(3) halt 
(4) STOP+A ; sync 
(5) 关闭电源 
紧急情况,按Stop_A , 如Stop_A不起作用,则将设备电源关闭再打开.这是 
极端情况.这两种方法不是干净的关闭,是突然关闭的,仅在紧急情况使用.

12、Solaris下怎么发送即时消息?
用wirte命令到单个用户的终端。 
$ wirte username 
输入消息正文,结束按ctrl-d,消息就会出现在用户终端。 
用户可以用mesg n[y]来决定是否启动接受消息。 

用wall,是发给所有系统用户。 
$ wall 
hello ,i love you ...... 结束用ctrl-D. 

rwall -n netgroup 给网络上所有用户。 
$ rwall -n workgroup --------发给组workgroup下的每一个用户 
hi ! no smoking ...... 结束用ctrl -d 

$ rwall sune450 ------或者主机名为sune450。用法如上。。。

13、系统是sunos5.8, 不知何种原因现在唯一的普通用户起不了Terminal, vi等,但是超级用户可以,如何补救?           
   用/etc/skel/local.cshrc 替换掉登陆路径下的 .cshrc, 重新登陆, 就OK了! 
$cp /etc/skel/local.cshrc ./ 

14、关机时这个题是什么意思?             
/usr/sbin/vold[724]: [ID 244572 daemon.error] 卸载 /vol 时发生问题;中断系统调用 
uxwdog[481]: [ID 248799 daemon.error] error communicating with server (Broken pipe)

你还没卸下来/VOL就启动,才出问题,运行:
# umount -f /vol后再做。

15、find常用的例子:
命令格式: find dir -name filename command
例子:
# find . -name hello -print         寻找目前目录及所有的子目录内叫hello的文档。
# find . -ctime +7 -print            找出七天内未被更动的文档
# find . -size +2000m -print         找出大小超过2000 bytes的文档
# find /tmp -user b1234567 -print    在/tmp下属於b1234567的文档
# find . -name '*.c' -exec rm {}     删除所有的.c档
# find . -name test\* -print         显示当前目录及其子目录文件名前4位为test的文件名

16、忘记solarsi的root口令怎么办?                
方法一:
1.别怕 ,跟我来.
2.把你的solaris光盘放进cdrom
3.键入stop+a 
4.当出现'ok'字样时,键入boot cdrom -s 
5.cd /tmp 
6.mkdir /tmp/xxx (xxx是什么鬼东西就无关紧要了) 
7.mount /dev/dsk/c0t0d0s0 /tmp/xxx (在这里c0t0d0s0是你的root盘)
8.运行csh 
9.TERM=sun;export TERM或者
setenv TERM vt220 
10.cp /tmp/root/xxx/shadow /tmp/root/xxx/shadow/shadow.backup
11.vi /tmp/root/xxx/shadow并且将password里root项删除。
12.重启动,你就可以以无密码的root登陆了,这时更改你的密码。
要是没有shadow,就把/etc/passwd里root用户名后面的X删掉,就可以了
方法二:
找一台有系统的solaris机器,把忘记密码的系统放进去mount上来,重复方法一10以后的步骤.

solaris for x86的机器:
用光盘启动到要你安装的时候退出去就成单用户,剩下的操作如上。

17、常见文件的解压                   
一般而言,在solaris下,会有这么几种格式的软件:
1) .gz结尾的文件,我们用gunzip或者gzip -d来解压,再用tar来解压. 
2) .tar结尾的文件,我们肯定知道用tar xvf的格式来解压.
3) .zip结尾的文件,我们用unzip,注意,这个只有在高版本的solaris下,才有.而且该文件格式以solaris的patch比较多.
4) .Z结尾的文件,我们一般用uncompress来解压(当然,每个人的习惯不一样.) 
上面讲的是解压,一般解压后,会生成这么几种方式: 
1)生成.local的文件,这个时候,我们用: pkgadd -d xxx.local来安装. 
2) 生成一个目录,而且该目录下会有一些pkg信息,我们用: pkgadd -d . ;指在当前目录下,安装,并且按照缺省的路径来安装. 
3) 生成一个数字的目录,一般是指solaris的patch,这个时候我们用patchadd来安装.

18、如何在命令行界面替换一个文件中的字符段?
# vi file 在命令模式中输入:
:1, $s/diag/peng/g 全文件查找diag并替换为peng 

19、请问TERM=VT100和TERM=dtterm都在什么情况下设置?    
一般情况下如果你在机器的显示器上登陆或者通过XMANAGER等登陆,就默认是dtterm,telnet 一般是ansi,当你通过telnet修改文件的时候,需要设置成 TERM = VT100 ; export 

TERM

20、如何查看系统的版本?
$ uname -X 
$ more /etc/release

21、命令行进入CDE: 
#/usr/dt/bin/dtlogin -daemon;exit 
or 
#/etc/rc2.d/S92dtlogin start;exit; 

22、查看patch安装过程中返回错误代码的含义:
#more /usr/sbin/patchadd 

23、如何从一台SOL8的机器登录到另外一台SOL8的CDE桌面上去。
登陆CDE的时候点击一下菜单:选择--登陆远程主机-- 

24、如何查看你的默认语言环境?    C.Arthur 
# more /etc/default/init

25、如何更改/home的权限?    
停掉autofs服务,或者将/etc/auto_master的home注释掉: 
#vi /etc/auto_master   
------------内容如下---------- 
# Master map for automounter 
# 
+auto_master 
/net -hosts -nosuid,nobrowse 
#/home auto_home -nobrowse 
/xfn -xfn


第三方软件应用或技巧:

1、查看当前的bind版本信息                      
# nslookup –class=chaos –q=txt version.bind 

2、在登录时显示系统指定的消息?
#vi /etc/motd    ----删除所有过时的消息,输入新消息
注意:对于已经登录且正在使用系统的用户不显示该消息,超过一屏的消息无法显示。每次修改该文件后,该文件的时间戳随之更新。

3、去掉文本中^M
# dos2unix aaa.txt bbb.txt,会去掉aaa.txt中的^M,生成bbb.txt文件。

4、将系统中7天前的txt文件查找并打包。
# find / -mtime -7 >;aaa.txt  
# tar cvf bbb.tar -I aaa.txt
---查找出文件记录在aaa.txt文件中,在作成bbb.tar文件包。

5、查找并删除比某一天更老的文件: 
#find . ! -mtime -<days>; | /usr/bin/xarys rn -rf 

6、solaris9普通用户下无法正确输入中文的解决方法: 
在用户目录在#vi .profile 修改如下: 
stty cs8 -istrip

7、请问如何防止telnet登陆发呆时间过长被踢呢? 
这里,vi /etc/default/login 
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before 
# abandoning a login session. 
# 
#TIMEOUT=300 
修改之后不是立即生效,在这之后所又的login session都符合这个要求,但是在修改之前已经建立的连接不受影响。

8、如何安装gcc。
去sunfreeware.com上下载相应平台的pkg包的gcc版本。
#pkgadd -d gcc* 
设置环境变量:
bash 和sh 的shell:
vi $home/.profiel
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin;export PATH 
CC=gcc;export CC 
csh的shell:
vi $home/.cshrc
set path=( /bin /usr/bin /usr/ucb /etc /usr/local/bin /usr/local/sbin .)
setenv CC gcc  

9、列出当前目录下的目录。   
ls -al | grep '^d'

10、用命令行来打开一个新的terminal。  
/usr/dt/bin/dtterm


X86或者Vmware:

1、在Solaris10 x86上挂接window98分区的方法。      
#mount -F pcfs /dev/dsk/c0d1p0:e /mnt 
总结一下: 
偶的硬盘是接在IDE1的slaver盘上,用上述命令可将E:盘挂在/mnt 
目录下。如果你的电脑只有一个硬盘,并且是接在主板的IDE1槽,设为 
Master盘(通常这种情况较多),现在想挂WIN98下的D:盘,可输入 
#mount -F pcfs /dev/dsk/c0d0p0:d /mnt 
注意,/mnt可以改为任意的其它空目录,如/data(我在文件管理器中自己 
新建的一个目录),可改为 
#mount -F pcfs /dev/dsk/c0d0p0:d /data 
按回车后如没有任何出错提示,则表示挂接成功,你就可以进入挂接的文件夹(此处为/data)找到你所挂接的win98的D:分区上的文件了。 
本方法经过偶N次实验,是确实可行的。为后来者不再偶走过的弯路,偶特在此总结一下,哪位初学者不会在Solaris10 x86(Solaris9也应该行) 
挂win98分区的话,可参考本方法。 





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

SysAdmin Commands 

Debugging 

  truss executable 
/* Trace doing of given command ( useful debugging ) */  

  truss -f -p <pid of a shell> 
/* Using multiple windows, this can be used to trace setuid/setgid programs */  

Arp, ethernet trouble shooting  

  arp -a . 
/* Shows the ethernet address arp table */  

  arp -d myhost 
/* Delete a stale ethernet entry for host myhost */  

Disk Commands  

  du -k . 
/* Reports disk space used in Kilobytes */  

  du -sk . 
/* Reports only total disk space used in Kilobytes */  

  du -sk *|sort -k1,1n 
/* Reports total disk space used in Kilobytes in present directory */ 

  du -ad /var | sort -nr 
/* Tells you how big the /var files are in reverse order */  

  fdformat -d -U 
/* Format diskette */  

  /usr/bin/iostat -E 
/* Command to display drives statistics */  

  /bin/mount -F hsfs -o ro /dev/sr0 /cdrom 
/* Mount an ISO 9660 CDROM */  

  newfs -Nv /dev/rdsk/c0t0d0s1 
/* To view the superfblocks available */  

  prtvtoc /dev/rdsk/c0t0d0s2 
/* Disk geometry and partitioning info */  

  quot -af 
/* How much space is used by users in kilobytes */  

Driver Parameters  

  ndd /dev/ip \? 
/* Shows IP variables in the kernel */  

  ndd /dev/ip ip_forwarding 
/* Tells you if forwarding is on (=1) */  

  ndd -set /dev/ip ip_forwarding 1 
/* Enables IP forwarding between interfaces */  

File Manipulation  

  dos2unix | -ascii <filename> 
/* Converts DOS file formats to Unix */  

  split 
/* Split files into pieces */  

  [vi] : %s/existing/new/g 
/* Search and Replace text in vi */  

  [vi] :set nu 
/* Set line numbers in vi */  

  [vi] :set ts=[num] 
/* Set tab stops in vi */  

File System  

  cat /dev/null > filename 
/* Zero's out the file without breaking pipe */  

  dd if=/dev/rdsk/... of=/dev/rdsk/... bs=4096 
/* Make a mirror image of your boot disk */  

  df -k | grep dg| awk '{print $6}' |xargs -n 1 umount 
/* Unmount all file systems in disk group dg */  

  fsck -F ufs /dev/rdsk/c0t0d0s0 
/* Check a UFS filesystem on c0t0d0s0 */  

  fsck -F ufs -y /dev/rdsk/c0t0d0s0 
/* Check answering yes to all questions */  

  fsck -F ufs -o b=97472 /dev/rdsk/c0t0d0s0 
/* Check using an alternate super block */  

  gzip -dc file1.tar.gz | tar xf - 
/* Unpack .tar.gz files in place */  

  gzip -d -c tarball.tgz | (cd /[dir];tar xf - ) & 
/* Unpacking tarballs to diff location */  

  ln [-fhns] <source file> <destination file> 
/* Creating hard links and soft links */  

  ls -la | awk '{ print $5,"    ",$9 }' | sort -rn 
/* File sizes of current directory */  

  mount -f pcfs /dev/dsk/c0d0p1 /export/dos 
/* Mount DOS fdisk partition from Solaris */  

  mount -F ufs -o rw,remount / 
/* Used to remount root to make it writeable */  

  mount -o remount,logging /spare 
/* Re-mount the ro file system rw and turn on ufs logging */  

  pax -rw . /newdir 
/* Efficient alternative for copying directories */  

  prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2 
/* Cloning Partitiontables */  

  tar cvf filename.tar 
/* Create a tape (tar) archive */  

  tar xvf filename.tar 
/* Extract a tape (tar) archive */  

  tar cf - . | (cd /newdir ; tar xf -) 
/* Recursively copy files and their permissions */  

  /sbin/uadmin x x 
/* Syncs File Systems and Reboots systems fast */  

  zcat [cpio file] | cpio -itmv 
/* Show the contents of a compressed cpio */  

  zcat <patch_file.tar.Z | tar xvf - 
/* Extract the patch_file that is a compressed tar file */  

File Transfer  

  get filename.suffix |"tar xf -" 
/* Undocumented Feature of FTP */  

  put "| tar cf - ." filename.tar 
/* Undocumented Feature of FTP */  

  find . -depth | cpio -pdmv /path/tobe/copied/to 
/* Fast alternative to cp -pr */  

  sendport 
/* Transferring large numbers of files within the same ftp control session */  

General  

  /usr/bin/catman -w 
/* Create windex databases for man page directories */  

  FQ_FILENAME=<fully_qualified_file_name>; echo ${FQ_FILENAME%/*} 
/* Extract directory from fully-qualified file name. */  

  mailx -H -u <username> 
/* List out mail headers for specified user */  

  set filec 
/* Set file-completion for csh */  

  uuencode [filename] [filename] | mailx -s "Subject" [user to mail] 
/* Send files as attachments */  

Hardware  

  cfgadm 
/* Verify reconfigurable hardware resources */  

  m64config -prconf 
/* Print M64 hardware configuration */  

  m64config -depth 8|24 
/* Sets the screen depth of your M64 graphics accelerator */  

  m64config -res 'video_mode' 
/* Change the resolution of your M64 graphics accelerator */  

Kernel  

  /usr/sbin/modinfo 
/* Display kernel module information */  

  /usr/sbin/modload <module> 
/* Load a kernel module */  

  /usr/sbin/modunload -i <module id> 
/* Unload a kernel module */  

  nm -x /dev/ksyms | grep OBJ | more 
/* Tuneable kernel parameters */  

  /usr/sbin/sysdef 
/* Show system kernal tunable details */  

Memory  

  prtconf | grep Mem 
/* Display Memory Size */  

Network Information  

  ndd /dev/arp arp_cache_report 
/* Prints ARP table in cache with IP and MAC address */  

  netstat -a | grep EST | wc -l 
/* Displays number active established connections to the localhost */  

  netstat -k hme0 
/* Undocumented netstat command */  

  netstat -i 
/* Show the TCP/IP network interfaces */  

  netstat -np 
/* Similar to arp -a without name resolution */  

  netstat -r 
/* Show network route table */  

  netstat -rn 
/* Displays routing information but bypasses hostname lookup. */  

  netstat -a | more 
/* Show the state of all sockets */  

  traceroute <ipaddress> 
/* Follow the route to the ipaddress */  

Network/Tuning  

  ifconfig eth0 mtu 1500 
/* Change MTU of interface */  

  ifconfig eth0 10.1.1.1 netmask 255.255.255.255 
/* Add an Interface */  

  /sbin/ifconfig hme0:1 inet 10.210.xx.xxx netmask 255.255.0.0 broadcast 10.210.xxx.xxx 
/* Virtual Interfaces */  

  /sbin/ifconfig hme0:1 up 
/* Bring virtual interface up */  

  /usr/sbin/ndd -set /dev/hme adv_100fdx_cap 1 
/* Nailling to 100Mbps */  

  ndd -set /dev/ip ip_addrs_per_if 1-8192 
/* To set more than 256 virtual ip addresses. */  

  ndd -set /dev/tcp tcp_xmit_hiwat 65535 
/* Increase TCP-transmitbuffers */  

  ndd -set /dev/tcp tcp_recv_hiwat 65535 
/* Increase TCP-receivebuffers */  

Processes  

  fuser -uc /var 
/* Processes that are running from /var */  

  kill -HUP `ps -ef | grep [p]roccess | awk '{print $2}'` 
/* HUP any related process in one step */  

  lsof -i TCP:25 
/* Mapping port with process */  

  pfiles <pid> 
/* Shows processes' current open files */  

  pkill -n <name> 
/* Kill a process by name */  

  kill `ps -ef | grep program_name | grep -v grep | cut -f8 -d ' '` 
/* pkill for solaris 2.6 */  

  prstat -a 
/* An alternative for top command */  

  /usr/ucb/ps -aux | more 
/* Displays CPU % usage for each process in ascending order */  

  /usr/ucb/ps -auxww | grep <process name> 
/* Gives the full listing of the process (long listing) */  

  ps -ef | grep -i <string> | awk '{ print $2 }' 
/* Creates list of running PID by */  

  ps -ef | grep -v "0:00" | more 
/* Gives you a list of any process with CPU time more than 0:00 */  

  ps -ef | more 
/* Show all processes running */  

  ps -eo pid,args 
/* List processes in simplified format */  

  ps -fu oracle|grep pmon 
/* See which instances of Oracle are running */  

  /usr/proc/bin/ptree <pid> 
/* Print the parent/child process 'tree' of a process */  

  /usr/proc/bin/pwdx <pid> 
/* Print the working directory of a process */  

  top -b 1 
/* Returns the process utilizing the most cpu and quits */  

Resource Management  

  /usr/bin/ldd [filename] 
/* List the dynamic dependencies of executable files */  

  /usr/proc/bin/pmap pid 
/* Report address space map a process occupies */  

Route Configuration  

  route add net 128.50.0.0 128.50.1.6 1 
/* Adds route to 128.50 network via 128.50.1.6 */  

  route change 128.50.0.0 128.50.1.5 
/* Changes the destination address for a route */  

  route delete net 128.50.0.0 128.50.1.6 
/* Deletes route to 128.50 network */  

  route get [hostname] 
/* Which interface will be used to contact hostname */  

  route monitor 
/* Monitors traffic to the routes */  

  route flush 
/* Removes all entries in the route table */  

Searching Items  

  egrep "patterna|patternb" <filename> 
/* Search for multiple patterns within the same file */  

  find . -exec egrep -li "str" {} \; 
/* Find a string in files starting cwd */  

  find / -fstype nfs -prune -o fstype autofs -prune -o -name filename -print 
/* Find without traversing NFS mounted file systems */  

  find . -mtime -1 -type f 
/* Find recently modified files */ 
  
  find / -mtime <# of days> 
/* Find files modified during the past # of days */ 

  find . ! -mtime -<days> | /usr/bin/xargs rm -rf 
/* Finds and removes files older than <days> specified */  

  find . -type f -exec grep "<sub-string>" {} \; -print 
/* Find files (and content) containing <sub-string> within directory tree */  

  find . -type f -exec grep -l "<sub-string>" {} \; 
/* Find filenames containing <sub-string> within directory tree */  

  find . -type f -print | xargs grep -i [PATTERN] 
/* Recursive grep on files */  

  find / -user <username> 
/* Find all files owned by <username> */  

  find / | grep [file mask] 
/* Fast way to search for files */  

  find <start_path> -name "<file_name>" -exec rm -rf {} \; 
/* Recursively finds files by name and automatically removes them */  

  find /proc/*/fd -links 0 -type f -size +2000 -ls 
/* Find large files held open by a process */  

  ls -lR | grep <sub_string> 
/* Fast alternative to find */  

Security  

  echo 'Please go away' > /etc/nologin 
/* Stops users logging in */  

  find / -perm -0777 -type d -ls 
/* Find all your writable directories */  

  find / -type f -perm -2000 -print 
/* Find all SGID files */  

  find / -type f -perm -4000 -print 
/* find all SUID files */  

Set Terminal Options  

  stty erase ^H 
/* Sets the Backspace Key to erase */  

  stty erase ^? 
/* Sets the Delete Key to erase */  

  stty sane 
/* Rreset terminal after viewing a binary file. */  

  tput rmacs 
/* Reset to standard char set */  

Snoop Your Network  

  snoop -d pcelx0 
/* Watch all network packets on device pcelx0 */  

  snoop -o /tmp/mylog pcelx0 
/* Saves packets from device pcelx0 to a file */  

  snoop -i /tmp/mylog host1 host2 
/* View packets from logfile between host1 & host2 */  

  snoop -i /tmp/mylog -v -p101 
/* Show all info on packet number 101 from a logfile */  

  snoop -i /tmp/mylog -o /tmp/newlog host1 
/* Write a new logfile with all host1 packets */  

  snoop -s 120 
/* Return the first 120 bytes in the packet header */  

  snoop -v arp 
/* Capture arp broadcasts on your network */  

Swap File  

  mkfile -v 10m /export/disk1/myswap 
/* Makes a 10 Megabyte swapfile in /export/disk */  

  mkfile -nv 10m /export/disk1/myswap 
/* Makes an empty 10 Megabyte swapfile */  

Swap Space  

  swap -s 
/* List the amount of swap space available, also see mkfile */  

  swap -a /export/disk1/swapfile 
/* Add a swapfile */  

  swap -d /dev/dsk/c0t0d0s4 
/* Deletes a swap device */  

  swap -l 
/* List the current swap devices */  

System Configuration  

  drvconfig ; disks 
/* Adding hot-plug disks to system */  

  /usr/sbin/eeprom auto-boot? false 
/* Changes eeprom autoboot? setting without going to Ok prompt */  

  /usr/sbin/eeprom diag-switch? true 
/* Set the system to perform diagnostics on the next reboot. */  

  /usr/sbin/eeprom local-mac-address?=true 
/* Multiple Port Network Card Setting */  

  /usr/sbin/grpck 
/* Check /etc/group file syntax */  

  /usr/sbin/pwck 
/* Check /etc/passwd file syntax */  

  /usr/sbin/sys-unconfig 
/* Clear host specific network configuration information */  

System Information and Monitoring  

  coreadm -e log 
/* Report global core */  

  /bin/echo "0t${stamp}>Y\n<Y=Y" | adb 
/* Convert UNIX timestamp to something human-readable */  

  /usr/sbin/eeprom 
/* Show eeprom parameters */  

  grep "\-root" /var/adm/sulog | grep -v \+ | tail -25 
/* List most recent attempts to switch to superuser account. */  

  isainfo -bv 
/* Quickly checkout if machine is in 32 or 64 bit mode */  

  last 
/* Tells who was or still is on the system */  

  logger -i 
/* Log the process ID */  

  psradm -f [processor id] 
/* Take processor offline */  

  /usr/sbin/prtconf -vp 
/* Show system configuration details */  

  /usr/platform/`/bin/uname -i`/sbin/prtdiag -v 
/* System Diagnostics */  

  prtconf -pv | grep banner-name |awk -F\' ' { print $2 } ' | head -1 
/* Show actual model name of machine */  

  psrinfo | wc -l 
/* Display number of processors */  

  sar -A <time in sec> 
/* Provides cumulative system report. */  

  sar -a <time in sec> 
/* Report use of file access system routines. */  

  sar -u 
/* Report CPU Utilization */  

  telnet <remote machine> 13 | grep ':' 
/* Get the time on remote Unix machine */  

  uname -a 
/* Displays system information */  

  vmstat 10 
/* Displays summary of what the system is doing every 10 seconds */  

  who -b 
/* Displays the date of the last system reboot. */  

  ypcat hosts | sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4 
/* Take the input of "ypcat hosts" or "cat /etc/inet/hosts" and sort by IP. */



Linux命令速查,超棒
(来自:http://wubinjie.spaces.live.com/ ... 901BF6246!201.entry)

一. 启动,关机,登入,登出相关命令
<login> 登录
<logout> 登出
<exit> 登出
<shutdown> 停止系统
<halt> 停止系统
<reboot> 重启动
<poweroff> 切断电源
<sync> 把内存里的内容写入磁盘
<lilo> 安装lilo启动管理程序
<grub> 安装lilo启动管理程序 


二. Shell相关命令
<chsh> 切换Shell
<history> 显示命令履历
<alias> 设置命令别名
<unalias> 取消命令别名
<which> 显示命令所在位置
<type> 查询命令种类
<echo> 显示字符串或者变量内容
<set> 设置/显示Shell变量
<printenv> 显示环境变量
<export> 设置环境变量
<env> 设置临时环境变量
<unset> 释放环境变量
<setenv> 设置环境变量
<unsetenv> 释放环境变量
<source> 执行文件当中的命令
<man> 查询命令手册
<info> 查询超文本命令手册
<whatis> 显示命令简介
<apropos> 通过关键字查询手册 


三. 用户管理相关命令
<su> 切换到其他用户
<useradd> 追加用户
<adduser> 追加用户
<userdel> 删除用户
<usermod> 修改用户设置 
<chfn> 修改用户私人信息 
<groupadd> 追加组
<groupdel> 删除组
<groupmod> 修改组设置
<passwd> 更改密码
<whoami> 显示用户名
<logname> 显示登录用户帐号
<users> 显示所有登录用户信息
<who> 查询登录用户信息
<w> 查询登录用户信息
<id> 显示指定用户的ID信息
<groups> 显示指定用户的所属组
<finger> 显示指定用户的个人信息
<mesg> 开关与他人收发消息
<write> 给其他用户发消息
<wall> 给所有用户发消息
<talk> 和其他用户聊天 


四. 系统消息相关命令
<date> 显示/设置当前时间
<uptime> 显示系统运行时间
<arch> 显示机器的核心构架(如i386)
<uname> 显示操作系统信息
<tty> 显示终端名
<last> 显示登录/登出在履历
<lastb> 显示非法登录信息
<dumpkeys> 显示当前键盘配置
<loadkeys> 变更键盘配置
<df> 查询磁盘使用信息
<du> 查询磁盘使用信息
<dmesg> 显示系统启动消息
<script> 保存输入输出到文件 


五. 文件操作相关命令
<ls> 显示文件列表
<tree> 显示目录树 
<pwd> 显示当前路径
<cd> 更改当前路径
<pushd> 追加路径到目录堆栈
<popd> 从目录堆栈删除路径
<dirs> 显示目录堆栈的内容
<mkdir> 创建路径
<rmdir> 删除路径
<cp> 复制文件/目录
<rm> 删除文件/目录
<mv> 移动文件/目录,修改文件名
<chown> 更改文件/目录的所有者
<chgrp> 修改文件/目录的所有组
<chmod> 修改文件/目录的权限
<touch> 更改文件时间
<ln> 建立文件/目录链接
<find> 查找文件
<whereis> 显示文件存在的路径名
<file> 查询文件种类
<size> 查询文件大小 


六. 文件编辑相关命令
<cat> 显示文件内容
<tee> 输出到文件和屏幕
<more> 分屏显示文件内容
<less> 分屏显示文件内容
<head> 显示文件头部内容
<tail> 显示文件尾部内容
<fold> 折叠显示长行
<sort> 排列文件的行
<cmp> 比较文件内容
<diff> 显示文件差异
<nkf> 更改日语文件编码
<dd> 变更文件之后复制
<wc> 统计文本单词数,文件大小等
<split> 分割文件
<paste> 以行连接文件
<join> 以字段连接文件
<grep> 查询文字
<uniq> 过滤重复部分显示文件内容
<tr> 替换文字
<sed> 替换文字 


七. 压缩/解压缩相关命令
<ar> 压缩/解压缩文件
<tar> 压缩/解压缩文件
<compress> 压缩/解压缩文件
<uncompress> 解压缩
<gzip> 压缩/解压缩文件
<gunzip> 解压缩
<zcat> 显示压缩文件的内容
<lha> 压缩/解压缩文件
<uuencode> 把二进制文件编码为文本文件
<uudecode> 把经过编码的文本文件还原为二进制文件 


八. MS-DOS工具集[mtools]命令
<mdir> 显示文件列表
<mcd> 改变当前目录
<mmd> 新建目录
<mrd> 删除目录
<mdeltree> 删除目录树
<mcopy> 复制文件
<mdel> 删除文件
<mmove> 移动文件
<mren> 更改文件或目录名
<mattrib> 修改文件属性
<mtype> 显示文件内容
<mdu> 查询文件或目录大小
<minfo> 显示磁盘信息
<mformat> 以MS-DOS方式格式化磁盘
<mlabel> 设置磁盘标签 


九. 控制外部设备相关命令
<mount> mount上设备
<umount> 解除已经mount上的设备
<eject> 弹出(CD/DVD等)
<fdformat> 格式化软盘
<fdisk> 配置/显示硬盘分区
<mkfs> 格式化磁盘分区
<fsck> 检查/修复磁盘错误
<lpr> 打印到打印机
<lprm> 中断打印任务
<lpq> 显示打印任务的状态
<lpc> 管理/控制打印任务
<ifconfig> 显示/设定NIC配置 


十. 进程及任务管理相关命令
<ps> 显示正在运行的进程
<jobs> 显示后台运行任务
<fg> 把任务切换到前台
<bg> 把任务切换到后台
<kill> 中止进程或任务
<killall> 中止进程或任务
<wait> 等待进程或任务的结束
<at> 设置定时执行任务
<atq> 显示尚未执行的任务
<atrm> 删除定时执行任务
<batch> 在系统负荷减轻的时候执行任务
<nice> 改变优先度并执行任务
<nohup> 在后台执行任务,Logout之后也不退出
<sleep> 休眠一定的时间 


十一. 网络管理相关命令
<netstat> 显示当前网络连接状况
<route> 显示/设置路由
<host> 显示网络主机情况
<hostname> 显示/设置当前主机的名字
<ping> 确认和远程机器的连接情况
<traceroute> 显示路由信息
<rwho> 查询网上机器的登陆用户
<ruptime> 查询网上机器的系统运行时间
<rlogin> 登陆到远程机器
<telnet> 用telnet登陆到远程机器
<rsh> 给远程机器发送命令
<rcp> 在远程机器之间复制文件
<mail> 收取邮件
<sendmail> 发送邮件
<mailq> 确认邮件队列
<ftp> 用ftp传输文件 


十一. 其他命令
<cal> 显示日历
<clear> 清屏
<gcc> 编译C语言代码
<as> 汇编
<bc> 计算
<rpm> Redhat的包管理
<dpkg> Debian的包管理
<installpkg> Slackware的包安装(删除命令则是removepkg)
<XF86Setup,turboxfg,Xconfigurator> 配置 X 服务器
<startx> 启动 X-Window 系统
附:组合命令
重定向,如
$ ls -l /bin > ls-output
$ more ls-output
管道命令,如
$ cat file1 file2 | sort | uniq
经常被用于管道的命令
awk, fold, grep, head, nnkf, pr, sed, sort, tail, tee, tr, uniq, wc

 

  

转载于:https://www.cnblogs.com/topicjie/p/7371532.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值