高级Unix命令

这篇文章罗列了很多Unix下比较高级的命令,当然,Unix/Linux下还有更多更多的命令,我们相信你可能见过其中的某些命令,也有可能有一些命令没有见过。不管怎么说,我们希望这些命令一方面可以让你知道怎么使用Unix/Linux操作系统,另一方面,我们也希望你能从中感到Unix的那种软件开发的哲学思想。

ACCTCOM::
查看所有用户执行过的进程(命令)acctcom | tail -20
查看指定用户执行过的进程(命令)acctcom -u <username> | tail -20
使用一个正则表达式查找相关进程acctcom -n <pattern> | tail -20
查找所有以l开头的被用户执行过的命令acctcom -n ‘^l’ | tail -30
以反向顺序显示acctom -b | more
AGREP::
在文件中查找一个可能拼写错的单词agrep -2 ‘macropperswan’ <file>
AT::
在未来某个时间执行某个命令at now + 5 days < scriptfile
AWK::
显示文件的第一列awk ‘{print $1}’ <file>
反序显示文件的前两列awk ‘{print $2,”\t”,$1}’ <file>
输出前两列的总和awk ‘{print $1 + $2}’ <file>
查找所有包括”money” 行并输出最后一列awk ‘/money/ {print $NF}’ <file>
查找第二列中包含 “money”awk ‘$2 ~ /money/ {print $0}’ <file>
查找第三列中不包括”A”awk ‘$3 !~ /A$/ {print $0}’ <file>
BC::
计算sin(5)的值echo ’s(5)’ | bc -l
CANCEL::
取消一个刚开始启动的打印的作业cancel <jobid> ( jobid可以由lpstat -o输出)
CASE in ESAC ::
sh/bash/ksh中的case语句 
CC::
编译一个C文件file.ccc -o <outfile> <infile>
CHGRP::
修改文件的组所属chgrp <newgroupname> <file>
CHOWN::
修改文件的所属人chown <newowner> <file>
CMP::
比较两个文件cmp <file1> <file2> || <command>
COL::
打印man pages,去除其中 “^H”man <command> | col -b | <printcommand>
CRONTAB::
查看你的crontab 文件crontab -l
编译 crontab 文件crontab -e
第周一的05:10 执行/home/fred/foo.ksh10 5 * * 1 /home/fred/foo.ksh
CRYPT::
使用一个口令加密一个文件crypt password < infile > cryptfile
解密一个被上面命令加密了的文件crypt password < cryptfile > cleanfile
CSH ::
最好的Berkley shell 
CUT::
从last 命令的输出中得到hostname字段last | cut -c11-40
DATE::
设置时间(只能由root 执行)date <mmddhhmm>
输出指定日期格式 (如:月份)date +%m
DF::
以kB单位查看磁盘空间df -k
DIRCMP::
比较两个目录dircmp <dir1> <dir2>
DTKSH::
dtksh 是一个 X11 图形的ksh93dtksh
DU::
磁盘使用情况du -ks
ED ::
命令行编译器。ed <file>
EGREP::
使用“或”条件Grep 文件egrep ‘(A|B)’ <file>
grep文件中即不包括A也不包括Begrep -v ‘(A|B)’ <file>
EX::
使用一个shell脚来来编辑一个文件ex -s file <<EOF
g/money/s//cash/
EOF
以一个脚本文件来编辑一个文件ex -s file < scriptfile
EXPR::
求模expr 10 % 7
查看字串是否在变量$var中expr $var : ’string’
显示第一个数字组成的字串expr $var : ‘[^0-9]*\([a-z]*\)’
FGREP::
查找不匹配于某正规表达式的文件行fgrep ‘*,/.()’ <file>
FILE::
查看文件类型(如: ascii)file <file>
FIND::
在整个文件系统中查的一个文件find / -type f -name <file> -print
查找所有匹配于模式的文件find . -type f -name “*<foo>*” -print
删除系统中所有的core文件find / -type f -name core -exec /bin/rm -f {} \;
查找所有包含某单词的文件find . -type f -exec grep -l <word> {} \;
查找所有修改日期在30天以前的文件find . -type f -ctime +30 -print
使用xargs来备份所有的.c文件(加上.bak后缀)find . -name “*.c” -print | xargs -i cp {} {}.bak
只搜索本地文件系统(不搜索nfs文件系统)find . -local …
在搜索的过程中,跟随link文件的实际位置find . -follow …
查找大于1M的文件find /path -size 1000000c -print
运行find命令但忽略”permission denied”find … 2>/dev/null ( 只能在sh/bash/ksh )
查找所有的man目录find / -type d -print | egrep ‘.*/(catman|man)$’
查找所有有写权限的目录find / -type d -perm -002 -print
GAWK ::
GNU版本的nawk 
GREP::
以某个正规表达式查找包含其的文件行grep ‘[a-z][0-9]‘ <file>
查找不包含指定正则表达式的文件行grep -v ‘^From’ <file>
查找一组文件grep -l ‘^[cC]‘ *.f
计算包括某正则表达式文件行的数目grep -c ‘[Ss]uccess’ <file>
不区分大小写的查找grep -i ‘lAbEgF’ <file>
在匹配到的文件内容前输出文件的行号grep -n ‘mo.*y’ <file>
HINV ::
命令显示系统硬件的详细列表,包括:CPU类型、内存大小、所有的磁盘设备。hinv -v
IF then else ENDIF ::
csh/tcsh中的if 语句 
IF then else FI ::
sh/bash/ksh 中的if 语句if [[ condition ]];then commands;fi
KSH::
Korn shell. (ksh88) 
LN::
创建一个硬链接文件a链接到文件Aln a B
创建一个符号链接文件a链接到文件Aln -s a B
删除链接文件Brm B
LP::
在默认打印机上打印文件lp <file>
在指定打印机上打印文件lp -d <destination> <file>
LPSTAT::
显示所有的打印机lpstat -a
查看打印机任务队列lpstat -o
查看默认打印机lpstat -d
查看打印机状态lpstat -p
查看计划任何状态lpstat -r
MAKE::
执行一个 makefile中的第一个目标make
执行一个 makefile中的指点目标make <target>
指定一个特定的makefile文件名make -f <mymakefile>
显示要做什么,但其实什么也没做make -n <target>
MKDIR::
一次创键目录和子目录mkdir -p <path>/<path>/<path>
MOUNT ::
查看挂载的文件卷mount
查看挂载的文件卷(有格式的)mount -p
挂载一个光驱到目录/cdrommount /dev/cdrom /cdrom
挂载一个磁盘分区到目录 /usrmount /dev/dsk/c0t3d0s5 /usr
NAWK::
增强版的 awk 
NL::
以带行号的方式输出文件nl -bt -nln <file>
NOHUP::
启动一个命令马上退出nohup <command> &
PACK::
一个很老的文件打包程序,现在被gzip代替了。pack <file>
PASSWD::
修改你的帐号口令passwd
删除一个用户的口令(root使用)passwd -d <username>
改变一个用户的口令 (root使用)passwd <username>
PASTE::
以列的方式把多个文件组合起来paste <file1> <file2> > <newfile>
PERL::
Perl脚本语言的解释器
PR::
把一个文件做成可打印的格式(76行一页)pr -l76 -h”title” <filename>
  
