Linux的文件权限和目录配置

二、Linux的基本操作

2.1、Linux的文件权限和目录配置

2.1.1、Linux文件属性

以root身份登录后,执行“ls –al”将会出现如下内容:


[[email protected] ~]# ls -al

总用量 44

dr-xr-x---. 5 root root 4096 8月   6 14:44 .

dr-xr-xr-x. 17 root root 4096 7月 25 05:33 ..

-rw-------. 1 root root 1426 7月 25 05:35 anaconda-ks.cfg

-rw-------. 1 root root 431 8月   6 11:13 .bash_history

-rw-r--r--. 1 root root   18 12月 29 2013 .bash_logout

-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile

-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc

drwx------. 4 root root   29 8月   6 10:23 .cache

drwxr-xr-x. 3 root root   17 8月   6 10:23 .config

-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc

drwx------. 3 root root   24 7月 24 21:39 .dbus

-rw-r--r--. 1 root root 1474 7月 24 21:53 initial-setup-ks.cfg

-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc

-rw-------. 1 root root   66 8月   6 14:44 .xauthqxoZZ4

从上述可以看出,共有七列数据,下面将一一讲述

u 第一列代表文件的类型与权限

第一列共有10个字符,第一列代表这个文件是“目录、文件或链接文件等”

l 若是[d]则表示目录

l 若是[-]则表示文件

l 若是[l]则表示链接文件

l 若是[ b ]则表示为装置文件里面的可供储存的接口设备

l 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

接下来的字符中,以三个为一组,且均为[rwx]的三个参数的组合, [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute) 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。

l 第一组:文件拥有者的权限

l 第二组:同群组的权限

l 第三组:其他非本用户组的权限

u 第二列表示有多少个文件名链接到此节点

记录有多少不同的档名连结到相同的一个i-node,一般来说,若是文件则为1,若是文件夹(目录)则表示其下文件和目录的个数。

u 第三列表示文件(或目录)的拥有者

u 第四列表示文件的所属群组

u 第五列表示文件的容量大小(默认单位为bytes)

u 第六列表示文件的建档日期或者是最近的修改日期

u 第七列表示文件的全路径及其文件名

2.1.2、文件属性和权限更改

Linux文件属性和权限的更改主要通过以下几个命令来实现:

(1)chgrp:更改文件所属用户组

(2)chown:更改文件拥有者

(3)chmod:改变文件的权限

u 改变所属用户组:chgrp


[[email protected] tmp]# ls -al dir

总用量 4

drwxrwxr-x. 3 www1234  www1234   32  8月   6 15:14  .

drwxrwxrwt. 25 root       root      4096  8月   6 15:14  ..

drwxrwxr-x. 3 www1234  www1234   17  8月   6 15:13  dir2

-rwxrw-rw-. 1 www1234  www1234    0  8月   6 15:13  file.txt

从上可以看出,dir2和file.txt文件是属于www1234用户组。


[[email protected] tmp]# chgrp user -R dir

[[email protected] tmp]# ls -al dir

总用量 4

drwxrwxr-x. 3 www1234  user   32    8月   6 15:14  .

drwxrwxrwt. 25 root       root  4096   8月   6 15:15  ..

drwxrwxr-x. 3 www1234  user   17    8月   6 15:13  dir2

-rwxrw-rw-. 1 www1234  user    0    8月   6 15:13  file.txt

u 改变文件所有者:chown


[[email protected] tmp]# chown user1 -R dir

[[email protected] tmp]# ls -al dir

总用量 4

drwxrwxr-x. 3 user1  user   32   8月   6 15:14  .

drwxrwxrwt. 25 root  root  4096  8月   6 15:22  ..

drwxrwxr-x. 3 user1  user   17   8月   6 15:13  dir2

-rwxrw-rw-. 1 user1  user    0   8月   6 15:13  file.txt

关于文件的复制cp

复制行为会复制执行者的属性与权限,通过以下例子可以理解:


