linux 文件管理命令

命令格式

【】 表示可选项

命令 【-选项】 【参数】
例: ls -la /etc

-a 对应 -all
-l 对应 -long

文件开头类型

[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096  Dec  14  2012 bin
dr-xr-xr-x 4 root root 4096  Apr  19  2012 boot
……

实例中,bin文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KOLZtzDv-1587027523328)(https://zhang.ge/wp-content/uploads/2014/04/linux-acl.png)]
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-“字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用”-“字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用”-"字符表示,则没有执行权限。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rbv3lR7P-1587027523332)(https://note.youdao.com/yws/api/personal/file/C4450B0F6BF34F8283ACE261D83F79DB?method=download&shareKey=e733d1dff99a90440230560f62567268)]

这里需要区分文件、目录和可执行脚本三类来查看:文件目录的x为进入目录的权限;普通文件的x权限无太大意义;可执行shell脚本的x权限为脚本可执行权限
-rw-r–r--
其中(第一个字符 -表示文件;d表示目录;l表示软链接文件 类似于window中的快捷方式)
rw- r-- r
u g o
u 所有者 g所属组 o其他人
r读 w写 x执行

数字2表示该文件被调用次数 
第一个root表示所有者u 
第二个root表示所属组g,在这里表示和root一个组的其他用户 
51是文件大小,单位是字节(byte) 
Aug 31 09:38表示文件最后一次修改时间 
ex是文件名

目录处理命令

cd

英文原意: change directory
命令所在目录 : shell 内置命令
执行权限 : 所有用户
功能描述:切换目录
语法: cd 【目录】

## 切换到指定目录
$ cd /tmp/linuxtest/demo
## 回到上一级目录
$ cd ..  
## 返回上一级目录的平级目录home目录下的chirs目录
$ cd ../home/chris 
## 返回到上一次的工作目录
$ cd -
## 当前目录
$ cd . 
## 回到根目录
$ cd / 
## 回到用户主目录
$ cd ~ 
## 回到主目录
$ cd  

目录处理命令 ls

英文原意: list
命令所在目录 : /bin/ls
执行权限 : 所有用户
功能描述: 显示目录文件
语法: ls  选项【-ald】 【文件或目录】
			-a  显示所有文件 ,包括隐藏文件
			-l 详细信息显示
			-d 查看目录属性
			-h 人性化显示文件大小(在文件大小后面加上单位)
			-i 显示inode(查看文件id号)
			-r 逆序显示
			-R 递归显示
			-t 按照时间顺序显示
例:
## 详细显示  按具体大小的单位 kb大小文件就用kb m大小就用m
$ ls -lh 
## 显示 /root 和根目录下的文件
$ ls /root  /
## 清除命令窗口的所有命令 (或者使用快捷键 ctrl + L)
$ clear
## 递归并按照时间顺序显示所有(包括隐藏)文件
$ ls -latR
## 递归显示home文件下的所有文件
$ ls -R /home

pwd

英文原意: print working directory
命令所在目录 : /bin/pwd
执行权限 : 所有用户
功能描述:显示当前目录
语法: pwd

 $ pwd

mkdir

英文原意: make directories
命令所在目录 : /bin/makdir
执行权限 : 所有用户
功能描述: 创建新目录
-p 递归创建
语法: mkdir -p【目录名】

## 在home目录下创建keven目录
$ mkdir /home/keven
## 在当前目录下分别创建test1 test2 test3文件
$ mkdir  test1 test2 test3
## 表示如果linuxtest不存在 则可以创建linuxtest并创建demo目录 (如果不使用-p 则如果linuxtest不存在时不能创建demo)
$ mkdir -p /tmp/linuxtest/demo 

rmdir

英文原意: remove empty directories
命令所在目录 : /bin/rmdir
执行权限 : 所有用户
功能描述:删除空目录
语法: rmdir【目录名】

 $ rmdir /tmp/linuxtest/demo

cp

英文原意: copy
命令所在目录 : /bin/cp
执行权限 : 所有用户
功能描述:复制文件或目录
语法: cp -rp 【原文件或者目录】【目标目录】
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

## 复制/temp/linuxtest/demo目录并更改名称为 /home/chris/newdemo
$ cp  -r /temp/linuxtest/demo /home/chris/newdemo  

mv

英文原意: move
命令所在目录 : /bin/mv
执行权限 : 所有用户
功能描述:剪切文件、改名
语法: mv 【原文件或者目录】【目标目录】

## 改名将demo改名为demo01
$ mv demo  demo01 
## 移动(将demo 文件移动到/home/tom/目录下 )
$ mv /tmp/linuxtest/demo /home/tom/ 
## 移动并重名令(将 demo 文件 移动到home目录下并重名令为tom)
$ mv /tmp/linuxtest/demo /home/tom 

rm

英文原意: remove
命令所在目录 : /bin/rm
执行权限 : 所有用户
功能描述:删除文件
语法: rm -rf【文件或者目录】
-r 删除目录
-f 强制执行

##  删除文件 
$ rm /home/tom/demo/a.txt
## 删除目录
$ rm -rf /home/tom/demo

文件处理命令

touch

命令所在目录 : /bin/touch
执行权限 : 所有用户
功能描述:Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
语法: touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][–help][–version][文件或目录…]

