前言
在Linux中,一切皆文件,而每一个文件和目录都是从根目录开始的
Linux文件目录的作用
- /bin目录:用来存放二进制可执行命令的目录,用户常用的命令都存在该目录下。
- /sbin目录:用来存放二进制可执行文件,这里面的命令只供系统管理员,管理系统使用(root用户)。
- /dev目录:设备文件存放的目录,因为linux中一切皆文件,所以就像鼠标、键盘、光驱,对linux来说也都是一个个的文件。例如/dev/cdrom(光驱)、/dev/sda1(硬盘)等。
- /tmp:类似windows中的垃圾回收站
- /home:普通用户的家目录,用来存放普通用户的文件。
- /boot目录:存放内核文件和系统引导程序
- /lib目录:存放二进制库文件,库文件一般以
.so|lib*|ld*
。 - /mnt目录:临时挂载临时存储设备的目录
- /opt目录:下载目录,一般是给第三方厂家开发的程序的安装目录,一般用不了
- /media目录:用于挂载可移动设备的临时目录。
- /root目录:系统管理员的家目录。
- /sys目录:与/proc一样,存放系统运行过程中的信息文件。
- /etc目录:yum/rpm安装的软件配置文件所在的目录。
- /usr目录:安装除操作系统本身外的一些应用程序或组件的目录,一般可以认为是linux系统上安装的应用程序默认都安装在此目录中
处理目录常用的命令
命令 | 功能 |
---|---|
ls | 列出目录及文件名 |
cd | 切换目录 |
pwd | 显示当前所在的目录 |
mkdir | 创建一个新的目录 |
rmdir | 删除一个空的目录 |
cp | 复制文件或目录 |
rm | 删除文件或目录 |
mv | 移动文件与目录,或者修改文件与目录 |
-
ls命令(列出目录)
ls命令是Linux中最常用的命令,当你不知道敲什么命令时候可以考虑ls拖一下时间
ls搭配的常用参数:
ls -a/d/l -a:列出全部的文件(包含隐藏文件),一般情况下隐藏文件是无法直接查看的 -d:列出目录本身,而不是列出目录的文件数据 -l:长数据串列出,包含文件的属性与权限等数据
图示如下
这是不带参数的ls,无法查看隐藏文件
这是a参数的ls
这是ls的al参数,加个t参数之后比较常用
cd命令(切换目录)
cd [ 相对路径或绝对路径]
#绝对路径 cd /bin/ #相对路径 cd ../ #当直接敲cd命令时会将工作目录移到当前用户的家目录
图示如下:
这是以绝对路径进行cd切换工作目录
这是以相对路径切换工作目录
pwd命令(显示当前所在的目录)
pwd -P #-p:显示出确实的路径,而非使用连接(link)路径。
实例如下:
注.没有p和有p相差的原因在这里!!
为文件夹创建一个符号链接(比如说在home目录下创建一个htm链接指向/var/www/html)。进入新创建的目录并打印出含有以及不含符号链接的目录。在home目录下创建一个htm链接指向/var/www/html,并进入
ln -s /var/www/html/ htm
因为htm连接到/var/www/html/,所以加上会显示完整的路径!!
mkdir命令(创建新目录)
语法如下:
mkdir -m/p 目录名称
-m:配置文件的权限
eg:mkdir -m 711 test1 #权限为711
-p:多层创建。
eg:mkdir -p a/b/c/d #禁止套娃
rmdir命令(删除空目录)
语法如下:
rmdir 目录名称
rmdir -p 目录名称
eg:rmdir -p a/b/c/d #空目录就这样删除了~
PS:一般情况下rmdir只能删除空目录,如果你尝试使用rmdir去删除非空目录,那么会出现下面的错误
提示非空目录,难道rmdir不能删除非空目录?可以,可以使用强制删除,但是一般情况下不会有人用,大家更习惯rm删除
rmdir --ignore-fail-on-non-empty 非空目录的名字
cp命令(复制文件或目录)
语法如下:
cp [要拷贝文件] [目标目录下]
#搭配的参数如下
-a:==pdr
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-d:若来源档为连接档的属性,则复制连接档属性而非文件本身 #连接档可以用ls -ld查看
-r:递归持续复制
-i:覆盖文件,有提示(默认为覆盖)
-f:强制的意思,若目标文件已经存在且无法开启,则移除后再尝试一次
案例:
- 将当前目录下1.txt复制到test目录下
- 将当前目录下的test文件夹及其内部的文件复制到test2中
ps:在linux中,文件夹是不可以直接复制。
加个r参数进行递归复制
- 将test、test2和test3复制到test4目录中
cp -r test test2 test3 test4
多个对象时,最后一个对象是最终的对象目录,即复制到该目录
stat命令(查看文件详细属性)
- 格式:stat [option] file
- 参数:
- -L:显示符号链接所指向文件的信息
- -f:显示文件所在文件系统的信息
- -t:以简洁方式输出信息
- -c:以特定格式输出文件的某些信息
- 文件的三个时间:
- Access time(atime):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间。
- Modify time(mtime):表示我们最后一次修改文件的时间。
- Change time(ctime):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等
- 补充:
当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变;
当修改文件时,access,modify,change time 都会跟着改变;
当修改文件属性时,change time 改变,而access,modify time 不变。
- linux中的链接相当于快捷方式。
rm命令(移除文件或目录)
删除文件有两种方式:
1、物理删除:直接删除文件。
2、逻辑删除:将文件隐藏,没有直接删除。
语法如下:
rm -fir 文件/目录
#搭配的参数如下
-f:忽略不存在的文件,不会出现警告的信息
-i:互动模式,在删除前会询问是否进行
-r:递归删除 #和套娃的意思一样,非常危险,谨慎操作~
# 案例:
# 将/root目录下的1.txt删除
[root@localhost ~]# rm 1.txt
# 删除/root目录下的test文件夹及其内部所有的文件
[root@localhost ~]# rm -rf /root/test/
# 禁用的命令:rm -rf /*
# 解决rm命令误操作:将rm命令改一个名称。
# 通过查看命令存放的路径,更改名称:which命令查看命令存放路径
可以搭配 ‘i’ 使用,避免删除了不该删除的文件
alias命令(系统别名)
-
alias : 查看系统别名
-
格式:
- alias [命令名] = [新名]
- eg:alias rm='xxx' : 设置系统别名
-
补充:不使用别名,就在命令之前增加
\
- [root@localhost ~]# \rm 1.txt
mv命令(移动文件或目录,或修改名称)
移动文件相当于剪切。
- 格式
mv [移动文件的原路径] [移动文件的新路径]
语法如下:
# 将/root目录下的1.txt移动到/opt目录中
[root@localhost ~]# mv /root/1.txt /opt
# 移动文件夹
[root@localhost ~]# mv test/ /mnt/
4.Linux文件内容查看
Linux中经常使用以下命令来查看文件的内容:
- cat 显示文件内容,但是不可以编辑
- tac 从最后一行开始显示和cat相反
- nl 显示的时候,输出行号
- more 一页一页的显示文件内容
- less与more类似,但是比more更好的是他可以往前翻页
- head 只看头几行
- tail 只看尾几行
cat命令
由第一行开始显示文件内容
语法如下:
cat -AbEnTv
选项和参数如下:
- -A:== -vET的整合,可以列出一些特殊字符而不是空白
- -b:列出行号,仅针对非空白做行号显示,空白不显示行号
- -E:将结尾的断行字节$显示出来
- -n:列出行号,连同空白行也会有行号,与-b的选项不同
- -T:将Tab按键以^|显示出来
- -v:列出一些看不出来的特殊字符
#示例如下:
#查看/etc/issue这个文件的内容
cat /etc/issue
tac命令
tac与cat相反,文件内容从最后一行开始显示,可以看出tac是cat的’倒数‘!
nl命令
显示行号,语法如下:
nl -bnw 文件
选项与参数如下:
- -b:指定行号指定的方式,主要有两种:
- -ba:表示不论是否为空行,同样列出行号
- -bt:如果有空行,空行不列出行号
- -n:列出行号表示的方法,主要有三种:
- -n ln:行号在屏幕的最左侧显示
- -n rn:行号在自己栏位的最右方显示,且不加0
- -n rz:行号在自己栏位的最右方显示,且加0
- -w:行号栏的占用的位数
#用nl列出/etc/issue的内容,实例如下:
nl /etc/issue
more命令
一页一页翻动
选项参数如下:
- 空格:代表向下翻一页
- Enter:代表向下翻一行
- /字串:代表在这个显示的内容中,向下搜索/字串这个关键字
- :f :立刻显示出档名以及目前显示的行数
- q :代表立刻离开more,不再显示该文件内容
- b :代表往回翻页,不过这个动作只对文件有用
#实例如下:
more /etc/man_db.config
less命令
一页一页翻动
选项参数如下:
- 空格:向下翻动一页
- [PgDn] :向下翻动一页
- [PgUp] :向上翻动一页
- /字串:向下寻找字串
- ?字串:向上寻找字串
- n:重复前一个动作
- N:重复前一个动作(反向)
- q:离开less这个程序
head命令
取出文件的前几行,默认显示前十行
选项参数如下:
- -n:后面接数字,代表显示几行的意思
#显示文件的前20行:
head -n 20 HammerZe.txt
tail命令
取出文件后几行,默认显示后十行
选项参数如下:
- -n:后面接数字,代表显示几行的意思
- -f:表示持续侦测后面所接的档名,要等按下Ctrl+c才会结束tail的侦测
#显示文件最后20行:
tail -n 20 HammerZe.txt
标签:总结,文件,文件目录,删除,行号,命令,Linux,root,目录
From: https://www.cnblogs.com/wushiyiwuzhong/p/17807640.html