Linux(四):Linux常用命令--目录与文件管理命令

目录

1. 目录处理命令

1.1. ls : 列出目录

1.2. cd:切换目录

1.3. pwd:显示当前目录

1.4. mkdir:创建新目录

1.5. rmdir:删除文件目录

1.6. rm:移除文件或目录

1.7. cp:复制文件或目录

1.8. mv :移动文件与目录,或修改名称

1.9. scp/rcp:Linux之间复制文件和目录

2. 文件处理命令

2.1. touch:创建空文件

2.2. cat:  由第一行开始显示文件内容

2.3. tac: 从最后一行开始显示

2.4. nl:  显示的时候,输出行号

2.5. more: 一页一页的显示文件内容

2.6. less:与more类似,可往前翻页

2.7. head: 只看头几行

2.8. tail:只看尾部几行

2.9.  chmod ,chgrp,chown :更改文件权限,文件属组,文件属主

2.10. ln:生成连接文件

3. 文件搜索命令

3.1. find:文件搜索

3.2. which:查找文件

3.3. whereis : 查找文件

3.4. locate:查找文档


1. 目录处理命令

1.1. ls : 列出目录

ls [-aldthi] [文件或目录]

全名:list,所在路径:/bin/ls,执行权限:所以用户

-a 显示所有文件,包括隐藏文件

-l 详细信息显示

-d 仅显示目录名,而不显示目录下的内容列表

-t 用文件和目录的更改时间排序;可以用第一个显示的文件判断最近修改的文件

1.2. cd:切换目录

cd [相对路径/绝对路径]

全名:Change Directory,shell内置命令,执行权限:所有用户

cd  返回用户主目录

cd ..  返回上一级

cd ../..  返回上两级

cd .  当前目录

cd /  返回根目录

cd ~  返回用户家目录

cd -  返回此目录之前所在目录

cd /home/test  切换到指定目录

1.3. pwd:显示当前目录

pwd [-P]

全名:Print Working Directory,所在路径:/bin/pwd,执行权限:所有用户

-P:显示出确实的路径,而非使用连结 (link) 路径。

1.4. mkdir:创建新目录

mkdir [-mp] 目录名

全名:make directories,所在路径:/bin/mkdir,执行权限:所以用户

-m:配置文件的权限,不受默认权限 (umask) 影响

-p:创建多级目录

1.5. rmdir:删除文件目录

rmdir [-p]  空目录名

全名:remove empty directories,所在路径:/bin/rmdir,执行权限:所有用户

-p:多级空目录一起删除

1.6. rm:移除文件或目录

rm [-rif] 文件或者目录

全名:remove,所在目录:/bin/rm,执行权限:所有用户

-f :force 的意思,忽略不存在的文件,不会出现警告信息

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除,最常用在目录的删除

1.7. cp:复制文件或目录

cp [-adfilprsu] 原文件或目录  目标目录

全名:copy,所在路径:/bin/cp,执行权限:所有用户

-a:相当于 -pdr (常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身

-f:强制(force),若目标文件已经存在且无法开启,则移除后再尝试一次

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)

-r:递归持续复制,用於目录的复制行为(常用)

-s:复制成为符号连结档 (symbolic link)

-u:若 destination 比 source 旧才升级 destination 

1.8. mv :移动文件与目录,或修改名称

mv [-fiu]  源文件或目录  目的文件或目录

-f :force ,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件 已存在时,会询问是否覆盖

-u :若目标文件已经存在,且 源文件或目录 比较新,才会升级

1.9. scp/rcp:Linux之间复制文件和目录

SCP 是 RCP的加强。 SCP是加密的,security cp, RCP是不加密的。用法相同。

scp [-1246BCpqrvcFiloPS] 源文件或者目录  目标位置

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

-q: 不显示传输进度条

-r: 递归复制整个目录

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

从远程到本地:

scp [-r]  [root@]远程地址:远程文件/目录  本地文件/目录

从本地到远程:

scp [-r]  本地文件/目录  [root@] 远程地址:/远程文件/目录

指定端口号:

scp -P 4588 [root@]远程地址:远程文件/目录  本地文件/目录


2. 文件处理命令

2.1. touch:创建空文件

touch 文件名

所在路径:/bin/touch,执行权限:所有用户

2.2. cat:  由第一行开始显示文件内容

cat [-AbEnTv] 文件名

所在路径: /bin/cat, 执行权限: 所有用户

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号

