日期:2014-05-16  浏览次数:20833 次

程序员必知必会----linux常用命令之一【基础命令】

一.文件处理命令

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