第六章 文件管理基础命令

pwd

**显示当前你所在的位置    显示的是绝对路径** 

[root@gaofeng ~]# pwd /root 

[root@gaofeng ~]# cd /opt 

[root@gaofeng /opt]# pwd /opt

[root@gaofengls network-scripts]# 

pwd /etc/sysconfig/network-scripts

cd

#切换目录   [root@sh-qls network-scripts]# cd   #默认切换到当前用户的家目录 === [root@sh-qls ~]# cd  ~              #切换到当前用户的家目录

[root@gaofeng ~]# cd /root           #切换到/root目录 


[rroot@gaofengls opt]# cd /         #切换到根目录 [root@sh-qls /]# cd etc     #使用相对路径进行切换 

[root@gaofeng etc]# pwd /etc

[root@gaofeng etc]# cd  .        #切换到当前目录不变  

[root@gaofeng etc]# cd  ..       #切换到当前目录的上一级目录   [root@sh-qls /]# pwd /

[root@gaofeng /]# cd ./etc   # ./ 表是当前目录  切换到当前目录下的etc目录 [root@sh-qls etc]# 

[root@gaofeng etc]# cd ../       #进入当前目录的上一级目录  

[root@gaofeng etc]# cd ../opt    #切换到当前目录的上一级目录下的opt目录   [root@sh-qls opt]# pwd /opt


[root@gaofeng etc]# cd .. [root@sh-qls /]# cd opt/ === 阿 

ls

#显示目录下的列表信息及文件本身信息  
[root@gaofeng ~]# ls     #正常显示目录列表   test  test.doc  test.log  test.sh  test.txt  test.xml

[root@gaofeng ~]# ls  -l    
#以长格式形式显示目录的文件的列表及属性信息    ===   ll 系统 别名 total 4 
drwxr-xr-x. 2 root root 4096 Jun 15 10:56 test 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.doc 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.log 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.txt 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.xml


[root@gaofeng ~]# ls -lh     #以人性化的形式显示文件大小  B  K  M  G   total 668K 
-rw-r--r--. 1 root root  158 Jun 15 11:13 hosts 
-rw-r--r--. 1 root root 1013 Jun 15 11:13 passwd 
-rw-r--r--. 1 root root 655K Jun 15 11:13 services drwxr-xr-x. 2 root root 4.0K Jun 15 10:56 test 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.doc 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.log 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.txt 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.xml

[root@gaofeng ~]# ll  -a     #显示所有的文件,包括隐藏文件   所有以.开头的文件或者目录都是 隐藏的 total 692 
dr-xr-x---.  4 root root    258 Jun 15 11:13 .
dr-xr-xr-x. 19 root root    250 Jun 15  2020 .. 
-rw-------.  1 root root   1244 Jun 13 19:03 .bash_history
-rw-r--r--.  1 root root     18 Dec 29  2013 .bash_logout 
-rw-r--r--.  1 root root    176 Dec 29  2013 .bash_profile 
-rw-r--r--.  1 root root    176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root    100 Dec 29  2013 .cshrc 
-rw-r--r--.  1 root root    158 Jun 15 11:13 hosts
-rw-r--r--.  1 root root   1013 Jun 15 11:13 passwd 
drwxr-----.  3 root root     19 Jun 12 09:56 .pki 
-rw-r--r--.  1 root root 670293 Jun 15 11:13 services 
-rw-r--r--.  1 root root    129 Dec 29  2013 .tcshrc 
drwxr-xr-x.  2 root root   4096 Jun 15 10:56 test
-rw-r--r--.  1 root root      0 Jun 15 10:57 test.doc
-rw-r--r--.  1 root root      0 Jun 15 10:57 test.log 
-rw-r--r--.  1 root root      0 Jun 15 10:57 test.sh 
-rw-r--r--.  1 root root      0 Jun 15 10:57 test.txt
-rw-r--r--.  1 root root      0 Jun 15 10:57 test.xml
[root@gaofeng ~]# ll -t          #根据创建时间或者修改时间进行排序显示 total 668 
-rw-r--r--. 1 root root   1013 Jun 15 11:13 passwd 
-rw-r--r--. 1 root root 670293 Jun 15 11:13 services 
-rw-r--r--. 1 root root    158 Jun 15 11:13 hosts 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.doc 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.log 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.txt 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.xml
drwxr-xr-x. 2 root root   4096 Jun 15 10:56 test
[root@gaofeng ~]# ll -tr         #倒序排序 total 668
drwxr-xr-x. 2 root root   4096 Jun 15 10:56 test 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.xml
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.txt 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.log
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.doc 
-rw-r--r--. 1 root root    158 Jun 15 11:13 hosts 
-rw-r--r--. 1 root root 670293 Jun 15 11:13 services
-rw-r--r--. 1 root root   1013 Jun 15 11:13 passwd
[root@gaofeng ~]# ll -S      #按照文件的大小进行排序   total 668
-rw-r--r--. 1 root root 670293 Jun 15 11:13 services drwxr-xr-x. 2 root root   4096 Jun 15 10:56 test 
-rw-r--r--. 1 root root   1013 Jun 15 11:13 passwd 
-rw-r--r--. 1 root root    158 Jun 15 11:13 hosts
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.doc
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.log 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.txt
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.xml