-E :将结尾的断行字节 $ 显示出来

-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同

-T :将 [tab] 按键以 ^I 显示出来

-v :列出一些看不出来的特殊字符

2.3. tac: 从最后一行开始显示

tac 文件名

所在路径:/bin/tac, 执行权限: 所有用户

2.4. nl:  显示的时候,输出行号

nl [-bnw] 文件名

-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
-b t :如果有空行,空的那一行不要列出行号(默认值)

-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示
-n rn :行号在自己栏位的最右方显示,且不加 0 
-n rz :行号在自己栏位的最右方显示,且加 0 

-w :行号栏位的占用的位数。

2.5. more: 一页一页的显示文件内容

more 文件名

所在路径:/bin/more, 执行权限:所有用户

常用命令或按键:

空格键 (space)/f:代表向下翻一页

Enter :代表向下翻『一行』

/字串  :代表在这个显示的内容当中,向下搜寻『字串』这个关键字

:f  :立刻显示出档名以及目前显示的行数

q /Q :代表立刻离开 more ,不再显示该文件内容

b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用

2.6. less:与more类似,可往前翻页

less 文件名

所在路径:/usr/bin/less, 执行权限:所有用户

空白键:向下翻动一页;

[pagedown]:向下翻动一页;

[pageup]:向上翻动一页;

/字串:向下搜寻『字串』的功能;

?字串 :向上搜寻『字串』的功能;

n:重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q:离开 less 这个程序;

2.7. head: 只看头几行

head [-n number] 文件名

所在路径:/usr/bin/head, 执行权限:所有用户

-n   指定显示的行数

不加 -n 默认显示前 20 行数据

2.8. tail:只看尾部几行

tail [-n number][-f] 文件名

命令路径:/usr/bin/tail, 执行权限:所有用户

-n : 指定显示的行数

-f :动态显示文件末尾内容(即文件实时变化,那么显示内容也会随之变化,通过Ctrl+C结束)

tail -n 500 -f test.log和 tail -500f test.log 效果一致。

2.9.  chmod ,chgrp,chown :更改文件权限,文件属组,文件属主

参考上篇博客:Linux(三):Linux目录结构与文件基本属性

2.10. ln:生成连接文件

ln [参数] [源文件或目录]  [目标文件或目录]

全名:link, 所在路径:/bin/link, 执行权限:所有用户

命令功能:

当需要在不同的目录,用到相同的文件时,不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

软链接

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

2.软链接可以 跨文件系统 ,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

硬链接

1.硬链接,以文件副本的形式存在。但不占用实际空间。

2.不允许给目录创建硬链接

3.硬链接只有在同一个文件系统中才能创建

必要参数

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

选择参数

-S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"

-V "-V<备份方式>"或"--version-control=<备份方式>"

--help 显示帮助信息

--version 显示版本信息


3. 文件搜索命令

3.1. find:文件搜索

find  搜索范围  -匹配条件

eg: find / -name  "*.java"  在根目录下搜索java后缀的文件

上例中 -name:文件名称符合 name 的文件,即以.java后缀文件。 

类似于-name的常用参数有:

-iname :忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组

-type d/c/b/f/l/s : 文件类型是 目录/ 自行装置文件/区块装置文件/一般文件/符号连结/socket

-pid n : process id 是 n 的文件

 -user username:属于用于username的文件

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

3.2. which:查找文件

which 文件

which指令会在环境变量$PATH设置的目录里查找符合条件的文件

-n<文件名长度> :指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名

-p<文件名长度> :与-n参数相同,但此处的<文件名长度>包括了文件的路径

-w :指定输出时栏位的宽度

-V :显示版本信息

3.3. whereis : 查找文件

whereis [-bfmsu] [-B 目录] [-M目录][-S目录] 文件

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令

-b :只查找二进制文件

-B<目录> :只在设置的目录下查找二进制文件

-f :不显示文件名前的路径名称

-m :只查找说明文件

-M<目录> :只在设置的目录下查找说明文件

-s :只查找原始代码文件

-S<目录> :只在设置的目录下查找原始代码文件

-u :查找不包含指定类型的文件

3.4. locate:查找文档

locate [-d] 文件名

-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定

Linux locate命令用于查找符合条件的文档,去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录

locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找

locate的速度比find快,并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:

locate -u

猜你喜欢

转载自blog.csdn.net/ynzz123/article/details/82878698