一、命令行语法:

  命令字 [选项] [参数]

  注意: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。

 

三、文件目录操作命令:

  1ls:显示目录中的内容

    常用选项:

    -l:以长格式显示文件和目录,快捷显示ll

    -a:显示所有子目录和文件的信息

    -d:显示目录本身的属性

    -R:显示指定目录及所有的子目录

    -i:显示I节点号。(硬盘上的文件编号,唯一)

    通配符:

    ?:匹配文件中的某一个字符。

    *:匹配文件中的任意多个字符。

 

  2cd:改变工作目录

    相对路径:相对当前工作目录的路径。

    a、一个.开头:当前路径

    b、两个..开头:上一级目录

    c、一个~开头:宿主目录

    d、一个/老调皮:根目录

    e、-上一次访问的目录

    绝对路径:从系统的根目录开始的路径/home/xxx。

    cd 按两下tab会有意外惊喜喔!

 

  3pwd:显示当前目录  

  4du:统计目录

    -a:统计磁盘空间占用时所有的文件。

    -h:将以个性化的方式统计结果,显示文件单位

    -s:只统计每个参数所占用控件总的大小。

  5mkdir:创建新的目录

    -p:创建嵌套多层目录

    mkdir -p aaa/bbb/ccc 一次创建3层目录,不带-p会报错。

  

四、文件操作命令

  1touch:创建新文件。

  语法:touch 文件列表

  如果文件不存在则创建一个空文件,如果文件存在则更新文件创建时间,可以一次创建多个文件。

  例如:touch  file1.txt file2.txt  //同时创建2个文件

 

  2cp:复制文件或目录。

  语法:cp [options] 源位置 目标位置

  选项:

  -f:强制复制。

  -i:提醒用户确认。

  -p:保持属性不变。

  -r:赋值所有文件及子目录。

  -d:如果文件是链接文件,则复制链接属性

  -a:相当于pdr,可以将最后修改时间和原来的时间保持一致

  例如:cp -r mydir mydir_back  

 

  3mv:改名或移动文件或目录。

  mv file1.txt file_first.txt  :将file1.txt重命名为file_first.txt

  mv file1.txt /home/file2.txt:将file1.txt移动到/home/file2.txt

 

  4rm:删除文件或目录。

  语法 rm [options] name

  选项:

  -f:直接强制删除。

  -i:提醒用户确认。

  -r:删除整个目录及目录下的所有文件。

  例如:

  rm file1.txt    //删除文件

  rm -r mydir      //删除文件夹

  注意:默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容。

  

  5file:查看文件类型。

  语法:file 文件路径

  例如:file /usr/bin/ls

 

  6ln:建立快捷方式。

  语法: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 在桌面创建软链接

 

五、文件搜索命令  

  1locate:文件搜索(相对于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"    //排除某些文件夹

  

  2find:查找文件或目录。

  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 {} \; 为固定格式,表示在前面命令的搜索结果上在做操作。

 

  3which:查找命令文件的位置以及他的别名

  语法: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指令。

  

  

  4grep:在文件内容中进行搜索。搜索文件内容。可以和正则表达式匹配使用。

  语法:grep [选项] 查找条件 目标文件

  -i:忽略大小写查找

  -v:反转查找,查找不在范围内的行

  例如:grep -i hello file1.txt  查找hello在file1.txt中的位置,并忽略大小写

 

六、文件内容操作命令  

  1cat:显示文件内容

  cat  b.txt       //显示b.txt文件内容

  

  2echo:打印内容

  echo aaaa     //显示aaaa字符串

  echo aaaa => b.txt    //将aaaa添加到b.txt文件中,如果文件不存在则创建文件

 

  3more/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

命令查询:http://www.jb51.net/linux/

 

posted on 2015-05-14 23:57  Builder  阅读(347)  评论(0编辑  收藏  举报