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

递归地删除目录下的内容,删除文件夹时必须加此参数 也可使用rmdir删除一个空目录

删除文件:(可一次删除多个)

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 安装包名