Linux笔记

Linux结构

Linux的目录是一个树形结构, 从**/ 根目录**开始

Windows系统可以拥有多个盘符,C ,D,E

Linux路径描述方式

Linux路径之间的层级关系使用 :/来表示 /user/local/hello.txt

Windows,路径之间的层级关系,用 :\ 来表示 D:\data\hello.txt

Linux命令

命令通用格式:command 【-options】[parameter]

command:命令本身

-options: 可选,非必填,命令的一些选项,可以通过选项控制命令行为的细节

parameter:可选,非必填,命令的参数,多数用于命令的指向目标等

如:ls -l /home/itheima ls是命令本身, -l是选项, /home/itheima是参数

LS命令

ls 【-a -l -h -d-i】【Linux路径】 以平铺的形式,列出工作目录下的内容

  • -a: all的意思,显示所有文件
  • --color=when 支持颜色输出
  • -d:显示目录信息,而不是目录下的文件
  • -h:按照习惯显示文件大小
  • -l:长格式显示
[root@PccYH ~]# ls -l
total 28
-rw-r--r-- 1 root root  176 Feb 18  2024 1
drwxr-xr-x 4 root root 4096 Dec 24  2023 docker_data
drwxr-xr-x 2 root root 4096 Jun  2 10:37 halo
-rw-r--r-- 1 root root  787 Dec 24  2023 license.jwt
drwxr-xr-x 3 root root 4096 Jun  3 20:47 otherfile
drwxr-xr-x 6 root root 4096 Apr  5 21:37 webFile
drwxr-xr-x 5 root root 4096 Jun  3 13:00 zfile

可以进行混用,如-lh, ls -lah

目录切换命令 cd,pwd

cd:目录切换

pwd:查看当前工作目录

相对路径、绝对路径和特殊路径

相对路径:以当前目录为起点,描述路径的一种写法

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头

特殊路径:

  • 。 :表述当前目录
  • 。。: 表示上一级目录 cd .. cd ../..
  • ~ :表示HOME目录, 切换到HOME目录

创建目录命令

mkdir 【-p】 Linux路径

-p 选项可选,创建不存在的父目录,适用于创建连续多层级的目录

  • mkdir -p itcast/good/666 连续创建多层的目录

文件操作命令

touch命令

touch Linux路径

如:touch hello.txt

cat命令

cat 文件路径

如:cat hello.txt

more 命令

cat:直接将内容全部显示出来

more:支持翻页,如果文件内容过多,可以一页页的展示,通过空格翻页,向上翻页按b通过q 退出

more linux路径

如:more /etc/service

cp命令

用于复制文件\文件夹

cp 【-r】 参数1 参数2

  • -r 可选,用户复制文件夹使用,表示递归
  • 参数1 linux路径,表示被复制的文件或文件夹
  • 参数2 Linux路径,表示要复制去的地方

如: cp test1.txt text2.txt 将test复制并重命名为 test2

复制文件夹 需要带上 -r命令 cp -r ite1 ite2

mv命令

用于移动文件\文件夹

mv 参数1 参数2

参数1:表示被移动的文件或文件夹

参数2:表示要移动的地方,如果目标不存在,则进行改名,确保目标存在

如:

  • mv test.txt /home/ 将 text文件移动到 home下
  • mv test2.txt text3.txt 当前目录下移动,文件并不存在,进行改名操作
  • mv test /home/ 将test文件夹移动到home目录下

rm命令

用于删除文件、文件夹

rm 【-r -f】 参数1,参数2.。。参数

  • -r 用于删除文件夹
  • -f 表示force 强制删除(不会弹出提示确认信息)
    • 普通用户删除内容不会弹出提示,只用root管理员删除内容会有提示
    • 所以一般普通用户用不到-f 选项
  • 参数1,参数2,参数N 表示要删除的文件或文件夹路径,按照空格隔开

支持通配符,用来模糊匹配

  • 符号 * 表示通配符
  • test*:表示匹配任何以test开头的内容
  • *test:表示匹配任何以test结尾的内容
  • *test * 表示匹配任何包含tset的内容

如:rm -r test* 删除以test开头的文件或文件夹

which命令

通过which命令,查看所使用一系列命令的程序文件所在位置

which 要查找的命令

[root@PccYH ~]# which cd
/usr/bin/cd
[root@PccYH ~]# which pwd
/usr/bin/pwd
[root@PccYH ~]# which touch
/usr/bin/touch

find命令

按文件名查找 文件

find 起始路径 -name "被查找文件名"

[root@PccYH ~]# find / -name "test"
            find命令 从根目录开始搜索 以文件名格式  文件为test

支持通配符

  • 符号 * 表示通配符
  • test*:表示匹配任何以test开头的内容
  • *test:表示匹配任何以test结尾的内容
  • *test * 表示匹配任何包含tset的内容
按文件大小查找文件

find 起始路径 -size +|-n【kMG】

  • +,- 表示大于和小于
  • n 表示大小数字
  • kMG表示大小的单位,k(小写字母)表示kb,M表示MB G表示GB

如:查找小于100kb的文件:find / -size -10k

查找大于100MB的文件:find / -size +100M

查找大于1GB的文件 find / -size +1G

grep过滤命令

从文件中通过关键字过滤文件行

grep 【-n】关键字 文件路径

选项-n,可选,表示再结果中显示匹配行的行号

参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用 ‘“ ”将关键字包围起来

参数,文件路径,必填,表示要过滤内容的文件路径,可以作为内容输入端口

如:

[root@PccYH ~]# cat text.txt  # 查看文件内容
itheima is a brand of itcast
itcast stock code of 033032
[root@PccYH ~]# grep "itheima" text.txt  # 过滤文件text.txt中有itheima的
itheima is a brand of itcast
[root@PccYH ~]# grep "itcast" text.txt  # 过滤
itheima is a brand of itcast
itcast stock code of 033032
[root@PccYH ~]# grep -n  "itheima" text.txt   # 过滤关键字并显示对应行数
1:itheima is a brand of itcast

wc命令

wc 【-c -m -l -w 】文件路径

  • -c 统计bytes数量
  • -m 统计字符数量
  • -l 统计行数
  • -w 统计单词数量
  • 文件路径,被统计的文件,可作为内容输入端口
[root@PccYH ~]# wc text.txt 
 2 11 57 text.txt
# 行数,单词数量(按空格划分) 字节数  文件路径
[root@PccYH ~]# wc -c text.txt 
57 text.txt
[root@PccYH ~]# wc -m text.txt 
57 text.txt
[root@PccYH ~]# wc -l text.txt 
2 text.txt
[root@PccYH ~]# wc -w text.txt 
11 text.txt

管道符

管道符 是: |

含义:将管道符左边命令的结果,作为右边命令的输入

[root@PccYH ~]# cat text.txt | grep "itheima"  
# 将cat查询到的结果 作为 grep的内容源   将左边的结果作为右边的内容源
itheima is a brand of itcast

[root@PccYH ~]# ls | grep text
text.txt


[root@PccYH ~]# cat text.txt |grep itcast 
#第一次过滤
itheima is a brand of itcast
itcast stock code of 033032
[root@PccYH ~]# cat text.txt |grep itcast | grep itheima
#第二次嵌套过滤
itheima is a brand of itcast