常用命令

2018-01-31  本文已影响0人  cb12hx

1.文件权限

1.1.chown

改变所有者

1.2.chmod

修改权限,一个文件一般的权限结构如下
文件类型+所有者权限+组权限+其他人的权限
比如
-rwxr--r-x
第一位代表这是一个文件,rwx代表该用户对该文件有读,写和执行的权限,该组队改文件只有读的权限,其他人对该文件有读和执行的权限,一般r的权值是4,w是2,x是1
假如有如下这个文件,默认新建之后它的权限如下


image.png

假如我们执行了以下命令

chmod 777 test.txt

那么文件的权限就变成了


image.png

1.3.chgrp

修改文件或者文件夹所属的用户组


2.目录

2.1cd

cd - //切换到上一个目录
cd ~ // 切换到当前用户的目录
cd .. // 切换到上一层目录

2.2pwd

列出当前目录,这里要注意的是假如是link的文件,可以使用pwd -P显示具体的路径

2.3mkdir

创建目录,如果要给目录赋权限,可以使用-m,如果要创建一个不存在的多级目录,可以使用-p

2.4rmdir

删除目录


3.文件内容查询

3.1 cat

一次性从上到下打印出文件内容,可以打印行号等

3.2 tac

一次性从下到上打印文件内容,和cat相反

3.3 nl

带序号从上到下打印文件内容

3.4 more

一页一页打印文件内容,只能往下翻

3.5 less

一页一页打印文件内容,可以上翻也可以下翻,另外还可以使用/关键字向下搜索关键字,使用?关键字向上搜索关键字

3.6 head

显示前几行数据,可以按照以下命令来执行

head -n 3 test.txt

代表显示前三行数据

3.7 tail

显示后几行数据,与head雷同,只是显示方向相反

// 显示十一行到二十行的数据为以下命令
head -n 20 test.txt | tail -n 10

3.8 od

可以以二进制输出文件,没深究

3.9 touch

用于创建文件以及mtime和atime,修改时间没深究

4 权限

4.1 umask

一般情况下,文件夹的权限是777,文件的权限是666,如果umask为002,则文件夹的权限就变成了775,文件的权限变成了664,可以直接执行umask 222修改umask的值
这里要注意,文件只有666,并没有e的值,所以加入umask为003时,权限为663,按照这样的话肯定是-rw-rw--wx,这很明显有问题的,因为一开始就没有了x,后来居然出了x,所以这样是不对的,那么应该怎么算呢,我做了个测试

665 666
664 664
663 664
662 662
661 662
660 660

从上面可以看出,是按照最大来取值的,这个一定要注意

4.2 chattr

这个命令用来设置文件的隐藏属性,有好多,具体可查鸟哥的私房菜,主要讲讲个,+i和+a

chattr +i 文件名

上面的命令,设置该文件不能删,不能改,反正啥都不能做

chattr +a 文件名

上面的命令,设置该文件不能删,只能增加内容
另外还有lsattr,可列出隐藏属性

5 搜索

5.1 which

查找系统命令位置,只在$PATH环境变量中查找,并且默认只返回第一个查找结果,如果要查找所有结果,可以使用

which -a keyword
image.png

5.2 whereis

whereis命令用于定位可执行文件、源代码文件、帮助文件在系统中的位置

参数:
-b 查找二进制文件
-m 查找说明文件
-s 查找源代码文件
-u 查找非上述3种文件的其他文件
例:whereis -b php

PS:whereis默认从数据库文件(Linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此whereis比其他从硬盘查找的命令,效率高很多

5.3 locate

此命令和find / -name类似,但是它是从数据库文件(Linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此效率比find快得多

参数:
-i  忽略大小写
-r  使用正则表达式做匹配条件
例:locate demo.php

5.4 find

find是从硬盘去检索文件,因此效率并不高,但是find的功能是最广,最强大的

5.5 总结

一、5个查找命令中,find、locate、whereis是用来查找具体的文件,which、type是用来查找命令(which也相当于查找文件,但是只查找命令位置)
二、whereis只查找3种类型的文件:二进制文件、说明文件、源代码文件
三、whereis和locate都是从数据库文件查找,所以效率最高
四、使用优先级:
1、区分命令,使用type
2、查找命令位置,使用which、whereis、type(优先使用whereis)
3、通过文件名称查找,优先使用locate,找不到时,updatedb
4、其他查找条件、或者因数据库文件未更新,使用whereis、locate查找不到时,使用finde

bak

修改密码

sudo passwd root
killall -u user 杀死指定用户的所有进程
-e:对长名称进行精确匹配;
-l:忽略大小写的不同;
-p:杀死进程所属的进程组;
-i:交互式杀死进程,杀死进程前需要进行确认;
-l:打印所有已知信号列表;
-q:如果没有进程被杀死。则不输出任何信息;
-r:使用正规表达式匹配要杀死的进程名称;
-s:用指定的进程号代替默认信号“SIGTERM”;
-u:杀死指定用户的进程
上一篇下一篇

猜你喜欢

热点阅读