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