1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
常用命令:
pwd:printing working directory(显示工作目录)
示例:
[root@cuikedong ~]# pwd
/root
[root@cuikedong ~]#
cd:change directory(切换目录)
cd [/PATH/TO/SOMEDIR]
cd后不加任何命令,表示切换回家目录;
注意:bash中,~表示家目录;
cd ~:切换回自己的家目录
cd ~USERNAME(用户名):切换至指定用户的家目录;
cd -:在上一次所在目录与当前
相关的环境变量
$PWD:当前工作目录
$OLDPWD:上一次的工作目录
示例:
[root@cuikedong ~]# cd /etc/sysconfig
[root@cuikedong sysconfig]# pwd
/etc/sysconfig
[root@cuikedong sysconfig]#
ls:list,列出指定目录下的内容
ls [OPTION]… [FILE]…
-a:显示所有文件,包括隐藏文件;
-A:显示除.和..之外的所有文件;
-l:–long,长格式列表,即显示文件的详细属性信息;
例: -rw-r–r–. 1 root root 8957 11月 20 21:06 boot.log
-:文件类型:-,d,b,c,l,s,p
rw-r–r–
rw-:文件属主的权限:
r–:文件属组的权限:
r–:其他用户(非属主、属组)的权限:
1:数字表示文件被硬链接的次数:
root:文件的属主:
root:文件的属组:
8957:数字表示文件的大小,单位是字节:
11月 20 21:06:文件最近一次被修改的时间:
boot.log:文件名:
-h,–human-readable(人类易读):对文件大小单位换算:换算后的结果可能会非精确值:
-d:查看目录自身而非其内部的文件列表:
-r:reverse,逆序显示:
-R:recursive,递归显示(子目录下的所有内容):
示例:
[root@cuikedong sysconfig]# ls -l
总用量 104
-rw-r–r–. 1 root root 400 11月 13 20:01 anaconda
-rw-r–r–. 1 root root 483 11月 13 20:00 authconfig
drwxr-xr-x. 2 root root 43 11月 13 19:52 cbq
-rw-r–r–. 1 root root 46 8月 4 05:27 chronyd
drwxr-xr-x. 2 root root 6 8月 4 07:57 console
-rw-r–r–. 1 root root 150 8月 23 05:43 cpupower
……………………………………………
cat:concatenate:文件文本查看工具:
cat /etc/fstab
cat /etc/passwd
cat [OPTION]… [FILE]…
-n:给显示的文本行统一编号:
-E:显示行结束符$:
示例:
[root@cuikedong sysconfig]# cat -n anaconda
1 # This file has been generated by the Anaconda Installer 21.48.22.121-1
2
3[WelcomeLanguageSpoke]
4visited = 1
5
6[OSCAPSpoke]
7visited = 1
8
9[NetworkSpoke]
10visited = 1
………………
tac:concatenate:文件文本查看工具:
tac /etc/fstab
tac /etc/passwd
tac [OPTION]… [FILE]…
-n:给显示的文本行统一编号:
-E:显示行结束符$:
示例:
[root@cuikedong ~]# tac /etc/fstab
/dev/mapper/centos_cuikedong-swap swap swap defaults 0 0
/dev/mapper/centos_cuikedong-home /home xfs defaults 0 0
UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot xfs defaults 0 0
/dev/mapper/centos_cuikedong-root / xfs defaults 0 0
#
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
#
# Created by anaconda on Mon Nov 13 19:51:58 2017
# /etc/fstab
#
[root@cuikedong ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Nov 13 19:51:58 2017
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_cuikedong-root / xfs defaults 0 0
UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot xfs defaults 0 0
/dev/mapper/centos_cuikedong-home /home xfs defaults 0 0
/dev/mapper/centos_cuikedong-swap swap swap defaults 0 0
注:cat与tac显示内容顺序相反
file:查看文件内容类型:
file[FILE]……….
示例:
[root@cuikedong ~]# file /etc/passwd
/etc/passwd: ASCII text
mkdir:make directory (创建目录)
mkdir [OPTION]… DIRECTORY…
-p:自动按需创建父目录:
-v verbose:显示创建的详细过程:
-m MODE:直接给定权限:
注意:路径基名方为命令的作用对象: 基名之前的路径必须的存在:
示例:
[root@cuikedong /]# mkdir /etc/cuicui
[root@cuikedong /]# ls -l /etc
……………………………………………..
-rw-r–r–. 1 root root 841 6月 7 2013 csh.login
drwxr-xr-x. 2 root root 17 12月 10 12:08 cui
drwxr-xr-x. 2 root root 6 12月 10 13:14 cuicui
drwxr-xr-x. 4 root root 78 11月 13 19:53 dbus-1
[root@cuikedong /]#
rmdir:remove empty directories(删除空目录)
rmdir [OPTION]… DIRECTORY…
-p:删除某目录后,如果其父目录为空,则一并删除之:
-v:显示过程:
示例:
[root@cuikedong /]# rmdir /etc/cuicui
[root@cuikedong /]# ls -l /etc
……………………………………………
-rw-r–r–. 1 root root 841 6月 7 2013 csh.login
drwxr-xr-x. 2 root root 17 12月 10 12:08 cui
drwxr-xr-x. 4 root root 78 11月 13 19:53 dbus-1
……………………………………………
[root@cuikedong /]#
tree命令:
tree [options] [directory]
-L level:指定要显示的层级:
示例:
[root@cuikedong /]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
19 directories, 0 files
[root@cuikedong /]#
文件查看类命令:cat,tac,head,tail,more,less
分屏查看命令:more和less
more命令:
more FILE
特点:翻屏至文件尾部后自动退出:
less命令:(man 本身就是调用less命令)
less FILE
head命令:
查看文件的前n行:
head [options] FILE
-n #(#=1,2,3,……..)
-#
示例:
[root@cuikedong ~]# head -n3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
tail命令:
查看文件后的n行:
tail [options] FILE
-n #(#=1,2,3,……..)
-#
-f:查看文件尾部内容结束后不退出,跟随显示新增的行:(查看新增日志时候会用)
示例:
[root@cuikedong ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
………………………………..
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gentoo:x:1001:1001::/home/gentoo:/bin/bash
slakware:x:1002:1002::/home/slakware:/bin/tcsh
slackware:x:1003:1003::/home/slackware:/bin/tcsh
docker:x:1004:1004::/home/docker:/bin/bash
[root@cuikedong ~]# tail -n3 /etc/passwd
slakware:x:1002:1002::/home/slakware:/bin/tcsh
slackware:x:1003:1003::/home/slackware:/bin/tcsh
docker:x:1004:1004::/home/docker:/bin/bash
stat命令:状态(查看文件的元数据)
stat – display file or file system status
用法:
stat FILE,,,,,,
Linux中每一个文件:两类数据
元数据:metadata(例如书的目录)
数据:data(例如书的正文)
时间戳:
access time (最近访问):2017-11-14 20:07:30.941647159 +0800 (读取数据流)
modify time(最近更改):2017-11-27 20:14:05.372243896 +0800 (改动的数据)
change time(最近改动):2017-11-27 20:14:05.372243896 +0800 (改动的元数据)
示例:
[root@cuikedong ~]# stat /etc/cui/aaa
文件:”/etc/cui/aaa”
大小:105 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:101126440 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:etc_t:s0
最近访问:2017-12-10 12:11:10.395401753 +0800
最近更改:2017-12-10 12:10:16.098348565 +0800
最近改动:2017-12-10 12:10:16.098348565 +0800
创建时间:-
[root@cuikedong ~]#
touch命令:创建新的空文件,改变已有文件的时间戳属性:
手动更改时间戳( change time不能手动指定)
touch – change file timestamps
touch [OPTION]… FILE…
-c:指定的文件路径不存在时不予创建:
-a:仅修改access time
-m:仅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
例如:~]# touch -m -t 0212010303.03 /tmp/functions
结果:最近更改:2002-12-01 03:03:03.000000000 +0800
示例:
[root@cuikedong ~]# touch /etc/cui/aaa
[root@cuikedong ~]# ls /etc/cui
aaa
[root@cuikedong /]# file /etc/cui/aaa
/etc/cui/aaa: empty
[root@cuikedong /]#
文件管理工具:cp,mv,rm
cp命令:copy
源文件:目标文件:
单源复制: cp [OPTION]… [-T] SOURCE DEST
多源复制 :cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
单源复制: cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中: 如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件:
如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其属性和数据流至目标文件:
多源复制 :cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:错误:
如果DEST存在:
如果DEST是非目录文件:错误:
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名:
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认:
-f:强制覆盖目标文件:
-r,-R:递归复制目录:
-d:复制符号链接本身,而非其指向的源文件:
-a:-dR –preserve=all,archive,用于实现归档:
–preserve=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
示例:
[root@cuikedong /]# ls /var
adm crash empty gopher lib lock mail opt run tmp
cache db games kerberos local log nis preserve spool yp
注:/var没有文件“aaa”
[root@cuikedong /]# cp /etc/cui/aaa /var
[root@cuikedong /]# ls /var
aaa cache db games kerberos local log nis preserve spool yp
adm crash empty gopher lib lock mail opt run tmp
[root@cuikedong /]#