美文网首页
linux系列2-文件管理

linux系列2-文件管理

作者: 蕴重Liu | 来源:发表于2019-07-05 10:03 被阅读0次
基础

以单根的方式组织文件
/目录结构:FSH(Filesystem Hierarchy Standard)

bin 普通用户使用的命令 /bin/ls, /bin/date --已移步到/usr/bin
sbin 管理员使用的命令 /sbin/service --已移步到/usr/sbin

# which useradd
/usr/sbin/useradd

dev 设备文件 --linux一切皆文件

 # ll /dev/sd*
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3

# tty
/dev/pts/0   --终端文件

/dev/zero   --空设备,类似回收站
/dev/null    -- 产生随机数
/dev/random  --零设备

root root用户的HOME
home 普通用户的base目录
proc 虚拟的文件系统。反映出来的是内核,进程信息或实时状态

(base) root@dell:~ # ls /proc/
1      10181  10363  10588  10783  10965  11146  1372  1575   180    2100 
10     10195  10377  106    10797  10979  11160  1387  15886  18352  2101 
100    102    10391  10602  108    10991  11174  14    16     18353  2117 
10013  10209  10405  10616  10811  11     11188  1411  161    18636  219
(base) root@dell:~ # ps aux|grep sshd
root      2032  0.0  0.0  72296  6216 ?        Ss   Jul03   0:00 /usr/sbin/sshd -D
root      7738  0.0  0.0 105692  7140 ?        Ss   09:22   0:00 sshd: root@pts/0
root      7920  0.0  0.0  13136  1064 pts/0    R+   09:27   0:00 grep --color=auto sshd
root      9620  0.0  0.0  72296  3276 ?        Ss   Jul03   0:00 /usr/sbin/sshd
(base) root@dell:~ # ls /proc/9620
attr             cwd       map_files   oom_adj        schedstat     syscall
autogroup        environ   maps        oom_score      sessionid     task
auxv             exe       mem         oom_score_adj  setgroups     timers
cgroup           fd        mountinfo   pagemap        smaps         timerslack_ns
clear_refs       fdinfo    mounts      patch_state    smaps_rollup  uid_map
cmdline          gid_map   mountstats  personality    stack         wchan
comm             io        net         projid_map     stat
coredump_filter  limits    ns          root           statm
cpuset           loginuid  numa_maps   sched          status

usr 系统文件,相当于C:\Windows
/usr/local 软件安装的目录
/user/bin 普通用户使用的应用程序
/user/sbin 管理员使用的应用程序
/usr/lib 库文件Glibc
/usr/lib64 库文件Glibc

(base) root@dell:~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  2.5M  3.2G   1% /run
/dev/sda2       915G  123G  746G  15% /
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/loop0      110M  110M     0 100% /snap/kafka/10
/dev/loop1       89M   89M     0 100% /snap/core/7270
/dev/loop5      114M  114M     0 100% /snap/kafka/11
/dev/sda1       511M  6.1M  505M   2% /boot/efi
(base) root@dell:~ # ls /usr
bin  games  include  lib  local  sbin  share  src

boot 存放系统启动相关的文件,例如kernel,grub(引导装载程序)

(base) root@dell:~ # ls /boot
config-4.15.0-52-generic  initrd.img-4.15.0-52-generic  vmlinuz-4.15.0-52-generic
config-4.15.0-54-generic  initrd.img-4.15.0-54-generic  vmlinuz-4.15.0-54-generic
efi                       System.map-4.15.0-52-generic
grub                      System.map-4.15.0-54-generic
-- 其中 vmlinuz-4.15.0-54-generic 是kernel内核

etc 配置文件
系统相关如网络:/etc/python3.7
应用相关配置文件:/etc/ssh/ssh_config

(base) root@dell:/etc/python3.7 # cd /etc/ssh
(base) root@dell:/etc/ssh # pwd
/etc/ssh
(base) root@dell:/etc/ssh # ls
moduli       ssh_host_dsa_key      ssh_host_ecdsa_key.pub    ssh_host_rsa_key
ssh_config   ssh_host_dsa_key.pub  ssh_host_ed25519_key      ssh_host_rsa_key.pub
sshd_config  ssh_host_ecdsa_key    ssh_host_ed25519_key.pub  ssh_import_id
(base) root@dell:/etc/ssh # 