[root@gaofeng ~]# ll -i          #显示文件的inode号  索引节点 total 668 134317719 
-rw-r--r--. 1 root root    158 Jun 15 11:13 hosts 134317721 
-rw-r--r--. 1 root root   1013 Jun 15 11:13 passwd 134317720 
-rw-r--r--. 1 root root 670293 Jun 15 11:13 services 202514540 drwxr-xr-x. 2 root root   4096 Jun 15 10:56 test 134317717 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.doc 134317714 
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.log 134317716
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.sh
6.tree 
134317666
-rw-r--r--. 1 root root      0 Jun 15 10:57 test.txt 134317718 

-rw-r--r--. 1 root root      0 Jun 15 10:57 test.xml

[root@gaofeng ~]# ls -p      #跟目录文件加上一个根,主要是为了区分文件 
hosts  passwd  services  test/  test.doc  test.log  test.sh  test.txt  test.xml

[root@gaofeng ~]# ll -d  /root       #只查看目录本身信息
dr-xr-x---. 4 root root 258 Jun 15 11:13 /root#给不同类型的文件显示不同的标识符 

[root@gaofeng ~]# ll -F /run/systemd/initctl/fifo 
prw-------. 1 root root 0 Jun 12 18:06 /run/systemd/initctl/fifo|       #管道文件


[root@gaofeng ~]# ll -F /bin/zip
-rwxr-xr-x. 1 root root 215840 Nov  6  2016 /bin/zip*          #可执行文件

[root@gaofeng ~]# ll -F /dev/log 
srw-rw-rw-. 1 root root 0 Jun 12 18:06 /dev/log=          #socket文件套接字文件

[root@gaofeng ~]# ll -dF  test
drwxr-xr-x. 2 root root 4096 Jun 15 10:56 test/            #目录


[root@gaofeng ~]# ls -1    
**以列表的形式排列文件 hosts passwd services test test.doc test.log test.sh test.txt test.xml**


选项:  
-l      #以长格式形式显示文件及属性信息     
-a      #显示所有文件,包括隐藏文件     
-h      #以人性化的形式显示文件大小       
-t      #以文件的创建时间或者修改时间进行排序       
-S      #以文件大小进行排序         
-r      #倒序排序               了解      
-p      #给目录价格标示身份          了解      
-i      #显示文件或者目录的inode号      
-d      #显示目录本身熟悉信息          
-F      #给不同类型的文件加上不同的标识符   了解        
-1      #以列表的形式显示文件列表       了解

tree

命令需要下载 yum -y install tree

[root@gaofeng ~]# tree . 
├── 10.txt 
├── 1.txt
├── 2.txt 
├──3.txt
├── 4.txt
├── 5.txt
├── 6.txt
├── 7.txt
├── 8.txt
└── 9.txt
0 directories, 10 files [root@gaofeng ~]# tree /var/log /var/log 
├── anaconda 
│  ├── anaconda.log
│  ├── ifcfg.log │  
├── journal.log 
│  ├── ks-script-UAi8Ra.log 
│  ├── packaging.log
│  ├── program.log 
│  ├── storage.log
│  ├── syslog 
│ └── X.log 
├── audit 
│  └── audit.log 
├── boot.log 
├── boot.log-20200610


