一.创建和删除目录

     命令:mkdir

     其语法为: mkdir [-mp] [目录名称]

     例:mkdir -p ~/1/2/3

 Linux的一些常用命令_Linux常用命令

     ‘-p’ 选项,这个选项可以帮我们创建一大串级联目录。

     例:mkdir -pv ~/1/2/3

 Linux的一些常用命令_Linux常用命令_02

     ‘-v’选项,这个选项可以详细地显示出所创建的目录。


二.rm命令

     命令:rmdir

     用来删除空目录,后面可以是一个也可以是多少,多个的话用空格分隔。

     缺点:只能删除目录,不能删除文件,具有很大的局限性。

 

     命令:rm

     其语法为:rm [-rf] [目录名称]

     ‘-r’选项删除目录用的选项,等同于rmdir。

     ‘-f’选项表示强制删除,不再提示是否要删除,而是直接就删除。


三.cp命令

     命令:cp

     英文全称:copy,意思就是拷贝,复制

     其语法为:cp [选项] [来源文件] [目的文件]

    ‘-r’选项当您在拷贝一个目录的时候要写上-r选项,否则无法复制。

    ‘-i’选项为安全选项,如果遇到一个存在的文件,会问是否覆盖。

Linux的一些常用命令_Linux常用命令_03

 

四.移动和重命名命令mv

     命令:mv

     英文全称:move,意思就是移动

     其语法为:mv  [ 选项 ] [源文件] [目标文件]

     ‘-i’选项 和cp的-i 一样,当目标文件存在时会问用户是否要覆盖。

     

     使用该命令的时候会出现4种情况:(结果)

     1.目标文件是目录,目标文件不存在;(把源文件移动到目标文件目录中)

     2.目标文件是目录,目标文件存在;(把源文件重命名)

     3.目标目录不是目录,目标文件存在;()

     4.目标目录不是目录,目标文件不存在;(重命名文件)


五.文件查看命令

    命令:cat

    查看一个文件的内容并显示在屏幕上, 后面可以不加任何选项直接跟文件名。

    ‘-n’选项:显示内容时,把行号也显示上。

    ‘-A’选项:显示所有内容,包括特殊字符。

    

    命令:tac

    和cat一样,查看一个文件的内容并显示在屏幕上,但是和cat不同的是tac倒序显示。

    

    命令:more

    查看一个文件内容,与cat不同的是,如果文件内容过大,cat是不能看到全部的内容的,more却可以,看完一个屏幕后按空格键往下翻页,看完后就自动退出,若想提前退出,按‘q’即可。


    命令:less

    作用跟more一样,后面直接跟文件名,但比more好在可以上翻,下翻。

    空格键同样可以翻页,而按 一下‘j’ 键可以向下移动一行,按 ‘k’ 键向上移动。

    您可以按一下 ‘/’ 键,然后输入一个word回车,这样就可以查找这个word了。

    如果是多个该word可以按 ‘n’ 键显示下一个。

    另外您也可以不按 ‘/’ 而是按 ‘?’ 后边同样跟word来搜索这个word,唯一不同的是, ‘/’ 是在当前行向下搜索,而 ‘?’ 是在当前行向上搜索。


    命令:head

    ‘head’后直接跟文件名,则显示文件的前十行。如果加 -n 选项则显示文件前n行。


    命令:tail

    和head类似,后面直接跟文件名,则显示文件最后十行。如果加-n 选项则显示文件倒数n行。


六.文件和目录属性

    用ls -l查看当前目录下的文件

Linux的一些常用命令_Linux常用命令_04

    我们看到分成了9段,那么这9段分别代表什么含义呢?

    第一段:包含了该文件类型和所属主、所属组以及其他用户对该文件的权限。

    第二段:表示为链接占用的节点(inode)。

    第三段:表示该文件的所属主。

    第四段:表示该文件的所属组。

    第五段:表示该文件的大小。

    第六段:表示该文件最近被修改的月份。

    第七段:表示该文件最近被修改的日期。

    第八段:表示该文件最近被修改的具体时间。

    第九段:文件的名称。


    下面我们来详细的解析第一段的内容:

    第一段一共有11位。

    

    第一位:用来描述文件的类型。

    ‘d’:该文件为目录。

    ‘-’:该文件为普通文件。

    ‘l’:该文件为链接文件。(硬链接,软链接)

    ‘b’:该文件为块设备。(/dev/sda)

    ‘c’:该文件为串行端口设备。(键盘、鼠标)

    ‘s’:该文件为套接字文件(socket),用于进程间通信。

    

    第二、三、四位:所属主(user)的权限。

    

    第五、六、七位:所属组(group)的权限。


    第八、九、十位:其他人(others)的权限。


    第十一位:之前的CentOS 5 是没有这个点的,这主要是因为新版本的ls把selinux或者acl的属性加进来了,当文件或者目录只使用了selinux context的属性,这里是一个点“.”。如果设置了acl,后面将是一个加号 ‘+’。



七.更改文件的权限

     1.更改所属组:

      命令:chgrp

      语法为:chgrp [组名] [文件名]

