centos目录结构与Linux指令
centos目录结构与Linux指令
1、centos的目录结构
Linux所有的都是文件,万物皆文件
bin ---- 命令,二进制存放的目录
boot ---- 系统引导程序+系统的内核
dev ---- 设备硬盘,光驱
etc ---- 存储系统或者服务的配置文件
home ---- 普通用的家目录,贫民窟
lib ---- 库文件存放的目录
lib64 ---- 库文件存放的目录(64位)
media ---- Linux识别的设备,比如u盘等挂在这个目录
mnt ---- 临时的挂载点目录
opt ---- 第三方的软件安装
proc ---- 虚拟目录显示内存的信息(内核的信息)
root ---- root家目录
run ---- 放的启动的东西
sbin ---- 超级命名,只有root用户才能用的命令
srv ---- service的缩写,存放的是一些启动后需要的数据
sys ---- 虚拟目录,内存信息
tmp ---- 临时文件存放的位置
usr ---- 存放用户的程序
var ---- 存放经常变换的文件,比如日志等
2、文件系统常用的命令
1、pwd 显示当前所在的路径
# 解释:pwd = print working directory 显示当前所在的目录 [root@localhost run]# pwd /run [root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts
2、cd 切换目录结构
cd 路径 去往指定路径 #绝对路径的方式 [root@localhost run]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts #相对路径的方式 [root@localhost home]# cd /etc [root@localhost etc]# cd sysconfig/ [root@localhost sysconfig]# pwd /etc/sysconfig cd ~ 或者 cd /root 或者 cd 回到家目录 # 快速回到进入自己的家目录 [root@localhost sysconfig]# cd ~ [root@localhost ~]# pwd /root [root@localhost network-scripts]#cd /root [root@localhost ~]# pwd /root [root@localhost network-scripts]# cd [root@localhost ~]# cd - 回到经过的上级路径 # 快速回到自己进过的目录 [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cd /bin [root@localhost bin]# cd - /etc/sysconfig cd ../ 回到上一级目录 [root@localhost lib]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts [root@localhost network-scripts]# cd ../ [root@localhost sysconfig]# pwd /etc/sysconfig [root@localhost sysconfig]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cd ../../ [root@localhost etc]# pwd /etc [root@localhost etc]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cd ../../../../../../../../../ [root@localhost /]# pwd /
3、mkdir 创建目录文件夹
mkdir ---> make directory [root@localhost /]# mkdir /myboy [root@localhost /]# cd /myboy/ [root@localhost myboy]# pwd /myboy #用-p参数创建多级目录 [root@localhost /]# mkdir -p /boy/tank [root@localhost /]# cd /boy/tank/ [root@localhost tank]# pwd /boy/tank #我们在创建目录的时候最好是用绝对路径
4、touch 创建文件
[root@200 zack]# touch boy.txt [root@200 zack]# ls boy.txt [root@200 zack]# cd ~ [root@200 ~]# touch /myboy/zack/gg [root@200 ~]# cd /myboy/zack [root@200 zack]# ls boy.txt gg #在linux里面不会通过后缀名来区分文件的类型,但是我们约定,你什么样的文件,就用什么后缀名,免得搞不清楚
5、ls 检查文件或者文件目录是否存在,并列出目录底下的文件及文件夹
ls -l 列出文件详细信息
ls -lt 创建时间最新到最老排序
ls -ltr 创建时间最老到最新排序
ls -a 表示查看当前文件夹底下的所有文件,包括隐藏文件
[root@200 zack]# ls boy.txt gg girl [root@200 zack]# ls -l total 0 -rw-r--r--. 1 root root 0 Mar 24 16:20 boy.txt -rw-r--r--. 1 root root 0 Mar 24 16:21 gg drwxr-xr-x. 2 root root 6 Mar 24 16:40 girl [root@200 zack]# ls -lt total 0 drwxr-xr-x. 2 root root 6 Mar 24 16:40 girl -rw-r--r--. 1 root root 0 Mar 24 16:21 gg -rw-r--r--. 1 root root 0 Mar 24 16:20 boy.txt [root@200 zack]# ls -ltr total 0 -rw-r--r--. 1 root root 0 Mar 24 16:20 boy.txt -rw-r--r--. 1 root root 0 Mar 24 16:21 gg drwxr-xr-x. 2 root root 6 Mar 24 16:40 girl [root@200 zack]# ls -a . .. boy.txt gg girl
6、cat 查看文件信息的命令
# cat 是查看文件信息 [root@localhost oldboy]# cat /oldboy/oldboy.txt 123 [root@localhost oldboy]# cat oldgirl.txt 456 #查看多个文件的文件信息 [root@localhost oldboy]# cat oldboy.txt oldgirl.txt 123 456 # 将文件中的内容读取出来,放入到另一个文件中 [root@localhost oldboy]# cat oldboy.txt oldgirl.txt > jason.txt [root@localhost oldboy]# cat jason.txt 123 456
7、echo 将信息输出
# 直接输出信息 [root@200 zack]# echo 'hello world' hello world # 将内容写入到文件中,> 是覆盖 >> 是追加 [root@200 zack]# echo 'hello world' > vicky.txt [root@200 zack]# ls a.py boy.txt gg girl vicky.txt [root@200 zack]# cat vicky.txt hello world [root@200 zack]# echo 'hello world' > vicky.txt [root@200 zack]# cat vicky.txt hello world [root@200 zack]# echo 'hello world' >> vicky.txt [root@200 zack]# cat vicky.txt hello world hello world
8、cp 复制
语法:cp 参数(数量可选) 要复制的信息 复制到什么位置
cp 的参数
-r 进行递归复制
-p 拷贝是时候属性保存不变
-d 和链接相关的文件
-a == -drp
# 复制文件 [root@200 zack]# ls a.py boy.txt gg girl vicky.txt [root@200 zack]# cp /myboy/zack/a.py /myboy [root@200 zack]# ls a.py boy.txt gg girl vicky.txt [root@200 zack]# cd .. [root@200 myboy]# ls a.py zack # 复制文件夹 -r 递归复制 [root@200 oldboy]# cp -r /myboy/zack /oldboy/ [root@200 oldboy]# cd ../ [root@200 ~]# ls anaconda-ks.cfg oldboy py13 [root@200 ~]# cd /oldboy [root@200 oldboy]# ls oldgirl zack
cp做备份:.bak
# 备份文件要是以.bak结尾 [root@200 myboy]# ls a.py zack [root@200 myboy]# cp a.py a.py.bak [root@200 myboy]# ls a.py a.py.bak zack # 如果cp的时候,多个文件,会出现多次确定,如何避免 [root@localhost oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl cp: overwrite ‘/oldboy/oldgirl/sysconfig/ip6tables-config’? y cp: overwrite ‘/oldboy/oldgirl/sysconfig/iptables-config’? y cp: overwrite ‘/oldboy/oldgirl/sysconfig/cbq/avpkt’? ^C #解决办法 [root@localhost oldboy]# \cp -r /etc/sysconfig/ /oldboy/oldgirl
9、mv 剪切
对文件或者文件夹进行剪切
语法:mv 要剪切的文件或者文件夹 移动到什么位置
#在根目录创建test文件夹,然后创建heihei.txt [root@localhost oldboy]# mkdir /test [root@localhost oldboy]# cd /test [root@localhost test]# touch heihei.txt # 将 /test/heihei.txt文件 剪切(移动)到/oldboy/shanghai/的文件夹, [root@localhost test]# mv /test/heihei.txt /oldboy/shanghai/ mv: cannot move ‘/test/heihei.txt’ to ‘/oldboy/shanghai/’: Not a directory #创建/oldboy/shanghai文件夹 [root@localhost test]# mkdir /oldboy/shanghai [root@localhost test]# mv /test/heihei.txt /oldboy/shanghai/ [root@localhost test]# cd /oldboy/shanghai [root@localhost shanghai]# ls heihei.txt #原来的/test/heihei.txt文件消失 [root@localhost shanghai]# cd /test [root@localhost test]# ls # 在linux系统没有重名名这个东西,我们可以用 mv 命令实现 [root@localhost oldboy]# ls lxx.txt oldboy.txt olddog oldgirl oldgirl.txt shanghai [root@localhost oldboy]# mv lxx.txt lxxsb.txt [root@localhost oldboy]# ls lxxsb.txt oldboy.txt olddog oldgirl oldgirl.txt shanghai
10、rm 删除
rm 文件
rm -r 文件夹
rm -rf 文件/文件夹 (强行删除不询问)
注意:不能使用rm -rf /* 会删除根下的所有文件
# 删除文件 [root@200 oldboy]# ls ab.py oldgirl zack [root@200 oldboy]# rm ab.py rm: remove regular file ‘ab.py’? y [root@200 oldboy]# ls oldgirl zack # 删除文件夹 [root@200 oldboy]# rm oldgirl rm: cannot remove ‘oldgirl’: Is a directory [root@200 oldboy]# rm -r oldgirl rm: descend into directory ‘oldgirl’? y rm: remove directory ‘oldgirl/zack’? y rm: descend into directory ‘oldgirl/girl’? y rm: remove regular empty file ‘oldgirl/girl/a.txt’? y rm: descend into directory ‘oldgirl/girl/zack’? y # 强行删除文件夹/文件(不询问) [root@200 oldboy]# rm -rf zack [root@200 oldboy]# ls [root@200 oldboy]#
11、vim 编辑器
首先需要切换阿里的centos镜像源
要用vim首先需要安装
#命令:yum -y install vim 或者 yum install vim -y
vim编辑器有三种模式:正常模式、插入模式、命令模式

语法:vim 文件名
进入正常模式,从正常模式进入插入模式输入i,o,a,I,O,A,R都可以,正常我们就使用i
进入插入模式后要退出到正常模式是按Esc,从正常模式到命令模式是按 :
1、正常模式下的命令:
复制当前行:yy
粘贴:p
复制当前行及下一行:2yy
粘贴:p
删除:dd
删除当前行及下一行:2dd
撤回:u
光标移动到首行:gg
光标移动到最后一行:G
光标移动到第二行:2gg
2、插入模式
直接进入输入内容就行
3、命令模式下的命令
1、查找内容
:/关键字
2、取消高亮
:nohl
3、显示行号
:set nu
4、取消行号
:set nonu
5、没有修改下推出
:q
6、修改了,不想保存退出
:q!
7、保存并退出
:wq
如果发现vim不能按 i 进入编辑文件,可以在这个文件所在目录执行 ls -a
查看所有的文件,发现有 . 开头的文件 .swp 隐藏文件
执行删除命令就行:rm -rf .文件名.swp

浙公网安备 33010602011771号