一、Linux 系统目录结构

1、查看系统结构目录

  1. [guest@www.masswerk.at:2]$ ls /
  2. bin dev etc home root sbin tmp
  3. usr var
  4. 注:
  5. bin:存放的是最常用的命令
  6. boot:存放linux启动时使用的一些核心文件
  7. dev:存放的是Linux的外部设备
  8. etc:存放的是配置文件和子目录
  9. home:用户的主目录
  10. lib:共享文件库
  11. root:系统管理员的用户主目录
  12. tmp:存放一些临时文件
  13. usr:存放一些应用程序和文件
  14. var:存放日志的目录

2、远程登陆

Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。
以下使用的是:putty为例

3、创建目录

  1. mkdir demo.txt
  2. 注:mkdir + 目录名
  3. touch + 文件名
  4. 注:创建文件

4、查看当前文件是属于哪一个目录

  1. ls -l

image.png5、查看隐藏的目录结构

  1. ls -al

6、关于cd后面跟的字符的介绍

  1. cd ~ 表示切换到根目录
  2. cd .. 表示切换到当前目录的上一级
  3. cd /目录/目录/ 表示以绝对路径进入到当前所指定的目录下

7、删除空的目录

  1. [guest@www.masswerk.at:2]$ ls -l
  2. drwxr-x--- 2 guest users -------- 2022/03/08 09:48:00 demo.txt
  3. drwxr-x--- 2 guest users -------- 2022/03/08 10:01:06 test
  4. [guest@www.masswerk.at:2]$ cd test
  5. [guest@www.masswerk.at:2]$ pwd
  6. /home/guest/test
  7. [guest@www.masswerk.at:2]$ cd ..
  8. [guest@www.masswerk.at:2]$ rmdir test rmdir + 所要删除的空目录
  9. [guest@www.masswerk.at:2]$ ls -l
  10. drwxr-x--- 2 guest users -------- 2022/03/08 09:48:00 demo.txt
  11. [guest@www.masswerk.at:2]$

8、复制文件

  1. cp -i home/guest/demo.txt /bin/demo_copy 文件的复制
  2. 注:如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!

9、移动文件或者目录

  1. [root@www ~]# cd /tmp
  2. [root@www tmp]# cp ~/.bashrc bashrc
  3. [root@www tmp]# mkdir mvtest
  4. [root@www tmp]# mv bashrc mvtest
  5. 注:复制一文件,创建一目录,将文件移动到目录中

10、查看文件中的内容

  1. cat + 所要查看的文件名 表示文件内容是从第一行开始进行展示
  2. tac + 所要查看的文件名 表示文件内容从最后一行开始进行展示

11、一次创建多个文件

  1. touch 文件前缀名_{1..3}_文件后缀名.文件后缀类型
  2. 注:{起始数字..终止数字}

12、该命令不但可以进行添加用户到系统还可默认新用户在/home目录下创建一个工作目录

  1. sudo adduser + 用户的名字

13、切换到自己新创建的用户下

  1. su -l + 新创建用户的名字

14、查看当前文件夹属于哪一个目录

  1. groups + 只能是目录名

15、这里 cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出

  1. cat + muluming + | sort
  2. 注:| sort 代表的是按照字典进行排序
  3. | grep -E 表示该命令过滤掉一些不想看到的结果

image.png
16、删除新创建的用户

  1. sudo deluser + 要删除的用户名 + --remove-home
  2. 注:--remove-home 使用该参数会将该用户的工作目录一并删除

17、查看文件权限
image.png
image.png
18、查看文件大小

  1. ls -aSsh 查看文件大小
  2. 注:s 表示文件大小
  3. S 文件大小排序

19、转换文件的拥有者

  1. sudo chown + (想要让哪一个文件的所属者进行拥有,即拥有着的名字) + 文件名

20、修改成为自己的拥有者
image.png
21、强行退出

  1. tatil
  2. find /
  3. 注:以上两个命令中任意一个命令都可以进行使用,进行终止

22、查看当前登陆的用户名

  1. whoami

23、修改文件的所有者

  1. sudo chown root用户 文件名

24、修改用户的权限

  1. chmod 600 + 文件名

25、删除添加的新用户

  1. sudo deluser + 新添加的用户名 --remove-home

26、目录结构如下图所示
image.png
二、文件的基本操作
1、使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用)

  1. touch -p father/son/grandson
  2. 注:-p 参数表示一次创建多级目录

2、使用 cp 命令(copy)复制一个文件到指定目录;如果直接使用 cp 命令复制一个目录的话,会出现如下错误:

image.png

  1. cp 被复制的文件名 具体复制在哪一个文件下的文件名

