luinx对文件的基本操作
查看目录下文件信息 :ls
参数 | 含义 | |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 | |
-l | 以列表方式显示文件的详细信息 | |
-h | 配合 -l 以人性化的方式显示文件大小 |
切换工作目录:cd
命令 | 含义 |
cd | 切换到当前用户的主目录(/home/用户目录), 用户登陆时,默认的目录就是用户的主目录。 |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 切换到当前目录 |
cd - | 可进入上次所在的目录 |
cd / | 切换到系统根目录/ |
cd .. | 切换到上级目录 |
如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”。
显示当前路径:pwd
使用pwd命令可以显示当前的工作目录,该命令很简单,但又很常用,直接输入pwd即可,后面不带参数。
创建文件 : touch
例如
touch hello.txt
创建目录:mkdir
参数-p可递归创建目录
例如
mkdir TestDir
mkdir -p a/b/c/
删除文件:rm
不可恢复,为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
参数 | 含义 |
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 也可使用 |
删除文件:(可一次删除多个)
rm xxx.txt aaa.txt
删除目录:
rm -r test_dir
拷贝:cp
选项 | 含义 |
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录 简单而言,保持文件原有属性。 |
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件 目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
移动、重命名:mv
选项 | 含义 |
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖 系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
linux高级命令:
输出重定向:>
ls > test.txt
test.txt 如果不存在,则创建,存在则覆盖其内容
注意:>
输出重定向会覆盖原来的内容,>>
输出重定向则会追加到文件的尾部
查看文件内容:cat&more
cat
cat xxx.py 可以用来快速查看某个文件内容,输出到控制台
cat test.txt >> haha.txt 将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt > 1_2.txt将1.txt 2.txt内容合并到1_2.txt中
more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页,按下q键退出显示,按下h键可以获取帮助。
more xxx.py
文本搜索:grep
一般格式:
grep [-选项] '搜索内容串' 文件名
例如:
grep 'a' 1.txt //从某个文件搜索
grep 'for' * // 搜索当前目录所有文件
grep -rni "字符串abc" * // 递归搜索当前目录及子目录的文件
常用选项说明:**
选项 | 含义 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
-r | 包含子目录 |
查找文件:find
命令 | 含义 |
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件or目录 |
find ./ -name '*.sh' | 查找当前目录下所有后缀为.sh的文件or目录 |
find ./ -name "[A-Z]*" | 查找当前目录下所有以大写字母开头的文件or目录 |
find ./ -maxdepth 1 -name '*.sh' | 只查找当前目录所有后缀为.sh的文件or目录 |
find ./ -type f -name "Test*" | 查找当前目录所有以Test开头的文件,不包含目录 f文件,d目录,l链接 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -mtime +3 | 查找当前目录下修改时间超过3天的文件 |
find ./ -mmin -10 | 查找当前目录下修改时间小于10分钟的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 777 | 查找当前目录下权限为 777 的文件或目录 |
管道: |
管道:一个命令的输出可以通过管道做为另一个命令的输入。
cat info.txt | more` `tree | more
建立链接文件:ln
类似于Windows下的快捷方式:
- 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。常用,可以对文件或文件夹创建
ln -s 源文件 链接文件
- 硬链接:硬链接只能链接普通文件,不能链接目录。
ln 源文件 链接文件
没有-s
选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,一般用于保护系统重要的文件。所以-s选项是更常见的形式。
权限修改及管理员权限获取:
修改文件权限:chmod
chmod 字母法的使用
角色说明:
角色 | 说明 |
u | user, 表示该文件的所有者 |
g | group, 表示用户组 |
o | other, 表示其他用户 |
a | all, 表示所有用户 |
权限设置说明:
操作符 | 说明 |
+ | 增加权限 |
- | 撤销权限 |
= | 设置权限 |
权限说明:
权限 | 说明 |
r | 可读 |
w | 可写 |
x | 可执行 |
- | 无任何权限 |
chmod 数字法的使用
数字法就是“rwx” 这些权限也可以用数字来代替
权限说明:
权限 | 说明 |
r | 可读,权限值是4 |
w | 可写,权限值是2 |
x | 可执行,权限值是1 |
- | 无任何权限,权限值是0 |
管理员权限获取
Linux 下切换到root的命令:
sudo su` 或`sudo -s
文件压缩和解压缩
压缩格式
Linux默认支持的压缩格式:
- .gz
- .bz2
- .zip
说明:
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩
tar命令及选项的使用:
命令 | 说明 |
tar | 压缩和解压缩命令 |
选项 | 说明 |
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
zip和unzip命令及选项的使用:
命令 | 说明 |
zip | 压缩成.zip格式文件 |
unzip | 解压缩.zip格式文件 |
unzip命令选项:
选项 | 说明 |
-d | 解压缩到指定目录 |
软件安装
- 离线安装(deb文件格式安装)
- 在线安装(apt-get方式安装)
deb文件格式安装:
命令 | 说明 |
dpkg | 安装和卸载deb安装包 |
选项 | 说明 |
-i | 离线安装deb安装包 |
apt-get方式安装:
格式:sudo apt–get install 安装包
表示在线安装deb安装包
注意:在线安装需要更新镜像源
软件卸载:
- 离线安装包的卸载(deb 文件格式卸载)
- 在线安装包的卸载(apt-get 方式卸载)
deb 文件格式卸载:
格式:sudo dpkg –r 安装包名
-r 选项表示安装的卸载
apt-get 方式卸载:
格式:sudo apt-get remove 安装包名