Solaris 命令行 简单手册
2007年06月20日 星期三 14:25
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:命令补全 末尾&:后台进程 ---------------------------------------- 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. */ |