3、删除
3.1 删除文件
使用 rm(remove files or directories)命令删除一个文件:

  1. rm + 文件名

有时候你会遇到想要删除一些为只读权限的文件,直接使用 rm 删除会显示一个提示,如下:

  1. rm -f + 文件名

3.2 删除目录
跟复制目录一样,要删除一个目录,也需要加上 -r 或 -R 参数:

  1. rm -r + 目录名

遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数

  1. rm -rf + 目录名

4.1 移动文件
使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录。
例如将文件“ file1 ”移动到 Documents 目录:
image.png
4.2 重命名文件

  1. mv fileName myFile

image.png5、查看文件类型
image.png

三、环境变量
1、变量

image.png
注意:并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。
2、搜索文件
2.1 whereis
你会看到 whereis find 找到了三个路径,两个可执行文件路径和一个 man 在线帮助文件所在路径,这个搜索很快,因为它并没有从硬盘中依次查找,而是直接从数据库中查询。
image.png
2.2 locate
使用 locate 命令查找文件也不会遍历硬盘,它通过查询 /var/lib/mlocate/mlocate.db 数据库来检索信息。不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行 updatedb 命令来更新数据库。所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次 updatedb 命令(在我们的环境中必须先执行一次该命令)。注意这个命令也不是内置的命令,在部分环境中需要手动安装,然后执行更新。
image.png
image.png
image.png
2.3 which 小而精
image.png
2.4 find
find 应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find 命令强大到,要把它讲明白至少需要单独好几节课程才行,我们这里只介绍一些常用的内容。
这条命令表示去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录。这是 find 命令最常见的格式,千万记住 find 的第一个参数是要搜索的地方。命令前面加上 sudo 是因为 shiyanlou 只是普通用户,对 /etc 目录下的很多文件都没有访问的权限,如果是 root 用户则不用使用。
image.png
四、解压和打包
1、linux下的压缩文件的后缀有哪些?
image.png
2、打包
下面命令将目录 /home/shiyanlou/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小(后面会具体说明该命令)
image.png
3、查看打包后的文件类型以及文件大小

  1. du -h + 打包之后的文件名

4、如何将在linux上的压缩包能正常通过windows来进行解压
注:需要在打成压缩包的命令的基础上加上 -l 参数

  1. zip -r -l -o shiyanlou.zip /home/shiyanlou/Desktop
  2. -e 是给压缩文件加密
  3. -q 表示的是安静模式
  4. -r 表示递归打包包含子目录的全部内容

5、解压zip压缩包
5.1 解压到当前目录

  1. unzip shiyanlou.zip

5.2 使用安静模式,将文件解压到指定目录

  1. unzip -q shiyanlou.zip -d ziptest
  2. -d 表示指定一个目录
  3. 注:如何没有该目录,则会进行自己创建

5.3 如何查看当前zip压缩文件中的内容

  1. unzip -l shiyanlou.zip
  2. 注:使用 -l 参数,不用解压,指挥查看当前压缩包下的内容

5.4 如何解决中文乱码问题

  1. unzip -O GBK 中文压缩文件.zip
  2. 注:-O 该参数后面指定编码类型

6、tar 压缩和解压
6.1 创建一个压缩包
下面命令中,-P 保留绝对路径符,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。你还可以加上 -v 参数以可视的的方式输出打包的文件

  1. cd /home/shiyanlou
  2. tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop

6.2 解压
解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)

  1. mkdir tardir
  2. tar -xf shiyanlou.tar -C tardir
  3. 注:-x 表示解压
  4. -f 表示压缩文件名
  5. -C 表示后面跟的是具体解压到哪一个指定目录下

6.3 查看文件并不解压该文件
只查看不解包文件 -t 参数

  1. tar -tf shiyanlou.tar
  2. 注:-t 参数表示可以查看压缩文件中的内容并不可以进行解压

6.4 解压
解压 *.tar.gz 文件

  1. tar -xzf shiyanlou.tar.gz
  2. 注:解包的参数是:-z

image.png
7、文件系统操作和磁盘管理
7.1 查看磁盘的容量

  1. df
  2. 注:该命令后面加上参数 -h 表示以更易读的方式展示

7.2 查看目录的容量

  1. du -h

8、命令帮助手册
8.1 如何区分内部命令和外部命令
image.png
9、执行顺序控制与管道
9.1 如何在当前目录下所搜名字为XXX的文本文件
注:-r 参数表示递归搜索子目录中的文件,-n 表示打印匹配项行号,-I 表示忽略二进制文件。这个操作实际没有多大意义,但可以感受到 grep 命令的强大与实用
image.png
10、简单的处理文本处理
image.png