├── boot.log-20200611
├── boot.log-20200613 
├── btmp
├── cron 
├── cron-20200614 
├── dmesg
├── dmesg.old
├── firewalld
├── grubby_prune_debug 
├── lastlog 
├── maillog 
├── maillog-20200614
├── messages
├── messages-20200614
├── rhsm 
├── secure 
├── secure-20200614 
├── spooler 
├── spooler-20200614
├── tallylog
├── tuned 
│  └── tuned.log
├── vmware-network.1.log
├── vmware-network.2.log
├── vmware-network.3.log
├── vmware-network.4.log
├── vmware-network.5.log 
├── vmware-network.6.log 
├── vmware-network.7.log
├── vmware-network.log 
├── vmware-vgauthsvc.log.0 
├── vmware-vmsvc.log 
├── wtmp 
└── yum.log

4 directories, 44 files
[root@gaofeng ~]# tree -a  /root     #显示所有文件,包括隐藏文件
/root 
├── 10.txt
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── 5.txt 
├── 6.txt 
├── 7.txt
├── 8.txt
├── 9.txt
├── .bash_history 
├── .bash_logout 
├── .bash_profile
├── .bashrc
├── .cshrc 
├── .pki │ 
└── nssdb 
└── .tcshrc

2 directories, 16 files

[root@gaofeng ~]# tree -da  /root            #统计目录的个数   
/root 
└── .pki    
└── nssdb

2 directories

[root@gaofeng ~]# tree -f  /root     #以绝对路径的形式显示文件列表  
/root 
├── /root/10.txt
├── /root/1.txt
├── /root/2.txt 
├──/root/3.txt 
├── /root/4.txt 
├── /root/5.txt
├── /root/6.txt
├── /root/7.txt
├── /root/8.txt
└── /root/9.txt

[root@gaofeng ~]# tree  -L  2 /          #显示根目录下2级的文件或者目录 
[root@gaofeng ~]# tree -F -L 1  /dev/    #跟不同类型的文件加上不同的标识符 与 ls -F 同 义

mkdir

选项:  
-p          #创建多级目录    
-v          #显示创建结果        
{}          #生成序列, 有规律的用..分割  无规律的用 逗号 (, )分割
-m  		#制定目录的权限

#创建目录     make   directory
[root@gaofeng ~]# mkdir --help 
Usage: mkdir [OPTION]... DIRECTORY...     
       命令    【选项】    目录  

[root@gaofeng ~]# mkdir  test    #使用相对路径创建了一个test目录  默认是在当前目录下操作 
[root@gaofeng ~]# ls
anaconda-ks.cfg  test

[root@gaofeng ~]# mkdir  /test       #通过绝对路径创建 
[root@gaofeng ~]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var

[root@gaofeng ~]# mkdir  -p  /test01/test/test       #创建多级目录
[root@gaofeng ~]# ls /test01/
test
[root@gaofeng ~]# ls /test01/test/
test

[root@gaofeng ~]# mkdir  test01  test02  test03          #创建多个目录
[root@gaofeng ~]# ls 
anaconda-ks.cfg  test  test01  test02  test03

[root@gaofeng ~]# mkdir  -v  test04      #创建目录的时候提示创建结果  
mkdir: created directory ‘test04’


[root@gaofeng ~]# echo  {01..10} 
01 02 03 04 05 06 07 08 09 10 
[root@gaofeng ~]# echo 
{1..10} 1 2 3 4 5 6 7 8 9 10


[root@gaofeng ~]# mkdir qls{01..05}     #批量创建多个目录 
[root@gaofeng ~]# ls 
anaconda-ks.cfg  qls01  qls02  qls03  qls04  qls05  test  test01  test02  test03 test04

