Linux 文件目录配置及命令总结

前言

在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:以特定格式输出文件的某些信息
  • 文件的三个时间:
  1. Access time(atime):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间。
  2. Modify time(mtime):表示我们最后一次修改文件的时间。
  3. 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 [移动文件的原路径] [移动文件的新路径]

语法如下:

# 将当前目录下的1.txt移动到/opt目录中
[root@localhost ~]# mv 1.txt /opt

# 移动文件夹
[root@localhost ~]# mv test/ /mnt/

当mv移动的文件在当前目录时,就可以起到文件重命名的作用

利用mv命令将其重命名为2.txt


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
posted @ 2023-11-03 19:15  夜未至  阅读(725)  评论(0编辑  收藏  举报