# Linux(CentOs)

# 各个目录意思

-- --
目录 作用
/bin 存放基本的二进制可执行文件,如 ls、cp、mkdir 等,普通用户和管理员都可使用。
/sbin 存放系统管理命令,如 fdisk、reboot,只有管理员(root)可执行。
/lib 存放基本的共享库文件(*.so),用于 /bin 和 /sbin 目录下的程序运行。
/lib64 存放 64 位系统的共享库文件。
/boot 存放启动相关的文件,如内核 vmlinuz、initrd,以及 grub 配置文件。
/dev 存放设备文件,如 sda(磁盘)、tty(终端)、null(空设备)。
/etc 存放系统的配置文件,如 passwd(用户信息)、ssh 配置等。
/home 存放用户的个人目录,如 /home/user。
/root 超级用户(root)的主目录,普通用户没有访问权限。
/tmp 临时文件存放目录,系统重启后可能会清空。
/usr 存放系统软件及用户应用程序。
/var 存放经常变化的数据,如日志 /var/log,缓存 /var/cache,邮件 /var/mail。
/mnt 用于临时挂载外部文件系统,如 U 盘、光盘。
/media 用于自动挂载的外部设备,如 USB、CD-ROM。
/opt 存放第三方软件包(如 Oracle、VMware)。
/proc 伪文件系统,存放进程和系统信息,如 /proc/cpuinfo(CPU 信息)。
/sys 伪文件系统,存放硬件设备相关信息,如 /sys/class/net/(网络设备)。

# ls 列出所有文件

  • ls -l
    • 显示详细信息
      • 第一个 d 开头表示文件夹。如果是减号开头是文件
      • 除第一个字母外,其他都是权限:
        • r:读
        • w:写
        • e:执行权限
        • 如:
d rwx r-x r-x
第一个字母 d 表示文件夹, 后面的2个2个一组
第一个 rwx 表示拥有这个目录权限的人可读可写可执行
第二个 r-x 在同一组当中只有读和执行没有写
剩下的 r-x 其他的组有读和执行没有写 

- rw- --- ---
和上面一样

