linux文件目录的管理软件,Linux文件与目录管理

[TOC]

# Linux文件与目录管理

## 1 目录的相关操作

### 1.1 `cd`:切换目录

### 1.2 `pwd`:显示当前目录

### 1.3 `mkdir`:新建一个新的目录

### 1.4 `rmdir`:删除一个空的目录

## 2 文件与目录管理

### 2.1 `ls`:查看文件与目录

### 2.2 `cp`:复制文件

### 2.3 `rm`:移除文件/目录

### 2.4 `mv`:移动/更名文件/目录

### 2.5 `scp`: 远程拷贝文件

两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。

在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:

`scp -r root@43.224.34.73:/home/lk /root`。

具体过程为:

~~~

[root@XX ~]# scp -r root@43.224.34.73:/home/lk /root

root@43.224.34.73's password:

k2.sql 100% 0 0.0KB/s 00:00

k.zip 100% 176 0.2KB/s 00:00

.bash_history 100% 32 0.0KB/s 00:00

.bash_logout 100% 18 0.0KB/s 00:00

.bashrc 100% 231 0.2KB/s 00:00

k3.sql 100% 0 0.0KB/s 00:00

.bash_profile 100% 193 0.2KB/s 00:00

[root@XX ~]# ls

~~~

在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为:

`scp -r /root/lk root@43.224.34.73:/home/lk/cpfile`。

具体过称为:

~~~

[root@XX lk]# scp -r /root/lk root@43.224.34.73:/home/lk/cpfile

root@43.224.34.73's password:

k2.sql 100% 0 0.0KB/s 00:00

k3.sql 100% 0 0.0KB/s 00:00

.bash_profile 100% 193 0.2KB/s 00:00

.bash_logout 100% 18 0.0KB/s 00:00

.bash_history 100% 32 0.0KB/s 00:00

k.zip 100% 176 0.2KB/s 00:00

.bashrc 100% 231 0.2KB/s 00:00

[root@XX lk]#

~~~

