天天看点

Linux一些命令!

getopt

=====================================================

                    常用命令

=====================================================

 1 基本命令

     o 1.1 ls   -R -S -t -i(find -inum)

     o 1.2 cat,tac

     o 1.3 rev

     o 1.4 cp   -a -u -R(r)

     o 1.5 mv

     o 1.6 rm   ./-g   -- -g

     o 1.7 rmdir

     o 1.8 mkdir  这个命令的 -p我以前用过,还可结合{ ,}

     o 1.9 chmod

     o 1.10 chattr (以前一直没搞懂它和lsattr怎用的,lsattr老是全出现-) i a s u c

     o 1.11 ln

     o 1.12 man,info

 2 复杂命令

     o 2.1 find -exec COMMAND /;   /+这个怎么用?(mv)重点!-execdir??

     o 2.2 xargs

     o 2.3 expr  *****

 3 时间/日期命令

     o 3.1 date  %N

     o 3.3 time  times(好像是内建命令, time好像也是  :help与enable)

     o 3.4 touch

     o 3.5 at

     o 3.8 sleep

 4 文本处理命令

     o 4.1 sort*

     o 4.3 uniq*

     o 4.5 cut*   awk

     o 4.8 head

     o 4.9 tail

     o 4.10 grep*

     o 4.12 sed,awk*

     o 4.15 wc*

     o 4.16 tr*

     o 4.17 fold -s??

     o 4.19 col(?)

     o 4.20 column

     o 4.22 nl

 5 文件与归档命令

     o 5.1 tar --delete(只对.tar,不对.gz) -u -r -A -d

     o 5.2 shar

     o 5.3 ar

     o 5.4 rpm

     o 5.5 cpio   (低??)

     o 5.6 rpm2cpio

 6 压缩命令

     o 6.1 gzip

     o 6.2 bzip2

     o 6.5 zip,unzip

     o 6.6 unarc,unarj,unrar

 7 文件信息

     o 7.1 file*

     o 7.2 which

     o 7.3 whereis*

     o 7.4 whatis

     o 7.6 locate,slocate

     o 7.8 diff,patch* (diff3 sdiff很少用)

     o 7.9 cmp

 8 一般工具

     o 8.1 basename

     o 8.2 dirname

     o 8.4 sum,cksum,md5sum,sha1sum*

     o 8.5 shred

 9 编码和解码

     o 9.1 uuencode

     o 9.2 uudecode

 10 一些杂项工具

     o 10.1 mktemp

     o 10.4 dos2unix

 11 通讯命令

     o 11.1 host

     o 11.3 nslookup

     o 11.4 dig

     o 11.5 traceroute

     o 11.6 ping

     o 11.7 whois

     o 11.13 ftp

     o 11.15 telnet

     o 11.16 wget

     o 11.21 rsync  ????

     o 11.22 ssh

     o 11.23 scp

     o 11.24 write

     o 11.25 mail (可以对外邮寄)

 12 终端控制命令

     o 12.5 script

 13 数学计算命令

     o 13.2 bc

     o 13.4 awk*

 14 混杂命令

     o 14.2 getopt ??

     o 14.11 dd*

=====================================================

                Shell内建命令

=====================================================

 1 I/O 类

     o 1.1 echo -n -e -E

     o 1.2 printf

     o 1.3 read -n

 2 文件系统类

     o 2.1 cd

     o 2.2 pwd

     o 2.3 pushd、popd、dirs

 3 变量类

     o 3.1 let

     o 3.2 unset

     o 3.3 export

     o 3.4 getopts

 4 脚本行为

     o 4.1 source, . (点命令)

     o 4.2 exit

     o 4.3 exec

     o 4.4 true

     o 4.5 type[cmd]

     o 4.6 bind

     o 4.7 help

 5 作业控制命令

     o 5.1 jobs

     o 5.2 disown nohup setsid screen

     o 5.3 fg、bg

     o 5.4 wait

     o 5.5 logout

     o 5.6 times

     o 5.7 kill

     o 5.8 command

     o 5.9 builtin

=====================================================

                            系统管理命令

=====================================================

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

ulimit

/proc里设置

