一切皆为文件。

linux文件种类:

【linux】命令行管理文件_linux


文件拓展名:

拓展名只是让我们了解文件可能的用途而已。一个linux文件能被执行,与第一栏的十个属性有关,与文件名无关。

当权限中具有x,代表这个文件具有可以被执行的能力(不代表可以被成功执行)

常用拓展名:

【linux】命令行管理文件_绝对路径_02

 

linux的文件系统结构:

Linux目录配置依据FHS标准,规范每个特定的目录下应该放置什么样的数据。

好处:在目录架构不变的前提下发展出开发者想要的独特风格

【linux】命令行管理文件_linux_03

 FHS针对目录树架构仅定义出三层目录:/(根目录), /usr(unix software resource) ,/var(variable), 

所有文件都被一个超级大的文件夹(目录direcory)包裹,这个目录叫根目录/根目录下目录介绍

/usr:存放安装的软件

/usr/bin(/bin):用户命令

/usr/sbin(/sbin):系统管理命令

/usr/local(/opt):自定义软件的安装位置

/etc:系统和软件的配置文件

/var:存放可变数据(日志文件)

/run:存放进程数据,关机后销毁

/home:普通用户的个人数据和配置的存放目录

/root:root用户的个人数据和配置的存放目录

/boot:系统启动所需要的文件

/tmp:(缓存)临时文件目录,默认自动删除10天内tmp未使用的文件

/dev:硬件设备的映射目录,用于对硬件设备的操作

详细参考《鸟哥的linux私房菜》P166~P169

目录树:

目录树的起始点为根目录 (/,root)

每一个目录不止能使用本地分区的文件系统,也可以使用网络上的文件系统。

每一个文件在此目录树中的文件名(完整路径)都是独一无二的。

 绝对路径和相对路径:

绝对路径从根目录开始的路径

查看绝对路径

pwd
  • 1.

●相对路径中的特殊符号:

. pwd显示当前工作目录

.. 当前目录上一级目录

~ 用户家目录

●隐藏文件通过在文件名加上.实现


cd :切换目录

change directory的缩写

cd [相对路径或绝对路径]
  • 1.

 最重要的就是目录的绝对路径相对路径,还有一些特殊目录的符号

假设当前用户是root用户:

cd ~redhat
#进入redhat用户的家目录 即/home/redhat
  • 1.
  • 2.
cd ~
#回到自己的家目录
  • 1.
  • 2.
cd 
#没有加上任何路径,表示回到自己的家目录
  • 1.
  • 2.
cd ..
#表示回到目前的上层目录
  • 1.
  • 2.
cd -
#表示回到之前的目录
  • 1.
  • 2.
cd /var/spool/mail
#绝对路径的写法
  • 1.
  • 2.
cd ../postfix
#相对路径的写法
  • 1.
  • 2.
pwd:显示当前目录
pwd [-p]
-P:单纯显示出真正的路径,而非使用链接(link)路径
  • 1.
  • 2.
mkdir:建立一个目录
mkdir
  • 1.

-p:创建多级目录

mkdir -p dir/dir1/dir2
  • 1.
rmdir:删除一个空目录
touch:创建文件:
touch
  • 1.

创建文件file和隐藏文件.shadowfile

-a:显示隐藏文件 

 

 删除文件:
rm
  • 1.

 也可以输入y或n。如果不输入,文件不会被删除。(删除操作默认不删除)

-f:对于询问默认使用y回答(跳过询问)

rm -f
  • 1.

删除目录

rm -d (删除目录,不询问)
  • 1.

递归删除目录

rm -r
  • 1.
ll:查看目录下所有文件

-a:包括隐藏文件

cp:复制和移动文件或者目录

复制文件

cp 原路径 目的地
  • 1.

复制目录

cp -r 源目录 目的地
  • 1.

移动文件或者目录

mv 原路径 目的地
  • 1.

cp命令默认不保留原始文件的状态信息,mv命令默认保留原始文件的状态信息

shell终端拓展匹配文件名:

shell支持可拓展编程,可以通过一些字符快速批量操作一些文件

*:0个或者是任意多个字符

?:任意一个字符

??:任意两个字符

?a?:三个字符,第二个字符一定是a

[abc]:一个字符,只能是a,b,c中的任意一个

[^abc]:一个字符,不能是abc任意一个

大括号扩展

{m..p}生成mnop序列

【linux】命令行管理文件_相对路径_04

【linux】命令行管理文件_debian_05

 

【linux】命令行管理文件_服务器_06

 

【linux】命令行管理文件_linux_07

大括号拓展常用于文件创建, 其他多用于查询操作或对已存在的文件进行操作

shell变量:

filename=myfile
echo file
echo ${filename} ${}获取变量的值
  • 1.
  • 2.
  • 3.

【linux】命令行管理文件_debian_08

调用其他命令的输出:

【linux】命令行管理文件_服务器_09

 转移字符:

\\:输出字符

\空格:输出字符空格

\n:换行

\t:制表符