Linux-文件目录管理

Linux-文件目录管理

基础命令

命令格式
命令  [选项]    [参数]

选项:(可以有0个或多个)
    短选项:-
        多个选项可以组合: -a -b = -ab
    长选项:--
        长选项通常不能组合
        
参数:命令的作用对象(可以有0个或多个)

短选项:
[root@localhost ~]# rm -r -f *				
[root@localhost ~]# rm -rf *				//两种意思相同
长选项:
[root@localhost ~]# ls --all
.   .bash_history  .bash_profile  .cshrc
..  .bash_logout   .bashrc        .tcshrc
[root@localhost ~]# ls --inode
[root@localhost ~]# ls --inodeall
ls: unrecognized option '--inodeall'
Try 'ls --help' for more information.		//长选项不能组合

目录管理

ls

列出目录内容

[root@localhost ~]# ls
anaconda-ks.cfg

-l 长格式

[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1184 Nov 13 20:10 anaconda-ks.cfg

cd 切换目录

pwd 查看当前所在目录路径

[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /
[root@localhost /]# pwd
/

mkdir

创建目录

-p 创建目录时若父目录不存在则自动创建

[root@localhost ~]# mkdir a/b/c/d
mkdir: cannot create directory ‘a/b/c/d’: No such file or directory
[root@localhost ~]# mkdir -p a/b/c/d
[root@localhost ~]# ls a
b
[root@localhost ~]# ls a/b/
c
[root@localhost ~]# ls a/b/c/
d

-v 显示目录创建过程

[root@localhost ~]# mkdir -p -v a/b/c/d
mkdir: created directory 'a'
mkdir: created directory 'a/b'
mkdir: created directory 'a/b/c'
mkdir: created directory 'a/b/c/d'

创建100个纯数字目录:

[root@localhost ~]# mkdir {1..100}
[root@localhost ~]# ls
1    14  2   25  30  36  41  47  52  58  63  69  74  8   85  90  96
10   15  20  26  31  37  42  48  53  59  64  7   75  80  86  91  97
100  16  21  27  32  38  43  49  54  6   65  70  76  81  87  92  98
11   17  22  28  33  39  44  5   55  60  66  71  77  82  88  93  99
12   18  23  29  34  4   45  50  56  61  67  72  78  83  89  94
13   19  24  3   35  40  46  51  57  62  68  73  79  84  9   95

tree

查看目录树(需要先安装)

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@localhost ~]# rpm -ivh /mnt/BaseOS/Packages/tree-1.7.0-15.el8.x86_64.rpm 
warning: /mnt/BaseOS/Packages/tree-1.7.0-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.7.0-15.el8                ################################# [100%]
[root@localhost ~]# mkdir -p a/{b/{e,f},c,d/{j,k}}
[root@localhost ~]# ls
a  anaconda-ks.cfg
[root@localhost ~]# tree a
a
├── b
│   ├── e
│   └── f
├── c
└── d
    ├── j
    └── k
    
7 directories, 0 files

文件管理

touch

创建一个空文件,touch还有一个作用是修改文件的时间戮

[root@localhost ~]# touch a abc b
[root@localhost ~]# ls
a  abc  b

创建100个文件:

[root@localhost ~]# touch file{1..100}
[root@localhost ~]# ls
file1    file2   file30  file41  file52  file63  file74  file85  file96
file10   file20  file31  file42  file53  file64  file75  file86  file97
file100  file21  file32  file43  file54  file65  file76  file87  file98
file11   file22  file33  file44  file55  file66  file77  file88  file99
file12   file23  file34  file45  file56  file67  file78  file89
file13   file24  file35  file46  file57  file68  file79  file9
file14   file25  file36  file47  file58  file69  file8   file90
file15   file26  file37  file48  file59  file7   file80  file91
file16   file27  file38  file49  file6   file70  file81  file92
file17   file28  file39  file5   file60  file71  file82  file93
file18   file29  file4   file50  file61  file72  file83  file94
file19   file3   file40  file51  file62  file73  file84  file95

rm

删除文件,删除命令默认会提示是否需要删除

-r 递归删除,删除目录时必须使用此选项
-f 强制删除,不询问

[root@localhost ~]# rm -rf *			//删除所有文件
[root@localhost ~]# ls

cp

复制文件,一个文件到一个文件,多个文件到一个目录

//一个文件到一个文件:
[root@localhost ~]# cp anaconda-ks.cfg abc
[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1184 Nov 14 18:14 abc
-rw-------. 1 root root 1184 Nov 14 18:13 anaconda-ks.cfg

//多个文件到一个目录:
[root@localhost ~]# touch {1..10}
[root@localhost ~]# mkdir 11
[root@localhost ~]# cp {1..10} anaconda-ks.cfg 11
[root@localhost ~]# ls 11
1  10  2  3  4  5  6  7  8  9  anaconda-ks.cfg-r      

-r 递归拷贝,拷贝目录时必须使用此选项

[root@localhost ~]# mkdir 123
[root@localhost ~]# cp 123 456
cp: -r not specified; omitting directory '123'		//拷贝目录需要使用-r
[root@localhost ~]# cp -r 123 456
[root@localhost ~]# ll
total 8
drwxr-xr-x. 2 root root    6 Nov 14 18:15 123
drwxr-xr-x. 2 root root    6 Nov 14 18:15 456
-rw-------. 1 root root 1184 Nov 14 18:14 abc
-rw-------. 1 root root 1184 Nov 14 18:13 anaconda-ks.cfg

stat

显示文件或文件系统的状态

[root@localhost ~]# touch 123
[root@localhost ~]# stat 123
  File: 123
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 101211984   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-11-14 18:11:19.787085296 +0800
Modify: 2020-11-14 18:11:19.787085296 +0800
Change: 2020-11-14 18:11:19.787085296 +0800
 Birth: -

mv

移动文件(在同一个位置就是重命名,放到另外一个位置就是剪切)

[root@localhost ~]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 14 19:00 123
[root@localhost ~]# mv 123 456
[root@localhost ~]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 14 19:00 456
[root@localhost ~]# mv 456 /opt
[root@localhost ~]# ll /opt
total 0
-rw-r--r--. 1 root root    0 Nov 14 19:00 456

如何获取命令帮助

//内部命令
    help COMMAND
//外部命令
    COMMAND --help
//在线文档
    info COMMAND    
//命令手册  manual
    man COMMAND
//文档
    /usr/share/doc 
    
whatis COMMAND      //用于查看COMMAND出现在man的哪一章节中。

//man是分章节的,以下是每一章节的内容介绍:
    1   用户命令(/bin,/usr/bin,/usr/local/bin);
    2   系统调用;
    3   库调用;
    4   特殊文件(设备文件);
    5   文件格式(配置文件 的语法);
    6   游戏;
    7   杂项(Miscellaneous);
    8   管理命令(/sbin,/usr/sbin,/usr/local/sbin)
    
//man手册注意事项:
    []              //可选
    <>              //必选
    ...             //可以出现多次
    |               //多选一
    {}              //分组
    NAME            //命令名称及功能简要说明
    SYNOPSIS        //用法说明,包括可用的选项
    DESCRIPTION     //命令功能的详尽说明,可能包括每一个选项的意义
    OPTIONS         //说明每一个选项的意义
    FILES           //此命令相关的配置文件
    BUGS            //报告bug
    EXAMPLES        //使用示例
    SEE ALSO        //另外参照
    
//man翻屏
    向后翻一屏       //SPACE
    向前翻一屏       //b
    向后翻一行       //enter
    向前翻一行       //k
    
//查找
    /KEYWORD    //向后
    ?KEYWORD    //向前
    n           //下一个
    N           //前一个
    q           //退出    
原文地址:https://www.cnblogs.com/yuqinghao/p/13976622.html