目录介绍
Linux是单根,在终端里/是根路径。
目录结构大致如下
图来自:https://www.runoob.com/linux/linux-system-contents.html
/bin
:普通用户的命令 实际上不存在,软链接到usr/bin中
/boot
:启动相关文件,例如kernel,grub(引导装载程序)
/dev
:设备信息
/etc
:配置文件
/home
:用户的家目录,每个用户都有自己的目录,一般以用户账号命名
/root
:管理员的家目录
/run
:程序运行时的记录文件
/sbin
:超级管理员的命令 实际上不存在,软链接到usr/sbin中
/tmp
:临时文件
/usr
:类似Windows下的program files目录,重要目录,很多应用程序和文件都在此目录下
/var
:可变的
/bin
路径下是可执行文件
usr
/usr
是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/local
,软件安装的目录,现在安装的软件一般不放在usr/local下了
/usr/bin/
,系统用户使用的应用程序
/usr/sbin
,超级用户使用的比较高级的管理程序和系统守护程序
/usr/src
,内核源代码默认的放置目录
/usr/lib
,库文件Glibc 32bit
/usr/lib64
,库文件Glibc 64bit 后缀是so的动态链接,这些链接关系着命令的执行,不能删除
etc
/etc
,重要,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-
,网络配置文件,各机器的配置不同,ifcfg-后跟的内容不同
cd /etc/sysconfig/network-script/
ls
cat ifcfg-eth0 #各机器后缀不同
/etc/hostname
,系统主机名配置文件,主机名很重要,有些特殊服务要依赖主机名,没有主机名会报错起不来;修改了要重启:reboot
/etc/resolv.conf
,dns客户端配置文件,域名解析服务器,一般我们不配置,因为网卡的配置好了,会覆盖掉它,网卡的优先级高(cat /etc/resolv.conf
)
/etc/hosts
,本地域名解析配置文件,域名解析,先找自己的hosts,再去域名解析,据说以前就是用这个做钓鱼网站
var/dev
/dev
,存放设备文件,比如硬盘,硬盘分区,光驱,等等
/dev/sd
硬盘设备,linux中磁盘文件叫sd,第一个硬盘叫a,第二个叫b,一轮次类推,sda1表示第一个磁盘的第一个分区,以此类推
/dev/null
,黑洞设备,只进不出,类似于垃圾回收站
/dev/random
,生成随机数的设备
/dev/zero
,不断的产生数据
proc
/proc,反映系统当前进程的实时状态 :process,可以看到很多ID号,pid号,进程号唯一;进程关闭,则id号的文件夹就消失,id号每次启动都不唯一,只有一个进程唯一,systemd是进程号1的进程,所有进程都基于它派生。
基于目录的操作命令
mkdir
选项:-v 显示详细信息 -p 递归创建目录
mkdir dir1
创建dir1目录
mkdir -v /home/bj/{dir1,dir2}
在该路径下创建dir1,dir2目录
mkdir -pv /home/od/dir5/dir6
递归创建目录,dir6在dir5目录下
mkdir -pv /home/{od/{diu,but},boy}
在od下创建diu,but目录,在home下创建boy目录,如果不是管理员身份,boy没有权限创建
touch
无则创建,有则修改时间
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}
rm
删除
选项:-r: 递归 -f: 强制删除 -v: 详细过程
rm file.txt
#删除文件, 配置文件中rm存在alias别名rm -i
所以会提醒是否删除文件
rm -f file.txt
#删除文件, 不提醒
rm -r dir/
#递归删除目录,会提示
rm -rf dir/
#强制删除目录,不提醒(慎用)
rm删除示例 -1
mkdir /home/dir10
touch /home/dir10/{file2,file3,.file4}
rm -f /home/dir10/
ps.隐藏文件不删除
rm删除示例 -2
touch file{1..10}
touch {1..10}.pdf
rm -rf file
rm -rf .pdf
rm -f file*
mv
移动文件
mv file file1
原地移动+改名
mv file1 /tmp/
#移动文件至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
#移动多个目录至同一个目录,要写绝对路径
在测试中没有写绝对路径时无法完成命令
cp
copy
选项:
-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}