ls命令解释

  • ls -a
    • 显示当前目录下所有文件(包含隐藏文件,linux隐藏目录以点开头
  • ls -al
    • ls -al等同于:ls -a + ls -l的功能。
  • ls -i 文件的inode号
    • 在Linux操作系统中,每一个文件都有自己的身份证号:inode号(index node:索引节点号) 文件的inode号

# mkdir 新建目录

  • mkdir -p:表示一次创建多重目录

# touch 新建文件

  • touch 文件名 例如
touch a.txt b.txt c.txt 一次性在当前目录下,新建多个文件,文件名之间采用空格分隔。

# rm 删除文件

  • rm a.txt:删除当前目录下的a.txt文件,这种方式会询问,是否删除,输入y表示删除,输入n表示不删除。如果不想有提示就增加 -f 删除多个文件
  • rm -f b.txt c.txt (删除b.txt和c.txt文件)
  • rm -f *.java(删除所有.java结尾的文件,模糊匹配的方式。)

# rm -r 删除目录

删除目录的时候,必须添加-r参数,这个-r表示删除一个目录,或者递归删除目录下的所有子目录以及子文件。

  • rm -r x(删除当前目录下的x目录,以及x目录下所有的子目录),但是这种方式需要用户自己输入y进行确认删除。
  • rm -rf x (强行删除x目录以及x目录下所有的子目录,并且不询问。包括子文件也全部删除。)

# cp 文件拷贝 | 目录拷贝

cp 目录名1 目录名2

  • -rf:-r递归拷贝,-f强行拷贝

# find | whereis 文件搜索

在CentOS中,可以使用以下方式进行文件搜索:

  • find命令:使用find命令可以在指定目录下搜索文件。可以使用不同的选项来指定搜索的文件类型、大小、修改时间等条件。例如:
find /usr/local -name "catalina.out"
find /usr/local -name "*.out"
  • whereis命令:使用whereis命令可以在系统中搜索指定的命令的位置。例如:
whereis startup.sh

# 软连接 & 硬链接

# 软连接

软链接类似于windows操作系统中的快捷方式。 软链接和目标文件实际上是两个文件,在软链接中存储的是目标文件的路径。软链接关联的目标文件如果被删除,软链接这个快捷方式也就失效了

ln -s HelloWorld.java HelloWorld.java2
  • 表示给hello.java文件创建一个hello2.java的快捷方式(软链接)
  • hello.java是目标文件。hello2.java文件是软链接,属于快捷方式

# 硬链接

将软链接的 -s 去除就是硬链接

  • 硬链接的特点:
  • 主要是用来做:重要文件备份。
  • 目标文件删除之后,硬链接只要在,文件其实就没有被删除。或者说硬链接删除之后,目标文件还在。总结一句话:目标文件或者硬链接只要有一个存在,文件就没有被真正的删除。
  • 硬链接机制和复制粘贴还不一样,复制粘贴之后的文件,修改其中之一,另一个不会变,但是硬链接就不一样了。

# tar 压缩 & 解压缩

# tar

tar命令的常用参数

  • z:指定是否使用gzip压缩方式压缩。(扩展名通常为:tar.gz。特点:速度最快)
  • j:是否需要用 bzip2 压缩方式压缩。(扩展名通常为:tar.bz2。特点:体积最小)
  • c:创建压缩(create)
  • x:解压缩
  • v:是否在压缩的过程中显示文件
  • f:指定归档文件名(file)。f参数后面必须紧跟文件名,不能在f参数后面再加其他参数。
  • t:查看 tarfile 里面的文件
  • C:指定解压到的具体目录。注意是大写C。 注意:c、x、t,这三个参数不能共存,只能出现一个。
1. 查看tar里面的文件:tar -tf nginx-1.26.3.tar.gz
2. 解压:tar -zxvf nginx-1.26.3.tar.gz

# vim & vi

  • vi 是 Unix 早期提供的标准命令行下的文本编辑器,是一款非常强大、高效的编辑器,可以对文本进行快速修改和编辑,具有常见编辑器的基本功能。
  • vim(Vi Improved)是在vi基础上进行了改进和扩展的一个版本,它保留了vi的全部功能,并添加了许多新功能,如基本的 GUI 界面、语法高亮、多级撤销/重做、对齐、插件支持等等。可以说 vim 是强大的文本编辑器之一,被众多的开发者、管理员、写作人员和爱好者使用。
  • 在 CentOS 中,系统默认安装的是 vim 编辑器,但是为了兼容 vi 编辑器的使用习惯,CentOS 将 vim 的执行文件命名为 vi。因此,实际上在 CentOS 中使用 vi 和 vim 是等价的,都是使用 vim 编辑器进行文本编辑。

# vi编辑器常用命令

  • dd:删除光标所在行
  • yy:复制光标所在行到缓冲区
  • p:粘贴缓冲区中的内容
  • gg:光标回到文件第一行
  • GG:光标回到文件最后一行
  • ^:光标移动至当前行的行首
  • $:光标移动至当前行的行尾
  • /关键字:按斜杠/键,可以输入想搜索的字符,然后确定进行搜索,如果第一次查找的关键字不是想要的,可以一直按 n 键往后查找到想要的关键字为止
  • o命令:在下一行插入。
  • x命令:命令行模式下,x命令会删除单个字符。
  • a命令:在光标后面插入。
  • a:在当前光标后一个字符插入

# nano编辑器

nano编辑器相对于vi编辑器来说出现的较晚,1999年诞生。vi编辑器时1976年诞生。nano编辑器更加简单一些。 以下是nano常用的快捷键,这些快捷键多数是无法在windows环境下使用的,也就是说在xshell中无法使用,因为和windows很多快捷键是冲突的,在linux环境中可以用:

  • 打开文件:nano Test.java
  • 保存文件:ctrl + o
  • 退出nano:ctrl + x
  • 选中多个字符:shift + 左方向/右方向
  • 剪切:ctrl + k
  • 粘贴:ctrl + u
  • 搜索:ctrl + w
  • 替换:ctrl + \
  • 复制选中的:alt + 6
  • 撤销:alt + u
  • 重做:alt + e