var 存放变化文件,比如数据库,日志,邮件
mysql: /var/lib/mysql
vsftpd: /var/ftp
mail: /var/spool/mail
cron: /var/spool/cron
log: /var/log
临时文件: /var/tmp(进程产生的临时文件)

(base) root@dell:/etc/ssh # ls /var
backups  cache  crash  lib  local  lock  log  mail  opt  run  snap  spool  tmp  www

设备(主要指存储设备)挂载目录

media  移动设备默认的挂载点
mnt   手工挂载设备的挂载点
misc  automount进程挂载
net  automount进程挂载

命令存储位置:
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序

库文件存储位置:
/usr/lib 库文件Glibc
/usr/lib64 库文件Glibc

查看
--查看当前目录文件  .当前
(base) root@dell:~ # ls .
anaconda3  CTFS-run  his.txt  snap  wxc
-- .. 上一级目录
(base) root@dell:/data # cd ..
(base) root@dell:/ # 
-- ~用户主目录
(base) root@dell:/ # cd /data/workspace/
(base) root@dell:/data/workspace # cd ~
(base) root@dell:~ # 
创建
--文件
lyq@DESKTOP-40030BI:~/test_data$ ls
lyq@DESKTOP-40030BI:~/test_data$ touch file2 file5                                                                                                                                          
lyq@DESKTOP-40030BI:~/test_data$ ls                                                                                     
file2  file5  
lyq@DESKTOP-40030BI:~/test_data$ touch fie{1..20}
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1   fie11  fie13  fie15  fie17  fie19  fie20  fie4  fie6  fie8  file2
fie10  fie12  fie14  fie16  fie18  fie2   fie3   fie5  fie7  fie9  file5
lyq@DESKTOP-40030BI:~/test_data$ touch fii{a..f}    --支持字母序列
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1   fie11  fie13  fie15  fie17  fie19  fie20  fie4  fie6  fie8  fiia  fiic  fiie  file2
fie10  fie12  fie14  fie16  fie18  fie2   fie3   fie5  fie7  fie9  fiib  fiid  fiif  file5
lyq@DESKTOP-40030BI:~/test_data$ touch gg{a,b,v}  --理解为集合
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1   fie11  fie13  fie15  fie17  fie19  fie20  fie4  fie6  fie8  fiia  fiic  fiie  file2  gga  ggv
fie10  fie12  fie14  fie16  fie18  fie2   fie3   fie5  fie7  fie9  fiib  fiid  fiif  file5  ggb

