linux基础命令

目录

1. 基础操作

1.1 通配符

1.2 文件查看

1.3 cd 的相关命令

2. 文件操作

2.1 touch 创建文件

2.2 mkdir 创建目录(可称为文件夹)

2.3 rm 删除

2.4 mv 移动

2.5 cp 复制

2.6 cat 、more 文件查看

3. 查找操作

3.1 压缩与解压缩

3.2 echo 追加

3.3 which & find 查找

3.4 grep 搜索 & | 管道符

3.5 wc统计行或单词数

3.6 head 前几行 & tail 后几行

4. 管理操作

4.1 用户管理

4.2 用户组管理

4.3 用户权限

4.3.1 修改用户对文件的权限

4.3.2 修改文件的所属用户

4.4 其他操作

4.4.1 下载安装

4.4.2 设置服务状态

4.4.3 软硬连接 lin

4.4.4 date日期

4.4.5 查看进程ID

4.4.6 查看占用某端口号的进程

4.4.7  监控

5. shell 脚本格式

5.1 一般格式

5.2 变量的shell脚本

5.3  shell 脚本传递参数

5. 在Linux中执行命令

5.1 在Linux中执行MySQL命令

5.2 在Linux中执行hive命令


1. 基础操作

1.1 通配符

* 匹配0个或多个字符,相当于sql中的%;

?匹配0个字符或1个字符;

+ 匹配1个或多个字符;

1.2 文件查看

clear 清屏;

ls 只展示文件名称的查看

ls -l 文件详细情况查看 等价于 ll

ls -a 普通文件及隐藏文件查看

ls -al 普通及隐藏文件的详细情况查看

ls -lh 文件大小以K、M、G形式显示的查看

ls /root/...(路径) 查看该路径下的文件及目录

1.3 cd 的相关命令

pwd 查看当前文件路径

cd .. 进入上一级目录

假设现在在etc目录中

cd /etc/sysconfig/network-scripts  绝对路径进入网关

cd sysconfig/network-scripts 相对路径进入网关

cd ../..  返回上一级的上一级

cd ../etc 返回上一级下的etc目录中

cd / 回到根目录

2. 文件操作

2.1 touch 创建文件

touch a.txt  在当前目录下创建a.txt文件

touch /aa/a.txt 在绝对路径的aa目录下创建a.txt文件

touch aa/a.txt  在相对路径的aa目录下创建a.txt文件

2.2 mkdir 创建目录(可称为文件夹)

mkdir aa 在当前路径下创建aa文件夹

mkdir -p aa/bb/cc  在当前路径下一次性创建多个文件夹

2.3 rm 删除

rm  a.txt 删除文件a.txt

rm -f a.txt  强制(不询问)删除文件a.txt

rm -r aa 删除文件夹aa

rm -rf aa 强制(不询问)删除文件夹aa

2.4 mv 移动

mv a.txt aa 移动当前路径下的a.txt文件到当前路径下的aa文件夹中

mv a.txt  /aa/b.txt 移动并改名  将当前路径下的a.txt文件移动到aa文件夹下并改名为b.txt

mv aa bb 移动文件夹,

当bb文件夹存在时,aa文件夹移动到bb文件夹下  路径为:bb/aa

当bb文件夹不存在时,aa文件夹移动到bb文件夹所在的路径并改名为bb  路径为:bb

2.5 cp 复制

cp  a.txt aa 复制当前路径下的a.txt 文件到当前路径下的aa文件夹下

cp a.txt  /aa/b.txt 复制当前路径下的a.txt文件到 /aa目录下并改名为b.txt

cp -r aa  bb  复制文件夹

当bb文件夹存在时,aa文件夹复制到bb文件夹下  路径为:aa  和  bb/aa

当bb文件夹不存在时,aa文件夹复制到bb所在的路径并改名为bb  路径:aa 和  bb

2.6 cat 、more 文件查看

cat  aa/a.txt  查看文件内容,全部展示

cat  -n  aa/a.txt  查看文件内容,将内容显示行号展示

more aa/a.txt  分页查看文件内容【enter 下一行、空格  下一页、b  上一页、q  退出】

less  -N  aa/a.txt  分页查看文件内容,将内容显示行号展示,操作与more一致

