其他
Linux文件与目录管理(3)
点击蓝字
关注我们
ls - list
查看文件和目录。ls默认只会显示非隐藏目录和文件。我们来看看具体用法:
ls [选项] [目录名或文件名]
常用选项说明:
-a 表示需要列出全部文件,包括隐藏文件
-d 表示列出目录本身,而不是列出目录内的文件和子目录
-l 列出详细信息,就像windows里显示文件详细信息一样。包括文件的属性、权限等等
-h 把文件大小自动显示为以GB、MB、KB为单位这种易于人类看的方式
不常用但是建议掌握的:
-S (大写S)以文件大小排序
-i 列出inode号
-t 按照文件修改时间排序
-r 在指定排序或默认排序的基础上进行反向排序后显示出来
下面的选项了解、知道,留个印象即可:
-A 列出全部文件,但是不包括.和..这两个目录
--full-time 显示时间的完整格式:年月日时分
--time=atime 显示access时间
--time=ctime 显示权限属性改变时间
特别提醒:其实最常用的还是-l选项,所以,linux已经把ls -l这个命令已经做成了ll这个命令,方便大家使用。
下面来实际看看使用效果吧!
# 查看当前目录下的文件的详细信息,并以方便查阅的方式显示大小
[root@studyclub ~]# ll -h
total 36K
...
-rwxrwxrwx 1 root root 68 Mar 17 11:28 job.sh
lrwxrwxrwx 1 root root 6 Apr 2 15:38 link-job -> job.sh
...
-rw-r--r-- 1 root root 17 Mar 29 13:17 study
drwxrwxrwx. 10 root root 4.0K Apr 22 15:24 jason
# 查看当前zhuo目录下的所有文件
[root@studyclub ~]# ls -a zhuo/
. a create_file dir-test dir-teste4 jason jason3.txt
# 查看zhuo目录本身的详细信息
[root@studyclub ~]# ll -d zhuo/
drwxrwxrwx. 10 root root 4096 Apr 22 15:24 zhuo/
# 按照文件大小从大到小的顺序列出当前目录下的文件
[root@studyclub ~]# ll -hS
total 36K
-rw------- 1 root root 1.5K Feb 17 16:51 anaconda-ks.cfg
-rw-r--r-- 1 root root 292 Mar 29 17:06 more_less
-rw-r--r-- 1 root root 118 Mar 17 17:29 bak.sh
-rwxrwxrwx 1 root root 68 Mar 17 11:28 job.sh
-rw-r--r-- 1 root root 60 Mar 23 17:28 args.sh
-rw-r--r-- 1 root root 17 Mar 29 13:17 old
-rw-r--r-- 1 root root 17 Mar 29 13:17 study
# 查看当前目录下的文件,如果文件较多,请以最方便的方式显示出来,便于看到最近修改的文件
[root@studyclub ~]# ll -tr
total 36
-rw------- 1 root root 1486 Feb 17 16:51 anaconda-ks.cfg
-rwxrwxrwx 1 root root 68 Mar 17 11:28 job.sh
-rw------- 1 root root 0 Mar 17 11:43 nohup.out
-rw-r--r-- 1 root root 118 Mar 17 17:29 bak.sh
-rw-r--r-- 1 root root 60 Mar 23 17:28 args.sh
-rw-rw-r-- 1 jason jason 0 Mar 26 16:39 pro
-rw-r--r-- 1 root root 17 Mar 29 13:17 study
-rw-r--r-- 1 root root 292 Mar 29 17:06 more_less
lrwxrwxrwx 1 root root 6 Apr 2 15:38 link-job -> job.sh
-rw-r--r-- 1 root root 7 Apr 8 11:47 null.txt
-rw-r--r-- 1 root root 21 Apr 23 17:40 old
cp
cp,即copy。用来复制文件或目录。
格式:cp [选项] 源文件目标文件
命令解释:
如果目标文件是目录,则会把原文件复制到目标目录中
如果目标文件也是普通文件,且和原文件同名,则会询问是否要覆盖它
如果目标文件也是普通文件,且和原文件不同名,则执行正常的复制操作
选项:
-p 复制后的文件保留原文件的属性
-d 如果原文件是链接文件,则只复制链接文件而不是复制它指向的实体文件
-r 用来复制目录(复制目录的时候必须加上)
-i 如果目标文件已经存在,询问是否覆盖
-a 相当于pdr。这个参数常用
下面,我们创建一个目录并把它复制一份作为备份:
[root@studyclub ~]# mkdir code
[root@studyclub ~]# cp code/ code.bak
cp: omitting directory ‘code/’
[root@studyclub ~]# cp -r code/ code.bak
[root@studyclub ~]# ls
anaconda-ks.cfg args.sh bak.sh code code.bak job.sh link-job
rm
rm, remove。用来删除文件或目录。
格式:rm [选项] 文件或目录
选项:
-f rm删除文件或目录,默认会提示你是否确认删除,加上-f选项就不会提示了,rm会直接删除
-r 删除目录时必须加上,用来递归删除目录下面的文件和子目录。生产中慎用!
rm命令删除文件和目录时,默认都会提示是否确认删除,这在大批量删除文件时会非常不方便,考虑到这种大规模删除的情况,rm添加了-f选项,加上这个选项,删除文件时就不会提示确认信息了。对于目录来讲,删除时需要从子目录和文件开始删除,为此,rm添加了-r选项,用来递归删除目录下的子目录和文件。我们来实践一下:[root@studyclub ~]# rm old # 默认情况会提示确认删除信息
rm: remove regular file ‘old’? y
[root@studyclub ~]# rm -f pro # 加上-f选项,提示信息消失了
[root@studyclub ~]# rm code# code是一个目录
rm: cannot remove ‘code’: Is a directory
[root@studyclub ~]# rm -r code# 删除目录需要加上-r选项
rm: descend into directory ‘code’? y# 确实是否要进入到code目录
rm: remove regular empty file ‘code/code.file’? y# 确认删除code目录下的文件
rm: remove directory ‘code’? y# 确认删除code目录本身
# 为了方便删除,删除目录时同时加上-r -f选项就不会有提示信息了(请慎用!)
[root@studyclub ~]# rm -rf code
mv
mv,move。用来移动文件或目录。既然是移动,那么他可以在本目录下移动,也可以移动到其他的目录。
如果是在本地目录移动,那不就是windows下的重命名嘛,哈哈。
如果是移动到其他目录,那和windows下的剪切然后粘贴的效果不就一样了嘛^_^.
格式: mv [选项] 源文件 目标路径或目标文件名
选项:
-f force,强制移动,不提示任何信息,这在覆盖目标文件的时候有用
-u 如果目标文件已经存在,那么只有当源文件比较新的时候才会移动
下面我们来看几个例子:
# 重命名
[root@studyclub ~]# mv more_less more
[root@studyclub ~]# ls
more nohup.out null.txt study
# 剪切
[root@studyclub ~]# mv null.txt code
[root@studyclub ~]# ls
args.sh bak.sh code code.bak job.sh link-job more nohup.out study
[root@studyclub ~]# ls code
code.file null.txt
cat
cat,用来把文件内容显示到屏幕上供用户查阅。既然是显示出来查阅,我们的屏幕也不可能无限大,所以这个命令适合用来查阅小的文件。
格式:cat [选项] 文件名
选项:
-n 输出文件内容到屏幕的时候,把行号标记出来
我们来实例看一下效果:
# 不输出行号
[root@studyclub ~]# cat /etc/issue
\S
Kernel \r on an \m
# 输出行号
[root@studyclub ~]# cat -n /etc/issue
1\S
2Kernel \r on an \m
3
001 - Linux初体验002 - 在杂乱中开始Linux的学习003 - 向Linux传输文件、查看帮助文档004 - Linux文件与目录管理(1)005 - Linux文件与目录管理(2)
看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!
微信号|bjdream-1
Cloud研习社 ·