Linux:文件管理及相关命令使用

Linux文件系统上的文件类型如下:

-:表示普通文件

d:表示目录文件

b:表示块设备文件

c:表示字符设备文件

l:表示软链接文件

p:表示管道文件

s:表示套接字文件

【例1】查看文件类型

[root@centos7 ~]# ll 
total 4
drwxr-xr-x 2 root root 54 May 23 09:00 testdir
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt

显示结果中,第一个位置的符号“-”就代表了文件类型为普通文件。

1、pwd命令:显示当前shell的工作目录

【例2】显示当前工作目录

[root@centos7 network-scripts]# 
[root@centos7 network-scripts]# pwd
/etc/sysconfig/network-scripts

2、basename命令:取路径基名

【例3】获取/etc/sysconfig/的基名

[root@centos7 sysconfig]# basename /etc/sysconfig/
sysconfig

3、dirname命令:取路径名

【例4】取/etc/sysconfig/的路径名

[root@centos7 sysconfig]# dirname /etc/sysconfig/
/etc

4、cd命令:切换目录

【例5】切换到用户家目录

[root@centos7 network-scripts]# cd
[root@centos7 ~]# 

或:

[root@centos7 network-scripts]# cd ~
[root@centos7 ~]# 

【例6】切换到父目录

[root@centos7 network-scripts]# cd ..
[root@centos7 sysconfig]# 

【例7】切换到/etc/sysconfig目录下

[root@centos7 ~]# cd /etc/sysconfig/
[root@centos7 sysconfig]# 

【例8】切换到上一次所在的目录

[root@centos7 sysconfig]# cd -
/root
[root@centos7 ~]# 

5、ls命令:列出目录的内容

选项:

-a:包含隐藏文件;

-l:显示额外信息;

-R:目录递归通过;

-1:文件分行显示;

【例9】显示当前目录下所有文件

[root@centos7 testdir]# ls -a
.  ..  up.txt  dushan.txt  win.txt

【例10】显示目录内容的额外信息

[root@centos7 testdir]# ls -l
total 252
-rw-r--r-- 1 root root      0 May 23 09:00 up.txt
-rw-r--r-- 1 root root 251734 May 23 04:15 dushan.txt
-rw-r--r-- 1 root root      9 May 23 04:06 win.txt

或:

[root@centos7 testdir]# ll
total 252
-rw-r--r-- 1 root root      0 May 23 09:00 up.txt
-rw-r--r-- 1 root root 251734 May 23 04:15 dushan.txt
-rw-r--r-- 1 root root      9 May 23 04:06 win.txt

【例11】递归显示目录内容

[root@centos7 ~]# ls -R
.:
a                b      messaage.txt  test     test.txt
anaconda-ks.cfg  fstab  passwdtst     testdir

./testdir:
UP.txt  dushan.txt  win.txt

【例12】组合应用

[root@centos7 testdir]# ll -aR
.:
total 256
drwxr-xr-x   2 root root     54 May 23 09:00 .
dr-xr-x---. 10 root root   4096 May 28 07:07 ..
-rw-r--r--   1 root root      0 May 23 09:00 up.txt
-rw-r--r--   1 root root 251734 May 23 04:15 dushan.txt
-rw-r--r--   1 root root      9 May 23 04:06 win.txt

6、stat命令:查看文件状态

【例13】查看initial-setup-ks.cfg文件的状态,注意三个时间戳

[root@centos7 ~]#stat initial-setup-ks.cfg 
  File: ‘initial-setup-ks.cfg’
  Size: 1728            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 100663381   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-07 09:28:22.746095173 +0800
Modify: 2018-07-18 17:31:57.877015401 +0800
Change: 2018-07-18 17:31:57.877015401 +0800
 Birth: -

7、touch命令:创建空文件和刷新时间

【例14】创建空文件test.sh

[root@centos7 ~]# touch test.sh
[root@centos7 ~]# ll test.sh 
-rw-r--r-- 1 root root 0 May 29 01:55 test.sh

8、cp命令:复制文件和目录

【例15】把/etc/httpd/conf/httpd.conf文件和/etc/my.cnf文件拷贝到当前目录

