linux命令格式
command [-options] [parameter]
说明:
- command : 命令名, 相应功能的英文单词或单词的缩写
- [-options] : 选项, 可用来对命令进行控制, 也可以省略
- parameter : 传给命令的参数, 可以是 零个、一个 或者 多个
linux命令
ls命令
ls [-a -l -h] [路径] : 查看指定路径下文件列表 注意: 默认都是当前路径
参数 -a : 展示出隐藏文件 注意: .开头就是隐藏文件
参数 -l : 以详细信息展示文件 注意: ls -l 可以简化为ll
参数 -h : 配合-l使用,人性化展示文件大小
cd
cd [路径] : 切换到指定路径下
家目录: 普通用户的家目录:/home/普通用户名 root用户的家目录:/root
如何快速回家: cd ~ 注意: ~可以省略
pwd命令
pwd : 查看当前路径
clear命令
clear: 清屏 快捷键: ctrl+L
基础四大命令 ls cd pwd clear
相对路径和绝对路径
1. 相对路径和绝对路径
绝对路径: 以根目录'/'做起点,描述路径的方式,路径以/开头
相对路径: 以当前目录做起点,描述路径的方式,路径不需以/开头
2. 特殊路径符有哪些?
. 表示当前目录, 比如: cd . 或 cd ./Desktop
.. 表示上一级目录,比如: cd .. 或 cd ../..
mkdir命令
mkdir [-p] 目录路径 : 创建指定目录
-p:可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
创建一级目录: mkdir 目录路径
创建多个同级目录: mkdir 目录路径1 目录路径2 ...
创建父子嵌套目录: mkdir -p 目录路径1/目录路径2/...
touch命令
touch 文件路径: 创建指定文件
创建一个文件: touch 文件路径
创建多个文件: touch 文件路径1 文件路径2 ...
cat_more_less命令
前提: 先利用客户端上传一个大文件test.txt
cat [-n] 文件 : cat查看文件内容,一般建议查看小文件
-n :显示行号
more [-num] 文件: more查看文件内容,一般建议查看大文件(可以翻页)
空格: 下一页
b : 上一页
q : 退出
-x : 展示条数 举例: more -10 文件
less [-N] 文件: less查看文件内容,一般建议查看大文件(可以翻页,可以搜索)
-N : 显示行号
空格: 下一页
b : 上一页
q : 退出
/内容: 搜索指定内容
cp命令
复制的英文单词: copy
cp [-r] 要复制的文件或者文件夹 目标位置 : 复制文件或者文件夹到指定目标位置
注意: -r 主要用于复制文件夹
注意: cp复制文件后,源文件依然存在
mv命令
移动的英文单词: move
mv 要移动的文件或者文件夹 目标位置: 移动文件或者文件夹到指定目标位置
注意: 目标位置是文件,文件不存在就会直接改名 如果想要把文件移动到目录中,此目录一定要存在,否则当成了普通文件改名
注意: mv移动文件后,源文件不存在
rm命令
移除的英文单词: remove
rm [-r -f] 要删除的文件或者文件夹: 删除指定的文件或者文件夹
注意: -r 主要用于删除文件夹 -f :主要用于强制删除文件或者文件夹
删除文件(有提示): rm 文件路径
删除文件(无提示): rm -f 文件路径
删除目录(有提示): rm -r 目录路径
删除目录(无提示): rm -rf 文件路径
通配符
* : 任意个字符 类似于sql模糊查询中的 %
? : 任意1个字符 类似于sql模糊查询中的 _
[root@node1 ~]# rm 1*
rm:是否删除普通空文件 "123.txt"?y
rm:是否删除普通空文件 "1.txt"?y
which和find
which 命令: 查找命令所在位置
主要: find命令也可以结合通配符使用,不加路径代表当前路径下查找
find [查找路径] -name 文件名: 根据文件名查找
find [查找路径] -size [+ -]大小: 根据文件大小查找
+: 大于
-: 小于
find [查找路径] -type [d f] -name 文件名: 根据文件类型查找
d: 文件夹
f: 文件
[root@node1 /]# find / -name 'test'
[root@node1 /]# find -name 'test'
[root@node1 /]# find -name 'test*'
[root@node1 /]# find -name '*test'
[root@node1 /]# find -name '*test*'
[root@node1 /]# find -size +10M
[root@node1 /]# find -type d -name 'test'
[root@node1 /]# find -type f -name 'test'
管道符 |
管道使用格式: 命令1 | 命令2 | 命令3 ...
解释: 把命令1的结果传递给命令2,然后再把命令2的结果传递给命令3,依次类推...
注意: 管道一般配合grep命令使用较多
sort: 排序
[root@node1 ~]# touch 3.txt 2.txt 4.txt 1.txt 5.txt
[root@node1 ~]# mkdir aa bb
[root@node1 ~]# find -name '*.txt'
[root@node1 ~]# find -name '*.txt' | sort 技巧: 把所有txt文件查询出来,然后排序,效果明显
[root@node1 ~]# cat test.txt | less
grep命令
grep [-n] 关键字 文件路径: 在指定文件中搜索指定关键字
注意: -n 主要用于显示搜索到结果的行号
注意: 管道|一般配合grep命令使用较多
[root@node1 ~]# ls
1.txt 234.txt 2.txt 3.txt 456.txt 789.txt
[root@node1 ~]# cat 1.txt
python java sql
[root@node1 ~]# echo `ls` >> 1.txt
[root@node1 ~]# cat 1.txt
python java sql
1.txt 234.txt 2.txt 3.txt 456.txt 789.txt
[root@node1 ~]# grep 'sql' 1.txt
python java sql
[root@node1 ~]# grep '234' 1.txt
1.txt 234.txt 2.txt 3.txt 456.txt 789.txt
[root@node1 ~]# grep -n '234' 1.txt
2:1.txt 234.txt 2.txt 3.txt 456.txt 789.txt
[root@node1 ~]# ls
1.txt 234.txt 2.txt 3.txt 456.txt 789.txt
[root@node1 ~]# ls | grep 234
234.txt
[root@node1 ~]# find -name '*.txt' | grep 78
./789.txt
[root@node1 ~]#
wc命令
wc [-l -w] 文件路径: 统计指定文件内容的行数或者单词数
-l : 行数
-w : 单词数 注意:空格分隔
[root@node1 test]# echo 'java sql python' >> test.txt
[root@node1 test]# echo 'linux hadoop hive' >> test.txt
[root@node1 test]# echo 'spark flink' >> test.txt
[root@node1 test]# cat test.txt
java sql python
linux hadoop hive
spark flink
[root@node1 test]# wc test.txt
3 8 46 test.txt
[root@node1 test]# wc -c test.txt
46 test.txt
[root@node1 test]# wc -m test.txt
46 test.txt
[root@node1 test]# wc -l test.txt
3 test.txt
[root@node1 test]# wc -w test.txt
8 test.txt
[root@node1 test]# echo 'helloworld' >> test.txt
[root@node1 test]# wc -w test.txt
9 test.txt
[root@node1 test]#
echo命令
echo 要打印的内容
注意: 默认打印到控制台,但是经常配合重定向符号使用
注意: echo配合反引号``可以先识别出关键字,然后把对应的内容输出
[root@node1 sql]# echo "helloworld"
helloworld
[root@node1 sql]# echo 'helloworld'
helloworld
[root@node1 sql]# echo helloworld
helloworld
[root@node1 test]# echo 'ls'
ls
[root@node1 test]# echo `ls`
1.txt 2.txt 3.py a b c
重定向符号
> : 覆盖写入
>> : 追加写入
注意: 一般都是配合echo使用
[root@node1 sql]# echo 'helloworld' > 4.txt
[root@node1 sql]# cat 4.txt
helloworld
[root@node1 sql]# echo '我很帅' > 4.txt
[root@node1 sql]# cat 4.txt
我很帅
[root@node1 sql]# echo '' > 4.txt
[root@node1 sql]# cat 4.txt
[root@node1 sql]# echo '你好' >> 4.txt
[root@node1 sql]# echo '我好' >> 4.txt
[root@node1 sql]# echo '大家好' >> 4.txt
[root@node1 sql]# cat 4.txt
你好
我好
大家好
[root@node1 sql]# pwd
/~/sql
[root@node1 sql]# echo 'pwd' >> 4.txt
[root@node1 sql]# cat 4.txt
你好
我好
大家好
pwd
[root@node1 sql]# echo `pwd` >> 4.txt
[root@node1 sql]# cat 4.txt
你好
我好
大家好
pwd
/~/sql
[root@node1 sql]# ls
1.py 2.py 3.py 4.txt 5.txt 6.txt python
[root@node1 sql]# echo `ls` >> 4.txt
[root@node1 sql]# cat 4.txt
你好
我好
大家好
pwd
/~/sql
1.py 2.py 3.py 4.txt 5.txt 6.txt python
head和tail
head [-num] 文件路径: 查看文件的头部几行 默认前10行 当然-num可以指定任意行数
tail [-num] 文件路径: 查看文件的尾部几行 默认后10行 当然-num可以指定任意行数
tail -f 文件路径: 持续跟踪查看指定文件内部变化
[root@node1 ~]# head test.txt
[root@node1 ~]# head -3 test.txt
[root@node1 ~]# tail test.txt
[root@node1 ~]# tail -3 test.txt
[root@node1 ~]# tail -f test.txt 注意: -f持续跟踪文件内容 可以使用ctrl+c退出
vi编辑器
vi操作文件三大步
打开文件: vim 文件名.后缀名 注意: 如果文件存在就打开,不存在就创建
编辑文件: 输入i进入文件进行编辑
保存文件:
1.先进入命令模式: 按ESC键
2.进入底线命令模式: 输入冒号:
3.输入命令: w(保存) q(退出) q!(强制退出) wq(保存并退出) wq!(强制保存并退出)