Linux系统下的文件管理类常命令及使用方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下的文件管理类常命令及使用方式相关的知识,希望对你有一定的参考价值。
Linux上的文件管理类命令有哪些,常用的使用方式
文件系统操作命令分为:目录操作命令、文件操作命令、权限操作命令
目录操作命令:
ls 列出目录的属性信息
pwd 列出用户当前所处目录路径
du 列出目录占用磁盘空间大小
cd 改变用户的当前目录
mkdir 建立一个新目录
rmdir 删除一个目录及其中的文件
文件操作命令
df 用于报告文件系统的总容量,使用量,剩余量。
find 在指定路径找文件
whereis 查找一个命令相关信息放在那
grep 在指定文件中查找指定的字符串
cat 连续显示、查看文件内容
more 分页查看文件内容
less 分页可控制查看文件内容
cp 复制文件或目录
mv 移动文件或目录
rm 删除文件或非空目录
touch 建立空文件
head 显示文件头几行
tail 显示文件尾几行
权限操作命令:权限操作就是改变文件属性的属性来实现的,所以我们要先了解文件属性
文件属性操作
chmod 根据文件访问的字母以及对应的数值用来设置访问权限的数值。
chown 设置文件的所有着
chgrp 设置文件的所属组信息
在权限设置中有特殊权限:粘着位t
粘着位:当权限为777的目录被授予粘着位,用户只能在此目录下删除自己是所有者的文件。
Linux的文件系统管理包括访问、浏览、建立、删除、移动、链接、权限设置等操作,经常使用的命令包括:ls、cd、rm、mkdir、rmdir、less、cat、mv、ln、chmod、chown、chgrp等。
常用命令详解:
ls:列出制定文件下或当前目录
用法:ls [选项] [文件] 列出 FILE 的信息(默认为当前目录)。如果不指定-cftuvSUX 或--sort选项,则根据字母大小排序。
例:ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
cd:改变当前用户所在路径
用法: cd [dirName]
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
例:
cd /home 进入 ‘/ home‘ 目录‘
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
rm:linux删除文件或目录命令
用法:rm [选项]... 目录... 删除指定的<文件>(即解除链接)
-d --directory 删除可能仍有数据的目录 (只限超级用户)
-f --force 略过不存在的文件,不显示任何信息
-i --interactive 进行任何删除操作前必须先确认
-r/R --recursive 同时删除该目录下的所有目录层
-v --verbose 详细显示进行的步骤
--help 显示此帮助信息并离开
--version 显示版本信息并离开
要删除第一个字符为‘-’的文件 (例如‘-foo’),请使用以下其中一种方法:
rm -- -foo
rm ./-foo
请注意,如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用 shred。
例:
rm -i *.rd:删除所有rb语言程序档;删除前逐一询问确认
rm -r Finished:将 Finished 子目录及子目录中所有档案删除
rm -rf Finished:将 Finished 子目录及子目录中所有档案删除,并且不用--确认
mkdir:建立目录
用法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]
补充说明:mkdir可建立目录并同时设置目录的权限。
参 数:
-m<目录属性>或--mode<目录属性> 建立目录时同时设置目录的权限。
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
--help 显示帮助。
--verbose 执行时显示详细的信息。
--version 显示版本信息。
rmdir
使用权限:于目前目录有适当权限的所有使用者
使用方式: rmdir [-p] dirName
说明: 删除空的目录。
参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
Linux下如何删除非空目录
rm -rf 要删除的目录名
less:
功能:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
用法:less [参数] 文件
命令参数:
-b 《缓冲区大小》 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o 《文件名》 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x 《数字》 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
例:
实例1:查看文件
命令:less log2013.log
例2:ps查看进程信息并通过less分页显示
命令:ps -ef |less
附加备注
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
‘a - 导航到标记 a 处
上面就是Linux下less命令的用法介绍了,因为less命令并未在一开始就读入整个文件内容,所以在打开大型文件的时候,less会比较快。
cat:是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。
用法:cat [选项] [文件]...de>
参数选项
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
例:
# cat /etc/profile 查看/etc/目录下的profile文件内容
# cat -b /etc/fstab 查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
# cat -n /etc/profile 对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示
# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;de>
cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
# cat -n /etc/profile
# nl /etc/profilede>
cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
# cat /etc/fstab /etc/profilede>
cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
# cat /etc/fstab /etc/profile | morede>
rmv:
作用:
mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。
格式:
mv [options] 源文件或目录 目标文件或目录
[options]主要参数:
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
第二个参数:
当第二个参数类型是文件时,mv命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
实例:
(1)将/usr/udt中的所有文件移到当前目录(用”.”表示)中:
$ mv /usr/udt/* .
(2)将文件test.txt重命名为wbk.txt:
$ mv test.txt wbk.txt
(3)把当前目录的一个子目录里的文件移动到另一个子目录里
mv 文件名/* 另一个目录
(4)移动当前文件夹下的所有文件到上一级目录
mv * ../
In:
使用权限:所有使用者
用法:In [options] source dist,其中option的格式为:
[-bdfinsvfF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]
说明:Linux档案系统中,所谓的链接(link),我们可以将其视为档案的别名。
链接可分为两种:硬链接(hard link)与软连接(sysmbolic link)
硬链接:一个档案可以有多个名称,
软连接:产生一个特殊的档案,该档案的内容是指向另一个档案的位置。
硬链接是存在同一个档案系统中,而软连接却可以跨越不同的档案系统。
In source dist 是产生一个连接(dist)到source,至于使用硬链接或软连接则有参数决定。
*不论是硬链接或软连接都不会将原本的档案复制一份,只会占用非常少的磁盘空间。
参数:
-f:链接时先将与dist同名的档案删除
-d:系统管理员硬链接自己的目录
-i:在删除与dist同档名的档案是先进行询问
-n:在进行软链接时,将dist视为一般的档案
-s:进行软连接(symbolic link)
-v:在链接之前显示其档名
-b:将在链接时会被覆盖或删除的档案进行备份
-S SUFFIX:将备份的档案都加上SUFFIX的字尾
-V METHOD: 指定备份的方式
--help:显示帮助
例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz
将档案 yy 产生一个 hard link : zz
ln yy xx
chmod:文件文件夹权限设定命令
用法 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
把计 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
附:
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown
使用权限 : root
用法 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
把计 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
chown:将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
用法:chown [选项]... [所有者][:[组]] 文件...
2.命令功能:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
3.命令参数:
必要参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
--help 显示帮助信息
--version 显示版本信息
4.使用实例:
实例1:改变拥有者和群组
命令:chown mail:mail log2012.log
输出:
[[email protected] test6]# ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2017.log
[[email protected] test6]# chown mail:mail log2012.log
[[email protected] test6]# ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users 0 11-30 08:39 log2017.log
[[email protected] test6]#
chgrp:改变文件或目录所属的组。
语法:chgrp [选项] group filename?
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
v 显示chown命令所做的工作。
以上是关于Linux系统下的文件管理类常命令及使用方式的主要内容,如果未能解决你的问题,请参考以下文章