cat将几个文件合并为一个文件: $cat file1 file2> file
一次显示整个文件。$ cat filename
-b 显示文件中的行号,空行不编号
-E 在显示所有行的末尾,加上$符号
more是分屏显示
less是分屏显示文件内容,less与more大致一样,但是less可以回看
head
-c:显示文件的字节数
-w:显示文件的单词数
-n:显示文件的行数
tail tail num file,显示文件最后num行
tac tac 是将 cat 反写过来,所以它的功能就 跟 cat 相反
nl显示文件内容,并加上行号
用法:nl [文件名]等同于cat -n [文件名]
匹配、排序命令
grep显示匹配条件所有行的内容,搜索行内容
用法:grep命令的一般格式:grep [选项] [文件名]
grep bash /etc/shells搜索shells文件中含有bash的行
Find -name按照文件名查找文件。
-perm按照文件权限来查找文件
-user照文件属主来查找文件。
-group按照文件所属的组来查找文件。
-type查找某一类型的文件
sort将文本文件内容加以排序
-m:如果文件列表中的文件已经排好序,则对这些文件统一进行合并,不做排序
-r:逆序排序(按照ASCII码表的顺序来排序的)
-o:将文件排序输出放到该文件名所指定的文件中。如果该文件不存在,则创建一个新文件。
uniq显示文件中所有不重复的行
-c:显示输出时,在每行的行首加该行在文件中出现的次数
-d:只显示重复行
-u:只显示文件中的不重复行
comm比较两个已排过序的文件
comm 路径/file1 路径/file2
-1:不显示只在第1个文件里出现过的列
-2:不显示只在第2个文件里出现过的列
-3:不显示只在第1个和第2个文件里出现过的列
diff比较文件的差异
-b:不检查空格字符的不同。
-c:显示全部内文,并标出不同之处(掌握)
-f:输出的格式类似ed的script文件,但按照原来文件 的顺序来显示不同处
cp复制文件或目录
-a:该选项通常在复制目录时使用,递归地将源目录下的所有子目录及其文件都复制到目标目录,并且保留文件链接和文件属性不变,等效于-dpr(all)
-f:(force)强行复制文件或目录,不论目标文件或目录是否已存在。
-i:(interactive)覆盖既有文件之前先询问用户。
-p:保留源文件或目录的属性。
-r:递归处理,将指定目录下的文件与子目录一并处理。
rm删除文件或目录。
-f:(force)强制删除文件或目录
-r:(recursive)递归处理,将指定目录下的所有文件及子目录一并处理
-i:(interactive)删除既有文件或目录之前先询问用户
mv删除文件或目录
-i:覆盖前先行询问用户(interactive)
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录(force)
文件内容统计命令
wc计算字数
-c:统计字节数(characters)
-l:统计行数(lines)
-w:统计字数(wrods)
创建和删除目录的命令
mkdir建立目录
-m:建立目录时同时设置目录的权限(mode)
-p:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
rmdir删除目录
-p:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
rmdir不能删除当前目录
改变工作目录和显示目录内容命令
cd改变工作目录
pwd显示当前工作路径
ls列出目录内容
-a:当前目录下所有文件和目录
-c:以更改时间排序,显示文件和目录()
-i:显示文件和目录的inode编号
-l:使用详细格式列表
-r:反向排序
-R:递归处理,将指定目录下的所有文件及子目录一并处理
ln连接文件或目录
-s:对源文件建立符号连接,而非硬连接
改变文件或目录存取权限的命令
chmod变更文件或目录的权限
umask指定在建立文件时预设的权限掩码
改变用户组和文件主命令
chgrp命令可采用群组名称或群组识别码的方式改变文 件或目录的所属群组。使用权限是超级用户。
chown通过chown改变文件的拥有者和群组。在更改文件的所 有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
gzip是压缩程序
unzip解压缩zip文件
tar备份文件
-f 文件名:指定备份文件
-c:建立新的备份文件
-r:新增文件到已存在的备份文件的结尾部分
-u:仅置换较备份文件内的文件更新的文件
-x:从备份文件中还原文件
-t:列出备份文件的内容
-z:通过gzip指令处理备份文件
进程控制命令
ps用来显示当前进程的状态
-a:显示同一终端下的所有程序
-A:显示所有进程
-e:显示所有进程,等同于-A
-f:显示UID,PPIP,C与STIME栏位(显示进程的所有信息)
-l:采用详细的格式来显示程序状况
-r:只列出现行终端机正在执行中的程序
kill删除执行中的程序或工作
sleep使进程暂停执行一段时间
hostname显示或设置系统的主机名。如果无任何选项和主机名,则用于显示系统的主机名
ping测试本主机和目标主机的连通性。
host该命令用于IP地址查找
ifconfig命令用来查看和配置网络设备
traceroute指令让你追踪网络数据包的路由途径
netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
clear清楚屏幕上的信息
echo在屏幕上显示所给出的字符串
-n:表示输出字符串之后,光标不换行
10. 若下达rmdir命令来删除某个已存在的目录,但无法成功,请说明可能的原因。
此目录可能不存在,或者目录不为空,或者目录中有隐含文件存在, 或者目录被设置了权限,
解决方法就是先修改权限,在使用rm –r 命令删除。
11.创建一个shell 脚本,它从用户那里接收10个数,并显示已输入的最大的数。
参考程序:
#! /bin/bash
max=0
for((count=1 ; count <= 10 ; count = count+1))
do
echo -n "Enter number $count : "
read value
if [ $max -lt $value ]
then
max=$value
fi
done
13. 编写shell程序,实现自动删除50个用户账号的功能。账号名为stud1至stud50
#!/bin/sh
i=1
while [ $i -le 50 ]
do
userdel -r stud${i}
i=$(($i+1 ))
done
echo"remove sucessful!"
else
echo" remove fail"
fi;;