参数说明:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
## 创建一个b.txt文件
$ touch b.txt
## 创建一个文件
$ touch "文件创建练习  ccc"  
##  创建两个文件(文件创建练习 和  ccc )
$ touch 文件创建练习  ccc     

## 修改文件"testfile"的时间属性为当前系统时间 (b.txt 文件已经存在)
$ touch b.txt

注: linux不建议文件命名中出现空格

ln

英文原意: link
命令所在目录 : /bin/ln
执行权限 : 所有用户
功能描述:生成链接文件
语法: ln -s 【原文件】【目标文件】
-s 创建软链接
示例: ln -s /home/chris /tmp/linuxtest/chris (创建软链接)
ln /tmp/linux/a.txt /tmp/linuxtest1/b.txt (创建硬链接)
注: 软链接 权限为: lrwxrwxrwx 右箭头指向源文件/tmp/linuxtest/chris -> /home/chris

硬链接特征:
[1] 拷贝  cp -p + 同步更新  (源文件丢失   硬链接依然存在)(特性: 拷贝+同步更新     linux中使用不多)
[2] 通过 ls -i   节点识别
[3] 不能跨分区
[4] 不能针对目录使用

/tmp/linuxtest1/b.txt >> /tmp/linux/a.txt   (硬链接的指向)

文件查看命令

cat

命令所在目录 : /bin/cat
执行权限 : 所有用户
功能描述:查看文件内容
语法: cat 【文件】
-n 显示行号

##  查看文件
$ cat b.txt
## 查看文件(并显示行号)
$ cat -n /home/tom/demo1/a.txt

head

命令所在目录 : /usr/bin/head
执行权限 : 所有用户
功能描述:显示文件前面几行(默认为 前10行)
语法: head 【文件名】
-n 指定行数

## 显示文件前20行
$ head -n 20 /home/chris/demo/a.txt

tail

命令所在目录 : /usr/bin/tail
执行权限 : 所有用户
功能描述:显示文件后面几行(默认为 后10行)
-n 指定行数
-f 动态显示文件末尾内容 (不退出命令行 文件动态变化当前显示也会跟着动态改变)
语法: tail 【文件名】

##
$ tail -n 20 /home/chris/demo/a.txt
## 动态显示sys-log日志文件的内容
$ tail -f  /home/chris/demo/sys-log.txt

wc

功能描述:统计文件内容信息
语法:wc [-clw][–help][–version][文件…]
参数:
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示行数。
-w或–words 只显示字数。
–help 在线帮助。
–version 显示版本信息。

## 显示test文件的行数
$ wc -l /home/keven/test
##
$ wc -w /home/keven/test

tac

命令所在目录 : /bin/tac
执行权限 : 所有用户
功能描述:查看文件内容 (反向)(不能使用-n)
语法: tac 【文件】

## 
$ tac  /home/tom/demo1/a.txt

more

命令所在目录 : /bin/more
执行权限 : 所有用户
功能描述:分页显示文件内容
语法: more 【文件名】
(空格)或 f 翻页
(Enter) 换行
(q或者Q) 退出
注: 翻页 换行 退出 在进入文件浏览后使用

 $ more  /home/chris/demo/a.txt

less

命令所在目录 : /usr/bin/less
执行权限 : 所有用户
功能描述:分页显示文件内容 (可向上翻页 搜索)
语法: less 【文件名】

 $ less  /home/chris/demo/a.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值