欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

目录,命令

程序员文章站 2022-09-28 08:06:27
[toc] 1.特殊目录“ . ”和“ .. ” 在每个目录下, 都会固定存在两个特殊目录, 分别是.和..的目录。 一个点代表的是当前目录, 两个点代表的是当前目录的上层目录。 注意: 在Linux下所有以点开始的文件都是"隐藏文件", 对于这类文件, 只使用命令ls l是看不到的, 必 须要使用 ......

目录

1.特殊目录“ . ”和“ .. ”

在每个目录下, 都会固定存在两个特殊目录, 分别是.和..的目录。

一个点代表的是当前目录, 两个点代表的是当前目录的上层目录。

注意: 在linux下所有以点开始的文件都是"隐藏文件", 对于这类文件, 只使用命令ls -l是看不到的, 必
须要使用ls -la才可以看到,如下所示:

2.绝对路径

linux系统采用了目录树的文件组织结构, 在linux下每个目录或文件都可以从根目录处开始寻找, 比如: /usr/bin目录。

这种从根目录开始的全路径被称为"绝对路径", 绝对路径一定是以 “/” 开头的。

如何确认当前所在的目录, 可以使用pwd命令查看:

[root@gong ~]# cd /usr/local/

[root@ local]# pwd

/usr/local

3.相对路径

相对路径, 不以“/”开头的路径

相对路径

[root@gong usr]# cd ./local/

[root@gong /etc/sysconfig]# cd ../ssh/

[root@gong /etc/ssh]# cd ../../bin

[root@gong ~]# useradd oldboy

[root@gong ~]# ls /home/oldboy/

[root@gong ~]# ls ~/

[root@gong ~]# ls ~/file1

[root@gong ~]# ls ~/zls/file1

 

4.cd命令常见用法

cd 切换至当前用户家目录
cd - 切换上次所在目录
cd ~ 切换至当前用户家目录
cd . 代表当前目录,一般在拷贝、移动情况下使用
cd .. 切换至当前目录的上级目录

5.创建目录mkdir

-m 创建目录时,指定权限(很少用,几乎不用)
-p 如果目录已存在则不会报错,递归创建
-v 打印出创建过程信息
创建目录

[root@gong ~]# mkdir dir1

创建目录并给权限

[root@gong ~]# mkdir -m777 dir2

递归创建目录

[root@gong ~]# mkdir -p dir3/dir4/dir5

创建目录并显示信息

[root@gong ~]# mkdir -pv dir4/dir5/dir6

备注:rwx为7,read 读,write写,exec执行

最高权限为777,目录一般权限为755,文件一般权限为644
例如:

条命令建出以下的目录:

/home/zls

/home/abc

/home/abc/1

/home/abc/2

/home/abc/3

/home/abc/1/zls

/home/abc/2/zls

/home/abc/3/zls

/usr/local/abc

/data

/backup

/backup/abc

/abc

/abc/test

/abc/test/1

...

/abc/test/10

解答:

[root@gong ~]# mkdir /{home/{zls,abc/{1..3}/zls},usr/local/abc,data,backup/abc,abc/test/{1..10}} -pv

6.touch创建文件

touch
语法:touch[选项]... 文件名...
创建文件,如果文件存在,不会覆盖内容,但是会修改创建时间
linux中,一切皆文件

示例:

[root@gong ~]# touch file

[root@gong ~]# touch file1 file2

[root@gong ~]# touch /home/zls/file3 file4

[root@gong ~]# touch file{5,6,7}

[root@gong ~]# touch file{10..100}
示例2:
[root@gong ~]# touch abc
[root@gong ~]# touch  /oldboy/abc
touch:cannot touch ‘/oldboy/abc’:no such file or directory

注意:
1.创建文件,必须要创建在一个存在的目录中
2.和创建目录不同的是,创建相同的文件不会报错
3.创建相同的文件,源文件内容不会被覆盖
4.在linux当中一切皆文件

7.tree树状显示目录文件结构

-l 指定层级(level)
-d 只查看目录
如果没有安装,则需要先安装:yum -y install tree
 

[root@gong ~]# tree          当前目录的tree结构

[root@gong ~]# tree /         /目录下的所有文件,目录

[root@gong ~]# tree /home      /home下的文件,目录

[root@gong ~]# tree -l 1 /      /目录下的一级目录,开头不是 . ,是指定的层级

[root@gong ~]# tree -l -d 2 /usr/local    只查看/usr/local的二级目录,不看文件

 

8.复制命令cp

cp 复制,拷贝过去时间会变
-r 递归拷贝,拷贝目录,连里面的东西一并拷贝
-p 保持源文件的属性
-a 拷贝目录并保持属性,和-rp一样 (用的最多)
-v 显示复制的过程
-t 交换目标和源文件的位置(意义不大)
-rp 递归拷贝并保持源文件的属性
语法:

cp [option]... 源文件 目标

cp [option]... source... directory

cp [option]... -t directory source...

 

[root@oldboyedu ~]# cp oldboy /usr/

cp: omitting directory ‘oldboy’

 
复制文件的过程:
[root@oldboyedu ~]# cp -v 123 456 789 /opt/

‘123’ -> ‘/opt/123’

‘456’ -> ‘/opt/456’

‘789’ -> ‘/opt/789’
cp可以修改名字,指定的目录不存在,即改名

 

[root@gong ~]# cp /etc/sysconfig/network-scripts/{ifcfg-eth0,eth00}

把网卡配置还是配置到这个路径下,改名 eth00

[root@gong ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak}

把网卡配置还是配置到这个路径下,改名ifcfg-eth0.bak(加后缀)

备注:{,.bak}=ifcfg-eth0,ifcfg-eth0.bak