linux下文件和目录的简单操作

目录的基本操作

切换目录(cd命令)

cd [相对路径或绝对路径]
cd ~    //代表进入家目录
cd      //也是代表回到家目录
cd ..   //代表回到上层目录
cd -    //回到刚刚的目录
cd  [绝对路径]  //代表回到指定的路径

pwd(显示当前所在目录)

pwd //目前所在的工作目录的绝对路径名称。

mkdir(建立新目录)

mkdir [-mp] 目录名称
-m 设置文件权限 ,直接设置,不使用默认权限
mkdir -m 777 目录名称
-p 递归的创建所有的目录 
mkdir test/test1/test2  

rmdir(删除空目录)

rmdir [-p] 目录名称
-p 连同上层的“空目录也一起删除”

文件的基本操作

ls(文件与目录的查看)

-a  //全部的文件,包含隐藏文件(开头为点. 的文件)
-A //全部的文件,连同隐藏文件,但不包括. 和 ..这两个文件
-d //只列出目录本身
-i //列出inode号码 
-r //将排序结果反向输出,例如原本文件名是由小到大,现在由大到小
-l //列出文件的详细信息,包含文件属性权限
-R //显示该目录下所有文件(包括子目录的)
-S //以文件容量大小排序,而不是文件名
--full-time //以完整的时间格式输出(年月日时分秒)
ls -al --full-time//列出文件的所有属性,包含隐藏文件

复制(cp)

cp [选项] [源文件] [目标文件]
-a //把文件的所有信息都复制过去
-d //若为链接属性,则复制文件而非文件本身
-i //若目标文件已经存在,则覆盖前会先询问
-p //连同文件的属性(权限,用户,时间)一起复制过去
-r //递归复制,用于目录的复制操作
cp -r /目录名称/ /目录名称(复制该目录下所有文件到目标目录中去)

注意:若不加-a 或者 -p选项则在复制的目标文件的用户用户组就是你当前的账号,所以要注意。

删除(rm)

-i //删除前询问是否删除
-r //递归删除,最常用于目录删除
rm -r 目录名称 //删除该目录下的所有文件

移动(mv)

-f //若目标文件已存在,不询问直接覆盖
-i //若目标文件已存在,询问是否覆盖
-u //若目标文件已存在,且资源是最新的,才会更新
mv 文件名 目录名

还可以更名目录名称和文件名称
mv 目录名 新的目录名称
mv 文件名称 新的文件名称
rename 改多个文件的名称
basename 获取文件名
dirname 获取目录名

文件内容的查看(cat)

-b //打印出行号,不打印空的行
-n //打印出行号,打印空的行。
-v //列出一些看不出来的特殊符号

文件数据的截取

取出前几行(head)

head -n 数字 文件名称//数字代表取出几行的意思,不写默认为10行
特殊时数字为负数时,则取的是所有的行数加上该数字

取出后几行(tail)

-f //持续刷新文件中的内容
tail -n 数字 文件名称 //同head
特殊时tail -n +100 文件名称 //代表取出从100行到结束

创建文件

Touch

Touch 文件名 //在当前目录建一个文件

文件的查找

which 查看可执行文件的位置。

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p  与-n参数相同,但此处的包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息
输入 which pwd
输出 /bin/pwd
输入 which which
输出 alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
竟然会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令!
输入 which cd
cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的!

find 实际搜寻硬盘查询文件名称。

find -name 文件名
find -name “f*//以f开头的所有文件
find -name “*.c” //以点c结尾的所有文件
find -perm 文件权限 //所有文件权限为输入的文件都会输出
find -empty //查找空白文件、空白文件夹、没有子目录的文
find -mtime  天数 //<- n>查询n天内文件更改过的的文件
<+n>查询n天前文件更改过的的文件

结尾加上这个“-exec {} ;"(注意 “{}” 与 “\” 之间有个空格)是让查询出来的结果显示出来,一条一条刷出来,如果还想查看详细信息的话,可以在添加一个“-ls”;

locate 配合数据库查看文件位置。

-l	num(要显示的行数)
-f	将特定的档案系统排除在外,如将proc排除在外
-r	使用正则运算式做为寻找条件
locate 文件名

whereis

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

-b  只查找二进制文件。
-B 目录 只在设置的目录下查找二进制文件。
-f  不显示文件名前的路径名称,在是使用-S 、–M、-B选项时,必须使用这个选项。
-m  只查找说明文件。
-M 目录  只在设置的目录下查找说明文件。
-s  只查找原始代码文件。
-S 目录  只在设置的目录下查找原始代码文件。
-u  查找不包含指定类型的文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

文件中搜索文本

grep -n 查找文本(显示匹配文本所在的行内容,且显示所在行号)
grep -n 正则表达式文本(模式查找)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值