目录
1. Linux 上的文件管理类命令都有哪些, 其常用的使用方法及其相关示例演示.
2. 使用命令行展开功能, 创建
/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
, 在 / tmp 目录下创建目录: x_y, x_z, q_y, q_z
3. 文件的元数据信息有哪些, 分别表示什么含义, 如何查看? 如何修改文件的时间戳信息.
4. 在 / tmp 目录下创建以 tfile 开头, 后跟当前日期和时间的文件, 文件名形如:
- tfile-2016-05-27-09-32-22
- .
5. 复制 / etc 目录下所有以 p 开头, 以非数字结尾的文件或目录到 / tmp/mytest1 目录中.
6. 创建用户 tom, 指定 UID 为 5001, 指定家目录为 / tmp/tom, 指定 shell 为 / bin/zsh, 指定基本组为 tom, 附加组为 jack
1. Linux 上的文件管理类命令都有哪些, 其常用的使用方法及其相关示例演示.
文件系统操作命令 - 目录
ls 查看文件或目录的工具
用法: ls [选项]...[文件]...
-l 出文件名之外, 列出文件的类型, 权限, 所有者, 所属组, 文件大小, 修改时间等详细信
-a 显示所有以. 开关的项目
-A 列出除. 及.. 以外的斜体项目
-R 递归列出目录内容, 若目录下有文件或子目录, 则以下所有文件皆按序列出
-n 类似 - l, 但列出 UID 及 GID 号
-F 在列出的文件名后加一个符号, 去区分文件类型; 例如 * 代表可执行文件;/ 代表是目录;@代表链接文件; 普通文件之后不加符号
实例:
- [[email protected] opt]# ls -alF
- total 4415492
- drwxr-xr-x. 5 root root 88 Mar 19 01:41 ./
- dr-xr-xr-x. 20 root root 4096 Mar 13 20:49 ../
- -rw-r--r-- 1 root root 4521459712 Dec 6 17:25 CentOS-7.4-x86_64-DVD-1708.iso
- drwx--x--x 4 root root 26 Feb 27 22:38 containerd/
- drwxr-xr-x 5 root root 36 Mar 13 11:17 etcd
- drwxr-xr-x 5 root root 36 Mar 19 01:41 kubernetes/
cd 更改目录, 切换目录
用法: cd 目标目录
[选项] :
. 当前目录
.. 父目录
cd .. 切换到父目录, 切换到上一级目录
cd 切换到当前用户家目录
cd ~ 切换到当前用户家目录
cd - 返回上一次所处的目录
cd ? 类似于 cd "test" 命令中的双引号(也可以是单引号); 切换到名称带有空格的目录
实例:
- [[email protected] ~]# cd /opt/
- [[email protected] opt]# cd kubernetes/
- [[email protected] kubernetes]# cd -
- /opt
pwd 显示当前所处的目录
[选项]
pwd -p 显示实际的工作目录, 而非使用链接路径
- [[email protected] opt]# pwd -P
- /opt
mkdir1 创建目录
[选项]
mkdir 只能在已存在的目录下创建目录
mkdir -p 帮助你直接将所需的目录递归创建起来.(在一个不存在的上级目录里面创建目录)
rmdir 删除空目录
[选项]
rmdir 只能删除空目录
rmdir -p 递归删除空目录
rm 删除文件或目录
[选项]
rm 只能删除文件
rm -r 删除目录及目录下的项目(文件和目录)
rm -f 不提示强制删除
[实例 1]
rm -rf *
强制删除所有文件, 但是不包含隐藏文件. 谨慎使用!!!!
[实例 2]
同时删除多个文件或目录
每个项目以空格隔开
[[email protected] tmp]# rm -rf {a,b,c}
mv 移动文件或目录
mv 原文件路径 目标文件路径 移动
[选项]
-f 不提示并覆盖文件
-n 不覆盖已存在文件
-b 覆盖之前把原文件做备份, 备份的文件在文件名之后有个~ 符号
-u 只有原文件比覆盖的文件新的时候才可以覆盖文件; 旧文件不能覆盖新文件
du 显示目录的磁盘使用情况
du 查看目录或文件大小
-a 或 --all 显示目录中个别文件的大小
-b 或 --bytes 显示目录或文件时, 以 byte 为单位.
-c 或 --total 除了显示个别目录或文件的大小外, 同时民显示所有目录或文件的总和
-D 或 --dereference-args 显示指定符号连接的源文件大小
-h 或 --human-readable 以 K,M,G 为单位, 提高信息的可读性
-H 或 --si 与 - h 参数相同, 但是 K,M,G 是以 1000 为换算单位
-k 或 --kilobytes 以 1024 bytes 为单位
-l 或 --count-links 重复计算硬件连接的文件
-L < 符号连接>或 --dereference < 符号连接>显示选项中指定符号连接的源文件
-m 或 --megabytes 以 1MB 为单位
-s 或 --summarize 仅显示总计
-S 或 --separate-dirs 显示个别目录的大小时, 并不含其子目录的大小
-x 或 --one-file-xystem 以一开始处理时的文件系统为准, 若遇上其它不同的文件系统目录则略过
-X < 文件>或 --exclude-from=<文件>在 <文件> 指定目录或文件
--exclude=<目录或文件>略过指定的目录或文件
--max-depth=<目录层数> 超过指定层数的目录后, 予以忽略.
--help 显示帮助
--version 显示版本信息
实例
- [[email protected] kubernetes]# ls
- bin cfg ssl
- [[email protected] kubernetes]# du -h --exclude=bin
- 16K ./cfg
- 16K ./ssl
df 查看所有已挂载磁盘使用情况
实例
- [[email protected] kubernetes]# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/CentOS-root 46G 29G 18G 62% /
- devtmpfs 7.8G 0 7.8G 0% /dev
- tmpfs 7.8G 0 7.8G 0% /dev/shm
- tmpfs 7.8G 704M 7.1G 9% /run
- tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
- /dev/sda1 497M 158M 340M 32% /boot
- /dev/loop0 4.3G 4.3G 0 100% /mnt/cdrom
- tmpfs 1.6G 0 1.6G 0% /run/user/0
注解
第一列: 文件系统对应的磁盘分区
第二列: 分区的总空间大小, 含的数据块的数据
第三列: 已使用空间大小
第四列: 未使用空间大小
第五列: 用户空间使用的百分比
第六列: 文件系统的挂载点
2. 使用命令行展开功能, 创建
/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
, 在 / tmp 目录下创建目录: x_y, x_z, q_y, q_z
实例
- [[email protected] /]# mkdir -pv /tmp/a{
- 1/{
- a,b
- },2
- }
- mkdir: created directory '/tmp/a1'
- mkdir: created directory '/tmp/a1/a'
- mkdir: created directory '/tmp/a1/b'
- mkdir: created directory '/tmp/a2'
- [[email protected] /]# mkdir -pv /tmp/{
- x,q
- }_{
- y,z
- }
- mkdir: created directory '/tmp/x_y'
- mkdir: created directory '/tmp/x_z'
- mkdir: created directory '/tmp/q_y'
- mkdir: created directory '/tmp/q_z'
3. 文件的元数据信息有哪些, 分别表示什么含义, 如何查看? 如何修改文件的时间戳信息.
元数据信息:
file: 文件名;
size: 文件大小
block: 文件占了多少个数据块
IO Block: 文件所占数据块的块大小
Device: 硬件, 既说明该文件在硬盘的那个柱面
Inode: 文件 Inode 号, 文件的索引节点号
links: 链接
Access: 文件权限
Uid: 该文件所属的属主
Gid: 该文件所属的属组
context: 安全上下文
Access(第二个): 文件上一次的访问时间
Modify: 文件上一次修改的时间
Change: 文件上一次属性更改的时间
查看文件元数据的方法:
stat 命令:
- stat [OPTION]... FILE...
- [[email protected] ~]# stat /etc/issue
- File: '/etc/issue'
- Size: 23 Blocks: 8 IO Block: 4096 regular file
- Device: fd01h/64769d Inode: 67192987 Links: 1
- Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
- Access: 2019-04-08 09:42:19.438089565 +0800
- Modify: 2017-08-30 23:53:07.000000000 +0800
- Change: 2018-04-16 15:26:42.557988341 +0800
- Birth: -
修改文件的时间戳方法:
touch 命令: 用于改变文件时间戳, 如果文件不存在则创建一个空文件
touch [OPTION]... FILE...
-c: 指定的文件路径不存在时不予创建:
-a: 仅修改 access time:
-m: 仅修改 modify time:
-t STAMP:
[[CC]YY]MMDDhhmm[.ss] 年月日时分秒
touch -m -t 200212010303.03
4. 在 / tmp 目录下创建以 tfile 开头, 后跟当前日期和时间的文件, 文件名形如:
- tfile-2016-05-27-09-32-22
- .
实例
- [[email protected] tmp]# touch `date +%Y-%m-%d-%H-%M-%S`
- [[email protected] tmp]# ls
- 2019-04-08-18-14-06
5. 复制 / etc 目录下所有以 p 开头, 以非数字结尾的文件或目录到 / tmp/mytest1 目录中.
实例
- [[email protected] tmp]# mkdir mytest1
- [[email protected] tmp]# cp -rv /etc/p*[^0-9] mytest1/
6. 创建用户 tom, 指定 UID 为 5001, 指定家目录为 / tmp/tom, 指定 shell 为 / bin/zsh, 指定基本组为 tom, 附加组为 jack
实例
- [[email protected] tmp]# groupadd jack
- [[email protected] tmp]# useradd -u 5001 -d /tmp/tom/ -s /bin/zsh -G jack tom
- [[email protected] tmp]# cat /etc/passwd grep tom
- [[email protected] tmp]# cat /etc/passwd |grep tom
- tom:x:5001:5001::/tmp/tom/:/bin/zsh
- [[email protected] tmp]# id tom
- uid=5001(tom) gid=5001(tom) groups=5001(tom),1003(jack)
- --stdin:
- echo "PASSWORD" | passwd --stdin USERNAME
- -d
- -E
- -W
- -m
- -M
- su - USERNAME
- su -l USERNAME
来源: http://www.bubuko.com/infodetail-3016487.html