Linux 学习笔记之超详细基础linux命令 Part 9

时间:2021-05-24 08:48:44

Linux学习笔记之超详细基础linux命令

by:授客 QQ1033553122

---------------------------------接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/linux

Desktop   
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中的快捷方式,其本身并不保存内容,只记录所有链接文件的路径。如果被链接文件更名或者移动,符号链接文件就无任何意义了