Linux目录结构及文件基本操作

Linux目录结构

FHS标准

Linux 的大部分目录结构是规定好了的(FHS 标准)
HS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
FHS 定义了两层规范,
第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。

目录定义为四种交互作用的形态,如下表所示:

目录路径

-表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
进入上一级目录

cd ..

进入你的home目录

cd ~
#或者cd /home/<用户名>

绝对路径

绝对路径 :以根" / "目录为起点的完整路径,以你所要到的目录为终点
/usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

相对路径

相对路径,你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)

home 目录为起点,分别以绝对路径和相对路径的方式进入 /usr/local/bin 目录:

# 绝对路径
cd /usr/local/bin
# 相对路径
cd ../../usr/local/bin

Linux文件基本操作

新建

新建空白文件

创建名为 test 的空白文件,因为在其它目录没有权限,所以需要先 cd ~ 切换回 shiyanlou 用户的 Home 目录:

cd ~
touch test

新建目录

mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。
创建名为“ mydir ”的空目录:

mkdir mydir

创建多级目录
mkdir -p father/son/grandson

复制

复制文件

创建的 test 文件复制到 /home/shiyanlou/father/son/grandson 目录中
cp test

cp test father/son/grandson

复制目录

成功复制目录需要加上 -r 或者 -R 参数,表示递归复制

cd /home/shiyanlou
mkdir family
cp -r father family

删除

删除文件

rm 文件名

#使用 rm(remove files or directories)命令删除一个文件:
rm test
#直接删除文件,可以使用 -f 参数强制删除:
rm -f test

删除目录

删除一个目录,也需要加上 -r 或 -R 参数:
rm -r 目录名

rm -r family
#强制删除
rm -rf family

移动文件与文件重命名

移动文件

使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录。
将文件“ file1 ”移动到 Documents 目录

mkdir Documents
touch file1
mv file1 Documents

重命名文件

mv 命令除了能移动文件外,还能给文件重命名。命令格式为 mv 旧的文件名 新的文件名。
将文件“ file1 ”重命名为“ myfile ”:

mv file1 myfile

批量重命名

rename 命令并不是内置命令,若提示无该命令可以使用 sudo apt-get install rename 命令自行安装。

cd /home/shiyanlou/

# 使用通配符批量创建 5 个文件:
touch file{1..5}.txt

# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
rename 's/\.txt/\.c/' *.txt

# 批量将这 5 个文件,文件名和后缀改为大写:
rename 'y/a-z/A-Z/' *.c

查看文件

使用 cat,tac 和 nl 命令查看文件

前两个命令都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。

#要查看之前从 /etc 目录下拷贝来的 passwd 文件

cp /etc/passwd passwd
cat passwd
#  -n参数显示行号
cat -n passwd

#nl 命令,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。

nl -b a passwd


-b : 指定添加行号的方式,主要有两种:
    -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
    -b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
    -n ln:在行号字段最左端显示
    -n rn:在行号字段最右边显示,且不加 0
    -n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)

使用 more 和 less 命令分页查看文件


more 命令打开 passwd 文件:

more passwd

使用 head 和 tail 命令查看文件
tail /etc/passwd

直接的只看一行, 加上 -n 参数,后面紧跟行数:

tail -n 1 /etc/passwd

查看文件类型

file 命令查看文件的类型:

file /bin/ls

编辑文件

vimtutor
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值