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}