一、命令行语法:
命令字 [选项] [参数]
注意:Linux中对命令是区分大小写的。
二、获取命令帮助:
1、help命令:help xxx,shell内部指令,用来获取linux内部命令。例如:help help。
2、'--help'选项:xxx --help 获取命令的帮助信息。 ls --help。
3、man命令:man xxx 以全屏方式显示帮助手册,按q退出。 man ls 。
4、info命令:info xxx 以更详细的方式获取帮助手册 按q退出。 info ls。
三、文件目录操作命令:
1、ls:显示目录中的内容
常用选项:
-l:以长格式显示文件和目录,快捷显示ll
-a:显示所有子目录和文件的信息
-d:显示目录本身的属性
-R:显示指定目录及所有的子目录
-i:显示I节点号。(硬盘上的文件编号,唯一)
通配符:
?:匹配文件中的某一个字符。
*:匹配文件中的任意多个字符。
2、cd:改变工作目录
相对路径:相对当前工作目录的路径。
a、一个.开头:当前路径
b、两个..开头:上一级目录
c、一个~开头:宿主目录
d、一个/老调皮:根目录
e、-上一次访问的目录
绝对路径:从系统的根目录开始的路径/home/xxx。
cd 按两下tab会有意外惊喜喔!
3、pwd:显示当前目录
4、du:统计目录
-a:统计磁盘空间占用时所有的文件。
-h:将以个性化的方式统计结果,显示文件单位
-s:只统计每个参数所占用控件总的大小。
5、mkdir:创建新的目录
-p:创建嵌套多层目录
mkdir -p aaa/bbb/ccc 一次创建3层目录,不带-p会报错。
四、文件操作命令
1、touch:创建新文件。
语法:touch 文件列表
如果文件不存在则创建一个空文件,如果文件存在则更新文件创建时间,可以一次创建多个文件。
例如:touch file1.txt file2.txt //同时创建2个文件
2、cp:复制文件或目录。
语法:cp [options] 源位置 目标位置
选项:
-f:强制复制。
-i:提醒用户确认。
-p:保持属性不变。
-r:赋值所有文件及子目录。
-d:如果文件是链接文件,则复制链接属性
-a:相当于pdr,可以将最后修改时间和原来的时间保持一致
例如:cp -r mydir mydir_back
3、mv:改名或移动文件或目录。
mv file1.txt file_first.txt :将file1.txt重命名为file_first.txt
mv file1.txt /home/file2.txt:将file1.txt移动到/home/file2.txt
4、rm:删除文件或目录。
语法 rm [options] name
选项:
-f:直接强制删除。
-i:提醒用户确认。
-r:删除整个目录及目录下的所有文件。
例如:
rm file1.txt //删除文件
rm -r mydir //删除文件夹
注意:默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容。
5、file:查看文件类型。
语法:file 文件路径
例如:file /usr/bin/ls
6、ln:建立快捷方式。
语法:ln [-s] 源文件或目录链接文件或目标目录
快捷方式主要分为硬链接和软链接。
硬链接:
1)是指具有指向相同索引块中的不同的两个文件,具有相同的I节点和Block块,只是名称不同。
2)修改任意文件,另一个都会改变
3)不能对目录创建硬链接,也不能跨越分区创建硬链接文件。
4)删除任意一个硬链接文件,只要另一个还存在,文件即存在。
5)创建硬链接后,只能通过i节点来识别。
创建一个硬链接: ls /home/a.txt /tmp/b.txt //为home/a.txt创建一个硬链接。
软链接:(类似Windows中的快捷方式)
1)软连接有自己的i节点和block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据。
2)lrwxrwxrwx:软连接的权限都为lrwxrwxrwx。不是正真的文件权限。
3)修改任意文件,另一个都会改变。
4)删除原文件,链接不能使用。(和硬链接最大的区别就在这里)
5)建立软连接后,如果不使用绝对路径,软连接和原文件必须在同一个目录中,如果不在同一个目录中,必须使用绝对路径。
符号链接(软链接):需要ln添加-s选项。
例如:ln -s /home/zhengcheng/mydir/file1.txt /home/zhengcheng/桌面 //为file1.txt 在桌面创建软链接
五、文件搜索命令
1、locate:文件搜索(相对于find搜索的效率比较高)
语法:locate 文件名
注意:使用locate无法搜索到新的文件,因为locate是到/var/lib/mlocate数据库进行搜索。新文件未添加到数据库中,所以无法搜索到
必须使用updatedb命令,手动更新数据库,才能搜索到新添加的文件。
优点:搜索的效率比较高,缺点是只能按文件名进行搜索,搜索方式比较单一。
当在/tmp/a,txt中创建了文件后,发现使用locate无法搜索的该文件,原因是locate的配置文件中对/tmp目录进行了排除。
locate配置文件 /etc/updatedb.conf
其中有4个配置属性:
PRUNE_BIND_MOUNTS = "yes" //表示下面所有设置都生效,无效为no。
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs" //排除的文件系统
PRUNENAMES = ".git .hg .svn" //排除某一类文件
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache
/var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp" //排除某些文件夹
2、find:查找文件或目录。
find相对于前面两种方式来说要更加强大。参数也更多。
语法:find [查找范围][查找条件表达式]
条件参数:
-name【-iname】:按名称查找(不区分大小写查找)
-size:按大小查找
-user【-nouser】:按文件所有者查找【非所有者文件:一般不经过用户的文件,有两种情况,一种情况是内核自动创建的文件没有所有者,一般在内存中;第二种是外部文件,由外部系统创建的文件。其他情况则都属于垃圾文件。】
-type:按文件类型查找
例:find /var/log –size 25k //搜索25k的文件。+25:大于25k的文件,-25:小于25k的文件。
注意:linux中搜索必须带单位,k为小写,M为大写。默认为硬盘扇区单位。
-mtime:按修改文件时间;
例:find /var/log –mtime 10 //查找10天当天修改的文件。(+10:为10天前修改的文件,-10为10天内修改的文件)。
-atime:文件访问时间;
-ctime:改变文件属性时间;
-inum:根据i节点搜索。
例如:
find /root -name a.txt //表示从root目录开始搜索,文件为a.txt的文件。
find / -name "*.c" //从根目录开始,通过通配符进行搜索,搜索以.c结尾的文件,使用通配符时,必须使用””引起来。
注意:在使用find命令时,应该避免大范围的搜索,会导致文件搜索的非常缓慢,因为根目录下文件太多, 会非常消耗系统资源。
Linux中的通配符:
*:表示匹配任意多个字符。
?:表示匹配单个字符。
[]:表示匹配括号中的单个字符。
find的复杂搜索:
find /etc –size +20k –a –size -50k //搜索20k到50k之间的文件
-a:and 逻辑与,两个条件都满足。
-o:or 逻辑或,两个条件满足一个即可。
find /etc -size +20k -a -size -50k -exec ls -lh {} ;
//搜索20k到50k之间的文,并显示详细信息
//-exec /-ok 命令{} ;对搜索结果进行查询 –exec {} ; 为固定格式,表示在前面命令的搜索结果上在做操作。
3、which:查找命令文件的位置以及他的别名
语法:which 命令
例如:which ls
alias ls='ls
--color=auto' --设置自动着色
/usr/bin/ls
4、whereis:搜索命令所在的位置和帮助文档所在的位置。不能搜索普通文件。
-b:只查找可执行文件。
-m:只查找帮助文件。
例:whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz 查找到ls命令所在的目录和帮助文档所在的目录。
注意:不论使用whereis和which都无法搜索到cd命令。原因是因为cd命令为linux和内置shell指令。
4、grep:在文件内容中进行搜索。搜索文件内容。可以和正则表达式匹配使用。
语法:grep [选项] 查找条件 目标文件
-i:忽略大小写查找
-v:反转查找,查找不在范围内的行
例如:grep -i hello file1.txt 查找hello在file1.txt中的位置,并忽略大小写
六、文件内容操作命令
1、cat:显示文件内容
cat b.txt //显示b.txt文件内容
2、echo:打印内容
echo aaaa //显示aaaa字符串
echo aaaa => b.txt //将aaaa添加到b.txt文件中,如果文件不存在则创建文件
3、more/less:分页显示文件内容。
语法 more/less 文件名
space:向下翻页
b:向上翻页
h:帮助文档、
4、vi、vim:文档编辑工具(后面会有专门的介绍)
七、环境变量
echo $PATH:在linux中,所有的命令都必须使用绝对路径方式才能执行,而环境变量表示linux执行命令所查找的目录,避免输入繁琐的目录名,提高输入效率。
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin: //环境变量采用:分隔。
Linux常用命令查询:
常用Linux的20个命令:http://www.oschina.net/translate/useful-linux-commands-for-newbies