3. 查找操作

3.1 压缩与解压缩

压缩:tar -zcvf ab.tar.gz a.txt b.txt  将 a.txt、b.txt文件打包压缩为ab.txt放置在当前路径下

解压缩:tar -zxvf  ab.tar.gz -C aa/bb/  将ab文件压缩包解压到在aa/bb目录下

3.2 echo 追加

echo  写入文件的内容 > /aa/a.txt  将文件覆盖写入到aa/a.txt文件中

echo  写入文件的内容 >> /aa/a.txt  将文件追加写入到aa/a.txt文件的末尾

3.3 which & find 查找

which 文件名  查找文件存放位置,返回文件的pwd  

find /aa/bb -name a.txt  在/aa/bb/目录下查找名为a.txt文件,返回该文件的存放路径

find /aa/bb/ -type d -name a 在/aa/bb/目录下查找名为 a 的文件夹的存放路径

find /aa/bb/ -type f -name a 在/aa/bb/目录下查找名为 a 的文件的存放路径

find /aa/bb/ -size +3k  在/aa/bb/目录下查找文件大小大于3kb的文件名称

find /aa/bb/ -size -3k  在/aa/bb/目录下查找文件大小小于3kb的文件名称

3.4 grep 搜索 & | 管道符

grep  'w' /aa/a.txt  在a.txt中查找有w字符的行 

grep -n 'w' /aa/a.txt 在a.txt中查找有w字符的行及行号

cat  /aa/a.txt | grep 'w'  搜索得出的文本中带有w字符的行

3.5 wc统计行或单词数

wc  /aa/a.txt  统计/aa/a.txt 的行数及单词数

wc -l /aa/a.txt  统计/aa/a.txt 文件中的数据行数

wc -w /aa/a.txt  统计/aa/a.txt 文件中的单词的个数(单词间以空格分隔统计)

3.6 head 前几行 & tail 后几行

head  -n /aa/a.txt  返回a.txt文件中的前n 行(默认n=10)

tail  -n /aa/a.txt  返回a.txt文件中的后n 行(默认n=10)

tail -f /aa/a.txt  动态实时监控a.txt 文件的后10行内容的变化,ctrl + c 结束命令

4. 管理操作

4.1 用户管理

用户创建:useradd duo

用户删除:userdel -r duo

查看全部用户信息:cat /etc/passwd

切换用户:su -root

临时授权:sudo 临时以root用户执行命令

        操作步骤:

        对用户duo授予root权限:vim /etc/sudoers  文件中添加 root  ALL=(ALL)  NOPASSWD:ALL

        使用root管理员权限执行命令:sudo vim  /文件名

4.2 用户组管理

添加组:groupadd A

删除组:groupdel A

查看所有组:cat /etc/group

查看用户所属组:id  duo

创建新用户 it 到A组:useradd it -g A

创建已有用户duo到A组:usermod -aG A duo

4.3 用户权限

r:读取    w:写     x:执行进入   -:无权限

u:当前用户    g:用户同组用户    o:其他用户

4.3.1 修改用户对文件的权限

修改单个的文件夹或文件的权限:chmod  u=rwx,g=rx,o=r   文件名   

        此时该文件的类型为:rwxr-xr--

修改文件夹及其子目录文件权限:chmod  -R  u=rwx, g=rx,o=r   文件名

        此时该多个文件的类型为:rwxr-xr--

 快速增加或减少某项权限:chmod  u-x, o+w  文件名

        此时该文件的类型为:rw-r-xrw-

数字修改权限:chmod  777  文件名(777分别代表u、g、o)各用户的 rwx 值按二进制获取

        此时该文件的类型为:rwxrwxrwx   (111,111,111)

4.3.2 修改文件的所属用户

对单一文件做用户修改:

修改文件所属用户u:chown  duo  文件名

修改文件所属组g:chown  :A   文件名

修改文件所属用户和组:chown  duo:A   文件名

对文件夹及其子文件做用户修改:

修改多文件所属用户u:chown  -R  duo  文件名

修改多文件所属组g:chown  -R  :A   文件名

修改多文件所属用户和组:chown  -R  duo:A   文件名

4.4 其他操作

4.4.1 下载安装

yum 下载安装:

