linux是大数据开发入门必备掌握知识,今天给大家介绍下linux centos7一些常用的命令
1.ls
(1) 列出当前目录下所有文件
ls
(2) 列出/home目录下所有文件
ls /home
(3) 列出当前目录下所有文件,并显示权限信息
#(也可以使用别名“ll”)ls-l
(4) 列出当前目录下所有文件(包括隐藏文件),并显示权限信息
ls -al
2.cd
(1) 切换到用户主目录
#或者直接"cd"cd~/
(2) 切换到指定目录/usr
cd /usr
(3) 切换到当前目下的子目录lib
cdlib
(4) 切换到上级目录
cd ../
3.cat
(1) 输出test.txt文件信息
cat test.txt
4.mkdir
(1) 在当前目录下创建目录test
mkdir test
(2) 在当前目录下级联创建目录test/test1/test2
mkdir -p test/test1/test2
5.chmod
(1) 设置test.txt文件权限为777
chmod 777 test.txt
(2) 将testdirt目录下所有文件和目录权限设置为777
chmod 777 testdirt/*
(3) 将testdirt目录下所有文件、目录及其子目录权限设置为777
chmod -R 777 testdirt/*
6.chown
(1) 将test.txt文件拥有者修改为test用户
chown test test.txt
(2) 将testdirt目录下所有文件和目录拥有者修改为test用户
chown test testdirt/*
(3) 将testdirt目录下所有文件、目录及其子目录拥有者修改为test用户
chown -R test testdirt/*
7.chgrp
(1) 将test.txt文件所属群组修改为test用户组
chgrp test test.txt
(2) 将testdirt目录下所有文件和目录所属群组修改为test用户
chgrp test testdirt/*
(3) 将testdirt目录下所有文件、目录及其子目录所属群组修改为test用户
chgrp -R test testdirt/*
8.输出重定向>和>>
(1) 输出文件test.txt信息"覆盖"到test1.txt
cat test.txt>test1.txt
(2) 输出文件test.txt信息"追加"到test1.txt
cat test.txt>>test1.txt
9.echo
(1) 输出字符串
echo 'hello shell'
(2) 输出变量
a='hello shell';echo $a
10.vi
vi 编辑器有 3 种基本工作模式,分别是命令模式、文本输入模式和末行模式。下面详 细介绍这 3 种模式。
1) 命令行模式
该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。
在命令模式下,用户可以输入 vi 命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。
但需注意的是,所输入的命令并不会显在屏幕上。若输入的字符不是 vi 的合法命令,vi 会响铃报警。
2) 文本输入模式
在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。
3)末行模式
末行模式也称 ex 转义模式。
命令行模式常用快捷键
进入文本输入模式:i (在光标处开始编辑)
进入文本输入模式:a (在光标处下一个字符开始编辑)
光标切换到文件最后一行:shift+g
光标切换到当前行最后一个字符:shift+$
复制当前行:yy
粘贴复制行:p
回退上一个操作:u
撤销回退:ctrl+r
末行模式常用命令(所有命令需按enter键执行)
显示行数:set nu
退出:q
保存退出:wq
强制保存退出:q!
切换到第n行:n
匹配查找字符串str:/str (按enter执行后 按n向后查找,按N向前查找)
11.grep
(1) 搜索文件test.txt中包含字符串aaa的行
grep 'aaa' test.txt
(2) 搜索文件test.txt中不包含字符串aaa的行
grep -v 'aaa' test.txt
(3) 搜索文件test.txt中包含字符串aaa的行,并输出行号
grep -n 'aaa' test.txt
(4) 搜索当前目录下所有包含字符串aaa的文件(遇到目录会报错,该问题可以使用find命令解决)
grep 'aaa'*
12.find
(1) 搜索/home目录下所有名称包含'aaa'的文件及目录
find /home -name "*aaa*"
(2) 搜索/home目录下所有名称包含'aaa'的文件
find /home -name "*aaa*" -type f
(3) 搜索/home目录下所有名称包含'aaa'的目录
find /home -name "*aaa*" -type d
(4) 搜索/home目录下所有名称包含'aaa'的文件,并文件内容包含"bbb"的文件
find /home -name "*aaa*" -type f | xargs grep 'bbb'
13.tail
(1) 查看文件test.txt最后10行
tail test.txt
(2) 查看文件test.txt最后n行(以下例子n=15)
tail -15f test.txt
(3) 持续输出文件最后10行
tailf
14.more
说明:more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。
(1) 按页显示test.txt文件
more test.txt
(2) 从第20行按页显示test.txt文件
more +20 test.txt
15.useradd
(1) 创建用户test
user add test
16.userdel
(1) 删除用户test
userdel test
17.passwd
(1) 修改当前用户密码
passwd
(2) 修改test用户间
passwd test
18.cp
(1) 复制文件a.txt到b.txt
cp a.txt b.txt
(2) 复制目录a到目录b
cp -r a b
19.mv
(1) 剪切文件a.txt到文件b.txt
mv a.txt b.txt
(2) 剪切目录a到目录b
mv a b
20.rm
(1) 删除文件a.txt
rm a.txt
(2) 强制删除文件a.txt
rm -f a.txt
(3) 强制目录a及其目录下所有目录和文件(慎用)
rm -rf a
21.sh 和 ./
(1) sh执行一个shell 脚本
sh test.sh
(2) ./执行一个shell脚本
./test.sh
(3) sh后台执行一个shell脚本
nohup sh test.sh &
(4) ./后台执行一个shell脚本
nohup ./test.sh &
22.tar
(1) 解压test.tar.gz文件到当前目录
tar -zxvf test.tar.gz
(2) 解压test.tar.gz文件到/home目录
tar -zxvf test.tar.gz -C /home
(3) 只查看test.tar.gz内的文件信息但是不解压文件
tar -tf test.tar.gz
(4) 将test目录压缩为test.tar.gz文件
tar -zcvf test.tar.gz test
23.unzip
(1) 解压一个zip文件test.zip
unzip test.zip
24.ssh
(1) 使用当前登录用户远程登录到bigdata5.zhenglihan.com服务器
ssh bigdata5.zhenglihan.com
(2) 使用root用户远程登录到bigdata5.zhenglihan.com服务器
ssh root@bigdata5.zhenglihan.com
25.scp
(1) 使用当前用户将当前目录下的test.txt文件拷贝到远程服务器bigdata5.zhenglihan.com的/home目录下
scp test.txt bigdata5.zhenglihan.com:/home
(2) 使用root用户将当前目录下的test.txt文件拷贝到远程服务器bigdata5.zhenglihan.com的/home目录下
scp test.txt root@bigdata5.zhenglihan.com:/home
26.jar
(1) 解压test.jar文件
jar -xvf test.jar
(2) 查看test.jar文件的内容,但是不解压
jar -tf test.jar
27.ip
(1) 查看服务器ip信息
ip addr
28.hostname
(1) 查看服务器域名
hostname
29.lsof
(1) 查看mysql端口进程信息
lsof -i:3306
30.ps
(1) 搜索含有java信息的进程
ps -ef | grep 'java'
31.rpm
(1) 安装test.rpm包
rpm -ivh test.rpm
32.yum
(1) 安装mysql服务
yum install -y mysql-server
(2) 卸载mysql服务
yum remove -y mysql-server
33.lsb_release
(1) 查看操作系统信息
lsb_release -a
34.df
(1) 查看磁盘挂载信息
df -h
35.du
(1) 查看当前目录下所有目录大小
du
(2) 查看当前目录下所有目录大小总和
du -sh
36.sed
(1) 将test.txt中的所有ooo字符串替换成kkk并输出到控制台(不修改文件)
sed 's!ooo!kkkk!g' test.txt
(2) 将test.txt中的所有ooo字符串替换成kkk(修改文件)
sed -i 's!ooo!kkkk!g' test.txt
37.cut
(1) 将test.txt中所有行按逗号分隔并输出第一,二列
cut -f 1,2 -d "," test.txt
38.paste
(1) 将test.txt test2.txt 按行合并并按逗号分隔输出到控制台
paste -d ',' test.txt test2.txt
39.awk
(1) 将test.txt中所有行按逗号分隔并输出第一列
awk -F ',' '{print $1}' test.txt
40.systemctl
(1) 设置开机启动mysql服务
systemctl enable mysqld
(2) 启动mysql服务
systemctl start mysqld
(3) 关闭mysql服务
systemctl stop mysqld
41.wget
(1) 下载文件
wget https://www.baidu.com/
42.pwd
显示当前目录
pwd
本文主要列举了linux shell最常用的命令,更为深度的讲解请扫描底部二维码关注公众号,关注后续博文,一起学习hadoop大数据!