--文件夹
lyq@DESKTOP-40030BI:~$ mkdir -v dir2/33
mkdir: cannot create directory ‘dir2/33’: No such file or directory
lyq@DESKTOP-40030BI:~$ mkdir -pv dir2/33   --父目录也一同创建,并输出信息
mkdir: created directory 'dir2'
mkdir: created directory 'dir2/33'
lyq@DESKTOP-40030BI:~$
复制
--复制
lyq@DESKTOP-40030BI:~$ cp /home/lyq/dir1 /home/lyq/dir2/yy
cp: -r not specified; omitting directory '/home/lyq/dir1'
lyq@DESKTOP-40030BI:~$ cp /home/lyq/dir1/tt /home/lyq/dir2/yy  -- 等价于cp /home/lyq/dir1/tt !$
lyq@DESKTOP-40030BI:~$ cp -v /home/lyq/dir1/tt /home/lyq/dir2/pp   --选项v会增加输出操作数据
'/home/lyq/dir1/tt' -> '/home/lyq/dir2/pp
lyq@DESKTOP-40030BI:~$ ls /home/lyq/dir2
33  pp  yy
lyq@DESKTOP-40030BI:~$ cp /home/lyq/pic /home/lyq/dir3
cp: -r not specified; omitting directory '/home/lyq/pic'
lyq@DESKTOP-40030BI:~$ cp -r  /home/lyq/pic /home/lyq/dir3   --选项r递归,整个文件夹复制时使用
lyq@DESKTOP-40030BI:~$ ls dir3
halo1.txt  halo2.txt
lyq@DESKTOP-40030BI:~$ cp -rf dir1  dir5  --选项f 若遇到文件冲突,不提示
lyq@DESKTOP-40030BI:~$ ls
dir1  dir2  dir3  dir5  pic
lyq@DESKTOP-40030BI:~$ \cp -rf dir1  dir7   --跳过别名
lyq@DESKTOP-40030BI:~$ ls 
dir1  dir2  dir3  dir5  dir7  pic
lyq@DESKTOP-40030BI:~$ type cp
cp is hashed (/bin/cp)
lyq@DESKTOP-40030BI:~$ type -a cp
cp is /bin/cp
移动
--移动
lyq@DESKTOP-40030BI:~$ ls
dir1  dir2  dir3  dir5  dir7  pic
lyq@DESKTOP-40030BI:~$ mv dir1 dir2   --某种程度可理解为重命名
lyq@DESKTOP-40030BI:~$ ls
dir2  dir3  dir5  dir7  pic
lyq@DESKTOP-40030BI:~$ ls -a dir2
.  ..  33  dir1  pp  yy
lyq@DESKTOP-40030BI:~$
--删除
lyq@DESKTOP-40030BI:~$ rm -rf dir2 
lyq@DESKTOP-40030BI:~$ ls
dir3  dir5  dir7  pic
lyq@DESKTOP-40030BI:~$
-r 递归
-f 强制
-v 详细过程
lyq@DESKTOP-40030BI:~$ rm -rf dir2/*   --不包括隐藏文件
查看
--文本文件
lyq@DESKTOP-40030BI:~$ cat /etc/hosts
lyq@DESKTOP-40030BI:~$ cat /etc/shadow
lyq@DESKTOP-40030BI:~$ cat /etc/group
lyq@DESKTOP-40030BI:~$ cat /etc/grub2.cfg
lyq@DESKTOP-40030BI:~$ cat /etc/resolv.conf
lyq@DESKTOP-40030BI:~$ cat /etc/profile   --设置系统环境变量
lyq@DESKTOP-40030BI:~$ cat /etc/bashrc   --影响bash shell环境
lyq@DESKTOP-40030BI:~$ cat /var/log/messages  --系统主日志文件
lyq@DESKTOP-40030BI:~$ cat /var/log/secure  --跟安全相关的日志如ssh登录,本地登录

-n  --显示行号
-A  包括控制字符(换行符/制表符)

--不建议在window修改linux的文件,记事本惹的锅
yum -y install dos2unix
dos2unix b.txt
cat -A b.txt
lyq@DESKTOP-40030BI:~$ head /etc/passwd    --默认查看文件的前10行
lyq@DESKTOP-40030BI:~$ head -2 /etc/passwd   --查看文件的前2行
lyq@DESKTOP-40030BI:~$ wc -l /var/log/messages   --统计行数
lyq@DESKTOP-40030BI:~$ tail /etc/passwd  --默认查看文件的最后10行
lyq@DESKTOP-40030BI:~$ tail -1 /etc/passwd  --默认查看文件的最后1行
lyq@DESKTOP-40030BI:~$ tail -20 /etc/passwd  --默认查看文件的最后20行
lyq@DESKTOP-40030BI:~$  tail -f /etc/passwd  --动态查看文件的尾部
lyq@DESKTOP-40030BI:~$  tail -F /etc/passwd  --动态查看文件的尾部
--注:vim,gedit编辑文件时,索引号会改变
lyq@DESKTOP-40030BI:~$  less  /etc/passwd  --支持上下翻页
lyq@DESKTOP-40030BI:~$ more  /etc/passwd  

--针对文件内容过滤
lyq@DESKTOP-40030BI:~$ grep 'root'  /etc/passwd  
lyq@DESKTOP-40030BI:~$ grep '^root'  /etc/passwd   --正则,root开始
lyq@DESKTOP-40030BI:~$ grep 'root$'  /etc/passwd  --正则,root结束
lyq@DESKTOP-40030BI:~$ grep 'failure'  /var/log/secure
文件类型
ls -l 文件名   //看第一个字符
- 普通文件(文本文件 二进制文件 压缩文件 电影 图片)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘  /dev/sda  /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1  /dev/zero
s 套接字文件
p 管道文件
l 链接文件(淡蓝色)

lyq@DESKTOP-40030BI:~$ ll -d pic
drwxrwxrwx 1 lyq lyq 4096 Jul  5 13:44 pic/
lyq@DESKTOP-40030BI:~$ ll -dh pic      --文件夹的大小
drwxrwxrwx 1 lyq lyq 4.0K Jul  5 13:44 pic/
lyq@DESKTOP-40030BI:~$ du -sh pic    ---文件的大小
0       pic
--file查看文件类型
(base) root@dell:~ # file /dev/sda
/dev/sda: block special (8/0)
(base) root@dell:~ # file /etc/hosts
/etc/hosts: ASCII text
(base) root@dell:/ # file /dev/zero
/dev/zero: character special (1/5)
(base) root@dell:~/CTFS-run/CTFS-BS # file manage.py 
manage.py: Python script, UTF-8 Unicode text executable, with CRLF line terminators
(base) root@dell:~/CTFS-run/CTFS-BS # file pics
pics: directory
type查看命令类型
(base) root@dell:~ # type ll
ll is aliased to `ls -alF'
(base) root@dell:~ # type ls
ls is aliased to `ls --color=auto'
(base) root@dell:~ # type useradd
useradd is /usr/sbin/useradd
(base) root@dell:~ # type cd    --内置命令
cd is a shell builtin
(base) root@dell:~ # type for    --keyword关键字
for is a shell keyword

stat查看文件属性

如文件的名称,大小,权限,atime,ctime,mtime

(base) root@dell:/ # stat /etc/hostname
  File: /etc/hostname
  Size: 5           Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 56885966    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-07-03 14:33:19.455295542 +0800
Modify: 2019-05-24 15:41:30.168886850 +0800
Change: 2019-05-24 15:41:30.168886850 +0800
 Birth: -
(base) root@dell:/data/workspace # stat CTFS-BS
  File: CTFS-BS
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d  Inode: 10492590    Links: 9
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-07-04 15:40:40.847909329 +0800
Modify: 2019-07-04 15:40:34.887895170 +0800
Change: 2019-07-04 15:40:34.887895170 +0800
 Birth: -

相关文章

  • linux系列2-文件管理

    基础 以单根的方式组织文件/目录结构:FSH(Filesystem Hierarchy Standard) bin...

  • Linux入门知识

    基础: Linux是什么 Linux用户、文件、目录管理 VIM编辑器 Linux文件系统管理进阶: Linux网...

  • Linux文件管理

    Linux教程 Linux文件管理 本文介绍如何在Linux上创建文件、删除文件、复制文件、移动文件 使用touc...

  • Linux 常用命令(二)

    Linux常用命令(二) Linux文件管理 Linux的文件层次标准 Filesystem Hierarchy ...

  • Linux文件权限管理

    Linux文件权限管理 linux文件属性 改变权限 查看用户组

  • Linux文件管理

    Linux 文件管理系统 Linux的文件管理系统有很多,例如:本地文件系统:ext3,ext4,xfs,btrf...

  • 5.文档管理

    一、文件管理 Linux 系统中有 一切皆文件 的说法。文件是文件硬件设备也是文件就是在 Linux 中管理计算机...

  • 2018-07-01

    Linux的文件管理和Bash的基础特性 一:Linux的文件管理类命令 (一)目录管理命令: 1、ls:用于显示...

  • Linux目录及文件相关知识整理

    Linux 文件管理是学习 Linux 的基础,看了鸟叔的 Linux 书籍,把 Linux 目录及文件相关的知识...

  • linux 文件属性与目录管理

    linux 文件属性与目录管理 linux 文件属性 linux 文件基本属性 当为[ d ]则是目录 当为[ -...

网友评论

      本文标题:linux系列2-文件管理

      本文链接:https://www.haomeiwen.com/subject/xwojhctx.html