[root@centos7 data]# cp /etc/httpd/conf/httpd.conf /etc/my.cnf ./
[root@centos7 data]# ll
total 16
-rw-r--r-- 1 root root 11766 May 29 02:13 httpd.conf
-rw-r--r-- 1 root root   570 May 29 02:13 my.cnf

【例16】把/etc/nginx目录及其下面所有文件和子目录拷贝到当前目录

[root@centos7 data1# cp -R /etc/nginx/ ./
[root@centos7 data]# ll
total 20
-rw-r--r-- 1 root root 11766 May 29 02:13 httpd.conf
-rw-r--r-- 1 root root   570 May 29 02:13 my.cnf
drwxr-xr-x 4 root root  4096 May 29 02:16 nginx

【例17】复制httpd.conf文件并重命名为httpd.conf.bak

[root@centos7 data]# cp httpd.conf httpd.conf.bak
[root@centos7 data]# ll
total 32
-rw-r--r-- 1 root root 11766 May 29 02:13 httpd.conf
-rw-r--r-- 1 root root 11766 May 29 02:19 httpd.conf.bak
-rw-r--r-- 1 root root   570 May 29 02:13 my.cnf
drwxr-xr-x 4 root root  4096 May 29 02:16 nginx

【例18】复制/etc目录下所有文件及其子目录到当前目录,并重命名为etc_bak

[root@centos7 data]# cp -R /etc ./etc_bak
[root@centos7 data]# ll
total 44
drwxr-xr-x 143 root root  8192 May 29 02:32 etc_bak
-rw-r--r--   1 root root 11766 May 29 02:13 httpd.conf
-rw-r--r--   1 root root 11766 May 29 02:19 httpd.conf.bak
-rw-r--r--   1 root root   570 May 29 02:13 my.cnf
drwxr-xr-x   4 root root  4096 May 29 02:16 nginx

9、mv命令:移动文件或目录

注意:移动目录时,无需添加-R递归选项,要与cp命令区别。

【例19】把当前目录下nginx命令重命名为nginx_bak

[root@centos7 data]# mv nginx nginx_bak
[root@centos7 data]# ll
total 44
drwxr-xr-x 143 root root  8192 May 29 02:32 etc_bak
-rw-r--r--   1 root root 11766 May 29 02:13 httpd.conf
-rw-r--r--   1 root root 11766 May 29 02:19 httpd.conf.bak
-rw-r--r--   1 root root   570 May 29 02:13 my.cnf
drwxr-xr-x   4 root root  4096 May 29 02:16 nginx_bak

【例20】把httpd.conf文件移动到/tmp目录下

[root@centos7 data]# mv httpd.conf /tmp
[root@centos7 data]# ll
total 32
drwxr-xr-x 143 root root  8192 May 29 02:32 etc_bak
-rw-r--r--   1 root root 11766 May 29 02:19 httpd.conf.bak
-rw-r--r--   1 root root   570 May 29 02:13 my.cnf
drwxr-xr-x   4 root root  4096 May 29 02:16 nginx_bak

10、rm命令:删除文件或目录

【例21】删除当前目录下所有文件

[root@centos7 data]# rm -rf *
[root@centos7 data]# ll
total 0

11、mkdir命令:创建目录

【例22】创建目录a,其下包含b和c两目录,且b和c目录下都有一个目录d

[root@centos7 data ~]# mkdir -p a/{b,c}/d

12、tree命令:显示目录树

【例23】显示a目录的目录树

[root@centos7 data ~]# tree a
a
├── b
│   └── d
└── c
    └── d

 4 directories, 0 files

【例24】查看/usr/local目录树,但仅查看2级的目录深度

[root@centos7 ~]# tree -L 2 /usr/local
/usr/local
├── bin
├── etc
├── games
├── include
├── lib
├── lib64
├── libexec
├── sbin
├── share
│   ├── applications
│   ├── info
│   └── man
└── src

13 directories, 0 files

13、ln命令:创建链接文件

【例25】把 /usr/sbin/apachectl文件在当前目录下创建软连接文件为apachectl

[root@centos7 data]# ln -s /usr/sbin/apachectl apachectl
[root@centos7 data]# ll
total 0
lrwxrwxrwx 1 root root 19 JUN 29 02:57 apachectl -> /usr/sbin/apachectl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值