scp在夸机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了[ssh免密码登录](http://www.cnblogs.com/likui360/p/6012035.html),那在使用scp的时候密码都不用输入。

1.命令格式:

`scp \[参数\] \[原路径\] \[目标路径\]`

2.命令功能:

`scp`是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

3.命令参数:

`-1`  强制scp命令使用协议ssh1

`-2`  强制scp命令使用协议ssh2

`-4`  强制scp命令只使用IPv4寻址

`-6`  强制scp命令只使用IPv6寻址

`-B`  使用批处理模式(传输过程中不询问传输口令或短语)

`-C`  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

`-p` 保留原文件的修改时间,访问时间和访问权限。

`-q`  不显示传输进度条。

`-r`  递归复制整个目录。

`-v` 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

`-c cipher`  以cipher将数据传输进行加密,这个选项将直接传递给ssh。

`-F ssh_config`  指定一个替代的ssh配置文件,此参数直接传递给ssh。

`-i identity_file`  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

`-l limit`  限定用户所能使用的带宽,以Kbit/s为单位。

`-o ssh_option`  如果习惯于使用ssh\_config(5)中的参数传递方式,

`-P port`  注意是大写的P, port是指定数据传输用到的端口号

`-S program`  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

## 3 文件内容查看

### 3.1 直接查看文件内容

#### 3.1.1 `cat`:在屏幕上正序显示文件所有内容

~~~Linux

# cat [-AbEnTv] fileName

~~~

#### 3.1.2 `tac`:在屏幕上倒序显示文件所有内容

~~~Linux

# tac fileName

~~~

#### 3.1.3 `nl`:在屏幕上正序显示文件所有内容,添加行号

~~~Linux

# nl [-bnw] fileName

~~~

### 3.2 翻页查看文件内容

#### 3.2.1 `more`:往后一页一页翻看

~~~Linux

# more fileName

~~~

在more这个程序的运行过程中,有几个按键可以按

* `空格键(Space)`:向下翻一页

* `Enter`:向下滚动一行

* `/字符串`:在当前显示的内容中,向下查询"字符串"这个关键字

* `n`:重复前一个查询

* `:f`:立刻显示出文件名以及目前显示的行数

* `q`:立刻离开more,不再显示该文件内容

* `b`或`[ctrl]-b`:往回翻页,不过这操作只对文件有用,对管道无用。

#### 3.2.2 `less`:往前、后一页一页翻看

~~~Linux

# less fileName

~~~

同样,在less这个程序的运行过程中,也有几个按键可以按

* `空格键(Space)`或`[PageDown]`:向下翻一页

* `[PageUp]`:向上翻一页

* `/字符串`:向下查询"字符串"这个关键字

* `?字符串`:向上查询"字符串"这个关键字

* `n`:重复前一个查询(与`/`或`?`有关)

* `N`:反向重复前一个查询(与`/`或`?`有关)

* `q`:立刻离开less,不再显示该文件内容

### 3.3 简单选取文件内容

#### 3.3.1 `head`:取出前面几行

~~~Linux

# head [-n number] fileName

~~~

默认显示头10行。

#### 3.3.2 `tail`:取出后面几行

~~~Linux

# tail [-n number] fileName

~~~

默认显示尾10行。

### 3.4 `od`:显示非纯文本文件

~~~Linux

# od [-t TYPE] fileName

~~~

TYPE的类型:

* `a`:利用默认的字符来输出

* `c`:使用 ASCII字符来输出

* `d[size]`:利用十进制(decimal)来输出数据,每个整数占用size bytes

* `f[size]`:利用浮点数(floating)来输出数据,每个数占用 size bytes

* `o[size]`:利用八进制(octa1)来输出数据,每个整数占用size bytes

* `x[size]`:利用十六进制(hexadecimal)来输出数据,每个整效点用size bytes.

### 3.5 `touch`: 创建新文件或修改文件时间

~~~Linux

# touch [-acdmt] fileName

~~~

参数:

* `-a`:仅修改访问时间

* `-c`:仅修改文件的时间,若该文件不存在则不创建新文件

* `-d`:后面可以接欲修改的日期而不用目前的日期,也可以便用--date="日期或时间"

* `-m`:仅修改 mtime

* `-t`:后面可以接欲修改的时间而不用目前的时间,格式为\[YYMMDDhhmm].

每个文件在linux下面都会记录许多的时间参数,有三个主要的变动时间

* modification time ( mtime)

当文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。

* status time ( ctime)

当该文件的“状态”(status)改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。

* access time (atime)

当"该文件的内容被取用"时就会更新这个读取时间(access)。举例来说,我们使用cat去读取/etc/man.config,就会更新该文件的atime了。

### 3.6 `umask`: 新建文件/目录时的默认去除权限值

在默认权限的属性上,目录与文件是不一样的。`x`的权限对于目录时很重要的,但一般文件创建时是不应该有的(一般文件通常用于数据的记录,只需要`r`和`w`)。所以默认情况下:

* `文件`:默认权限为`-rw-rw-rw-`,数值为“666”

* `目录`:默认权限为`drwxrwxrwx`,数值为“777”

1. 查询`umask`的值,

:-: ![root的`umask`值](https://box.kancloud.cn/4d6e76761c1c7ea25226b7c8f9537ccc_269x61.png)

:-: root的`umask`值

若root新建文件/目录的权限如下:

* 新建`文件`权限:文件默认权限(`-rw-rw-rw-`)-`umask`值(-----w--w-)==>`-rw-r--r--`

* 新建`目录`权限:目录默认权限(`drwxrwxrwx`)-`umask`值(-----w--w-)==>`drwxr-xr-x`

2. 设置`umask`的值

:-: ![root设置`umask`值](https://box.kancloud.cn/30e5048a1b2894af7822930b1c6ae1c1_269x81.png)

:-: root设置`umask`值

### 3.7 `chattr` /`lsattr` : 文件隐藏属性的设置/显示

### 3.8 `SUID` /`SGID` : 二进制文件的特殊权限

### 3.9 `SBIT`: 目录的特殊权限

### 3.9 `file`:查看文件类型

如果想要知道某个文件的基本数据,例如是属于ASCII或者是data文件,或者是binary,其中有没有使用到动态函数库(share library)等等的信息,就可以利用这个命令来查看。

### 3.10 命令与文件的查询

#### 3.10.1 `which`:寻找执行文件

`which`:寻找“执行文件”

`which`查找的范围是当前用户的PATH变量内所规范的目录。

#### 3.10.2 `whereis`:寻找特定文件

#### 3.10.3 `locate`:寻找特定文件

#### 3.10.4 `find`:寻找特定文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值