Linux文件管理总结
一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
1、ls
命令作用:列出当前目录的内容或指定目录
命令格式:ls [options] [files_or_dirs]
命令选项:
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归通过
ls -ld 目录和符号链接信息
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
[root@cnetos7 /data]#ls bin issue issue~ issue.~1~ [root@cnetos7 /data]#ls -a . .. bin .b.swo issue issue~ issue.~1~ [root@cnetos7 /data]#ls -l total 20 drwxrwxrwx. 2 root root 4096 Oct 10 16:49 bin -rw-r--r--. 1 root root 72 Oct 12 11:23 issue -rw-r--r--. 1 root root 72 Oct 12 11:21 issue~ -rw-r--r--. 1 root root 72 Oct 12 11:22 issue.~1~ [root@cnetos7 /data]#ls -R .: bin issue issue~ issue.~1~ ./bin: argsnum.sh b.sh calc_line.sh create_script.sh diskip.sh ex.sh p.sh send.sh t1.sh backup.sh calc_2.sh color.sh diskcheck.sh excute.sh per.sh pv.sh son.sh zb.sh
2、touch
命令作用:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件。
命令格式:touch [OPTION]... FILE...
命令选项:
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss],指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
[root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2019-10-12 11:11:48.361916150 +0800 Modify: 2019-10-12 11:11:48.361916150 +0800 Change: 2019-10-12 11:11:48.361916150 +0800 [root@cnetos7 /data]#touch -a -t 201808081010.00 a [root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2018-08-08 10:10:00.000000000 +0800 Modify: 2019-10-12 11:11:48.361916150 +0800 Change: 2019-10-12 11:16:06.264899577 +0800 Birth: - [root@cnetos7 /data]#touch -m -t 201808081010.00 a [root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2018-08-08 10:10:00.000000000 +0800 Modify: 2018-08-08 10:10:00.000000000 +0800 Change: 2019-10-12 11:16:22.887898509 +0800 Birth: -
3、cp
命令作用:复制文件和目录
命令格式:cp [options] source... directory
命令选项:
-i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖
-n 不覆盖,注意两者顺序
-r, -R 递归,若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-a 归档,此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d 复制时保留链接,不复制原文件,只复制链接名
-p 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-f 覆盖已经存在的目标文件而不给出提示
-u --update 只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖前先备份
--backup=numbered 目标存在,覆盖前先备份加数字后缀
[root@cnetos7 /data]#cp /etc/issue /data/ [root@cnetos7 /data]#ls bin issue [root@cnetos7 /data]#cp -b /etc/issue /data/ cp: overwrite ‘/data/issue’? y [root@cnetos7 /data]#ls bin issue issue~ [root@cnetos7 /data]#cp -b /etc/issue /data/ --backup=numbered cp: overwrite ‘/data/issue’? y [root@cnetos7 /data]#ls bin issue issue~ issue.~1~
4、mv
命令作用:移动和重命名文件
命令格式:mv [OPTION]... [-T] SOURCE DEST
命令选项:
-i 交互式
-f 强制
-b 目标存在,覆盖前先备份
[root@cnetos7 /data]#mv -i issue /data/a/ [root@cnetos7 /data]#ls /data/a/ issue [root@cnetos7 /data]#mv -b issue /data/a/ mv: overwrite ‘/data/a/issue’? y [root@cnetos7 /data]#ls /data/a/ issue issue~
5、rm
命令作用:删除
命令格式:rm [OPTION]... FILE...
命令选项:
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/
[root@cnetos7 /data]#ls a bin issue~ issue.~1~ [root@cnetos7 /data]#rm -i issue~ rm: remove regular file ‘issue~’? y [root@cnetos7 /data]#rm -f issue.~1~ [root@cnetos7 /data]#rm -rf a [root@cnetos7 /data]#ls bin
6、tree
命令作用:显示目录树
命令格式:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
命令选项: -d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径
[root@cnetos7 /data]#tree -d . ├── a │ ├── a │ ├── b │ ├── c │ └── d └── bin 6 directories [root@cnetos7 /data]#tree -L 1 . ├── a └── bin 2 directories, 0 files [root@cnetos7 /data]#tree -p /data/bin/ /data/bin/ ├── [-rwxr-xr-x] argsnum.sh ├── [-rwxr-xr-x] backup.sh ├── [-rwxr-xr-x] b.sh ├── [-rwxr-xr-x] calc_2.sh ├── [-rwxr-xr-x] calc_line.sh ├── [-rwxr-xr-x] color.sh ├── [-rwxr-xr-x] create_script.sh ├── [-rwxr-xr-x] diskcheck.sh ├── [-rwxr-xr-x] diskip.sh ├── [-rwxr-xr-x] excute.sh ├── [-rwxr-xr-x] ex.sh ├── [-rwxr-xr-x] per.sh ├── [-rwxr-xr-x] p.sh ├── [-rwxr-xr-x] pv.sh ├── [-rwxr-xr-x] send.sh ├── [-rwxr-xr-x] son.sh ├── [-rwxr-xr-x] t1.sh └── [-rwxr-xr-x] zb.sh 0 directories, 18 files
7、mkdir
命令作用:创建目录
命令格式:mkdir [OPTION]... DIRECTORY...
命令选项:
-p 如果上级目录不存在,则建立
-v 显示详细信息
-m MODE: 创建目录时直接指定权限
[root@cnetos7 /data]#mkdir -p 1/2/3 [root@cnetos7 /data]#tree 1/ 1/ └── 2 └── 3 2 directories, 0 files [root@cnetos7 /data]#mkdir -v aaa mkdir: created directory ‘aaa’ [root@cnetos7 /data]#mkdir -m 777 a [root@cnetos7 /data]#ll total 8 drwxrwxrwx. 2 root root 6 Oct 12 11:55 a drwxrwxrwx. 2 root root 4096 Oct 10 16:49 bin
二、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
[root@cnetos7 /data]#mkdir -p a/{1,2}/{a,b}
[root@cnetos7 /data]#tree a/
a/
├── 1
│ ├── a
│ └── b
└── 2
├── a
└── b
6 directories, 0 files
[root@cnetos7 /data]#mkdir -p {x,q}/{y,z}
[root@cnetos7 /data]#tree q/ x/
q/
├── y
└── z
x/
├── y
└── z
4 directories, 0 files
三、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
1、查看文件元数据
[root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 88 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2019-10-12 12:32:09.521606345 +0800 Modify: 2019-10-12 12:32:09.521606345 +0800 Change: 2019-10-12 12:32:09.521606345 +0800 Birth: -
2、元数据信息的含义
1、File:文件名
2、Size:文件大小(单位:B)
3、Blocks:文件所占块个数
4、IO Block:每个数据块的大小(单位:B)
5、regular file:普通文件(此处显示文件的类型)
6、Inode:文件的Inode号,文件的索引节点号
7、Links:硬链接次数
8、Access:权限
9、Uid:(属主id/属主名)
10、Gid:(属组id/属组名)
11、Context:文件所在的环境
12、Access:最近访问时间access time (atime)
13、Modify:数据改动时间modification time (mtime)
14、Change:元数据改动时间status time (ctime)
15、Creat:文件创建时间
3、修改文件时间戳信息
[root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2019-10-12 11:11:48.361916150 +0800 Modify: 2019-10-12 11:11:48.361916150 +0800 Change: 2019-10-12 11:11:48.361916150 +0800 [root@cnetos7 /data]#touch -a -t 201808081010.00 a [root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2018-08-08 10:10:00.000000000 +0800 Modify: 2019-10-12 11:11:48.361916150 +0800 Change: 2019-10-12 11:16:06.264899577 +0800 Birth: - [root@cnetos7 /data]#touch -m -t 201808081010.00 a [root@cnetos7 /data]#stat a File: ‘a’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 69 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2018-08-08 10:10:00.000000000 +0800 Modify: 2018-08-08 10:10:00.000000000 +0800 Change: 2019-10-12 11:16:22.887898509 +0800 Birth: -
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@cnetos7 /data]#touch /tmp/tfile"$(date +"%F-%T")" [root@cnetos7 /data]#ls /tmp/ systemd-private-9134fccafc04430aa9f4eb05f2ca24c3-bolt.service-8syaiZ vmware-root_6161-1949770682 systemd-private-9134fccafc04430aa9f4eb05f2ca24c3-colord.service-W6c6oV vmware-root_6173-1991648305 systemd-private-9134fccafc04430aa9f4eb05f2ca24c3-cups.service-YE4lth vmware-root_6176-968932940 systemd-private-9134fccafc04430aa9f4eb05f2ca24c3-rtkit-daemon.service-8IiS0g vmware-root_6183-1983194517 tfile2019-10-12-12:52:01 vmware-root_6221-1690178113 tracker-extract-files.0 vmware-root_6241-1714886130
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@cnetos7 /tmp/mytest1]#cp -r /etc/p*[^[:digit:]] /tmp/mytest1/ [root@cnetos7 /tmp/mytest1]#ls pam.d passwd- pinforc plymouth pnm2ppa.conf postfix prelink.conf.d profile protocols purple passwd pbm2ppa.conf pki pm popt.d ppp printcap profile.d pulse python
6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
[root@cnetos7 /tmp]#useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom [root@cnetos7 /tmp]#id tom uid=5001(tom) gid=1003(tom) groups=1003(tom),1002(jack)
7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
1、用户和组的配置文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
2、useradd
命令作用:创建用户
命令格式:useradd [options] LOGIN
命令选项:
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
seradd -u 5001 -d /tmp/tom -s /bin/zsh -g user -G uuuu user
3、usermod
命令作用:修改用户属性
命令格式:usermod [OPTION] login
命令选项:
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
[root@cnetos7 /tmp]#id test1 uid=1001(test1) gid=1001(test1) groups=1001(test1 [root@cnetos7 /tmp]#usermod -u 1111 -g qizi -G ntp -s /sbin/nologin -c 'test user' test1 root@cnetos7 /tmp]#id test1 uid=1111(test1) gid=1000(qizi) groups=1000(qizi),38(ntp) [root@cnetos7 /tmp]#cat /etc/passwd | grep test1 test1:x:1111:1000:test user:1111:/sbin/nologin
4、userdel
命令作用:删除用户
命令格式:userdel [OPTION]... login
命令选项:
-r: 删除用户家目录
root@cnetos7 /]#ls /home/ qizi test1 root@cnetos7 /]#userdel -r test1 [root@cnetos7 /]#ls /home/ qizi
5、groupadd
命令作用:创建组
命令格式:groupadd [OPTION]... group_name
命令选项:
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000
[root@cnetos7 /]#groupadd -g 1212 test01 [root@cnetos7 /]#groupadd -r test02 [root@cnetos7 /]#cat /etc/group |grep test test01:x:1212: test02:x:981:
6、groupmod
命令作用:修改用户组属性
命令格式:groupmod [OPTION]... group
命令选项:
-n group_name: 新名字
-g GID: 新的GID
[root@cnetos7 /]#cat /etc/group |grep test01 test01:x:1212: [root@cnetos7 /]#groupmod -n tt01 test01 [root@cnetos7 /]#cat /etc/group |grep tt01 tt01:x:1212: [root@cnetos7 /]#groupmod -g 1221 tt01 [root@cnetos7 /]#cat /etc/group |grep tt01 tt01:x:1221
7、groupdel
命令作用:删除用户组
命令格式:groupdel [options] GROUP
命令选项:
[root@cnetos7 ~]#groupdel test02
[root@cnetos7 ~]#groupdel tt01
8、groupmems
命令作用:更改和查看组成员
命令格式:groupmems [options] [action]
命令选项:
-g, --group groupname 更改为指定组 (只有root)
Actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
[root@cnetos7 ~]#groupmems -a user1 -g qizi [root@cnetos7 ~]#groupmems -d user1 -g qizi [root@cnetos7 ~]#groupmems -g qizi -l qizi uu [root@cnetos7 ~]#groupmems -g qizi -d uu [root@cnetos7 ~]#groupmems -g qizi -l qizi
9、chown
命令作用:修改文件属主
命令格式:chown [OPTION]... [OWNER][:[GROUP]] FILE...
命令选项:
-R: 递归
[root@cnetos7 /data]#ll test -rw-r--r--. 1 root root 0 Oct 12 15:15 test [root@cnetos7 /data]#chown qizi test [root@cnetos7 /data]#ll test -rw-r--r--. 1 qizi root 0 Oct 12 15:15 test
10、chgrp
命令作用:修改文件的属组
命令格式:chgrp [OPTION]... GROUP FILE...
命令选项:
-R 递归
[root@cnetos7 /data]#ll test -rw-r--r--. 1 qizi root 0 Oct 12 15:15 test [root@cnetos7 /data]#chgrp qizi test [root@cnetos7 /data]#ll test -rw-r--r--. 1 qizi qizi 0 Oct 12 15:15 test
11、chmod
命令作用:修改文件权限
命令格式:chmod [OPTION]... OCTAL-MODE FILE... 、 chmod [OPTION]... MODE[,MODE]... FILE... 、 chmod [OPTION]... --reference=RFILE FILE...
命令选项:
-R: 递归修改权限
MODE:
修改一类用户的所有权限:
u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限
u+ u- g+ g- o+ o- a+ a- + -
--reference=RFILE FILE...参考RFILE文件的权限,将FILE的修改为同RFILE
[root@cnetos7 /data]#ll test -rw-r--r--. 1 qizi qizi 0 Oct 12 15:15 test [root@cnetos7 /data]#chmod 777 test [root@cnetos7 /data]#ll test -rwxrwxrwx. 1 qizi qizi 0 Oct 12 15:15 test [root@cnetos7 /data/q]#ll total 0 -rwxrwxrwx. 1 root root 0 Oct 12 15:29 a -rw-r--r--. 1 root root 0 Oct 12 15:29 b [root@cnetos7 /data/q]#chmod --reference=a b [root@cnetos7 /data/q]#ll total 0 -rwxrwxrwx. 1 root root 0 Oct 12 15:29 a -rwxrwxrwx. 1 root root 0 Oct 12 15:29 b

浙公网安备 33010602011771号