上一篇我们讲到了linux中的基本命令,今天我们接着来学习基本命令。
希望感觉博客还不错的点了“顶”哦!
七、chmod
- 作用:修改文件的权限
7.1)命令格式:chmod mode filename
- 在mode中由三部分组成分别是:who、op、permission(s)
1.who表示用户或组,又分为u、g、o、a
u:代表文件拥有者
g:代表文件所属组
o:代表文件除了拥有者和所属组之外的其他用户以及组
a:表示上面所有的情况,即“a”表示文件的拥有者、所属组以及除当前拥有者和所属组之外的其他用户以及组。
2.op表示表示修改用户对于文件权限的运算符,分为=、-、+
“=” 表示设置权限,覆盖原来的权限
“+” 表示当原来没有某个权限时,赋予改权限
“-” 表示移除某个已拥有的权限
3.permission(s)表示用户或组对于文件的权限,分为r、w、x
7.2)chmod例子
- chmod g-r file1
- chmod u+x,go+w file2
- chmod a=rw file3
- 创建三个文件分别为a.txt、b.txt、c.txt,对于这三个文件修改权限为用户本人具有所有权限,同组人具有读写权限,其他人没有任何权限。
zyh@udzyh1:~/test$ touch a.txt b.txt c.txt zyh@udzyh1:~/test$ ls -l total 0 -rw-r--r-- 1 zyh zyh 0 8月 29 14:48 a.txt -rw-r--r-- 1 zyh zyh 0 8月 29 14:48 b.txt -rw-r--r-- 1 zyh zyh 0 8月 29 14:48 c.txt zyh@udzyh1:~/test$ chmod u+x,g+w,o-r a.txt b.txt c.txt zyh@udzyh1:~/test$ ls -l total 0 -rwxrw---- 1 zyh zyh 0 8月 29 14:48 a.txt -rwxrw---- 1 zyh zyh 0 8月 29 14:48 b.txt -rwxrw---- 1 zyh zyh 0 8月 29 14:48 c.txt zyh@udzyh1:~/test$
- a目录同组人增加写权限,其他人减去一个执行权限
chomd g+w,o-x a
- a.txt让所有人都读写执行的权限
chmod a=rwx a.txt
注意:
**+-依赖以前的权限
=不依赖以前的权限,重新赋权限**
- a.txt让所有人都读写执行的权限
7.3)八进制数来表示权限,命令格式:chmod 八进制权限 filename
7.3.1)八进制表示权限的解释:r=4,w=2,x=1,由此八进制0到7的权限如下
- 7 表示 rwx
- 6 表示 rw-
- 5 表示 r-x
- 4 表示 r–
- 3 表示 -wx
- 2 表示 -w-
- 1 表示 –x
- 0 表示 —
7.3.2)其中“777”也是由三部分组成
- 第一个7表示文件拥有者的读、写、执行权限
- 第二个7表示文件同组人的读、写、执行权限
- 第三个7表示文件其他人的读、写、执行权限
举例:
a.txt让所有人都读写执行的权限
chomd 777 a.txt
a自己读写执行,同组人和其他人读执行权限
chomd 755 a
八、touch
新建文件命令,当文件不存在是则创建文件,当文件已经存在时,则更新该文件的最后修改时间为当前时间。
touch a a.txt n.txt
九、mkdir
- 作用:创建目录命令,命令格式:mkdir [-p] directory_name(s)
- 一次可以创建多个目录
mkdir example1 example2 - 也可以一次创建一个多级目录
当上级目录存在时,则直接创建相应的目录
当上级目录不存在时,则需要加“-p”选项
mkdir -p go1/go2/go3这个是当go1不存在时
十、cp
- 作用:拷贝命令,既能拷贝文件也能拷贝目录
10.1)把源文件复制到目标文件
cp -i a.txt b.txt
-i 如果目标文件已经存在,会提示是否需要覆盖目标文件?
y则覆盖。如果目标文件不存在,则不会提示。
10.2)把源文件复制到目标目录
cp a.txt bd game1
10.3)把源目录复制到目标目录
cp -r game1 game2
注意:-r 当源文件是目录是需要使用
10.4例子
- cp -r file1 file2 dir1 dir2
- 当cp命令后面的参数大于两个的时候,最后一个参数必须是“目录”,表示将所有参数(最后一个目录除外)所表示的文件(或目录)拷贝到最后一个参数所表示的目录中
- 拷贝文件可以不加选项“-r”
- 拷贝目录必须加选项“-r”
十一、mv
- 作用:移动命令,既能移动文件,也能移动目录,跟cp命令很相似,尤其是cp命令的第三条,但是不用加“-r”选项。
- **技巧:**mv命令可以给一个文件重命名
十二、rm、rmdir
12.1)rm
- 作用:删除文件和目录的命令
- 当删除目录时需要加“-r”选项,在删除目录或文件时原则上是需要有对于该文件或目录的写权限,但是在没有写权限的情况下也是可以删除的,只不过会出现提示信息,但是前提是该文件的所有者是当前用户。
- 删除非空目录:rm -r game1(game1下面还有目录)
12.2)rmdir
- 作用:删除空目录,不需要加“-r”选项
- 例子:当我们在有a/b/c三个目录的时候
rmdir a/b/c删除的只是最底层的目录:c
rmdir -p a/b/c删除的是全部目录
十三、压缩和解压缩
- 常用的压缩格式有两种:gzip和bzip,在bzip的基础上出现了新的压缩格式bzip2
- gzip和bzip2之间的区别
gzip 压缩时间短,但是压缩比低。压缩用gzip命令
bzip2 压缩时间长,但是压缩比高
gzip和gzip2压缩的实例
- 使用gzip 文件名、bzip2 文件名来压缩,但是压缩之后,被压缩文件就会没有了。
多个文件一个压缩
touch a.txt b.txt c.txt
cat a.txt b.txt c.txt |gzip >fo.gz
gunzip和bunzip2的解压缩实例
gunzip a.txt.gz
bunzip2 b.txt.bz2
十四、归档和解挡
-归档就是我们有很多零碎的文件我们需要把它归档当一个包里面
- 归档和解档都用的是tar命令,只不过跟的选项不一样。
- 归档:tar [zcvf] package_name file(s)
- 解档:tar [zxvf] package_name
当解档时需要指定解档路径时使用“-C”选项,即tar zxvf package_name -C destination_dir
归档操作
- tar -cf c.tar c.txt
-c表示创建的意思
-f指定一个所要创建的文件名
所以也可以写成tar -f c.tar -c c.txt - 归档并压缩
在tar中有-z是使用gzip压缩,-j是使用bzip2压缩
tar -zcf c.tar.gz c.txt
tar -jcf c.tar.bz2 c.txt - 显示压缩的详细信息使用-v
tar -zcvf ch.tar.gz c.txt h.txt
解挡操作
- 我们解档ch.tar.gz
tar -zxvf ch.tar.gz - 解档到指定的目录文件
tar -zxvf ch.tar.gz -C abc
十五、ln
- 创建链接文件命令
- 链接又分为硬链接(Hard Link)和软链接(Soft Link)
15.1)硬链接
- 硬链接相当于给文件起别名,当改硬链接文件修改时,对应的源文件内容也会随之更改
- 建立硬链接可以防止误删
- 硬链接不能跨分区
- 一般对于*目录不能建立硬链接*
理解什么是硬链接
- 第一我们在Desktop目录下创建一个a.txt
- 我们创建使用命令为a.txt创建硬链接b.txt和c.txt
- 我们通过从磁盘内部分析,当我们删除a.txt是,我们依然可以操作b.txt和c.txt,并且当b.txt中的内容
更改是,c.txt中的内容随之更改。
- 注意:b.txt和c.txt并不是一个文件,而是一个指向a.txt的一个数据而已,虽然看起来它是一个文件。
推荐参考:
15.2)软链接
- 软链接相当于Windows文件系统中快捷方式
- 软链接也叫符号链接(Symbolic)
- 命令格式:ln [-s] source_file destination_file
说明:加选项“-s”为创建软链接,不加为创建硬链接
理解什么是软链接
- 第一我们在Desktop中创建一个文件soft.txt,然后使用ls-l查看文件详细信息。之后我们删除soft.txt是,我们
发现软链接也不能使用了。
- 我们使用绝对路径的soft.txt创建一个软链接为soft.txt.s1。使用ls -l查看发现两个文件的大小不一样,指向的地址也是
不一样的。
- 当我们从磁盘中去分析时,可以知道,软链接的数据区存放的就是soft.txt的位置信息。
推荐参考:
命令中常用的参数
- 必要参数
1)-b 删除,覆盖以前建立的链接
2)-d 允许超级用户制作目录的硬链接
3)-f 强制执行
4)-i 交互模式,文件存在则提示用户是否覆盖
5)-n 把符号链接视为一般目录
6)-s 软链接(符号链接)
7)-v 显示详细的处理过程 - 选择参数
1)-S “-S<字尾备份字符串> “或 “–suffix=<字尾备份字符串>”
2)-V “-V<备份方式>”或”–version-control=<备份方式>”
3)–version 显示版本信息
man
查看其它命令的帮助文档