修改内核源码,从新编译内核

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

 1 Users 和 Groups 类命令

     o 1.1 users

     o 1.2 groups

     o 1.3 chown,chgrp*

     o 1.4 useradd,userdel*

     o 1.5 usermod*

     o 1.6 groupmod gpasswd

     o 1.7 id

     o 1.8 who

     o 1.9 w

     o 1.10 logname

     o 1.11 su

     o 1.12 sudo

     o 1.13 passwd

     o 1.14 ac

     o 1.15 last

     o 1.16 newgrp

 2 终端类命令

     o 2.1 tty

     o 2.2 sty

     o 2.3 tset

     o 2.4 setserial

     o 2.5 getty,agetty

     o 2.6 mesg

     o 2.7 wall

     o 2.8 uname

     o 2.9 arch

     o 2.10 lastcomm

     o 2.11 lastlog

     o 2.12 lsof (lsusb lsdev)

     o 2.13 strace

     o 2.14 nmap

     o 2.15 nc

     o 2.16 free

     o 2.17 procinfo

     o 2.19 du

     o 2.20 df

     o 2.21 dmesg

     o 2.22 stat

     o 2.23 vmstat

     o 2.24 iostat

     o 2.25 netstat

     o 2.26 uptime

     o 2.27 hostname

     o 2.28 hosted

     o 2.29 sar

     o 2.30 readelf

     o 2.31 size

 3 系统日志类

     o 3.1 logger

     o 3.2 logrotate

 4 作业控制

     o 4.1 ps pidof

     o 4.2 pgrep, pkill

     o 4.3 pstree

     o 4.4 (h)top

     o 4.5 nice

     o 4.6 nohup setsid disown screen

     o 4.8 fuser lsof

     o 4.9 cron

 5 进程控制和启动类

     o 5.1 init

     o 5.2 telinit

     o 5.3 runlevel

     o 5.4 halt,shutdown,reboot

     o 5.5 service

 6 网络类

     o 6.1 ifconfig

     o 6.2 iwconfig(无线网络的ifconfig版本)

     o 6.3 route

     o 6.4 chkconfig(RH类专有)

     o 6.5 tcpdump

 7 文件系统类

     o 7.1 mount

     o 7.2 umount

     o 7.3 sync

     o 7.4 losetup

     o 7.5 mkswap

     o 7.6 swapon,swapoff

     o 7.7 mke2fs

     o 7.8 tune2fs

     o 7.9 dumpe2fs

     o 7.10 hdparm

     o 7.11 fdisk

     o 7.12 fsck,e2fsck,debugfs

 8 系统

     o 8.1 badblocks

     o 8.2 lsusb,usbmodules

     o 8.3 mkbootdisk

     o 8.4 chroot

     o 8.5 lockfile

     o 8.6 mknod

     o 8.7 MAKEDEV 是一个命令

     o 8.8 tmpwatch

 9 备份类

     o 9.1 dump,restore

     o 9.2 fdformat

 10 系统资源类

     o 10.1 ulimit

     o 10.2 quota

     o 10.3 setquota

     o 10.4 umask

     o 10.5 rdev *

 11 模块类

     o 11.1 lsmod

     o 11.2 insmod

     o 11.3 rmmod

     o 11.4 modprobe

     o 11.5 depmod

     o 11.6 modinfo

 12 杂项类

          o 12.1 env

          o 12.2 ldd

          o 12.3 strip

          o 12.4 nm

          o 12.5 rdist

============================================

sed中的可以直接使用的正则:

    * . ^ $ [ ] /

需要转义使用的正则符号:

+  ? { } ( ) | < >

其它

/w ( 相当于[A-Za-z_] ) /W ( 相当于[^A-Za-z_] )

/b 匹配单词的前或后边界

/B 匹配单词的非边界

/< 匹配单词的位置前

/> 匹配单词的位置后

============================================

数组类用法:

${name[*]}和${name[@]} 扩展为整个数组的所有项。区别仅在带双引号时,*扩展为一个词,@扩展为数组长度个词(for val in "${name[*]",即可看出区别),所有变量替换中的*和@的区别都与此类似。

${#name} name为变量时,扩展为变量字符串的长度;name为数组时,扩展为数组长度。${#name[subscript]}符合前者。

杂类:

${parameter:offset}和${parameter:offset:length} 扩展为parameter从第offset字符开始,取length个字符;无length时,缺省取到变量末尾。

一种特例,${parameter: -n}扩展为变量parameter的最后n个字符(注意:和-之间必须有空格)

${@:offset:length}扩展为命令行参数列表从 offset开始的length项;

${name[@]:offset:length}扩展为数组name从${name[offset]}开始的 length项。

${!prefix*}和${[email protected]} 扩展为所有以prefix开始的变量名。

${!name[*]}和${!name[@]} 扩展为name数组的所有下标。

默认值类用法:

${parameter-word} 若parameter变量未定义,则扩展为word。

${parameter:-word} 若parameter变量未定义或为空,则扩展为word。

${parameter:-word} 若parameter变量未定义,则从父进程的标准错误输出输出bash: parameter: word。

${parameter:-word} 若parameter变量未定义或为空,则从父进程的标准错误输出输出bash: parameter: word。

${parameter+word} 若parameter变量已定义,则扩展为word。

${parameter:+word} 若parameter变量非空,则扩展为word。

${parameter=word} 若parameter变量未定义,则扩展为word,并将parameter赋值为word。

${parameter:=word} 若parameter变量未定义或为空,则扩展为word,并将parameter赋值为word。

变量值替换类:

${parameter#pattern}和${parameter##pattern} 掐头,#是最小匹配,##是最大匹配,将变量从开头匹配pattern,最后扩展为原变量值去掉匹配的内容后的内容。

${parameter%pattern}和${parameter%%pattern} 去尾,%是最小匹配,%%是最大匹配,将变量从结尾匹配pattern,最后扩展为原变量值去掉匹配的内容后的内容。

${parameter/pattern/string}和${parameter//pattern/string} 扩展为将变量内容匹配pattern的部分用string替换后的内容。/只做第一次替换,//做全部替换。此例的一种特殊用法,pattern中以#开头时匹配pattern开头的,pattern中以%开头时匹配pattern结尾的。

此类中使用的pattern都是文件名扩展所支持的通配符,并不支持BRE或ERE,shopt -s extglob打开的扩充文件名扩展也可影响此pattern,使之支持更复杂的文件名扩展。

此类中的parameter都可以为*或@,以扩展为使每个命令行参数列表(即$1,$2...$n)都进行操作后的内容;还都可以为name[*]或name[@],以扩展为使每个数组项都进行操作后的内容。

继续阅读