[root@gaofeng ~]# mkdir qls{07,09,11,12,ss}  #批量创建多个无序的目录
[root@gaofeng ~]# ls
anaconda-ks.cfg  qls01  qls02  qls03  qls04  qls05  qls07  qls09  qls11  qls12  qlsss  test  test01  test02  test03  test04

windows下面创建目录或者文件是否区分大小写       不区分 

linux下面区分大小写
[root@gaofeng ~]# mkdir a 
[root@gaofeng ~]# mkdir A
[root@gaofeng ~]# ls 
a  A

不管是在windows或者linux下面,同个路径下不能出现相同名称的文件或者目录 


[root@gaofeng ~]# mkdir  'a '  'a  ' ' a'  'a a' 
[root@gaofeng ~]# ls 
a   a    A   anaconda-ks.cfg  qls02  qls04  qls07  qls11  qlsss  test01  test03 a  a    a a  qls01            qls03  qls05  qls09  qls12  test   test02  test04


[root@gaofeng ~]# mkdir: cannot create directory ‘a’: File exists     #文件已经存在 
[root@gaofeng ~]# mkdir  -p  a       #目录已经存在,不提示报错

touch

#创建文件 或者更改文件的时间戳   windows中有严格的文件格式要求  后缀名要求  而linux对文件的格式,后缀名没有要求 

#创建一个空文件 
[root@gaofeng ~]# touch  test.txt        #相对路径创建 
[root@gaofeng ~]# ll 
total0
-rw-r--r--. 1 root root 0 Jun 15 10:47 test.txt

[root@gaofeng ~]# touch /test/test.txt  #绝对路径创建 [
[root@gaofeng ~]# ll /test
total 0 
-rw-r--r--. 1 root root 0 Jun 15 10:49 test.txt

#当一个文件已经存在时,创建的时候不会报错,但是会改变文件的时间戳,不会改变文件内容 
[root@gaofeng ~]# ll    
total 0 
-rw-r--r--. 1 root root 0 Jun 15 10:47 test.txt 
[root@gaofeng ~]# touch  test.txt 
[root@gaofeng ~]# ll 
total 0 
-rw-r--r--. 1 root root 0 Jun 15 10:50 test.txt
[root@gaofeng ~]##
[root@gaofeng ~]# touch test         #改变目录的时间戳
[root@gaofeng ~]# ll 
total 0 
drwxr-xr-x. 2 root root 6 Jun 15 10:53 test
-rw-r--r--. 1 root root 0 Jun 15 10:50 test.txt
[root@sh-qls ~]# 
#批量创建
[root@gaofeng ~]# touch  test/file-{01..05}.txt
[root@gaofeng ~]# ll test/
total 0
-rw-r--r--. 1 root root 0 Jun 15 10:55 file-01.txt
-rw-r--r--. 1 root root 0 Jun 15 10:55 file-02.txt
-rw-r--r--. 1 root root 0 Jun 15 10:55 file-03.txt
-rw-r--r--. 1 root root 0 Jun 15 10:55 file-04.txt 
-rw-r--r--. 1 root root 0 Jun 15 10:55 file-05.txt

[root@gaofeng ~]# touch  test/{a..z}.txt         #创建字母序列 
[root@gaofeng ~]# ll  test/
total 0
-rw-r--r--. 1 root root 0 Jun 15 10:56 a.txt 
-rw-r--r--. 1 root root 0 Jun 15 10:56 b.txt 
-rw-r--r--. 1 root root 0 Jun 15 10:56 c.txt 
-rw-r--r--. 1 root root 0 Jun 15 10:56 d.txt 
-rw-r--r--. 1 root root 0 Jun 15 10:56 e.txt

[root@gaofeng ~]# touch  test.{txt,log,sh,doc,xml}       #创建无序的后缀名文件 
[root@gaofeng ~]# ll
total4
drwxr-xr-x. 2 root root 4096 Jun 15 10:56 test 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.doc
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.log 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.sh 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.txt 
-rw-r--r--. 1 root root    0 Jun 15 10:57 test.xml

posted @ 2022-09-09 13:46  高压锅炖主播  阅读(19)  评论(0编辑  收藏  举报