您的位置:首页 > 运维架构 > Linux

Linux的一些常用命令

2015-08-13 19:14 465 查看
一.创建和删除目录

命令:mkdir
其语法为: mkdir [-mp] [目录名称]
例:mkdir -p ~/1/2/3



‘-p’ 选项,这个选项可以帮我们创建一大串级联目录。
例:mkdir -pv ~/1/2/3



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

二.rm命令
命令:rmdir
用来删除空目录,后面可以是一个也可以是多少,多个的话用空格分隔。
缺点:只能删除目录,不能删除文件,具有很大的局限性。

命令:rm
其语法为:rm [-rf] [目录名称]
‘-r’选项删除目录用的选项,等同于rmdir。
‘-f’选项表示强制删除,不再提示是否要删除,而是直接就删除。

三.cp命令
命令:cp

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

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

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

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




四.移动和重命名命令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查看当前目录下的文件



我们看到分成了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 [组名] [文件名]


而且chgrp还可以更改目录的所属组。(ls -ld 目录,我老是忘记查看目录的时候要-d





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

2.改变文件的所属主:

命令:chown

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

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

例:chown -R 1234 hyrz

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





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。



如果你创建一个目录,这个目录只想让你自己看见,不想别人看见,只需设置成rwx------就行。
另外,我们还可通过使用rwx的方式来设置权限。
我们可以使用u,
g, o 来代表它们三个的属性,此外, a 则代表 all 也就是全部。

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




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

如果你想针对u, g, o, a增加或者减少某个权限(读,写,执行),可以用以下这种方法。
语法:
chmod u±* [文件名];chmod g±* [文件名];
chmod o±* [文件名] chmod a±* [文件名]。




4.Umask值:
看了上面的内容,我们知道:
在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644。
那么这两个数值是怎么来的呢?由谁来规定的呢?

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

如何查看umask值:

语法:直接umask后回车。




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 文件的绝对路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux常用命令