1、Linux目录结构
windows
windows是多根系统
一个磁盘分区就是一个根Windows可以分多个分区,也就是可以有多个根
存储文件的时候,文件就是存储到某一个根之下
linux
linux是一个单根系统
只有一个可与存储文件的路径
根的表是 /
linux的根目录下的一些重要目录
home
etc
bin
sbin
tmp
media
mnt
boot
usr
var
dev
lib
root
后面还有就不一一列举了
根下的主要的目录
/etc目录
etc下存储的是Linux中的各种配置文件
例如网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-ensXX
/bin目录
这个目录下存放的是Linux的可执行程序
/sbin目录
这个目录下存放的也是Linux的可执行程序
/var目录
存储的是哪些经常发生改变的文件
例如日志文件:/var/log/messages
/tmp目录
存储的是临时文件
这个目录下的文件,如果30天内没有被访问过,文件会被自动删除
/home目录
普通用户存储文件的目录
也就是普通用户的主目录 【普通用户只能在自己的主机目录下创建、编辑文件】
/root目录
这个目录是管理员用户,也就是root用户的主目录
linux路径的表示方式
/目录名/目录名/文件名
2、linux命令基础
格式
命令 [选项] [ 参数]
选项
短选项:-字母,短选项可以进行合并
长选项:--单词
3、简单命令
1)pwd命令
作用:显示当前所在的工作目录【就是显示你现在所在的位置】
格式:直接打pwd+回车键 即可
例子:
2)cd目录
作用:切换目录
格式:cd+目标目录+回车键即可
例子:
#1 切换到根目录
cd / (中间一定要加空格)
#2切换到/etc/sysconfig目录
cd /etc/sysconfig
#3切换到上一级目录
cd ..
#4切换到上次所在的目录
cd —
3)ls命令
作用:查看目录中有那些文件
格式:
ls[选项] [路径]
例子:
在执行命令的时候,如果不指定路径,则查看的是当前目录下的文件;如果指定路径,则查看指定 路径
选项:
-l:显示文件的属性
-a:显示所有的文件,包括隐藏文件【linux默认是不会显示隐藏文件的】
例子:
#1 查看当前位置下有哪些文件:
直接在当前位置输入 ls+回车键即可
#2查看etc下有哪些文件:
方法一;先切换到etc中,然后再执行ls
[root@localhost /]# cd /etc
[root@localhost etc]# ls
方法二:在执行ls的时候在后面加上路径
[root@localhost /]# ls /etc
#3查了根目录下所有文件的属性,包括隐藏文件
[root@localhost etc]# ls (空格)-la(空格 ) / 【中间必须加空格】
补充知识1:linux中,文件的类型主要有两种
一般文件:通常是可以进行内容写入和编辑的文件,例如windows中的doc、txt
目录文件:其实就是文件夹
补充知识2:
Linux中,文件的后缀对与文件的属性没有任何影响
文件的属性仅仅和创建这个文件的命令相关
4)touch命令
作用:创建空白一般文件
格式:
格式1:touch 文件名 # 在当前位置下创建文件
格式2:touch /路径/文件名 # 在指定的位置下创建文件
例子:
#1 创建文件qq.txt
[root@localhost home]# touch qq.txt
#2 在tmp下创建qq.txt
方法1:先切换到tmp下,然后创建
[root@localhost /]# cd /tmp
[root@localhost tmp]# touch qq.txt
方法2:在touch后边加上路径/文件名
[root@localhost tmp]# touch /tmp/qq.txt
#3 解释下面的命令
touch baidu.txt # 在当前位置下创建baidu.txt
touch /baidu.txt # 在根下创建baidu.txt
touch /home/baidu.txt # 在home下创建baidu.txt
5)mkdir命令
作用:创建目录【创建文件夹】
格式:
格式1:mkdir [选项] 目录名
格式2:mkdir [选项] /路径/目录名
选项:
-p:在父目录不存在的情况下,先创建父目录,然后依次创建子目录
例子:
#1 创建目录book1
[root@localhost home]# mkdir book1
#2在home下创建目录book2
方法一:先切换到home 然后再执行mkdir 创建目录
[root@localhost /]# cd /home
[root@localhost home]# mkdir book2
方法二:在mkdir后边加上路径/文件名
[root@localhost /]# mkdir /home/book2
#3创建一组文件夹d1/d2/d3/d4
方法1:逐个创建
[root@localhost home]# mkdir d1
[root@localhost home]# mkdir d1/d2
[root@localhost home]# mkdir d1/d2/d3
[root@localhost home]# mkdir d1/d2/d3/d4
方法2:
[root@localhost home]# mkdir -p d1/d2/d3/d4
6)clear清屏命令
作用:清屏
快捷键:ctrl+l
7)cp命令
作用:复制文件和目录
格式:
格式1:cp [选项] 源文件 目标位置 复制过去后,名字不变
格式2:cp [选项] 源文件 目标位置/新名字 复制过去后,名字改为新的即可
选项:
-r:用于复制目录【必须用-r,才能复制目录】
-a:在复制过程中,保持文件的属性不变
例子:
#1 将/etc/passwd 复制到home下
[root@localhost tmp]# cp /etc/passwd /home/
#2 将/etc/passwd 复制到根下
[root@localhost tmp]# cp /etc/passwd /
#3 将/etc/passwd 复制到home下,复制后的名字变成qq
[root@localhost tmp]# cp /etc/passwd /home/qq
#4 将tmp下的目录d1复制到home下【d1是前面的例子中创建的】
[root@localhost tmp]# cp -a /tmp/d1 /home/
8)mv命令
作用:移动文件和目录
格式:
mv 源文件 目标位置
mv 原文件 目标位置/新名字
例子:
#1 在home下新建一个测试文件,t.txt
[root@localhost tmp]# touch /home/t.txt
#2 将上例中的t.txt移动到根下
[root@localhost tmp]# mv /home/t.txt /
#3 将上例中的t.txt移动到根下,并改名为tt.txt
[root@localhost tmp]# mv /home/t.txt /tt.txt
#4 将根下的tt.txt 改名为ttt.txt【原地改名】
[root@localhost tmp]# mv /tt.txt /ttt.txt
9)rm命令
作用:删除文件
格式:
格式1:rm [选项] 文件
格式2:rm [选项] 路径/文件
选项:
-r:用于删除目录
-f:强制执行删除操作(不需要再输入y进行确实删除了)
例子:
#1 删除当前目录下的a.txt
rm -rf a.txt
#2 删除根目录下的a.txt
rm -fr /a.txt
#3 删除home下的a.txt
rm -r -f /home/a.txt
注意:
如果不指定路径,则默认路径是当前位置
如果指定了路径,就去指定的路径下找文件
touch a 在当前位置下,创建文件a
touch /home/a 在home目录下,创建文件a
mkdir b 在当前位置下,创建目录b
mkdir /home/b 在home目录下,创建目录b
cp c /home/ 将当前目录下的c复制到home目录下
cp /tmp/c /home 将tmp目录下的c复制到home下
mv d /home 将当前目录下的d移动home目录下
md /tmp/d /home 将tmp目录下的d移动到home目录下
10)通配符
1:就是具有特殊意义的符
2:主要有俩个
* 代表的是任意多个任意的字符【0个、1个、多个】
? 代表的是任意一个字符【1个】
先准备测试文件
创建10个后缀是txt的文件
[root@localhost home]# touch {1..10}.txt
创建10个后缀是doc的文件
[root@localhost home]# touch {1..10}.doc
创建10个文件,文件名分别是a1 a2 a3... a10
[root@localhost home]# touch a{1..10}
例子:*号的用法
#1 删除后缀是txt的文件
[root@localhost home]# rm -rf *txt
思考:如果文件名是txt,是否能被删除【答案是可以的】
#2 删除有a为开头的文件
[root@localhost home]# rm -rf a*
#3 删除文件名的第一个字符是a,结尾是txt的文件
[root@localhost home]# rm -fr a*txt
#4 删除以a为结尾的文件
[root@localhost home]# rm -rf *a
#5 删除文件名中包含字母a的文件
[root@localhost home]# rm -fr *a*
#6 删除当前位置的所有的文件
[root@localhost home]# rm -fr *
#7 删除tmp目录下的book目录中的所有文件
方法1:笨办法【先切换到book目录下,然后执行删除操作】
[root@localhost ~]# cd /tmp/book/
[root@localhost book]# rm -rf *
方法2:正常人用的方法
[root@localhost ~]# rm -fr /tmp/book/*
例子:?的用法
#1 删除文件名的第二个字符是a的文件
[root@localhost ~]# rm -fr ?a*
?表示a前面一定是有一个字符的,
此时不能用*,因为*表示的数量是不确定的
#2删除文件名的倒数第二个字符是a的文件
[root@localhost ~]# rm -fr *a?
#3删除文件名只有三个字符的文件
[root@localhost ~]# rm -fr ???
#4删除文件名中包含至少三个字符的
[root@localhost ~]# rm -fr ???*
[root@localhost ~]# rm -fr *???*
[root@localhost ~]# rm -fr *???
都可以
11)cat命令
作用:读取文件的内容【比较合适读取行数较少的文件】
格式:
cat 路径/文件名
例子:
# 准备测试文件
[root@localhost ~]# cp /etc/passwd /home/
# 查看home下的passwd文件中的内容
[root@localhost ~]# cat /home/passwd
12)head命令
作用:查看文件的前若干行,默认是看前10行
格式:
head [选项] 路径/文件
选项:
-n (数字):指定看前几行
例子:
# 准备测试文件
[root@localhost home]# for i in {1..500}; do echo $i >> /home/qq.txt ;done
操作示例
# 看前10行
[root@localhost home]# head qq.txt
# 看前20行
[root@localhost home]# head -n20 qq.txt
# 看前5行
[root@localhost home]# head -n5 qq.txt
13)tail命令
作用:查看文件的最后若干行,默认是看最后10行
格式:
tail [选项] 路径/文件
选项
-n (数字):指定看后几行
例子:
# 准备测试文件
[root@localhost home]# for i in {1..500}; do echo $i >> /home/qq.txt ;done
操作示例
# 看最后10行
[root@localhost home]# tail qq.txt
# 看最后15行
[root@localhost home]# tail -n15 qq.txt
# 看最后6行
[root@localhost home]# tail -n6 qq.txt
14)more命令
作用:实现分屏查看大文件
格式:
more 路径/文件名
操作:
回车:显示下一行
空格:显示下一屏
b:显示上一屏
/+(目标字符):在文件中搜索内容
n:继续向后进行搜索
q:退出
例子
# 准备测试文件
[root@localhost home]# cp /etc/init.d/functions /home/
查看home中的functions
[root@localhost home]# more /home/functions
15)less命令
作用:实现分屏查看大文件
格式:
less 路径/文件
操作:
回车:显示下一行
空格:显示下一屏
b:显示上一屏
/+(目标字符):在文件中搜索内容
n:继续向后进行搜索
q:退出
16)wc命令
作用:用于统计文件中有多少行、多少个单词、多少个字符
格式:
wc [选项] 路径/文件名
选项:
-l:统计行数 【line】
-w:统计单词数【word】
-c:统计字符数【character】
案例:
# 准备测试文件
[root@localhost home]# echo "hello boys" >>h.txt
[root@localhost home]# echo "my name is zxhk" >>h.txt
# 用wc统计文件的内容
[root@localhost home]# wc h.txt 2 6 27 h.txt
2 表示的是几行
6表示的是几个单词
27表示的是几个字符
#仅仅显示文件的的行数
[root@localhost home]# wc -l h.txt 2 h.txt
[root@localhost home]# wc -w h.txt 6 h.txt
[root@localhost home]# wc -c h.txt 27 h.txt
————————————————
版权声明:本文为CSDN博主「活着868」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_67254534/article/details/123184208