Linux的一些常用命令_Linux常用命令_05 而且chgrp还可以更改目录的所属组。(ls -ld 目录,我老是忘记查看目录的时候要-dLinux的一些常用命令_Linux常用命令_06

Linux的一些常用命令_Linux常用命令_07

 但是值得注意的是,就算你改变了该目录的所属组,也改变不了该目录下的文件和目录的所属组。

    

    2.改变文件的所属主:

    命令:chown

    语法:chown [-R] [账户名] [文件名]        chowen [-R] [账户名: 组名] [文件名]

    注:这里的-R选项只作用于目录,不仅更改当前目录,连目录里的目录或者文件全部更改。

    例:chown 1234 naruto

    例:chown -R 1234 hyrz

    例:chown -R 1234:123 hyrz(将hyrz包括目录下所以文件和目录的所属主组都改变)

Linux的一些常用命令_Linux常用命令_08


    3.改变用户对文件的读写执行权限:

    命令:chmod

    语法:chmod [-R] *** [文件名]

    注:1.这里的-R和chown一样,表示级联关系;

           2.***代表数字,数字代表读写执行权限;

    在这里,我要详细的说下这个***所代表的意思。

    权限一共有9位---------,这9位前3位是user,中间3位是group,最后3位是others。

    这3位由r,w,x,-,组成,这里我们用数字表示,“r”=4,“w”=2,“x”=1,“-”=0。

    按照我的理解:rwx是由二进制组成,r=100,w=010,x=001,-=000。

    由上可知:rwx=7,rw-=6,r-x=5,r--=4,-wx=3,-w-=2,--x=1,---=0。

    在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644

Linux的一些常用命令_Linux常用命令_09

    如果你创建一个目录,这个目录只想让你自己看见,不想别人看见,只需设置成rwx------就行。

    另外,我们还可通过使用rwx的方式来设置权限。

    我们可以使用u, g, o 来代表它们三个的属性,此外, a 则代表 all 也就是全部。

  语法:chmod u=***,g=***,o=*** [文件名](***位权限)

Linux的一些常用命令_Linux常用命令_10

    其实,还有一种设置权限的方法。

    如果你想针对u, g, o, a增加或者减少某个权限(读,写,执行),可以用以下这种方法。

    语法:

    chmod u±* [文件名];chmod g±* [文件名];

    chmod o±* [文件名] chmod a±* [文件名]。

Linux的一些常用命令_Linux常用命令_11

    

    4.Umask值:    

    看了上面的内容,我们知道:

    在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644。

    那么这两个数值是怎么来的呢?由谁来规定的呢?

    这里我们就要用到一个数值,umask。

    

    如何查看umask值:

    语法:直接umask后回车。

Linux的一些常用命令_Linux常用命令_12

    1.若用户建立为普通文件,则预设 ‘没有可执行权限’, 只有’rw’两个权限。最大为666 (‘-rw-rw-rw-‘).

    2.若用户建立为目录,则预设所有权限均开放,即777 (‘drwxrwxrwx’).

    umask数值代表的含义为,上边两条规则中的默认值(文件为666,目录为777)需要减掉的权限。

    ¥1目录的权限为 'rwxrwxrwx' - '----w--w-' = 'rwxr-xr-x'。

    ¥2普通文件的权限为 'rw-rw-rw-' - '----w--w-' = 'rw-r--r--'。

    (注:目录的权限阶普通文件的权限不能简单的用777或者666减去Umask值那么简单)

    (注:要按照¥1¥2那样来进行计算)



八.修改文件的特殊属性

    命令:chattr

    语法:chattr  [+-=][ASaci] [文件或者目录名]

    '+-=' : 分别为增加、减少、设定

    'A' : 增加该属性后,文件或目录的atime将不可被修改;

    'S' : 增加该属性后,会将数据同步写入磁盘中;

    'a' : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;

    'c' : 自动压缩该文件,读取时会自动解压;

    'i' : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据;


    三个时间属性:

    atime:Access time,是在读取文件或者执行文件时更改的

    mtime:Modify time,是在写入文件时随文件内容的更改而更改的

    ctime:Create time,是在写入文件、更改所有者、权限或链接设置时随 inode 的内容更改而更改的


    一般用stat命令来查看一个文件的atime,mtime,ctime


    硬链接和软链接的区别:
    1.硬链接不能应用于目录,软链接能应用于目录;

    2.硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

    3.软链接可以跨文件系统,硬链接不可以;


    df命令

    查看已挂载磁盘的总容量、使用容量、剩余容量

    可以不加任何参数,默认按 k 为单位显示。

    -i :查看 inodes 使用状况

    -h :使用合适的单位显示

    -k、 -m:分别以 K 和 M 为单位显示

    

    安装一个rpm包

    rpm -ivh [].rpm


    升级一个rpm包

    rpm -Uvh filename


    卸载一个rpm包

    rpm -e filename


    查询一个包是否安装了

    rpm -q rpm 包名

    

    查询当前系统所有安装过的包

    rpm -qa 


    得到一个已安装 rpm 包的相关信息

    rpm -qi 包名


    列出一个 rpm 包安装的文件

    rpm -ql 包名


    列出某一个文件属于哪个 rpm

    rpm -qf 文件的绝对路径