Linux文件管理

1、目录介绍

1 linux 是单根 / 根路径,windows是多根
2 bin和sbin:bin普通用户命令,超级用户命令  都是usr下的文件夹软链接到根路径
3 home 、root:home普通用户的家路径,home下的用户名的文件夹
    -用户一登录系统,是在自己的家路径 jack--》/home/jack

2、目录之usr

/usr,相当于C:Windows
/usr/local,软件安装的目录,相当于C:Program
/usr/bin/,普通用户使用的应用程序(重要)
/usr/sbin,管理员使用的应用程序(重要)
/usr/lib,库文件Glibc 32bit
/usr/lib64,库文件Glibc 64bit

1 df -h  # 查看系统中文件的使用情况
2 du -sh /usr/  #查看当前目录下各个文件及目录占用空间大小



# 补充:远程执行ssh命令:
# ansiable:python写的,批量执行命令(速度比较慢,大量的主机,会卡顿)
# salstack:在客户端装agent,
# zabbix:监控,php写的,监控mysql运行情况

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

3、目录之etc

/etc,极其重要,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname,系统主机名配置文件,主机名很重要,有些特殊服务要依赖主机名,没有主机名会报错起不来;修改了要重启:reboot
/etc/resolv.conf,dns客户端配置文件,域名解析服务器,一般我们不配置,因为网卡的配置好了,会覆盖掉它,网卡的优先级高
/etc/hosts,本地域名解析配置文件,域名解析,先找自己的hosts,再去域名解析

4、目录之var dev

1 cat /var/log/secure #查看用户登陆时间

/dev,存放设备文件,比如硬盘,硬盘分区,光驱,等等
/dev/sd 硬盘设备
/dev/null,黑洞设备,只进不出。类似于垃圾回收站
/dev/random,生成随机数的设备
/dev/zero,能远远不断的产生数据,类似于取款机,随时随地取钱

5、目录之proc

/proc,反映系统当前进程的实时状态 :process
加上跑着一个uwsgi---》id号,重启,id号会变,1这个永远不变


#1 media:提供设备的挂载点,媒体文件
# linux 新增了盘符,需要手动挂载
# 把光盘里的数据,挂载到media目录
mount  /dev/cdrom /media/

# 2 mnt:提供设备的挂载点(同上)

# 3 opt:第三方工具,第三方软件默认安装的(mysql...)

# run :下有pid,log结尾的文件
ls /run
cat sshd.pid  # 进程运行的pid号,放在文件中
ps aux |grep sshd

# .lock文件的作用,锁机制
# 假设现在执行
yum install tree
# 再开一个窗口执行相同命令
yum install tree
'''
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  71 M RSS (470 MB VSZ)
    Started: Tue Aug 18 00:26:31 2020 - 00:24 ago
    State  : Sleeping, pid: 6191
'''
cat /run/yum.pid

6、路径定位

1 . ..  相对路径,. 是当前,..是上一级
2 坑:带斜杠和不带斜杠
    cd /usr # 根路径下的usr
    cd usr  # 当前路径下的usr
3 执行当前路径下的某个文件
    ./xx linux
    xx   windows
4 ~当前用户的家路径:root   /root   jack  /home/jack

7、mkdir touch rm mv

# 选项:-v 显示详细信息  -p 递归创建目录
# mkdir dir1
# mkdir /home/od/dir1 /home/od/dir2
# mkdir -v /home/od/{dir3,dir4}  
# mkdir -pv /home/od/dir5/dir6
# mkdir -pv /home/{od/{diu,but},boy}

# touch file                    #无则创建,有则修改时间
# touch file2 file3
# touch /home/od/file4 file5
# touch file{a,b,c}             #{}集合,等价 touch a b c
# touch file{1..10}
# touch file{a..z}





#选项:-r: 递归 -f: 强制删除 -v: 详细过程
# rm  file.txt      #删除文件, 默认rm存在alias别名,rm -i所以会提醒是否删除文件
# rm -f file.txt    #删除文件, 不提醒


# rm -r dir/        #递归删除目录,会提示
# rm -rf dir/       #强制删除目录,不提醒(慎用)


#1.rm删除示例
# mkdir /home/dir10
# touch /home/dir10/{file2,file3,.file4}
# rm -f /home/dir10/  //不包括隐藏文件 
# ls /home/dir10/ -a
. .. .file4


#2.rm删除示例2
# touch file{1..10}
# touch {1..10}.pdf
# rm -rf file 
# rm -rf .pdf
# rm -f file*
# rm -f *.txt



# mv file file1             #原地移动算改名
# mv file1 /tmp/            #移动文件至tmp目录:不一样mv file1 tmp 
# mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
# mv dir/ /tmp/             #移动目录至/tmp目录下

# touch file{1..3}
# mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录

# mkdir dir{1..3}
# mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录

8、cp

#选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性
# cp file /tmp/file_copy
# cp name /tmp/name1         #修改名称
# cp file /tmp/             #不修改名称
# cp -p file /tmp/file_p    #-p保持原文件或目录的属性
# cp -r  /etc/ /tmp/        #复制目录需要使用-r参数, 递归复制
# cp -rv /etc/hosts /etc/hostname /tmp  #拷贝多个文件至一个目录
# cp -rv /etc/{hosts,hosts.bak}
# cp -rv /etc/hosts{,-org}
原文地址:https://www.cnblogs.com/ZhZhang12138/p/14886246.html