[[email protected] tmp]# ls -al /home/www1234/file.txt

-rwxrw-r--. 1 www1234 www1234 0 8月   6 15:13 /home/www1234/file.txt

[[email protected] tmp]# cp /home/www1234/file.txt /home/user1/file.txt

[[email protected] tmp]# su user1

[[email protected] tmp]$ ls -al /home/user1/file.txt

-rwxr--r--. 1 root root 0  8月   6 15:36  /home/user1/file.txt

从上表看出,用户www1234文件file.txt的用户所有者,所属用户组均为www1234,而执行复制的操作的执行者是root用户,所以复制的文件属于root用户所有,文件的读写属性也发生了变化。

u 改变权限:chmod

数字类型改变权限:r:4,w:2,x:1

每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的。

例如:[-rwxr-x---]

owner:rwx=4+2+1=7

group:r-x=4+1=5

others: ---=0+0+0=0

改变main.c的权限:

chmod 777 main.c 权限变为[-rwxrwxrwx]

Ø 权限对文件的意义:

l r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;

l w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);

l x (execute):该文件具有可以被系统执行的权限.

在Windows底下一个文件是否具有执行的能力是藉由扩展名来判断的, 例如:.exe, .bat, .com 等等

在Linux底下,我们的文件是否能被执行,则是藉由是否具由x这个权限来决定的!跟档名是没有绝对的关系的。

Ø 权限对目录的意义:

l r (read contents in directory):

表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据. 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!

l w (modify contents of directory):

建立新的文件与目录;

删除已经存在的文件与目录(不论该文件的权限为何)

将已存在的文件或目录进行更名;

搬移该目录内的文件、目录位置.

l x (access directory):

用户具备进入该目录成为工作目录的权限

2.1.3、Linux目录配置

Linux目录结构


目录


应存放文件内容


/bin


系统启动时需要的执行文件(二进制)


/boot


这个目录主要放置开机时会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等


/dev


在Linux系统上任何设备和接口设备都是以文件的形式存放在系统目录的。只要通过访问目录下的某个文件就等于访问某个设备。


/etc


系统的主要配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以让一般用户查阅的,但只有root用户有修改权力。


/home


这是系统默认的用户主文件夹。在你创建一个一般用户账户时,默认的主文件夹都会规范到这里。~:代表当前这个用户的主文件夹,~dmtsal:代表dmtsal用户的主文件夹


/lib


系统的函数库非常多,而/lib放置则是开机时会用到的函数库,以及/bin或/sbin下面的命令或调用的函数库


/media


/media下面放置的是可删除的设备,包括软盘、 光盘、DVD等设备都挂载于此。常见的文件名有/media/floppy,/media/cdrom等。


/mnt


如果你想暂时挂载某些额外设备,一般可以放置到这个目录中。


/opt


给主机额外安装软件所摆放的目录,第三方软件安放的目录。以前的 Linux 系统中,习惯放置在 /usr/local 目录下


/root


系统管理员的主文件夹


/sbin


可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行


/svr


服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内


/tmp


这是让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能访问的,但一般开机后都会对/tmp下的数据进行删除。


/proc


此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等


/lost+fount


统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found


/sys


这个目录和/proc非常相似,也是一个虚拟文件系统,主要记录与内核相关的信息。包括目前已加载的内核模块与内存检测到的硬件设备信息等。这个目录同样不占硬盘容量。

 

/usr:应用程序存放目录,所以系统默认的软件都会放到/usr目录下,这个目录有点类似于windows系统中的“C:\Windows\”和“C:\Program files\”这两个目录的综合体,系统刚安装完毕,系统会占用最多的硬盘容量。


目录


应存放文件内容


/usr/X11R6


该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。


/usr/bin/


这个目录是可执行程序的目录,普通用户就有权限执行; 当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录


/usr/sbin/


非系统正常运行所需要的系统命令。最常见的就是某些网络服务器软件的命令


/usr/include/


