Linux 命令手册
文件管理
cat
说明:
把档案串连接后传到基本输出。
参数:
- -n 由 1 开始对所有的输出行进行编号
- -b 和 -n 相似,只不过对空白行不编号
- -s 把连续两行以上的空白行替换为一行的空白行
范例:
- cat -n file1 > file2
- cat -b file1 file2 >> file3
- cat \<\< EOF > file
chattr
说明:
改变文件属性
参数:
- -R 递归处理
- \<属性> 开启该项属性
- \<属性> 关闭该项属性
- = \<属性> 指定属性
chgrp
说明:
变更所属群组
参数:
- -c 效果类似”-v”参数,但仅回报更改的部分
- —reference=\<参考文件或目录>
把指定文件的所属群组设成和参考的相同
范例:
: - chgrp -c —reference=file1 file2
chmod
说明:
更改权限
权限范围表示如下: * u: User * g: Group * o: Other * a: All
权限代号如下: * r: 读,”4” * w: 写,”2” * x: 执行,”1” * -:
不具任何权限,”0” * s: 特殊功能
范例:
- chmod -v u+x file
- chmod -R 744 doc
chown
说明:
变更拥有者或所属群组
cksum
说明:
检查文件的 CRC 是否正确
cmp
说明:
比较两个文件是否有差异。预设会标示出第一个不同之处的字符和列数编号。
cp
说明:
复制
参数:
- -a 此参数的效果和同时指定”-dpR”参数相同
- -d 复制符号链接
- -f 强制复制
- -i 复制文件之前询问
- -p 保留原属性
cut
说明:
: 显示每行指定的字符
用法:
cut -xn1-n2 filename
note
n1 从1开始!
: x 取值为 b,c,f参数:
- -b 只输出这些字节
- -c 只输出这些字母
- -f 只输出这些域
- -d 指定分隔符
范例:
- date | cut -d ‘ ‘ -f5 | cut -d : -f1
diff
说明:
比较文件的差异。以逐行的方式,比较文本文件的异同处。若比较目录,则会比较目录中相同文件名的文件,但不会比较其中的子目录。
参数:
- -b 不检查空行字符的不同
- -B 不检查空白行
- -c 显示全部内文,标出不同处
- -i 不检查大小写的不同
- -l 结果交由pr程序来分页
- -r 比较子目录中的文件
file
说明:
识别文件类型
参数:
- -b 不显示文件名称
- -L 跟踪链接
- -f\
从文件 ‘’file’’ 中读取要分析的文件名列表 - -z 探测压缩过的文件类型
find
说明:
查找。查找符合条件的文件。任何位于参数之前的字符串都被视为欲查找的目录。
参数:
- -a/cmin [+/-]n “+”之前,”-“之后,分钟
- -a/ctime [+/-]n 天
- -a/cnewer\<参考文件或目录> a 的意思为“存取”,c 的意思为“更改”
- -expty 空文件或空目录
- -exec\<执行命令> 假设find指令的返回值为true,就执行该命令
- -size\<文件大小> 符合文件大小的文件
- -type\<文件类型> 指定的文件类型
范例:
- find ~/doc -ctime -1 #在 ~/doc 下查找更改时间小于1天的文件
- find /tmp -name core -type f -print | xargs /bin/rm -f
- find /usr/lib -name *.so
ln
其它文件
patch
说明:
修补文件。利用设置修补文件的方式,修改,更新原始文件。
参数:
- -p0 从当前目录查找目的文件(夹)
- -p1 忽略掉第一层目录
- -E 如果发现了新文件,就删除它
- -R
在补丁文件中的“新”文件和“旧”文件现在要调换过来(实际上就是给新版本打补丁,让它变成老版本)
示例:
- patch -p0 \< test.path % 使用test.path 文件在当前目录打补丁
- patch -RE -p0 \< test.path % 去掉补丁,恢复旧版本
rm
说明:
删除文件或目录。如欲删除目录必须加上参数”-r”。
参数:
- -r 递归处理,指定文件目录下的所有文件及子目录一并处理
- -f 强制删除
- -i 删除既有文件或目录之前询问用户
split
说明:
切割文件,预设每1000行会切成一个小文件。
参数:
- -\<行数> 指定小文件的行数
- -b\<字节> 指定小文件的字节数
- -C\<字节> 与的-b参数类似,当切割尽量维持每行的完整性
- [输出文件名]
设置切割后文件的前置文件名,split会自动在前置文件名后加上编号
示例:
: - split -b500m myBigFile mySmallFiles
tee
说明:
读取标准输入的数据,将其内容输出到标准输出和每个文件。
参数:
- -a 追加到文件后面
- -i 忽略中断信号
示例:
- echo “same words” | tee -a file
- prog1 \< infile | tee fifo | prpg2
touch
说明:
改变文件或目录的时间
参数:
- -a 只更改存取时间
- -c 不建立任何文件
- -d\<日期> 使用指定的日期,而非现在
- -m 只更改修改时间
- -t\<时间> 使用指定的时间
umask
说明:
指定在建立文件时预设的权限掩码。权限掩码是由3个八进制的数字所组成,将现有的存储权限减掉权限掩码后,即可产生建立文件时预设的权限。
参数:
- -S 以文字方式来表示权限掩码
whereis
说明:
在特定目录中查找符合条件的文件。
参数:
- -b 只查找二进制文件
- -B\<目录> 只在设置的目录下查找二进制文件
- -m 只查找说明文件
- -M\<目录>
- -s 只查找原始代码文件
- -S\<目录>
which
说明:
在环境变量\$PATH设置的目录里查找符合条件的文件。
文件传输
bye
说明:
中断FTP连线并结束程序
ftp
说明:
—(待续)—。。。
文档编辑
egrep
说明:
在文件内查找指定的字符串。egrep执行效果如grep
-E,使用的语法及参数可参照 [[#grep|grep]]
指令,与grep不同点在于解读字符串的方法,egrep使用extended regular
experssion语法来解读,二grep则是用basic regular expression语法来解读。
fgrep
说明:
本指令相当与执行grep -F,详见 [[#grep|grep]] 指令
grep
\<\
说明:
查找文件里符合条件的字符串。
参数:
- -\<行数> 显示匹配行的前后行
- -a 不要忽略二进制数据
- -A\<显示列数>或—after-context=\<显示列数>
除了显示符合范本样式的那一列之外,并显示该列之后的内容- -B\<显示列数>或—before-context=\<显示列数>
- -c 打印匹配的列数,不显示匹配的内容
- -e\<范本样式>或—regexp=\<范本样式>
定字符串做为查找文件内容的范本样式。- -E或—extended-regexp 将范本样式为延伸的普通表示法来使用。
- -f\<范本文件>或—file=\<范本文件>
指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。- -h 当搜索多个文件时,不显示匹配文件名前缀
- -i 忽略大小写的差别
- -n 表示出列编号
- -v 反转检索,只显示不匹配的行
- -w 如果被\<和>引用,就把表达式作为一个单词搜索
示例:
ls -l | grep ‘\^a’
: 显示以a开头的行grep ‘test’ d*
: 显示所有以d开头的文件中包含test的行grep ‘w(es)t.1’ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.),这些字符后面紧跟着另外一个es(1),找到就显示该行。如果用egrep或grep
-E,就不用””号进行转义,直接写成’w(es)t.*1’就可以了。- grep ‘[0-9]{3}.[0-9]{3}.’ ipfile
look
说明:
用于查询英文单词
参数:
- -f 忽略大小写
- -t\<字尾字符串> 设置字尾字符串
sed
说明:
利用script来处理文本文件
sed
: 是一种在线编辑器,它一次处理一行内容。定址
: 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分割的两个行数表示起至行的范围。命令:
a
在当前行后面加入一行文本 b lable
分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾 c
用新的文本改变本行的文本 d 从模板块位置删除行 D 删除模板块的第一行 i
在当前行上面插入文本 g 获取内存缓冲区的内容,并替代当前模板块中的文本
p 打印模板块的行 r file 从file中读行 w file 写并追加模板块到file末尾 !
表示后面的命令对所用没有被选定的行发生作用 s/re/string
用string替换正则表达式re =
打印当前行号码 #
把注释扩展到下一个换行符以前
以下是替换标记:
- g 表示行内全面替换
- p 表示打印行
- w 表示把行写入一个文件
- x 表示互换模板块中的文本和缓冲区的文本
- y 表示把一个字符翻译为另外的字符
参数:
- -e\
- -f\
- -n 取消默认输出
元字符集:
\^
: 锚定行的开始\$
: 锚定行的结束‘’.’’
: 匹配一个非换行符的字符
*
: 匹配零个或国歌字符[]
: 匹配一个指定范围内的字符[\^]
: 匹配一个不在指定范围内的字符(..)
: 保留匹配的字符,如s/(love)able/1rs,loveable被替换成lovers&
: 保留搜索字符用来替换其他的字符,如s/love/&/,结果为*love*\<
: 锚定单词的开始>
: 锚定单词的结束x{m}
: 重复x,m次x{m,}
: 重复x,至少m次x{m,n}
: 重复x,至少m次,不多于n次示例:
删除:d命令
: - sed ‘2d’ example # 删除example文件的第二行- sed '2,\$d' example \# 删除example文件的第二行到末尾所有行 - sed '\$d' example \# 删除example文件的最后一行 - sed '/test/'d example \# 删除example文件所有包含test的行
替换:s命令
: - sed ‘s/test/mytest/g’ example #
在整行(g)范围内把test替换为mytest。- sed -n 's/\^test/mystes/p' example \# (-n)选项和p标志一起使用表示只打印那些发生替换的行。 - sed 's/\^192.168.0.1/&localhost/' example \# &符号表示替换字符串中被找到的部分。所有以192.168.0.1开头的行都会在该"192.168.0.1"后添加localhost。 - sed 's\#10\#100\#g' example \# 以'\#'作为分隔符。不论什么字符,紧跟这s命令的都被认为是新的分隔符。
指定行的范围:逗号
: - sed -n ‘/test/,/check/p’ example #
所有在test和check所确定的范围内的行都被打印。- sed -n '5,/\^test/p' example \# 打印从第五行开始到第一个包含以test开始的行之间的所有行。 - sed '/test/,/check/s/\$/sed test/' example \# 对于test和west之间的行,每行的末尾用字符串sed test替换。
多点编辑:e命令
: - sed -e ‘1,5d’ -e ‘s/test/check/‘ example从文件读入:r命令
: - sed ‘/test/r file’ example #
file里的内容读进来,显示在与test匹配的行后面。写入文件:w命令
: - sed -n ‘/test/w file’ example #
在example中所有包含test的行都被写入file里。追加命令:a命令
: - sed ‘/\^test/athis is a example’ example # ‘this is a
example’被追加到example文件中以test开头的行的后面,sed要求命令a后面有一个反斜杠。插入:i命令
: - sed ‘/\^aaa/ithis’ test #
在test文件中把”this”插入到以”aaa”开头的行的前面下一个:n命令
: - sed ‘/test/{n; s/aa/bb/;}’ example #
如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。变形命令:y命令
: - sed ‘1,10y/abcde/ABCDE/‘ example #
把1—10行内所有abcde转换为大写。注意:正则表达式元字符不能使用这个命令。退出:q命令
: - sed ‘10q’ # 打印完地10行后,退出sed。保持和获取:h命令和G命令
: - sed -e ‘/test/h’ -e ‘\$G’ example #
在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将
打印在屏幕上。接着模式空间被清空,并存入新的一行等待处理。在这个例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保
持缓存区的特殊缓冲区内。第二条语句的意思是,当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中的行的末尾。在这个例子中就把最后一个包含test的行并追加到该文件的末尾。’h’换为’H’则把所有包含test的行追加到该文件的末尾。保持和互换:h命令和x命令
: - sed -e ‘/test/h’ -e ‘/check/x’ example #
互换模式空间和保持缓冲区的内容。也就是把包含test与check的行互换。sort
说明:
将文本文件内容加以排序,以行为单位。
参数:
- -b 忽略每行前面开始的空格字符
- -c 检查文件是否已经按照顺序排序
- -f 排序时,将小写字母视为大写字母,即忽略大小写
- -k\
以p1开始p2结束作为键值。注:如果不指定”p2”则默认为行尾- -m 将几个排序好的文件进行合并
- -n 依照数值大小排序
- -o\<输出文件> 结果存入指定文件
- -r 以相反的顺序来排序
- -t\<分割字符> 指定排序时所用的栏位分割字符
- -u 删除重复项
示例:
- sort -n -k 2 -t : example #
以冒号作为分隔符,并对第二列来进行数值升序排序- sort -n -t ‘ ‘ -k 2 -k 3 example # 对第二个域和第三个域排序
- sort -n -t ‘ ‘ -k 3r -k 2 example # 对第三个域逆序
- sort -t ‘ ‘ -k 1.2,1.2 -k 3,3nr example #
“1.2,1.2”第一个域的第二个字母到第一个域的第二个字母
tr
说明:
转换字符
语法:
tr [-cdst][—help][—version][第一字符集][第二字符集]
参数:
- -c 取代所有不属于第一字符集的字符
- -d 删除所有属于第一字符集的字符
- -s 把连续的字符以单独的字符表示
- -t 删除第一字符集较第二字符集多出的字符
示例:
- tr -d ‘r’ \< dos-file > unix-file % 删除回车
- cat file | tr u n % 把u替换为n
- cat file | tr -d abc % 删除a或b或c字符
- cat file | tr [:lower:] [:upper:] % 小写转换为大写
uniq
说明:
检查及删除文本文件中重复出现的行列。注:先要对文件进行排序。
参数:
- -c 在每列旁边显示改行重复出现的次数
- -d 仅显示重复出现的行列
- -f\<栏位> 忽略比较指定的栏位
- -s\<字符位置> 忽略比较指定的字符
- -u 仅显示出现一次的行列
- -w\<字符位置> 指定要比较的字符
示例:
- sort example | uniq -u % 只显示唯一的行
wc
说明:
计算文件的Byte数、字数、或是列数。
参数:
- -c 只显示Bytes数
- -l 只显示列数
- -w 只显示字数
磁盘管理
cd
说明:
切换目录。用户要有足够的权限进入目录。
df
说明:
显示磁盘的相关信息。
参数:
- -a 显示所有文件系统的磁盘使用情况
- -h 以可读性较高的方式来显示信息
- -H 与-h参数相同,但以1000Bytes为单位
- -i 显示inode的信息
- -k 指定区块大小为1024字节(默认)
- -l 仅显示本地端的文件系统
- -m 指定区块大小为1mb
- -t\<文件系统类型> 仅显示指定的文件系统类型的磁盘信息
- -T 显示文件系统的类型
- -x\<文件系统类型> 不显示指定的
示例:
- df -t ext4 -h % 以可读性较高的方式只显示ext4文件系统的磁盘使用情况
- df -i /dev/sda1 % 显示/dev/sda1磁盘的使用情况
dirs
说明:
显示目录堆栈中的记录
参数:
- +n 显示从左边算起第n笔的目录
- -n 显示从右边算起第n笔的目录
- -l 显示完整的记录
du
说明:
显示目录或文件的大小
参数:
- -a -b -h -H -K -m 同 df_ 命令
- -c 一同显示中和
- -s 仅显示总计
- —exclude=\<目录或文件> 略过指定的目录或文件
- -max-depth=\<怒怒层数> 超过指定的层数后,予以忽略
ls
说明:
列出怒怒内容
mkdir
说明:
建立目录
参数:
: - -m\<模式> 设定模式权限
- -p 需要时创建上层目录
mount
说明:
挂载文件系统
pwd
说明:
显示工作目录
rmdir
说明:
删除目录
stat
说明:
显示文件或目录状态
tree
说明:
以树状图列出目录的内容
umount
说明:
卸载文件系统
磁盘维护
dd
说明:
: 读取,转换并输出数据
参数:
: - if=\
- of=\<file\> 输出文件名,缺省为标准输出
- ibs=\<bytes\> 一次读入 ''bytes'' 个字节
- obs=\<bytes\> 一次写 ''bytes'' 个字节
- bs=\<bytes\> 同时设置读写块大小为 ''bytes''
- count=\<blocks\> 拷贝 ''blocks'' 个块
示例:
: - dd if=/dev/fd0 of=disk.img bs=1440k # 建立软盘镜像
- dd if=/dev/hda of=disk.mbr bs=512 count=1 \# 拷贝 '''MBR'''
网络通讯
ping
说明:
: 检测主机。ping 指令会使用 ICMP 传输协议,发出要求回应的信息。
参数:
: - -c\<次数> 设置完成要求回应的次数
- -i\<间隔秒数\> 指定守法信息的间隔时间
telnet
说明:
: 远程登入,交互式
参数:
- -a 尝试自动登入
- -l\<用户名> 指定要登入主机的用户名
netstat
说明:
: 用于显示与 IP、TCP、UDP和 ICMP 协议相关的统计数据,检测网络链接状况
参数:
: - -a 显示所有连线中的 Socket
- -s 显示网络工作信息统计表
- -r 显示路由表信息
- -n 显示所有已建立的有效链接
- -e 显示额外信息,使用两次显示更多信息
系统管理
adderuser
说明:
新增用户帐号
chsh
说明:
更改登入系统时的shell
参数:
- -s\
更改系统预设的shell环境
date
说明:
显示或设置系统时间与日期
参数:
- -d\<字符串> 显示字符串指出的日期与时间
- -s\<字符串> 根据字符串来设置日期与时间
示例:
- date -s 20100911 % 日期为2010.9.11,时间为00:00:00
- date -s 12:23:23 % 设置时间,修改日期
- date -s “12:12:23 2010-09-11” % 设置全部时间
finger
说明:
查找并显示用户信息
free
说明:
显示内存状态
参数:
- -b/k/m 以Bytes/KB/MB显示
- -o 不显示缓冲区调节列
- -s\<间隔秒数> 持续观察内存使用状况
- -t 显示内存总和
groupdel
说明:
删除群组
halt
说明:
关闭系统
参数:
- -f 强制关闭
- -p halt之后,执行poweroff
id
说明:
显示用户的ID,以及所属群组的ID
kill
说明:
删除执行中的程序或工作
last
说明:
列出目前以过去登入系统的用户相关信息
nice
说明:
更改程序执行的优先级
ps
说明:
报告程序的状况
screen
说明:
多重视窗管理程序
shutdown
说明:
系统关机指令
参数:
- -h 将系统关机
- -k 只是送出信息给所有用户,但不实际关机
- -r 重启
- -t\<秒数> 警告信息持续的时间
- [时间] 设置多久后执行shutdown指令
top
说明:
显示,管理执行中的程序
uname
说明:
显示系统信息
参数:
- -a 全部信息
userdel
说明:
删除用户帐号
vlock
说明:
锁住虚拟终端
w
说明:
显示目前登入系统的用户信息
who
说明:
显示目前登入系统的用户信息
系统设置
alias
说明:
设置指令的别名
语法:
alias [别名]=[指令名]
chroot
说明:
改变根目录
crontab
说明:
设置计时器。cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。
其配置文件格式如下:
:Minute Hour Day Month DayOFWeek Command
参数:
- -e 编辑该用户的计时器设置
- -l 列出该用户的计时器设置
- -r 删除该用户的计时器设置
示例:
- 0 */2 * * * /sbin/service /httpd restart %
每两个小时重启一次apache- 50 7 * * * /sbin/service sshd start % 每天7:50开启ssh服务
- 0 0 1,15 * * fsck /home % 每月1好和15好检查/home磁盘
- 00 03 * * 1-5 find /home “.xxx” -mtime +4 -exec rm {} ; %
每周一至周五3点钟,在目录/home中,查找文件名为.xxx的文件,并删除4天前的文件- 30 6 */10 * * ls % 每月的1、11、21、31日的6:30执行ls
dmesg
说明:
显示开机信息
eval
说明:
没有明白!!!
export
说明:
设置或显示环境变量。export的效力仅及与此次登录操作
passwd
说明:
设置密码
resize
说明:
设置终端视窗的大小
参数:
- -s \<行数> \<列数> 设置垂直高度和水平宽度
set
说明:
—(不清楚!!!)—
unalias
说明:
删除别名。见:[[#alias|alias]]
参数:
- -a 删除全部别名
unset
说明:
删除变量或函数
参数:
- -f 仅删除函数
- -v 仅删除变量
备份压缩
bunzip2
说明:
.bz2文件的解压数程序
bzip2
说明:
.bz2文件的压缩程序
cpio
说明:
备份文件
dump
说明:
备份文件系统
gunzip
说明:
解压文件
gzip
说明:
压缩文件
tar
说明:
备份/还原文件
参数:
- -c 建立新的备份文件
- -C\<目的目录> 切换到指定的目录
- -d 比较备份文件内和文件系统上的文件查差异
- -f\<备份文件> 指定备份文件名,在f之后要立即接档案名
- -m 还原文件是,不要更改文件的更改时间
- -p 用原来的文件权限还原文件
- -r 新增文件到已存在的备份文件的结尾部分
- -u 仅置换较备份文件内的文件更新的文件
- -v 显示指令执行的过程
- -t 列出备份文件的内容
- -x 从备份文件中还原文件
- -z 通过 gzip 指令处理配分文件
- -j 通过 bzip 指令处理备份文件
- —delete 从备份文件中删除指定文件
- —exclude=\<范本样式> 排除符合范本样式的文件
示例:
- tar -cvf /tmp/etc.tar /etc % 仅打包,不压缩
- tar -zcvf /tmp/etc.tar /etc % 打包后,以gzip压缩
- tar -jcvf /tmp/etc.tar /etc % 打包后,以bzip2压缩
- tar -cvf - /etc | tar -xvf - %
将/etc/打包后直接解压在/tmp下,不产生档案
unzip
说明:
解压缩zip文件
zip
说明:
压缩文件