Linux学习之文件和目录的操作

参考源

感谢…

文件和目录的关系

目录中存放的是文件

文件类型

  • - 普通文件
  • d 目录
  • l 链接文件
  • b 设备文件
  • c 字符设备,例如/dev/null
  • s 套接字文件
  • p 管道文件

使用ll or ls -l命令查看
在这里插入图片描述

文件颜色含义

  • 绿色文件
    • 可执行文件,可执行的程序
  • 红色文件
    • 压缩文件 或者 包文件
  • 蓝色文件
    • 目录文件
  • 白色文件
    • 一般性文件,如文本文件,配置文件,源码文件等
  • 浅蓝色文件
    • 链接文件,主要是使用ln命令建立的文件
  • 红色闪烁
    • 表示链接的文件有问题
  • 黄色
    • 表示设备文件
  • 灰色
    • 表示其他文件

在这里插入图片描述

在这里插入图片描述

文件与目录的操作

  1. 新建
  2. 改名
  3. 查看
  4. 删除
  5. 拷贝
  6. 移动

文件操作

查看类型

file 命令

新建

touch 命令 : 新建文件和修改文件或者文件的时间戳

命令语法:
	touch  [选项] 文件名或者目录名
	例如:
		touch file1
		建议:最好带后缀,标识这是什么文件,方便自己,也方便他人
		touch run.py   标识这是一个python文件
		touch file{1,2}  {1,2}之间不要有空格
			==touch file1 file2
选项:
      -c  或--no-create       不创建不存在的文件
                              (默认,如果文件存在,就刷新时间戳;若不存在,就新建文件)
                              
      -a                       以当前系统时间更新atime(访问时间)
      -m                       以当前系统时间更新mtime(修改时间)
	  -t                       以指定的时间更新atime和mtime  | '月日时分' 可配合-a -m选项使用
					           如:10011150代表10月8号11点55分
      -d                       以指定的日期更新atime和mtime  | 'yyyy-mm-dd' 可配合-a -m选项使用
      -r  file                 使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify)

拓展(三time)

linux文件的三time
stat命令: 打印信息节点(inode)内容
在这里插入图片描述
atime:(access time)显示的是文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。
mtime: (modify time)显示的是文件内容被修改的最后时间。
ctime: (change time)显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间(元信息)。当然当内容改变时也会随之改变

改名

mv命令:文件移动,也可用作文件改名

命令语法:
	 mv  old_file   new_file
	 例如:
	 	mv ../old_file ./new_file

rename命令:

查看

cat

cat 命令: 用于连接文件并打印到标准输出设备上

命令语法:
	cat [选项列表] 文件列表
	例如:
		cat /etc/passwd /etc/shadow
选项:
    -n 或 --number:        		   显示行号(从1开始) 
  	-b 或 --number-nonblank:       和 -n 相似,只不过空行不显示行号
  	-s 或 --squeeze-blank:         多个空行折叠为1行显示  
  	
  	以下我很少使用,记录一下:
  	-v 或 --show-nonprinting:      使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。  
  	-E 或 --show-ends :             在每行结束处显示 $。  
  	-T 或 --show-tabs:              将 TAB 字符显示为 ^I。  
  	-A, --show-all:                等价于 -vET。  
  	-e:                            等价于"-vE"选项;  
  	-t:                            等价于"-vT"选项;
		

在这里插入图片描述

tac

tac命令: 倒序查看普通文件的内容
在这里插入图片描述

head

head输出文件的开始部分
默认显示前10

命令语法:
	head [OPTION\] 文件
	例如:
		head /etc/passwd
命令选项:
  	-n, --lines=NUMBER         	显示起始的NUMBER行,而非默认的起始10行  
  		例如:
  			head -n 5 			查看前5行
  			==head -n5  
  			==head -5  
	-c, --bytes=SIZE          	打印起始的SIZE字节  
		    head -c 5b  		b表示512  k表示1K  m表示1M
		    ==head -5b
  	-q, --quiet, --silent       从不显示给出文件名的首部  
  	-v, --verbose               总是显示给出文件名的首部  
  	--help                      显示帮助后退出  
  	--version                   输出版本信息后退出

tail

tail输出文件的末尾部分
默认显示后10

命令语法:
	tail [OPTION] 文件
	例如:
		tail /etc/passwd
命令选项: 
  	-n<行数> 		显示文件的尾部 n 行内容(用法跟head一样) 
  	-c<数目> 		显示的字节数  (用法跟head一样)
  	-f 				循环读取  
  	-q      		从不显示给出文件名的首部  
  	-v              总是显示给出文件名的首部 
tailf

tailf <==> tail -f

more

more命令
用法:more /etc/passwd
在这里插入图片描述

less

less命令
用法:less /etc/passwd

在这里插入图片描述
/string,向后搜索
?string,向前搜索
以高亮显示

删除

rm命令: 删除文件
慎用rm

命令语法:
	 rm [options] 文件列表
	 例如:
	 	rm file1
	 	rm file1 file2
	 	rm file{1,2}
命令选项:
  	-i 		默认,删除前确认
  	-f 		强制删除,不要提示
  	-r 		递归删除目录

拷贝

cp命令:拷贝文件

命令语法:
	cp [options] 源文件或目录    目标目录
	例如:
		cp ./passwd ../new_dir/passwd_new_name (可以改名)
命令选项  
  	-r:	递归地拷贝目录(也就是说,默认只能拷贝普通文件)
  	-l:	不复制文件,只是生成链接文件
  	-i:	与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。 
  	-f:	覆盖已经存在的目标文件而不给出提示。  
  	-p:	除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  	-d:	复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。 
  	-a:	此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容  
  		==》 -pdr

拓展

关于不提示,直接覆盖

不提示(我所知道的)有几种方式:

1. 使用命令的绝对路径(查看命令的绝对路径which or whereis)

2. \  (命令以\开头)(\不仅能让别名失效还能直接覆盖)

3. 命令自带的选项,一般为-f  

移动

mv移动或重名文件

命令选项:(fubi,伏笔)
    	-i  		覆盖时,提示
    	-f  		不提示
    	-b  		覆盖前,将目的数据备份
    	-u  		如果源的mtime比目的新才覆盖

目录操作

新建

mkdir创建一个或多个单级目录文件

命令语法:
	mkdir [选项] 目录
	例如:
		mkdir a b c
		mkdir {a,z}
		mkdir -vp ./a/b/c
命令选项:
    -v  显示执行状态
    -p  创建多级目录

改名

mv命令

mv source destination

查看

ls命令:查看目录下的文件内容

例如:
	ls /etc
选项:
    ls -a   	查看当前目录下包含的所有文件包括隐藏文件
    ls -A   	除了.和..以外,其他都显示
    ls -C   	以列的方式显示
    ls -R   	递归显示该目录下所有的文件,包括子目录中的
    ls -l   	查看文件的详细信息
        ==》 ll
    ls -d   	查看目录的详细信息,配合-l使用
    ls -i   	查看文件的inode编号
    ll -h   	文件大小以K显示
    	==ls -lh
    ls -t   	按最新的修改时间排序
    ls --auto=color   可是显示颜色(试不出来)

删除

rm命令

rm -r

rmdir,只能删除一个或多个单级空目录
rmdir -p,删除多级空目录
rmdir -v,显示删除信息

拷贝

cp命令

cp -r

移动

mv 命令

切换

cd命令:切换路径

cd  切换路径
    cd      切换到当前用户的家目录 = cd ~ 
    cd ~    切换到当前用户的家目录
    cd .    切换到当前目录
    cd ..   切换到当前目录的上一级目录
    cd -    切换到上一次所在的目录
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值