C/C++等程序语言的头文件与包含文件的放置处,当我们以tarball方式(*.tar.gz的安装方式安装软件)安装某些数据时,会使用到里面的很多头文件。


/usr/lib/


包含各应用软件的函数库、目标文件,以及不被用户惯用的执行文本或脚本


/usr/local/


系统管理员在本机自行安装自己下载的软件时,建议安装到此目录,这样比较方便管理。


/usr/share/


系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,是用户都共用的。


/usr/src


是内核源码存放的目录

/var

/usr是安装时会占用较大硬盘容量的目录,/var是在系统运行后才会逐渐占用硬盘容量的目录。/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file)或者mysql数据库文件。


目录


应存放文件内容


/var/cache


应用程序本身运行过程中会产生的一些缓存文件


/var/lock/


某些设备或者某些文件资源一次只能被一个应用程序所使用,如果同时两个应用程序使用设备时,就有可能产生一些错误的状况,就需要对设备进行上锁。


/var/log/


随时更改的日志文件


/var/mail/


放置个人电子邮件的目录,不过这个目录也被放置到/var/spool/mail目录中,通常这两个目录互为连接文件


/var/run


某些程序启动后,它会将它们的PID放置在这个目录


/var/spool/


这个目录通常放置一些队列数据

2.1.4、绝对路径与相对路径

u 绝对路径:由跟目录(/)开始写起的文件名或目录名称

u 相对路径:相对于目前路径文件名的写法

. :表示当前目录,也可以使用./代替

.. :表示上一层目录,也可以用../来表示。

2.2、文件的压缩与打包

在Linux的环境中,压缩文件的扩展名多为*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2。下面列出几个常见文件的扩展名及压缩工具。


扩展名


压缩工具


*.z


compress程序压缩的文件


*.gz


gzip程序压缩的文件


*.gz2


bzip2程序压缩的文件


*.tar


tar程序打包的数据,并没有压缩过


*.tar.gz


tar程序打包的文件,其中经过gzip的压缩


*.tar.gz2


tar程序打包的文件,其中经过bzip2的压缩

compress与uncompress

compress [-rcv] 文件或目录    uncompress 文件.Z


参数


含义


-r


可以将连同目录下的文件也同时给予压缩


-c


将压缩的结果显示


-v


可以显示出压缩后的文件信息以及压缩过程中一些文件名变化

示例:


在/tmp目录下有manpath.config文件:

-rw-r--r--   1 root root     5173 4月 10 2014 manpath.config

[email protected]:/tmp# compress -v manpath.config

manpath.config: -- replaced with manpath.config.Z Compression: 48.54%

压缩后的结果:

-rw-r--r-- 1 root    root    2662 8月 7 08:47 manpath.config.Z

再对其解压后:

[email protected]:/tmp# uncompress manpath.config.Z

-rw-r--r-- 1 root    root    5173 8月 7 08:47 manpath.config

从上可以看出,压缩后文件明显变小,同时你也会发现,采用以上命令无论是压缩还是解压,在目录下的源文件都将消失,而新文件将会被创立。可采用如下命令保留源文件:

compress -c manpath.config>manpath.config.Z

uncompress -c manpath.config.Z>manpath.config1

compress已经很少人使用,这个程序无法打开*.gz文件,而gzip可以解压*.Z文件

u gzip与zcat

gzip是使用最为广泛的压缩命令,它可以解压compress、zip与gzip等软件所压缩的文件。

