第一章 目录及文件操作
1、ls
语法:ls [选项] 路径名称
说明:文件、目录列表命令
常用选项说明:
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-F
目录加
/,
执行文件加
*,
符号连接后加
@
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:
文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间
其中文件存取模式用10个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d 为目录文件
l 为链接
b 为块文件
c 为字符型文件
p 为命名管道(FIFO)
- 为普通文件
后面9个字母分别表示文件主、同组用户、其他用户对文件的权力,用r表示可读,w 表示可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。
举例:
ls 查看当前目录下的文件
ls -l 详细查看当前目录下的文件
ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件
2、pwd
语法:pwd
说明:本命令用于显示当前的工作目录
举例:
pwd 显示出当前的工作目录
3、cd
使用:cd 路径名称
说明:本命令用于改变当前的工作目录,无参数时使用环境变量$HOME 作为其参数($HOME一般为注册时进入的路径)。
举例: cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd .. 进入上级目录(“..”代表上一级目录,“.”代码当前目录)
4、mkdir
使用:mkdir 目录名称
说明:新建目录
举例:mkdir log 在当前目录下建立log目录
mkdir log/record 在log目录下建立record目录
5、more
使用:more [选项] 文件名
说明: 将文件显示在终端上,每次一屏,在左下部显示--more--,若是从文件读出而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格键则上滚一屏,未显示完时可以使用more 命令中的子命令。
6、cp
使用:cp 文件 目标
说明:将文件拷贝到目标上,目标不能与文件同名,若目标是文件名,则拷贝的文件只能有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
举例: cp file1 file2 将文件 file1 拷贝到文件 file2
cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下
7、mv
使用:mv 文件 目标
说明:将文件移动至目标,若目标是文件名,则相当于文件改名
举例: mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
8、rm
使用:rm 文件 / rm -r 目录
说明:删除文件或目录
举例: rm file1 删除文件 file1
rm -r /mytmp 递归地删除目录 /mytmp,及其子目录
9、chmod
使用:chmod [-R] 模式 文件...
或 chmod [ugoa] {+|-|=} [rwxst] 文件...
说明:改变文件的存取模式,存取模式可表示为数字或符号串,例如:
chmod nnnn file , n为0-7的数字,意义如下:
4000 运行时可改变UID
2000 运行时可改变GID
1000 置粘着位
0400 文件主可读
0200 文件主可写
0100 文件主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可写
0001 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。
-R 递归地改变所有子目录下所有文件的存取模式
u 文件主
g 同组用户
o 其他用户
a 所有用户
+ 增加后列权限
- 取消后列权限
= 置成后列权限
r 可读
w 可写
x 可执行
s 运行时可置UID
t 运行时可置GID
举例:
chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写
chmod u+x file 对文件 file 增加文件主可执行权限
chmod o-rwx 对文件file 取消其他用户的所有权限
10、chown
使用:chown [-R] owner:[group] 文件...
说明:修改文件的文件主,文件的UID表示文件的文件主,文件主可用数字表示, 也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文件的文件主或超级用户可使用。
-R 递归地改变所有子目录下所有文件的存取模式
owner 用户(使用用户名或ID均可)
group 用户组(使用用户组名或ID均可)
举例:
chown mary file 将文件 file 的文件主改为 mary
chown 150 file 将文件 file 的UID改为150 ls [选项] 路径名称
chown dualbase:informix tdfs 将tdfs文件修改为dualbase用户,informix用户组
11、diff
使用:diff 文件1 文件2
说明:比较两个文本文件,将不同的行列出来
举例:
diff scf0.log scf1.log 比较scf0.log和scf1.log的不同
12、wc
使用:wc 文件 ...
说明:统计文件的行、字、字符数
举例:
wc scf0.log scf1.log 统计scf0.log和scf1.log两个文件的行、字和字符数
13、touch
使用:touch [-amc] [mmddhhmm[yy]] 文件...
说明:将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文件。
-a 只改变访问时间
-m 只改变修改时间
-c 若文件不存在,不创建它且不作提示
mmddhhmm[yy] 两位表示 月日时分[年]
举例:
touch file 更新文件file的时间为当前时间
touch 0701000097 HongKong 将文件HongKong的时间改为
97年7月1日
0时0分
14、find
使用:find 路径名... 表达式
说明:find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式说明:
-name 模式 文件名与模式匹配则为真,(\ 为转意符)
-size n[c] 文件块长度为 n 则真(一块为512字节),若
有c 选项,则文件字节长度为 n 则真
-atime n 若文件的最近访问时间为 n 天前则为真,
find 命令将改变其访问的目录的访问时间
-mtime n 若文件的最近修改时间为 n 天前则为真
-ctime n 若文件状态为 n 天前改变则为真
-exec 命令 { }\; 若命令返回值为0则真,
{
}内为命令参数,
此命令必须以 \; 为结束
-ok 命令 { }\; 与 exec 相同,只是在命令执行前先提示,若
回答 y 则执行命令
-print 显示输出使表达式为真的文件名
-newer 文件 若文件的访问时间比newer 指定的文件新则真
举例:
find / -name find* -print
从根目录开始搜索文件名如 find* 的文件并显示之
find ./ -exec sleep{1}\; -print
每秒显示一个当前目录下的文件
find $HOME \(-name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;
从$HOME目录开始搜索,删除所有文件名为a.out 或 *.o 且访问时间在7天前的文件 ls [选项] 路径名称
15、grep
使用:grep [选项] 模式 [文件...]
说明:在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在使用正规表达式时,最好将其引在单引号(') 中,若指定文件为缺省,则使用标准输入,正规表达式可以是:
. 匹配任意一个字符
* 匹配0个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围,
例如[a-z]表示字母a 至z 中的任意一个
\
转意字符
命令中的选项为:
-i 模式中字母不区分大小写
-n 显示模式所在行的行号
-v 显示所有不包含模式的行
举例:
grep 'good' * 在所有文件中搜索含有字符串 good 的行
grep '^myline' mytext 在文件mytext中搜索行首出现myline字符串的行
本文出自 51CTO.COM技术博客