linux命令
对于linux,虽然很想说什么,奈何本人能力有限.所以呢,我就简单的说一下它的一些简单命令.
一.安装
关于linux的安装,其实没啥好说的,基本上就是一路下一步,就ok了.
二.常用Linux命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前目录下的内容 |
02 | pwd | print working derectory | 查看当前所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 如果文件不存在, 新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
1.查看目录 ls
选项 | 英文 | 含义 |
---|---|---|
-a | all | 显示指定目录下所有子目录与文件, 包含隐藏文件 |
-l | 以列表方式显示文件的详细信息 | |
-h | human-readable | 配合 -l 以人性化的方式显示文件大小 |
(1).创建一个新文件夹
mkdir 20200425
(2).进入文件夹
cd 20200425/
(3).查看文件夹内容
创建一个普通文件和一个隐藏文件
[root@hadoop01 20200425]# ll
总用量 0
[root@hadoop01 20200425]# vim a.txt
[root@hadoop01 20200425]# touch .01.txt
[root@hadoop01 20200425]# ls
a.txt
ls只能看到普通文件,看不到隐藏文件
[root@hadoop01 20200425]# ls -a
.01.txt a.txt
ls -a 能看到隐藏文件
2.切换目录 cd
命令 | 含义 |
---|---|
cd 目录 | 切换到指定目录下 |
cd … | 切换到上级目录 |
cd - | 可以在最近的两次目录之间切换 |
cd ~ | 切换到家目录(root用户家目录是 /root, 其他用户的家目录是 /home/用户名) |
创建a/b/c三个文件夹
[root@hadoop01 20200425]# mkdir -p a/b/c
[root@hadoop01 20200425]# tree
├── a
│ └── b
│ └── c
└── a.txt
进入下层文件夹和返回上层文件夹
[root@hadoop01 20200425]# cd a/
[root@hadoop01 a]# cd b
[root@hadoop01 b]# cd c
[root@hadoop01 c]# pwd
/usr/tmp/export/20200425/a/b/c
[root@hadoop01 c]# cd ..
[root@hadoop01 b]# pwd
/usr/tmp/export/20200425/a/b
[root@hadoop01 b]#
进入root目录,切换到上一次的目录
[root@hadoop01 b]# cd ~
[root@hadoop01 ~]# pwd
/root
[root@hadoop01 ~]# cd -
/usr/tmp/export/20200425/a/b
[root@hadoop01 b]# pwd
/usr/tmp/export/20200425/a/b
[root@hadoop01 b]#
3.创建和删除操作
touch
创建文件12.txt
root@hadoop01 c]# ll
总用量 0
[root@hadoop01 c]# touch 12.txt
[root@hadoop01 c]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 17 08:04 12.txt
[root@hadoop01 c]#
创建目录mkdir (上面已经有例子)
删除 rm
当前目录下,有a文件夹和一些文件
[root@hadoop01 20200425]# tree
.
├── a
│ └── b
│ └── c
│ └── 12.txt
├── a.txt
├── b.txt
├── c.txt
└── d.txt
删除文件b.txt,有提示
[root@hadoop01 20200425]# rm b.txt
rm:是否删除普通空文件 "b.txt"?y
[root@hadoop01 20200425]# tree
.
├── a
│ └── b
│ └── c
│ └── 12.txt
├── a.txt
├── c.txt
└── d.txt
删除c.txt,无提示
[root@hadoop01 20200425]# rm -f c.txt
[root@hadoop01 20200425]# tree
.
├── a
│ └── b
│ └── c
│ └── 12.txt
├── a.txt
└── d.txt
删除文件夹d
[root@hadoop01 20200425]# mkdir d
[root@hadoop01 20200425]# tree
.
├── a
│ └── b
│ └── c
│ └── 12.txt
├── a.txt
├── d
└── d.txt
[root@hadoop01 20200425]# rm d/
rm: 无法删除"d/": 是一个目录
[root@hadoop01 20200425]# rm -r d/
rm:是否删除目录 "d"?y
[root@hadoop01 20200425]# tree
.
├── a
│ └── b
│ └── c
│ └── 12.txt
├── a.txt
└── d.txt
删除文件夹需要加 -r
删除目录a
[root@hadoop01 20200425]# rm -r a
rm:是否进入目录"a"? y
rm:是否进入目录"a/b"?y
[root@hadoop01 20200425]# rm -rf a
[root@hadoop01 20200425]# tree
.
├── a.txt
└── d.txt
删除文件夹时,如果不想要提示,加 -f
也可使用通配符rm -rf *.txt
- 通过
rm -rf 文件/目录
完成删除 文件或目录的功能. - 注意: 使用
rm
命令要小心, 因为文件删除后不能恢复
安装tree
yum -y install tree
卸载tree
yum -y remove tree
4.拷贝和移动文件
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
├── a.txt
└── d.txt
当前目录下的目录和文件
拷贝功能cp
拷贝一份a.txt
[root@hadoop01 20200425]# cp a.txt a.txt_bak
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
├── a.txt
├── a.txt_bak
└── d.txt
将 a.txt_bak拷贝到ccc目录中
[root@hadoop01 20200425]# cp a.txt_bak ./aaa/bbb/ccc/a.txt_bak2
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── a.txt
├── a.txt_bak
└── d.txt
将aaa目录拷贝到aaa2目录中
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── aaa2
├── a.txt
├── a.txt_bak
└── d.txt
[root@hadoop01 20200425]# cp -r aaa/ aaa2
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── aaa2
│ └── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── a.txt
├── a.txt_bak
└── d.txt
- cp命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录中
mv
将d.txt移动到aa目录下
[root@hadoop01 20200425]# tree
.
├── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── aaa2
│ └── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── a.txt
├── a.txt_bak
└── d.txt
[root@hadoop01 20200425]# mv d.txt aaa
[root@hadoop01 20200425]# tree
.
├── aaa
│ ├── bbb
│ │ └── ccc
│ │ └── a.txt_bak2
│ └── d.txt
├── aaa2
│ └── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── a.txt
└── a.txt_bak
将 d.txt重命名为dd.txt
[root@hadoop01 aaa]# tree
.
├── bbb
│ └── ccc
│ └── a.txt_bak2
└── d.txt
2 directories, 2 files
[root@hadoop01 aaa]# mv d.txt dd.txt
[root@hadoop01 aaa]# tree
.
├── bbb
│ └── ccc
│ └── a.txt_bak2
└── dd.txt
将aaa2目录移动到ccc目录中
[root@hadoop01 20200425]# mkdir ccc
[root@hadoop01 20200425]# tree
.
├── aaa
│ ├── bbb
│ │ └── ccc
│ │ └── a.txt_bak2
│ └── dd.txt
├── aaa2
│ └── aaa
│ └── bbb
│ └── ccc
│ └── a.txt_bak2
├── a.txt
├── a.txt_bak
└── ccc
8 directories, 5 files
[root@hadoop01 20200425]# mv aaa2 ccc
[root@hadoop01 20200425]# tree
.
├── aaa
│ ├── bbb
│ │ └── ccc
│ │ └── a.txt_bak2
│ └── dd.txt
├── a.txt
├── a.txt_bak
└── ccc
└── aaa2
└── aaa
└── bbb
└── ccc
└── a.txt_bak2
mv
可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名
5.查看文件内容
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分频 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键词, 搜索文本文件内容 |
cat
参数 | 英文 | 含义 |
---|---|---|
-n | number | 显示行号 |
-b | number-nonblank | 非空行 显示行号 |
nl 文件 | number lines of files | 查看文件内容 且 非空行显示行号 |
查看a.txt文件
[root@hadoop01 20200425]# cat a.txt
zhangsan 11 22 33 44
lisi 22 55 66 88
wangwu 55 66 88 11
zhaoliu 55 11 77 22
chenqi 44 6 8 12
查看a.txt文件,现实行号
[root@hadoop01 20200425]# cat -n a.txt
1 zhangsan 11 22 33 44
2 lisi 22 55 66 88
3 wangwu 55 66 88 11
4 zhaoliu 55 11 77 22
5 chenqi 44 6 8 12
less
命令 | 作用 |
---|---|
less -N 文件名 | 分屏展示文件内容, 适合 大文件 |
参数 | 英文 | 含义 |
---|---|---|
-N | number | 显示文件内容 且 显示行号 |
使用 less
的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏幕 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 向前一屏 |
q | 退出 |
/word | 搜索word字符串 |
head查看文档的前几行内容
head -n 数字 文件
参数 | 英文 | 含义 |
---|---|---|
-n | number | 表示显示前几行内容 |
tail
查看文档的后几行内容
tail -10 文件
动态显示文档最后内容,一般用来查看日志
tail -f 文件名
grep
选项 | 英文 | 含义 |
---|---|---|
-n | number | 显示匹配行和行号 |
-i | ignore-case | 忽略大小写 |
-v | invert-match | 显示 不包含关键字 的所有行 |
^a | 行首,搜索以a开头的行 | |
ke$ | 行尾,搜索以ke结束的行 |
grep 关键字 文件名
[root@hadoop01 20200425]# grep zhangsan a.txt
zhangsan 11 22 33 44
[root@hadoop01 20200425]# grep -n zhangsan a.txt
1:zhangsan 11 22 33 44
6.搜索命令
find
序号 | 命令格式 | 作用 |
---|---|---|
01 | find [路径] -name ‘*.txt’ | 查找指定路径下扩展名是 .txt的文件, 包括子目录 |
[root@hadoop01 20200425]# find *.txt
a.txt
7.解压缩命令
tar
打包命令格式
命令 | 英文 | 含义 |
---|---|---|
c | create | 生成档案文件, 创建打包文件 |
v | verbosely(啰嗦的) | 像 ‘唐僧’ 一样报告进度 |
f | file | 指定档案的文件名称, f后面一定是 .tar 文件, 所以必须放到左后 |
tar -cvf 打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3
将aa.txt bb.txt打包成 ab.tar
[root@hadoop01 aaa]# tree
.
├── aa.txt
├── bbb
│ └── ccc
│ └── a.txt_bak2
├── bb.txt
└── dd.txt
2 directories, 4 files
[root@hadoop01 aaa]# tar -cvf ab.tar aa.txt bb.txt
aa.txt
bb.txt
[root@hadoop01 aaa]# tree
.
├── aa.txt
├── abc.tar
├── ab.tar
├── bbb
│ └── ccc
│ └── a.txt_bak2
├── bb.txt
└── dd.txt
tar
解包命令格式
将一个打包后的 分解成 一系列小文件, 分解位置为 当前目录
tar -xvf 打包名.tar
将一个打包后的 分解成 一系列小文件, 分解位置为 指定目录
tar -xvf 打包名.tar -C 解包路径位置
命令 | 英文 | 含义 |
---|---|---|
x | extract (提取) | 解包 |
C (大写C) | directory (目录) | 默认保存到当前目录, 通过-C 更改解压目录, 注意: 解压目录必须存在 |
将ab.tar 解压到ccc目录中
[root@hadoop01 aaa]# tree
.
├── aa.txt
├── abc.tar
├── ab.tar
├── bbb
│ └── ccc
│ └── a.txt_bak2
├── bb.txt
└── dd.txt
2 directories, 6 files
[root@hadoop01 aaa]# tar -xvf ab.tar -C bbb/ccc
aa.txt
bb.txt
[root@hadoop01 aaa]# tree
.
├── aa.txt
├── abc.tar
├── ab.tar
├── bbb
│ └── ccc
│ ├── aa.txt
│ ├── a.txt_bak2
│ └── bb.txt
├── bb.txt
└── dd.txt
压缩文件
tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录
解压缩文件
tar -zxvf 打包文件.tar.gz
解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目录路径`
命令 | 英文 | 含义 |
---|---|---|
z | gzip | 使用gzip压缩和解压缩 |
j | bzip2 | 使用bzip2压缩和解压缩 |