yum -y  install(下载)  update(更新)   remove(删除)   search(搜索)   软件名称

wget  下载安装:

wget  url链接   直接下载到当前目录

4.4.2 设置服务状态

systemctl  start(开启)  stop(停止)  status(状态)  enable(开机自启)  disable(关闭开机自启)  服务名

4.4.3 软硬连接 lin

作用:将在路径较深的文件放于浅路径中方便使用,相当于windows中的桌面快捷方式

软连接:lin  -s  /a/b/c/d   ~/D   软连接中d的删除会使D删除

硬链接:lin  /a/b/c/d  ~/D   硬连接中d的删除不影响D  

4.4.4 date日期

一般用于shell脚本中获取日期或时间

获取当前日期时间:date +"%Y-%m-%d  %H:%M:%S"

获取当前的某 天/月/年 之后的日期时间:date -d "+2 month"  +"%Y-%m-%d  %H:%M:%S"

4.4.5 查看进程ID

查看进程:

ps -ef  找到进程的进程id,可结合kill -9 进程id 来杀死该进程

ps -ef | grep 进程名   使用管道grep搜索会更快

实时查看系统资源占用情况以及占用资源比较多的应用程序有哪些:top

杀死进程:

kill -9  进程ID    杀死进程从而释放进程所占用的端口号

4.4.6 查看占用某端口号的进程

netstat  -anp  |  grep 端口号

lsof   -i  :  端口号

端口号:某进程打开后的网址中:后的即为端口号

例如hdfs:http://主机ID:9870    该9870即为hdfs的端口号

4.4.7  监控

磁盘监控:df  -h 
内存监控:free  -h 

5. shell 脚本格式

5.1 一般格式

创建一个文件.sh,对其vim:

#!  bin/bash

/export/server/hadoop/bin/start-hdfs.sh

/export/server/hadoop/bin/start-yarn.sh

执行脚本:sh  ./文件名.sh 

执行该脚本文件时,相当于在linux中分别执行内容中的两条命令

5.2 变量的shell脚本

定义变量:name=duo

若被赋予的值有空格时需要用双引号引住:name="duo duo"

变量只读设置:readonly name (后期name变量将不可再次被赋值)

变量删除:unset  name

打印变量:

echo ${name}

echo "my name is ${name}"

当有内置的Linux命令时需要加反引号:

a=`ls /aa`

time=`date +"%Y-%m-%d"`   得当天的日期

time=`date -d +"2 year" +"%Y-%m-%d"`  得当前日期往前推两年

5.3  shell 脚本传递参数

方式1: 

[root@hadoop01 job]#vim jiaoben.sh

#!  bin/bash

name1=duo

name2=bo

echo "第一个参数为:${name1},第二个参数为:${name2}"

esc键   :wq 保存并退出

查看脚本是否有可执行权限(x),若无则需要加权限:chmod +x jiaoben.sh

运行脚本:sh jiaoben.sh

方式2: 

[root@hadoop01 job]#name1=duo

[root@hadoop01 job]#name2=bo

[root@hadoop01 job]#vim jiaoben.sh

#!  bin/bash

echo "第一个参数为:${name1},第二个参数为:${name2}"

esc键   :wq 保存并退出

查看脚本是否有可执行权限(x),若无则需要加权限:chmod +x jiaoben.sh

运行脚本:sh jiaoben.sh

方式3:

[root@hadoop01 job]#vim jiaoben.sh

echo "第一个参数为:$1,第二个参数为:$2"

拓展:echo "当前脚本的名称为:$0,共有参数数为:$#,参数分别为:$*"

esc键   :wq 保存并退出

查看脚本是否有可执行权限(x),若无则需要加权限:chmod +x jiaoben.sh

运行脚本:sh jiaoben.sh  duo  bo

三种方式的执行结果都相同

5. 在Linux中执行命令

5.1 在Linux中执行MySQL命令

mysql  -u用户名  -p密码  -h主机名  -P端口号  -e  "SQL语句"

mysql  -uroot  -p123  -h192.168.34.43  -P3306  -e "select * from 表 limit  10;"

5.2 在Linux中执行hive命令

hive  -S  -e  "hive语句1; 语句2;"

hive  -S  -e  "show  databases; select  * from 表 limit 10;"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值