ShellEnd
by
Shell 相关(续)
5. 用户权限、用户、用户组
5.1 chmod 修改文件权限
linux通过权限对文件进行控制,使用chmod
命令可以修改文件相关的权限
- 文字设定法
- 命令:
chmod [who][+|-|=][mode] 文件名
- 操作对象[who]
- u – 用户(user)
- g – 同组用户(group)
- o – 其他用户(other)
- a – 所有用户(all)【默认】
-
操作符[+ - =] - + – 添加权限
- - – 取消权限
- = – 赋予给定权限并取消其他权限
- 权限[mode]
- r – 读
- w – 写
- x – 执行
- 操作对象[who]
- 命令:
#为file的所有者和所属组添加读写权限
chmod ug+wr file.txt
- 数字设定法
- 命令:
chmod [+|-|=][mode] 文件名
-
操作符[+ - =](同上) - 数字表示的含义
- 0 – 没有权限(-)
- 1 – 执行权限(x)
- 2 – 写权限(w)
- 4 – 读权限(r)
-
- 命令:
#给file.txt文件设置 rw-rw-r--
chmod 664 file.txt
5.2 chown 修改文件所有者和所属组
- 修改文件所有者
sudo chown newowner file.txt
- 修改文件所有者和所属组
#两种方法均可
sudo chown newowner:newowner file.txt
sudo chown newowner.newowner file.txt
注意:普通用户需使用管理员用户权限执行该命令
5.3 chgrp 修改文件所属组
sudo chgrp newowner file.txt
6. find 命令
6.1 按文件名查询
使用参数:-name
命令使用方式:find 路径 -name "文件名"
#查询后缀为.c的文件
find /home -name "*.c"
6.2 按文件类型查询
使用参数:-type
命令使用方式:find 路径 -type "类型"
7种固定文件类型(其中普通文件类型用f表示,而非-)
6.3 按文件日期
#创建日期
-ctime -n/+n
#修改日期
-mtime -n/+n
#访问日期
-atime -n/+n
注:
- -n:n天以内
- +n:n天以外
6.4 按深度
使用参数:-maxdepth
命令使用方式:
-maxdepth n(层数)
- 搜索n层以下的目录,搜索层数不超过n层
-mindepth n(层数)
- 搜索n层以上的目录,搜索层数不小于n层
6.5 高级查找
#查找指定目录下所有目录,并列出目录中文件的详细信息
find ./ type d -exec ls -l {}\
find ./ type d -ok ls -l {}\
find ./ type d | xargs ls -l {}\
7. grep 命令
命令使用方式grep -r(有目录) "查找的内容" 搜索的路径
- -r 若是目录,则可以递归搜索
- -n 可以显示该查找内容所在行号
- -i 可以忽略大小写进行查找
- -v 不显示含有某字符串
#搜索当前目录下包含hello world字符串的文件
grep -r -n "hello world" ./ #显示行号
grep -r -i -n "HELLO world" ./ #忽略大小写查找
#find和grep命令结合使用
#先使用find命令查找文件,然后使用grep命令查找哪些文件包含某个字符串
find . -name "*.c" | xargs grep -n "main"
8. 软件安装和卸载
8.1 在线安装
#以安装sl为例
#软件安装
sudo apt install sl
#软件卸载
sudo apt remove sl
#更新软件列表
sudo apt update
#清理安装包
sudo apt clean
8.2 软件包安装
在ubuntu系统中必须有deb格式的安装包
#软件安装
sudo dpkg -i xxx.deb
#软件卸载
sudo dpkg -r sl
9. 压缩与解压缩
9.1 gzip 和 bzip2
- 不能压缩目录, 只能一个一个文件进行压缩,压缩之后会使原文件消失
gzip *
压缩当前目录下所有文件,但目录不能压缩gunzip *
解压当前目录下所有的.gz文件bzip2 *
压缩当前目录下所有文件,但是目录不能压缩bunzip2 *
解压当前目录下所有的.bz2文件
9.2 tar 工具
- 相关参数说明
- z:用gzip来压缩/解压缩文件
- j:用bzip2来压缩/解压缩文件
- c:创建新的压缩文件,与x互斥使用
- x:从压缩文件中释放文件,与c互斥使用
- v:详细报告tar处理的文件信息
- f:指定压缩文件的名字
- t:查看压缩包中有哪些文件
- 压缩
tar -cvf
压缩包名字.tar 原材料[要打包压缩的文件或目录]tar -zcvf
压缩包名字.tar.gz 原材料[要打包压缩的文件或目录]tar -jcvf
压缩包名字.tar.bz2 原材料[要打包压缩的文件或目录]
- 解压缩
tar -xvf
已有的压缩包(test.tar)tar -zxvf
已有的压缩包(test.tar.gz)tar -jxvf
已有的压缩包(test.tar.bz2)- 解压到指定目录:添加参数 -C
tar -zxvf test.tar.gz -C ./mytest
- 查看压缩包中的文件
tar -tvf test.tar