Linux学习笔记之超详细基础linux命令
by:授客 QQ:1033553122
---------------------------------接Part 8--------------------------------修改文件权限的Shell命令
chmod命令
方法:chmod 数字模式 文件
方法:chmod 功能模式 文件
功能:修改文件的访问权限
说明:
数字模式为一组三位的数字,如755,644
功能模式可以由以下三部分组成
对象:
u(user) 文件所有者
g(group) 同组用户
o(other) 其他用户
操作符号:
+ 增加权限
- 删除权限
= 赋予给定权限
权限:
r(read) 读取权限
w(write) 写入权限
x(execute) 执行权限
说明:
字母表形式 十进制数表示形式 权限含义
--- 0 无任何权限
--x 1 可执行权限
-w- 2 可写权限
r-- 4 可读权限
其它的由这以上几个的组合:如r-x 可读可执行 2+4=6 可读可写1+2+4=7 可读可写可执行(rwxrwxrwx--》u,g,o都有可读可写可执行权限。a表示u,g,o三者,如chmod a+wr filename,
注意位置顺序貌似 rwx。。。
例子:取消同组用户对err文件的写入权限
[laiyu@localhost ~]$ ls -l
total 64
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 1 22:54 Downloads
-rw-rw--r--. 1 laiyu laiyu 48 Nov 14 22:18 err
...
说明:从左到右,以下为例
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop
文件类型(如:d) 文件所有者的访问权限(如:rwx),同组用户的访问权限(如:r-x),其它用户的访问权限(r-x),文件所有者(laiyu),文件所属组群(laiyu)
说明:文件类型:普通文件 - ,目录文件 d,符号链接文件 l,块设备文件 b,字符设备文件 c
[laiyu@localhost ~]$ chmod g-w err
例子:将file文件的访问权限设置为755即文件所有者可读可写可执行,同组用户可读可执行,其它用户可读可执行
[laiyu@localhost ~]$ ls -l
total 64
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 1 22:54 Downloads
-rw-r--r--. 1 laiyu laiyu 48 Nov 14 22:18 err
drwxr-xr-x. 2 root root 4096 Nov 11 22:43 etc
-rw-rw-r--. 1 laiyu laiyu 50 Nov 13 23:17 file
...
[laiyu@localhost ~]$ chmod -755 file
chmod: invalid option -- '7'
Try `chmod --help' for more information.
[laiyu@localhost ~]$ chmod 755 file
[laiyu@localhost ~]$ ls -l
total 64
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents
drwxr-xr-x. 2 laiyu laiyu 4096 Nov 1 22:54 Downloads
-rw-r--r--. 1 laiyu laiyu 48 Nov 14 22:18 err
drwxr-xr-x. 2 root root 4096 Nov 11 22:43 etc
-rwxr-xr-x. 1 laiyu laiyu 50 Nov 13 23:17 file
...
说明:没有符号 ”-”,因为数字就表示了权限,没必要在用-……
chgrp命令
方法:chgrp 组群 文件
功能:改变文件的所属组群
说明:普通用户下,只能把文件转为原来的组群
例子:将err目录所属的组群由laiyu改为mygroup
[laiyu@localhost ~]$ ls -l
total 68
...
drwxrwxr-x. 2 laiyu laiyu 4096 Nov 16 23:04 mydir
...
chgrp: changing group of `mydir': Operation not permitted
[laiyu@localhost ~]$ su
Password:
[root@localhost laiyu]# chgrp mygroup err
[root@localhost laiyu]# ls -l总用量 68
...
drwxrwxr-x. 2 laiyu mygroup 4096 11月 16 23:04 mydir
...
chown命令
方法:chown 文件所有者[:组群] 文件
功能:改变文件的所有者,并可一并修改文件的所属组群
例子:将文件file1的所有者由laiyu改为root
[root@localhost laiyu]# ls -l
....
-rw-rw-r--. 1 laiyu laiyu 43 11月 14 22:15 file1
....
[root@localhost laiyu]# chown root file1
[root@localhost laiyu]# ls -l
...
-rw-rw-r--. 1 root laiyu 43 11月14 22:15 file1
...
例子:将文件mydir的所有者和组群由laiyu:mygroup改为root用户和root组群
[laiyu@localhost ~]$ chown laiyu:laiyu mydir
chown: changing ownership of `mydir': Operation not permitted
[laiyu@localhost ~]$ su
Password:
[root@localhost laiyu]# chown root:root mydir
[root@localhost laiyu]# ls -l
...
drwxrwxr-x. 2 root root 4096 11月16 23:04 mydir
...
说明:如果修改的是了.lnk链接文件,那么实际修改的是连接文件所连接的源文件,.lnk文件本身不被修改
--管理目录和文件的Shell命令
mkdir命令
方法:mkdir [选项] 目录
主要选项:
-m(mode) 访问权限 创建目录的同时设置目录的访问权限
-p(parents) 一次性创建多级目录
例子:创建名为test的目录,并在其下创建Linux目录
[laiyu@localhost ~]$ ls
Desktop Downloads etc file1 file3 list mydir Public Videos
Documents err file file2 fillll Music Pictures Templates
[laiyu@localhost ~]$ mkdir -p test/linuxDesktop Downloads etc file1 file3 list mydir Public test
Documents err file file2 fillll Music Pictures Templates Videos
[laiyu@localhost ~]$ ls -r test/
linux
rmdir命令
方法:rmdir [选项] 目录
功能:删除目录文件
主要选项:
--ignore-fail-on-non-empty 忽略目录不为空的目录提示,但是不删除非空目录
-p,--parents 级连删除目录及其子目录
-v,--verbose 显示帮助信息并退出
--version
例子:删除目录mydir,,mydir目录不为空,包含文件f1
[root@localhost laiyu]# rmdir mydir
mydir/ myswapfile
[root@localhost laiyu]# rmdir mydir/
rmdir: failed to remove `mydir/': Directory not empty
[root@localhost laiyu]# rmdir --ignore-fail-on-non-empty mydir/
说明:结果再没提示出错信息,但是目录仍未删除
例子:级联删除并显示每个目录的删除结果
builder:/mnt/disk# mkdir myfile
builder:/mnt/disk# cd myfile/
builder:/mnt/disk/myfile# mkdir mydir
builder:/mnt/disk/myfile# cd mydir
builder:/mnt/disk/myfile/mydir# pwd
/mnt/disk/myfile/mydir
builder:/mnt/disk/myfile/mydir# cd /mnt/disk
builder:/mnt/disk# rmdir -vp myfile/mydir/
rmdir: removing directory, myfile/mydir/
rmdir: removing directory, `myfile'
builder:/mnt/disk#mv命令
方法:mv [选项] 源文件或源目录 目的文件或目的目录
功能:移动或重命名文件或目录
说明:重命名主要针对目的文件或目的目录不存在的情况下,对源文件或源目录进行重命名
主要选项:
-b(backup) 若存在同名文件,则覆盖前备份原来的文件
-f(force) 强制覆盖同名文件
例子:将mydir目录改为youdir目录
[laiyu@localhost ~]$ ls -l
total 72
...
drwxrwxr-x. 2 root root 4096 Nov 16 23:04 mydir
...
[laiyu@localhost ~]$ mv mydir yourdir
[laiyu@localhost ~]$ ls -l
total 72
...
drwxrwxr-x. 2 root root 4096 Nov 16 23:04 yourdir
...
例子:file,file1文件移动到test目录下
[laiyu@localhost ~]$ mv file test/
[laiyu@localhost ~]$ mv file1 ./test/
[laiyu@localhost ~]$ cd test
[laiyu@localhost test]$ ls
file file1 linux
说明:.表示当前目录 test目录在当前目录下cp命令
方法:cp [选项] 源文件或源目录 目的文件或目的目录
功能:复制文件或目录
主要选项:
-b(backup) 若存在同名文件,则覆盖前备份原来的文件
-f(force) 强制覆盖同名文件
-r或-R(recursive) 按递归方式,保留目录结构复制文件
例子:将文件err复制为error,若error文件已存在,则将备份原来的err文件
[laiyu@localhost ~]$ ls -l | grep err
-rw-r--r--. 1 laiyu laiyu 48 Nov 14 22:18 err
-rw-rw-r--. 1 laiyu laiyu 27 Nov 18 22:48 error
[laiyu@localhost ~]$ cp -b err error
说明:备份文件名:源文件名~rm命令
方法:rm [选项] 文件或目录
功能:删除文件或目录
主要选项:
-f(force) 强制删除,不先确认信息
-r或-R(recursive) 按递归方式删除目录,默认只删除文件
说明:有时候可能无法删除,需要切换为超级用户角色
例子:删除yourdir目录,连同其下子目录。
[laiyu@localhost ~]$ ls
Desktop Downloads err~ etc file3 list Pictures Templates Videos
Documents err error file2 file4 Music Public test yourdir
laiyu@localhost ~]$ rm -rf yourdir
rm: cannot remove `yourdir/file': Permission denied
rm: cannot remove `yourdir/subdir': Permission denied
[laiyu@localhost ~]$ su
Password:
[root@localhost laiyu]# rm -rf yourdir
[root@localhost laiyu]# ls
Desktop Downloads err~ etc file3 list Pictures Templates Videos
Documents err error file2 file4 Music Public test
例子:删除lsl目录,lsl目录非空
[laiyu@localhost ~]$ cd lsl
[laiyu@localhost ~]$ touch file
[laiyu@localhost ~]$ touch file3
[laiyu@localhost ~]$ mkdir p
[laiyu@localhost ~]$ cd ..
[laiyu@localhost ~]$ rm lsl
rm:cannot remove 'lsl': Is a directory
[laiyu@localhost ~]$ rm -r lsl
说明:当目录非空时rmdir命令无效,这时可以用rm命令,rm -fr
ln命令
方法:ln [选项] 目标文件 链接文件
功能:建立链接文件,默认建立硬链接文件
主要选项:
-b(backup) 若存在同名文件,则覆盖前备份原来的文件
-s(symbolic)
建立符号链接文件
-f(force) 强行建立文件或目录的链接,不论文件或目录是否存在
例子:建立./test/file文件的符号链接fiel.link
[laiyu@localhost ~]$ ln -s ./test/file file.lnk
[laiyu@localhost ~]$ cat file.lnk
this is a file named file
yes
it is
you are right
[laiyu@localhost ~]$ cat ./test/file
this is a file named file
yes
it is
you are right
说明:file.lnk可以不必事先存在
注意:硬链接文件和符号链接文件的区别:硬链接文件保留所有链接文件的索引节点(磁盘的具体物理地址)信息,即使被链接文件更名或者移动,硬链接文件仍然有效果。
Linux要求硬链接文件和被链接文件必须属于同一分区并采用相同的文件系统,符号链接文件类似windows中的快捷方式,其本身并不保存内容,只记录所有链接文件的路径。如果被链接文件更名或者移动,符号链接文件就无任何意义了