一.文件处理命令
1.查看目录下的内容:
ls -la /dir :-a显示所有文件,-l显示详细信息
ll /dir
?
2.查看目录或文件的属性
ll -d /dir :-d只显示目录信息
ll filename
?
3.切换目录
cd / ?:切换到根目录
cd .. :回到上级目录
?
4.查看当前路径
pwd
?
5.创建空文件
touch filename
?
6.创建目录
mkdir dir
mkdir -p dir/dir/dir :创建多级目录
?
7.文件和目录复制
cp sourcefile todir :复制到指定目录,保持原文件名
cp file1 file2 todir :同时复制多个文件到指定目录下
cp sourcefile todir/newfile :复制到指定目录,并重命名文件
cp -R sourcedir todir :复制目录到指定目录下
cp sourcedir/* todir :复制目录下的文件到指定目录
cp -n sourcefile todir :如文件已经存在,则不覆盖
cp -f sourcefile todir :如文件已经存在,则强制覆盖
?
8.移动文件、重命名
mv file1 file2 :重命名file1为file2
mv file todir :将文件移动到指定目录
mv dir todir :将目录移动到指定目录
mv -n file todir :如有重复,则不覆盖
mv -f file todir :如有重复,则强制覆盖
?
9.文件和目录删除
rm -f file
rm -rf dir
?
10.显示文件内容相关
1)cat file:显示文件所有内容
2)more file:分页显示文件内容
下一页:空格
下一行:回车
退出 ?:q
3)head -20 file:显示文件前20行,默认是10行
4)tail -20 file:显示文件最后20行,默认是10行
tail -f file -n 100:动态显示文件内容,先显示最后100行内容,用于查看日志
?
11.软链接与硬连接
ln -s file/dir file/dir :软连接
ln file/dir file/dir :硬连接
?
?
二.权限管理命令
1.改变文件或目录权限
chmod 777 file/dir
chmod u+x file :赋予文件所有者执行权限
u:文件所有者
g:文件所属组
o:其它用户和组
+:赋予权限 -:去除权限
r:读权限 ? 文件--可以查看 ?目录--可以列出目录内容
w:写权限 ? 文件--可以修改 ?目录--可以在目录中创建、删除文件和目录
x:执行权限 文件--可以执行文件 目录--可以进入目录
注:对于目录,如有r权限,则必须有x权限。
?
2.改变文件或目录所有者和所属组
chown user file :将file的所有者修改为user
chgrp group file :将file的所属组修改为group
chown -R user.group dir :修改dir及其子目录的所有者和所属组?
?
三.文件搜索命令
1.显示系统命令所在目录
which useradd
?
2.查找文件或目录
find dir -name filename:在目录下查找文件名为filename的文件
-name:文件名称,例如:find . -name "*.log"?
-size:文件大小,以block为单位,1block=512k
-size +204800:大于100M
-size -204800:小于100M
-user:文件所有者
-ctime:按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-cmin:同上,分钟
-mtime:按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-mmin:同上,分钟
-atime:按文件访问时间来查找文件
-amin:同上,分钟
-type b/d/c/p/l/f :查是块设备、目录、字符设备、管道、符号链接、普通文件
-empty:查找在系统中为空的文件或者文件夹
-exec commond {} \;:将查找到的路径作为commond的参数,并执行,
例如:find . -name .svn -exec rm -rf {} \; 类似于:find . -name .svn | xargs rm -rf
?find . -name "*.log" -exec cp '{}' ./dir ';' :将当前目录下的以.log结尾的文件拷贝到./dir下
类似于find . -name "*.log" | xargs -n1 -i cp {} ./dir
-n[num] : 执行命令时,一次提供几个参数,这里表示,每次传递给cp一个参数
-maxdepth:查找目录最大深度,默认是全部查找
例如:find -maxdepth 2 -name "*${filename}*" -exec cp {} $newfilename \;
-a:and
-o:or
例子:查询大于100M并且所有者为hanqf的文件并将其删除
find /etc -size +204800 -a -user hanqf -exec rm -rf {} \;
!:不等于,不包含,例如:find . ! -type d,查找所有类型不是目录的文件
?
?
?
3.从文件索引库中查找文件或目录
updatedb:更新索引,系统会自动定期执行
locate key:从索引库中查找名称包含key的文件和目录
?
4.在文件中搜索匹配关键字的行
grep key file:grep ^# file:显示所有行首是#的行
cat file | grep key
grep -v key file:查找不含key的行
grep key file -A 10:显示关键字行及其后面的10行
grep key file -B 10:显示关键字行及其前面的10行
?
四.帮助命令
1.获得帮助信息
man ls:查看ls的命令帮助
man services:查看配置文件services的帮助信息(/etc/services,配置文件都位于/etc下)
man passwd:查看命令,或者man 1 passwd
man 5 passwd:查看配置文件
?
2.获得命令的简单说明
makewhatis:建立索引数据库
whatis ls
?
五.压缩和解压缩命令
1.格式:.gz 只能压缩文件
gzip file ===》file.gz
gunzip file.gz ===》file
gunzip *.gz
?
2.格式:.tar 可以压缩文件和目录
tar -cvf file.tar file
-c:产生.tar文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩为.gz