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*}和${!prefix@} 扩展为所有以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[@],以扩展为使每个数组项都进行操作后的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值