gzip [-cdtv#] 文件名   zcat文件名.gz(读取文件数据)


参数


含义


-c


将压缩的数据输出到屏幕上,可通过数据流重定向来处理


-d


解压缩的参数,gzip –d 待解压的文件


-t


可以用来检验一个压缩文件的一致性,看看文件有无错误


-v


可以显示出原文件/压缩文件的压缩比等信息


-#


压缩等级,-1最快,但是压缩比差,-9最慢但是压缩比好,默认是-6

与compress类似,当使用gzip进行压缩时,在默认状态下原本的文件会被压缩成为gz文件,原本的文件就不再存在。gzip的压缩比比compress好的多,使用gzip压缩的文件,在windows系统中可以通过WinRAR来解压、


[email protected]:/tmp# gzip -v manpath.config

manpath.config:       62.3% -- replaced with manpath.config.gz

[email protected]:/tmp# gzip -c manpath.config>manpath.config.gz

gzip -d manpath.config.gz

bzip2

bzip2 [-cdkzv#] 文件名


参数


含义


-c


将压缩的数据输出到屏幕上


-d


解压缩的参数,bzip2 –d 待解压的文件


-k


保留源文件,而不删除原始的文件


-z


压缩的参数


-v


可以显示出原文件/压缩文件的压缩比等信息


-#


压缩等级,-1最快,但是压缩比差,-9最慢但是压缩比好,默认是-6

bzip2压缩所产生的文件扩展名为bz2,。


[email protected]:/tmp# bzip2 -z manpath.config

[email protected]:/tmp# bzip2 -d manpath.config.bz2

[email protected]:/tmp# bzip2 -zk manpath.config

打包命令:tar

gzip、bzip2大都针对单一文件来进行压缩,虽然gzip和bzip2也能针对目录来进行压缩,,不过这两个命令对目录的压缩指的是将目录的所有文件“分别“进行压缩,而不是打包。tar可以将多个文件或目录打包成一个大文件,同时还可以通过gzip和bzip2的支持对文件进行压缩或解压缩。

tar [-j | -z] [cv][-f 文件名] filename 打包与压缩

tar [-j | -z] [tv][-f 文件名] 查看文件名

tar [-j | -z][xv][-f文件名] [-C 目录] 解压缩


参数


含义


-c


新建打包文件,可结合-v来查看被打包过程中的文件名


-t


查看打包文件内容包含哪些文件名,重点在查看文件名


-x


解压缩或解打包的功能,-C在特定目录中打开


-j


通过bzip2的支持进行压缩或解压缩,此时文件扩展名最好为*.tar.bz2


-z


通过gzip的支持进行压缩或解压缩,此时文件扩展名最好为*.tar.gz


-v


在压缩或解压缩过程中,将正在处理的文件名显示出来


-f filename


-f后面接被处理的文件名


-C 目录


这个参数用在解压时,在特定目录解压时可以用这个参数

l   压缩:tar –jcvf filename.tar.bz2 要被压缩的文件或目录名称

l   查看:tar –jtvf filename.tar.bz2

l   解压:tar –jxvf filename.tar.bz2 –C 预解压的目录

2.3、Linux的文件与目录管理

2.3.1、目录的操作

(1)cd : 切换目录

(2)pwd: 显示当前目录

(3)mkdir:新建一个目录

(4)rmdir:删除一个空的目录

mkdir用法:


参数


含义


-p


创建多层目录,递归创建目录


-m


配置文件目录的权限

eg: mkdir –p test/test1/test2/test3   mkdir –m 777 test

2.3.2、文件与目录管理

u 查看文件与目录:ls

ls [选项] [目录名]


参数


含义


-a


列出目录下的所有文件,包括以 . 开头的隐含文件


-A


列出全部的文件(连同隐藏文件,但不包括 . .. 这两个目录


-d


仅列出目录本身,而不是列出目录内的文件数据


-f


直接列出结果,而不进行排序(ls默认会以文件名排序)


-F


根据文件、目录等信息给予附加数据结果,例如:*:代表可执行文件;/:代表目录;=:代表socket文件;|:代表FIFO文件


-h


将文件以人类易读的方式(例如GB,KB等)列出来


-i


列出inode号码


-l


列出长数据串,包含文件的属性和权限等数据


-n


列出UID与GID。而非用户与用户组的名称


-r


将排序结果反向输出,例如:原本文件名由小到大,反向则是由大到小


-R


连同子目录内容一起列出来


-S


以文件容量大小排序,而不是文件名排序


-t


以时间排序,而不是文件名


--color=never


不要依据文件特性给予颜色显示


--color=always


显示颜色


--color=auto


让系统自行依据设置来判断是否显示颜色


--full-time


以完整时间模式(包括年、月、日、时、分)输出

u 复制、删除、移动:cp rm mv

cp [-adfilprsu] 源文件(source) 目标文件(destination)

cp [option] source1 source2 source3 .. direction


参数


含义


-a


相当于-pdr的意思


-d


若源文件为连接文件的属性,则复制连接文件属性而非文件本身


-f


为强制的意思,若目标文件已经存在且无法开启,则删除后再尝试一次


-i


若目标文件已经存在时,在覆盖前会先询问操作的进行


-l


进行硬连接的连接文件创建,而非复制文件本身


-p


连同文件的属性一起复制过去,而非使用默认属性


-r


递归持续复制,常用于目录的复制


-s


复制成为符号连接文件,即快捷方式

rm [-fir] 文件或目录


参数


含义


-f


强制的意思,忽略不存在的文件,不会出现警告信息


-i


互动模式,在删除前会询问用户是否操作


-r


递归删除,常用于目录的删除

mv [-fiu] source destination

mv [options] source1 source2.... direction


参数


含义


-f


强制的意思,如果目标文件已经存在,不会询问而直接覆盖


-i


若目标文件已经存在时,会询问是否覆盖


-u


若目标文件已经存在,且source比较新时,才会更新update

2.3.3、文件内容查阅

u cat:由第一行开始显示文件内容

cat [-AbEnTv] 文件


参数


含义


-A


相当于-vEt的整合参数,可列出一些特殊的字符,而不是空白


-b


列出行号,针对非空白行的行号显示,空白行不标行号


-E


将结尾的断行字符$显示出来


-n


打印出行号,连同空白行也会有行号


-T


将Tab键以^I显示出来


-v


列出一些看不出来的特殊字符

示例:


[email protected]:/home/www1234# cat /etc/issue

Ubuntu 14.04.1 LTS \n \l

[email protected]:/home/www1234# cat -n /etc/issue

1 Ubuntu 14.04.1 LTS \n \l

2

[email protected]:/home/www1234# cat -A /etc/issue

Ubuntu 14.04.1 LTS \n \l$

$

u tac:从最后一行开始显示文件内容


[email protected]:/home/www1234# tac /etc/issue

Ubuntu 14.04.1 LTS \n \l

u nl:显示的时候顺便输出行号

nl [-bnw] 文件


参数


含义


-b


指定行号的指定方式,主要有两种:

-b a :无论是否为空行,同样显示出行号

-b t:如果有空行,空的那一行不要显示出行号(默认)


-n


-n 1n:行号在屏幕的最左方显示

-n rn:屏幕在自己字段的最右方显示,且不加0

-n rz:屏幕在自己字段的最右方显示,且加0


-w


行号字段占用位数

示例:


[email protected]:/home/www1234# nl /etc/issue

1 Ubuntu 14.04.1 LTS \n \l

[email protected]:/home/www1234# nl -b a /etc/issue

1 Ubuntu 14.04.1 LTS \n \l

2

[email protected]:/home/www1234# nl -b a -n rz /etc/issue

000001 Ubuntu 14.04.1 LTS \n \l

000002

[email protected]:/home/www1234# nl -b a -n rz -w 3 /etc/issue

001       Ubuntu 14.04.1 LTS \n \l

002

u more:一页一页地显示文件内容

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]


参数


含义


-num


一次显示的行数


+num


从第 num 行开始显示


-p


不以卷动的方式显示每一页,而是先清除萤幕后再显示内容


-s


当遇到有连续两行以上的空白行,就代换为一行的空白行

常用操作命令


参数


含义


Enter


向下n行,需要定义。默认为1行


Ctrl+F


向下滚动一屏


空格键


向下滚动一屏


Ctrl+B


返回上一屏


=


输出当前行的行号


:f


输出文件名和当前行的行号


V


调用vi编辑器


!


调用Shell,并执行命令


q


退出more

u less:与more类似,但比more更好的是能向前翻页


参数


含义


Enter


滚动一页


pagedown


向下翻动一页


空格键


滚动一行


pageup


向上翻动一页


y


向前滚动一行


u


向前滚动半页


h


显示帮助界面


d


向后翻半页


q


退出more


b


向后翻一页


/字符串


向下搜索"字符串"的功能


?字符串


向上搜索"字符串"的功能


n


重复前一个搜索(与 / 或 ? 有关)


N


反向重复前一个搜索(与 / 或 ? 有关)

u head:只看头几行

head [-n number] 文件

-n :后面接数字,代表显示几行的意思


[email protected]:/home/www1234# head /etc/manpath.config

# manpath.config

#

# This file is used by the man-db package to configure the man and cat paths.

# It is also used to provide a manpath for those without one by examining

# their PATH environment variable. For details see the manpath(5) man page.

#

# Lines beginning with `#‘ are comments and are ignored. Any combination of

# tabs or spaces may be used as `whitespace‘ separators.

#

# There are three mappings allowed in this file:

[email protected]:/home/www1234# head -n 5 /etc/manpath.config

# manpath.config

#

# This file is used by the man-db package to configure the man and cat paths.

# It is also used to provide a manpath for those without one by examining

# their PATH environment variable. For details see the manpath(5) man page.

默认显示10行数据

u tail:只看尾几行

tail [-n number] 文件

-n :后面接数字,表示显示几行


[email protected]:/home/www1234# tail /etc/manpath.config

# formatted for a terminal of the given width, regardless of the width of

# the terminal actually being used. This should generally be within the

# range set by MINCATWIDTH and MAXCATWIDTH.

#

#CATWIDTH   0

#

#---------------------------------------------------------

# Flags.

# NOCACHE keeps man from creating cat pages.

#NOCACHE

[email protected]:/home/www1234# tail -n 5 /etc/manpath.config

#

#---------------------------------------------------------

# Flags.

# NOCACHE keeps man from creating cat pages.

#NOCACHE

u od:以二进制的方式读取文件内容

od [-t Type] 文件

-t后面可以接各种类型的输出:


参数


含义


a


利用默认的字符来输出


c


使用ASCII字符输出


d[size]


使用十进制来输出数据,各个整数占size bytes


f[size]


使用浮点数来输出数据,各个数占size bytes


o[size]


使用八进制来输出数据,各个整数占size bytes


x[size]


使用十六进制来输出数据,各个整数占size bytes

u touch:修改文件时间或创建新文件

touch [-acdmt] 文件


参数


含义


-a


仅修改访问时间


-c


仅修改文件的时间,若该文件不存在,则不创建新的文件


-d


后面可以接欲修改的日期而不用目前的日期,也可以使用—date =”日期或时间”


-m


仅修改mtime


-t


后面可以接欲修改的时间而不用目前的时间,格式为(YYMMDDhhmm)

示例:


[email protected]:/home/www1234# cd /tmp

[email protected]:/tmp# touch testfile

[email protected]:/tmp# ls -al testfile

-rw-r--r-- 1 root root 0 8月 8 08:24 testfile

[email protected]:/tmp# touch -t 0709150202 testfile

[email protected]:/tmp# ls -al testfile

-rw-r--r-- 1 root root 0 9月 15 2007 testfile

2.3.4、命令与文件查询

u file:查看文件类型

用于查看文件的类型,举例说明


[email protected]:/home/www1234# file ~/.bashrc

/root/.bashrc: ASCII text

[email protected]:/home/www1234# file /usr/bin/passwd

/usr/bin/passwd: setuid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs),

for GNU/Linux 2.6.24, BuildID[sha1]=999e2f8579c0a26bd358b4d81416881c81a2ad8c, stripped

[email protected]:/home/www1234# file /var/lib/mlocate/mlocate.db

/var/lib/mlocate/mlocate.db: data

u which(寻找“执行文件”)

which [-a] command

-a:将所有由path目录可以找出的命令均列出,而不是只列出第一个被找到的命令


[email protected]:/home/www1234# which which

/usr/bin/which

[email protected]:/home/www1234# which -a ifconfig

/sbin/ifconfig

u whereis(寻找特定文件)

whereis [-bmsu] 文件或目录名


参数


含义


-b


只找二进制格式的文件


-m


只找在说明文件manual路径下的文件


-s


只找source源文件


-u


查找不在以上3中选项以外的特殊文件

u locate

locate [-ir] keyword


参数


含义


-i


忽略大小写的差异


-r


后面可接正则表达式的显示方式

2.4、vi程序编辑器

u 进入vi的命令


命令


含义


vi filename


打开或新建文件,并将光标置于第一行首


vi +n filename


打开文件,并将光标置于第n行首


vi + filename


打开文件,并将光标置于最后一行首


vi +/pattern filename


打开文件,并将光标置于第一个与pattern匹配的串处


vi -r filename


在上次正用vi编辑时发生系统崩溃,恢复filename


vi filename....filename


打开多个文件,依次进行编辑

u 光标移动、复制粘贴、查找


命令


含义



光标向左移动一个字符



光标向右移动一个字符



光标向上移动一个字符



光标向下移动一个字符


ctrl+f


屏幕向下移动一页,相当于pagedown


ctrl+b


屏幕向上移动一页,相当于pageup


0或Home


移动到这一行最前面的字符处


$或End


移动到这一行最后字符处


G


移动到这个文件的最后一行


nG


n为数字,移动到这个文件的第n行


gg


移动到这个文件的第一行


N+Enter


n为数字,光标向下移动n行


/word


向下寻找一个名称为word的字符串


?word


向上寻找一个名称为word的字符串


n


n是英文按键,代表重复前一个查找操作


N


N是英文按键,反向进行前一个查找操作


:n1,n2s/word1/word2/g


在n1与n2行之间查找word1这个字符串,并用word2代替


:1,$s/word1/word2/g


在1到最后一行之间查找word1这个字符串,并用word2代替


:1,$s/word1/word2/gc


在1到最后一行之间查找word1这个字符串,并用word2代替。在进行替换之前需要用户确认


x,X


在一行字当中,x为向后删除一个字符,X为向前删除一个字符


dd


删除光标所在的那一行


ndd


n为数字,删除光标所在向下n行


yy


复制光标所在那一行


p,P


p为将复制的数据在光标的下一行粘贴,而P则是在上一行粘贴


nyy


n为数字,复制光标所在向下n行


u


复原前一个操作


ctrl+r


重做上一个操作

u 一般模式切换到编辑模式


按键


含义


i


在光标前


I


在当前行首


a


光标后


A


在当前行尾


o


在当前行之下新开一行


O


在当前行之上新开一行


ESC


退出编辑模式,进入一般模式

u 命令行模式


按键


含义


:w


将编辑的数据写入硬盘文件中


:w!


若文件属性为“只读”时,强行写入该文件,到底能不能写入,还看你对文件的权限


:q


离开vi


:q!


强制离开,不保存文件


:wq


保存后离开,若为:wq!则为强制保存后离开


:w filename


将编辑的数据保存为另一个文件,类似于另存文件

时间: 2024-10-05 19:47:07

Linux的文件权限和目录配置的相关文章

第六章 Linux的文件权限与目录配置

第六章 Linux的文件权限与目录配置 6.1Linux用户身份与用户组记录的文件 每个账号都可以有多个用户组支持 /etc/passwd              用户账号 /etc/shadow             账号密码 /etc/group                 组账号 6.2权限 文件的RWX权限只涉及对文件内容的约束 文件夹的RWX权限只涉及对文件夹下的文件的约束 ls原理:根据身份对文件夹访问时,若该身份对该文件夹为r--,则结果只返回文件名列表:若为r-x,返回文

鸟哥的Linux私房菜_基础版_学习笔记2:第六章 linux的文件权限与目录配置

第六章 linux的文件权限与目录配置 6.1.用户与用户组 1.文件拥有者 2.群组概念 3.其他人的概念 在Linux里面,任何一个文件都有"User,Group和Others"3种身份的个别权限. 我们以王三毛为例,王三毛这个『文件』的拥有者为王三毛,他属于王大毛这个群组, 而张小猪相对于王三毛,则只是一个『其他人(others)』而已. 不过,这里有个特殊的人物要来介绍的,那就是『万能的天神』!这个天神具有无限的神力, 所以他可以到达任何他想要去的地方,呵呵!那个人在Linux

Linux的文件权限与目录配置 - 鸟哥Linux私房菜第六章 - 思维导图

Linux的目录配置标准FHS Linux的文件权限

第6章 Linux的文件权限与目录配置

用户与用户组 Linux文件的所有者概念包括:所有者,用户组,其他人. 系统上的账户与一般身份用户存放在/etc/passwd,个人密码记录在/etc/shadow下,组名放在/etc/group下. Linux文件权限概念 Linux文件属性 查看文件属性,可以使用ls指令,如下: dr-xr-xr-x. 17 root root 4096 6月 27 16:16 . dr-xr-xr-x. 17 root root 4096 6月 27 16:16 .. lrwxrwxrwx. 1 root

第六章、Linux 的文件权限与目录配置

1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 目录与文件之权限意义 2.4 Linux文件种类与扩展名 3. Linux目录配置 3.1 Linux目录配置的依据--FHS:/, /usr, /var 3.2 目录树(directory tree) 3.3 绝对路径与相对路径 3.4 CentOS 的观察: lsb_release 4. 重点回顾 1. 使用者与群组 1.文件拥有者

【转】第六章、Linux 的文件权限与目录配置

原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了. Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.若管理不当,你的Linux主机将会变的很『不

Linux 的文件权限和目录配置

1.Linux文件属性 用root用户登录linux后,执行 ls -al 命令查看文件.显示如下: 文件属性示意图如下: 第一列代表这个文件的类型和权限 第一个字符代表这个文件是:目录.文件或链接文件等. 若是[d]则是目录: 若是[-]则是文件: 若是[l]则表示为连接文件: 若是[b]则表示设备文件里的可供存储的接口设备: 若是[c]则表示设备文件里的串行端口设备,如鼠标.键盘等. 后面的9个字符以3个位一组,均为rwx的组合.其中r代表可读,w代表可写,x代表可执行.注意3个权限的位置不

6.Linux的文件权限与目录配置

Linux文件属性:(- rwx r-x r-- 1 root root 2800 feb 1 11:55 test.txt 顺序按着空格排序,除了时间) 第一组字符代表这个文件是目录.文件或链接文件等. 第二组字符代表所拥有者对此文件拥有的权限 第三组字符代表所属群组对此文件拥有的权限 第四组字符代表其他人对此文件拥有的权限 第五个数字代表inode的连接数 第六组和第七组分别为文件所拥有者和所属群组 第八组为文件的大小,默认单位为B 第九组为创建时间或修改时间 第十组为文件名 目录与文件的权

<六> Linux 的文件权限与目录配置

1.在Linux里面,任何一个文件都具有『User, Group及Others』三种身份的个别权限. 以王三毛为例,王三毛这个『文件』的User为王三毛,他属于王大毛这个Group, 而张小猪相对于王三毛,则只是一个『others』而已.无所不能的天神则是root. 在我们Linux系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息,都是记录在/etc/passwd这个文件内的.至于个人的密码则是记录在/etc/shadow这个文件下. 此外,Linux所有的