ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

<2> 浏览文件系统

2022-01-16 20:01:17  阅读:148  来源: 互联网

标签:文件 浏览 可以 文件系统 cat 命令 ls 目录


linux系统上通常有几种shell可以使用。所有linux发行版默认的shell都是base shell。本专栏以bash shell为例,学习其内部命令。

<一些小知识>

1. /etc/passwd 文件指定了登录用户使用的shell程序,我们可以输入以下命令按回车,来查看文件的内容。(cat命令可以打印文件的内容)。

cat /etc/passwd 

可以看到,我们登录的work用户,默认是bash shell.

2. 在登录后,我们可以看到shell的提示符($),表明shell在等待输入。

可以使用man命令,查找存储在linux系统上的手册。

回车得到结果,可以看到命令的解释说明。

<文件系统> 

windowx会将硬盘分区,在逻辑上分为几个盘符(也就是我们平时所说的C盘、D盘)。这些C、D盘在物理结构上相互独立,都是从硬盘中划分的某块区域。这些物理结构独立的C、D盘在逻辑结构上也相互独立,是一种并行的结构,因为每个盘有自己的目录结构。

而linux只有一个根目录("/"),所有文件都存储在以根目录为基础的目录结构中。

linux机子上安装的第一块硬盘称为根驱动器,根目录等都在这块硬盘上。此外,linux会设置一些“挂载点”,挂载点是一个特殊的目录,该目录仍处在根目录下,但是该目录下的所有数据都"挂载(存储)"在另一个硬盘中。各硬盘承担了不同目录的存储,因此在逻辑结构上并不是并行的

① pwd : 查看当前目录

linux登录后,会位于主目录("~" 代表主目录)中。输入pwd,回车,查看当前所处位置的绝对路径

② cd : 将shell回话切换到另一个目录

cd destination

destination为将要切换到的目录,可以使用绝对路径或相对路径。

绝对路径指目录的全名,即从根目录 "/" 开始的目录名。

相对路径指用户基于当前位置的路径。如果一直使用绝对路径太过冗长(尤其是处于多级目录下的时候),使用相对目录就会简单很多(实际的工作开发中确实也是这样)。

注:

单点符(.),表示当前目录;

双点符(..),表示当前目录的上级目录。

tips:在输入时,使用制表键(tab)进行补全是一项神级方便的操作。比如在/home路径下,输入w按制表键,会查询该路径下所有w开头的文件/目录,如果只有一个work,则按一下就能把work补充完整;如果有多个,则按两下会展示所有的符合项,然后我们可以继续输入知道可以唯一识别补全为止。对于绝对/相对路径,或者对一些命令如python等,都可以进行补全。

使用pwd和cd命令,我们已经可以在各目录间"游荡"并对自己进行定位了。ls命令则是可以让我们看到当前目录下都有什么。

③ ls : 显示当前目录下的文件和目录

 ls的输出按列对字母排序(部分文件由于隐私原因打了码,大家凑合看...)。其中蓝色代表目录,白色代表文件,这个可以在LS_COLORS中设置(如果你使用的终端支持彩色功能)。

ls命令加上一些参数,能得到更详细的显示。如上述功能,可使用-F参数(区分大小写),则会在目录后加上 "/",在可执行文件后加上 "*"。

ls命令默认只显示未隐藏文件,而linux常用隐藏文件来保存配置信息。隐藏文件的文件名通常以点号开头,使用 -a 参数,可以将隐藏文件也显示出来。

注:在主目录(~)下,ls -a 会显示出三个文件 .bash_history .bash_logout .bashrc,这三个文件是该登录用户bash shell环境是用的隐藏文件。

ls -R 可以递归显示目录下包含子目录中的所有文件。

ls -l 可以显示更详细的信息。

各列含义为:

  • 文件类型:目录(d),文件(-),字符型文件(c),块设备(b);
  • 文件权限:r(可读)w(可写)x(可执行),有三组rwx,从左往右分别是所属主、组、其他用户的权限;
  • 硬链接总数;
  • 文件属主用户名;
  • 文件属组组名;
  • 文件大小(单位字节);
  • 文件最新一次修改时间;
  • 文件/目录名。

注:可以使用多个参数,可以分开也可以连写,如 ls -a -l 或 ls -al 都可以;

ls命令支持使用文本匹配的方式,过滤显示的字样,如

 

④touch: 创建文件 & mkdir: 创建目录

mkdir -p 可以一起创建目录和子目录

⑤cp : 复制文件/目录

cp source destination

当souce和destination同是文件名时,会产生一个新的文件。当destination是目录时,会在该目录产生复制一个同名的文件。

cp -R source_dir destination_dir

加上-R参数可以让你递归复制整个目录及目录下的文件到新目录下,如果没有则会创建该目录。

注:cp命令产生的文件会直接覆盖重名文件,使用cp命令最好加上 -i 参数,询问是否覆盖。

⑥mv : 重命名文件

mv命令可以将文件或目录移动到某位置。之所以叫重命名,是因为mv操作只改变了文件/目录的位置和名字,并不会改变文件/目录的inode和修改时间。

注:最好加上 -i 参数。

⑦rm / rmdir : 删除文件/目录

rm 文件名
rm -r 目录名
rm -rf 目录名
rmdir 空目录名

rm命令可以删除文件;rmdir命令可以删除空目录,非空目录无法删除。

如果要删除非空目录,可以加上 -r 参数,使命令可以向下进入目录中递归删除;如果要忽略文件删除过程中的询问,可以使用 -f 参数。进行删除前,建议使用tree命令,查看下目录下都有那些文件,确定无误后在进行操作:

工作中最省事也最危险的就是rm -rf ,大家一定要慎用;还有一些恶搞的图片(如下图),千万别尝试,试试就逝世!

⑧ file : 识别文件类型

file命令可以识别目录、文件类型、编码、甚至链接和可执行程序的编译所面向的平台等,在处理数据时十分有用,也可以避免很多错误发生(如打开某二进制文件,导致终端卡死)。

 

⑨ cat & head & tail : 查看文件

cat file
head -5 file
tail -10 file

cat命令可以输出整个文件,cat -n 参数可以带行号显示。

cat命令若要输出一个大文件,造成的结果就是被文件的内容疯狂刷屏。解决这个问题可以使用more 或 less:

cat file | more
cat file | less

"|"代表管道,它将前一个命令的输出(standard output)传输到下一个命令(standard input),管道详细的介绍之后的章节会讲到。这里我们只需知道它将cat命令的输出作为more命令的输入进行传递。

more或less在显示整页后停止,若要看后面的内容可以回车或者空格往下翻,或者按q退出。其中less命令与more命令作用相同,只是多了一些比如往上翻的功能。

 

本篇简单介绍了linux文件系统,对文件/目录的基本操作,其中有一些自己的理解,如果有问题欢迎留言一起探讨!

标签:文件,浏览,可以,文件系统,cat,命令,ls,目录
来源: https://blog.csdn.net/fatfatmomo/article/details/122314246

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有