REGCMP::
从一个文件中编译正则表达式regcmp <file>
文件内容示例varname “^[a-z].*[0-9.*$"
RESET::
重置终端设备reset
RPCINFO::
取得某主机的TCP端口信息rpcinfo -p <host>
RSH::
执行一个远程服务器上的命令rsh <host> <comand>
SCRIPT::
用来捕捉当前的终端会话中的所有输入输出结果到一个指定的文件script <logfile>
SED::
把某文件中的fred替换成johnsed -e 's/fred/john/g' <file>
替换文件中匹配正则表达式的字符串sed -e 's/[0-9]+/number/g’ <file>
把HTML文件中的 “X” 变成红色sed -e ’s!X!<font color=”#FF0000″>X</font>!g;
把所有后缀为.suf1 改名成.suf2ls -1 | grep ‘\.suf1$’ | sed -e ’s/\(.*\.\)suf1/mv & \1suf2/’ | sh
把文件中包含c的行中的a 替换成bsed -e ‘/C/s/A/B/’ <infile> ><outfile>
删除所有包含 “you owe me”的文件行sed -e ‘/you owe me/d’ <infile> > <outfile>
使用commandfile中的命令来编译infile文件,并输出到outfile中。其中的commandfile中包含了一系列的vi命令sed -f <commandfile> <infile> > <outfile>
SH::
最老的 AT&T shell程序,也是使用最广泛的标准确shell。
SHUTDOWN::
关机shutdown -h now
SLEEP::
sleep 10秒钟sleep 10
SORT::
以字符顺序把文件的每一行排序sort <file>
以数字顺序把文件的每一行排序sort -n <file>
反向排序sort -r <file>
排序时对于重复项只保留一个sort -u <file>
  
SPELL::
检查拼写错误spell <file>
检查拼写错误,但是忽略okfile中包含的单词spell +<okfile> <file>
SPLIT::
拆分一个大文件,每个文件1msplit -b1m <file>
把拆分后的文件合并起来cat x* > <newfile>
STRINGS::
从二进制文件中读取ascii 字符串strings <file>
STTY::
显示终端设置stty -a
设置 Ctrl+”H”为删除键stty erase “^H”
对于用户的输入不回显stty -echo
回显用户的输入stty echo
SU::
切换到root用户su
切换到root用户并使用其环境su -
切换到另一用户su <username>
TAIL::
显示某文件中的文件尾中包含pattern的文件行tail -f <file> | grep <pattern>
TAR::
把整个目录打包(没有压缩)tar cvf <outfile>.tar <dir>
解包某个tar文件tar xvf <file>.tar
先解压缩再解包gzip -dc <file>.tar.gz | tar xvf -
打包成一个压缩包tar xzvf <file>tar.gz
在.cshrc中设置 tar命令的tape 变量tape=/dev/rmt/0mbn
把一个目录打包到tape变量所指的目录中tar cv <dir>
从tape中解包tar xv
从tape中解出一个文件tar xv <file>
从 tape中得到一个内容表tar t
以合适的权限和链接拷贝一个目录(cd fromdir && tar -cBf – . ) | ( cd todir && tar -xBf – )
TCSH::
Berkly的另一个非常不错的shell
TEE::
把标准输入重定向到标准输出who | tee -a > <file>
TEST::
检查是否是一个文件test -a <file>
检查是否某文件是否是root属性test -O /usr/bin/su
检查某变量是否为 nulltest -n “$foo”
以数字的方式比较两个数字字符串test $var1 -gt $var2
在ksh 脚本中间接地使用”test”if [[ -a <file> ]];then …;fi
TIME::
查看运行一个命令需要多少时间time <command>
TOUCH::
更新文件的修改时间为当前时间,文件不存在则创建文件touch <file>
TR::
使用x替换a,y替换b,c替换ztr ‘[a-c]‘ ‘[x-z]‘ < infile > outfile
TRAP::
捕捉”^C” 并执行子程序trap “mysub;exit” 0 1 2 15
TRUE::
让个不存在的命令返回0ln -s /usr/bin/true ranlib
TRUSS::
查看一个命令运行时的系统调用truss <command> > /dev/null
TYPSET::
查看被激活的功能typset
TTY::
查看终端所在的设备文件tty
ULIMIT::
查看系统所支持的最大文件长度ulimit
UMASK::
查看目前的umaskumask
设置一个umaskumask 077
UNIQ::
查看一个文件中有多少行是一样的sort <file> | uniq -c
仅输出唯一的没有重复的行sort <file> | uniq -u
UPTIME::
查看你的电脑开机多少时间了uptime
UUENCODE::
Encode一个文件以便发送电子邮件uuencode decodedname namenow > codedname
UUDECODE::
Decode 一个 uuencoded 文件uudecode <file>
WAIT::
等一个后进和运行结束wait $jobid
VI::
最主要的unix编译器vi <file>
WC::
计算一个文件的行号wc -l <file>
XARGS::
把标准输出作为参数来执行一条命令<command> | xargs -i grep ‘pattern’ {}
XON::
从另一台电脑上得到一个xtermxon <host>
从另一台电脑上得到所有的东西xon <host> <X-client>

 

转载于:https://www.cnblogs.com/dubingsky/archive/2009/07/31/1535587.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、 进程间通信以及各种I/O。在此基础上,分别按章介绍了多个应用实例,包括如何创建数据库函数库, PostScript 打印机驱动程序,调制解调器拨号器及在伪终端上运行其他程序的程序等。 本书内容丰富权威, 概念清晰精辟,一直以来被誉为UNIX编程的“圣经”,对于所有UNIX程序员—无论是初学者还是专家级人士 —都是一本无价的参考书籍。 目 录 译者序 译者简介 前言 第1章 UNIX基础知识 1 1.1 引言 1 1.2 登录 1 1.2.1 登录名 1 1.2.2 shell 1 1.3 文件和目录 2 1.3.1 文件系统 2 1.3.2 文件名 2 1.3.3 路径名 2 1.3.4 工作目录 4 1.3.5 起始目录 4 1.4 输入和输出 5 1.4.1 文件描述符 5 1.4.2 标准输入、标准输出和标准 出错 5 1.4.3 不用缓存的I/O 5 1.4.4 标准I/O 6 1.5 程序和进程 7 1.5.1 程序 7 1.5.2 进程和进程ID 7 1.5.3 进程控制 7 1.6 ANSI C 9 1.6.1 函数原型 9 1.6.2 类属指针 9 1.6.3 原始系统数据类型 10 1.7 出错处理 10 1.8 用户标识 11 1.8.1 用户ID 11 1.8.2 组ID 12 1.8.3 添加组ID 12 1.9 信号 12 1.10 UNIX时间值 14 1.11 系统调用和库函数 14 1.12 小结 16 习题 16 第2章 UNIX标准化及实现 17 2.1 引言 17 2.2 UNIX标准化 17 2.2.1 ANSI C 17 2.2.2 IEEE POSIX 18 2.2.3 X/Open XPG3 19 2.2.4 FIPS 19 2.3 UNIX实现 19 2.3.1 SVR4 20 2.3.2 4.3+BSD 20 2.4 标准和实现的关系 21 2.5 限制 21 2.5.1 ANSI C限制 22 2.5.2 POSIX限制 22 2.5.3 XPG3限制 24 2.5.4 sysconf、pathconf 和fpathconf 函数 24 2.5.5 FIPS 151-1要求 28 2.5.6 限制总结 28 2.5.7 未确定的运行时间限制 29 2.6 功能测试宏 32 2.7 基本系统数据类型 32 2.8 标准之间的冲突 33 2.9 小结 34 习题 34 第3章 文件I/O 35 3.1 引言 35 3.2 文件描述符 35 3.3 open函数 35 3.4 creat函数 37 3.5 close函数 37 3.6 lseek函数 38 3.7 read函数 40 3.8 write函数 41 3.9 I/O的效率 41 3.10 文件共享 42 3.11 原子操作 45 3.11.1 添加至一个文件 45 3.11.2 创建一个文件 45 3.12 dup和dup2函数 46 3.13 fcntl函数 47 3.14 ioctl函数 50 3.15 /dev/fd 51 3.16 小结 52 习题 52 第4章 文件和目录 54 4.1 引言 54 4.2 stat, fstat和lstat函数 54 4.3 文件类型 55 4.4 设置-用户-ID和设置-组-ID 57 4.5 文件存取许可权 58 4.6 新文件和目录的所有权 60 4.7 access函数 60 4.8 umask函数 62 4.9 chmod和fchmod函数 63 4.10 粘住位 65 4.11 chown, fchown和 lchown函数 66 4.12 文件长度 67 4.13 文件截短 68 4.14 文件系统 69 4.15 link, unlink, remove和rename 函数 71 4.16 符号连接 73 4.17 symlink 和readlink函数 76 4.18 文件的时间 76 4.19 utime函数 78 4.20 mkdir和rmdir函数

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值