熟悉常用的 Linux 操作

Posted 狼魂豹速

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了熟悉常用的 Linux 操作相关的知识,希望对你有一定的参考价值。

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1,777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
#chmod –R 777 * :
参数-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

*:通配符,指当前目录下的所有文件及目录

将当前目录下的所有文件及子目录的文件拥有者权限设置为读、写、可执行,文件拥有者所在的用户组成员具备读、写、可执行权限,其它用户也具备读、写、可执行权限

chmod –R 777 *
chmod –R 777 mycat 更改权限为 777 最高

1)cd 命令:切换目录

(1) 切换到目录/usr/local。

1)cd 命令:切换目录

(1) 切换到目录/usr/local。


(2) 切换到当前目录的上一级目录


(3) 切换到当前登录 Linux 系统的用户自己的主文件夹


2)ls 命令:查看文件与目录查看目录/usr 下的所有文件和目录


3)mkdir 命令:新建目录

(1) 进入/tmp 目录,创建一个名为 a 的目录,并查看/tmp 目录下已经存在哪些目录。


(2) 进入/tmp 目录,创建目录 a1/a2/a3/a4。


4)rmdir 命令:删除空的目录

(1) 将上面创建的目录 a(在/tmp 目录下面)删除。


(2) 删除上面创建的目录 a1/a2/a3/a4(在/tmp 目录下面),然后查看/tmp 目录下面存在哪些目录。


5)cp 命令:复制文件或目录

(1) 将当前用户的主文件夹下的文件.bashrc 复制到目录“/usr”下,并重命名为 bashrc1


(2) 在目录“/tmp”下新建目录 test,再把这个目录复制到“/usr”目录下



6)mv 命令:移动文件与目录,或更名

(1) 将“/usr”目录下的文件 bashrc1 移动到“/usr/test”目录下


(2) 将“/usr”目录下的 test 目录重命名为 test2


7)rm 命令:移除文件或目录

(1) 将“/usr/test2”目录下的 bashrc1 文件删除

(2) 将“/usr”目录下的 test2 目录删除


8)cat 命令:查看文件内容查看当前用户主文件夹下的.bashrc 文件内容


9)tac 命令:反向查看文件内容反向查看当前用户主文件夹下的.bashrc 文件的内容


10)more 命令:一页一页翻动查看翻页查看当前用户主文件夹下的.bashrc 文件的内容


11)head 命令:取出前面几行

(1) 查看当前用户主文件夹下.bashrc 文件内容前 20 行


(2) 查看当前用户主文件夹下.bashrc 文件内容,后面 50 行不显示,只显示前面几行


12)tail 命令:取出后面几行

(1) 查看当前用户主文件夹下.bashrc 文件内容最后 20 行


(2) 查看当前用户主文件夹下.bashrc 文件内容,并且只列出 50 行以后的数据


13)touch 命令:修改文件时间或创建新文件

(1) 在“/tmp”目录下创建一个空文件 hello,并查看文件时间


(2) 修改 hello 文件,将文件时间整为 5 天前


14)chown 命令:修改文件所有者权限将 hello 文件所有者改为 root 帐号,并查看属性

15)find 命令:文件查找找出主文件夹下文件名为.bashrc 的文件


16)tar 命令:压缩命令

(1) 在根目录“/”下新建文件夹 test,然后在根目录“/”下打包成 test.tar.gz


(2) 把上面的 test.tar.gz 压缩包,解压缩到“/tmp”目录


17)grep 命令:查找字符串从“~/.bashrc”文件中查找字符串'examples'


18)使用 hadoop 用户登录 Linux 系统,启动 Hadoop(Hadoop 的安装目录为“/usr/local/hadoop”),为 hadoop 用户在 HDFS 中创建用户目录“/user/hadoop”


19)接着在 HDFS 的目录“/user/hadoop”下,创建 test 文件夹,并查看文件列表



20)将 Linux 系统本地的“~/.bashrc”文件上传到 HDFS 的 test 文件夹中,并查看 test



21)将 HDFS 文件夹 test 复制到 Linux 系统本地文件系统的“/usr/local/hadoop”目录下



小问题:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

提示hadoop不能加载本地库。

解决:https://blog.csdn.net/young_kim1/article/details/50324345

ls:查看当前目录下的内容

pwd:查看当前所在目录

cd:切换目录

touch[文件名]:如果文件不存在,新建文件

mkdir[目录名]:创建目录

rm[文件名]:删除指定文件

文件目录操作命令ls

-a:显示所有文件及目录,包括隐藏的文件

-l:列出的信息更加具

ls -l使用过于频繁,可以简化成ll

文件目录操作命令cd

cd …:切换到当前目录的上级目录

cd ~:切换到用户的home目录

cd /user/local:切换到/user/local目录

文件目录操作命令cat

-n:由1开始对所有输出行数编号

cat /etc/profile:查看/etc目录下的profile文件内容

文件目录操作命令more

作用:以分页的形式显示文件内容

操作说明:

​ 回车键: 向下滚动一行

​ 空格键: 向下滚动一屏

​ b: 返回上一屏

​ q或者Ctrl+C 退出more

文件目录操作命令tail

作用:查看文件末尾的内容

tail [-f] fileName

说明:-f用来动态读取文件末尾内容并显示,通常用于日志文件的内容输出

例:

​ tail /etc/profile

​ tail -20 /etc/profile

​ tail -f /itcast/my.log

文件目录操作命令mkdir

mkdir [-p] dirName

说明:-p确保目录名称存在,不存在就创建一个。通过此选项可以实现多层目录同时创建

例子:

mkdir lillanm 在当前目录下,建立一个名为lillanm的子目录

mkdir -p lillanm/test 在工作目录下的lillanm目录中建立一个名为test的子目录,若lillanm不存在,则创建一个

文件操作命令rmdir

rmdir [-p] dirName

-p:当子目录被删除后使父目录为空的话,则一并删除

例子:

rmdir lillanm 删除名为lillanm的空目录

rmdir -p lillanm/test 删除lillanm目录中名为test的字目录,若test目录删除后lillanm目录变为空目录,则有一并删除

rmdir lillanm* 删除名称以lillanm开始的空目录

文件目录操作命令rm

rm [-rf] name

-r:将目录及目录中所有文件(目录)注意删除,即递归删除

-f:无序确认,直接删除

举例:

rm -f lillanm/ 删除名为lillanm的目录和目录中的所有文件,删除前需要确认

rm -rf lilllanm/ 无需确认,直接删除名为lillanm的目录和目录中的所有文件

rm -f hello.txt 无需确认,直接删除hello.txt文件

拷贝移动命令cp

用于复制文件或目录

cp [-r] source dest

-r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

例子:

cp hello.txt lillanm/ 将hello.txt复制到lillanm目录中

cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt

cp -r lillanm/ ./itheima/ 将lillanm目录和目录下所有文件复制到itheima目录下

cp -r lillanm/* ./itheima/ 将lillanm目录下的所有文件复制到itheima目录下

移动拷贝命令

作用:为文件或目录改名、或将文件或目录移动到其他位置

语法:mv source dest

例子:

mv hello.txt hi.txt 将hello.txt改名为hi.txt

mv hi.txt lillanm/ 将文件hi.txt移动到lillanm目录中

mv hi.txt lillanm/hello.txt 将hi.txt移动到lillanm目录中,并改名为hello.txt

mv lillanm/ itheima/ 如果itheima目录不存在,就将lillanm目录改名为itheima,如果存在,就将lillanm移动到itheima目录中

打包压缩命令tar

作用:对文件进行打包,解包,压缩,解压

语法:tar [-zcxvf] fileName [files]

包文件后缀为.tar表示知识完成了打包,并没有压缩

包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:

-z:代表gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压

-c:代表create,即创建新的包文件

-x:代表extract,实现从包文件中还原文件

-v:代表verbose,显示命令的执行过程

-f:代表file,用于指定包文件的名称

举例:

打包:

tar -cvf hello.tar ./* 将当前目录下的所有文件打包,打包后的文件名为hello.tar

tar -zcvf helo.tar.gz ./* 将当前目录下的所哟文件打包并压缩,打包后的文件名为hello.tar.gz

解包:

tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录

tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录

tar -zxvf hello.tar.gz -C /user/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/user/local目录

查找命令find

在指定目录下查找文件

语法:find dirName -option fileName

例子:

find . -name “*.java” 在当前目录及其子目录下查找.java结尾的文件

find /lillanm -name “*.java” 在/lillanm目录及其子目录下查找.java结尾的文件

查找命令grep

作用:从指定文件中查找指定的文本内容

语法:grep word fileName

例子:

grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置

grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

二:软件
jdk

tomcat
开启Tomcat服务(进到Tomcat的bin目录,sh startup.sh 或./startup.sh)

停止Tomcat服务(进入到Tomcat的bin目录,sh shutdown…sh 或./shutdown.sh)

停止方法二:

结束Tomcat进程

查看Tomcat进程,获得进程id

ps -ef | grep tomcat 获得进程id

执行命令结束进程 kill -9 进程id

(kill 命令是Linux提供的用于结束进程的命令,-9 表示强制结束)
————————————————
版权声明:本文为CSDN博主「lillanm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lillanm/article/details/127875401

实验1:熟悉常用的Linux操作和Hadoop操作

注:完整实验报告word文件在末尾

—————————————————————————————————
"大数据技术原理与应用"课程实验报告


题目:实验1:熟悉常用的Linux操作和Hadoop操作 姓名:朱小凡 日期:2022/3/11

1、实验环境:

设备名称 LAPTOP-9KJS8HO6

处理器 Intel® Core™ i5-10300H CPU @ 2.50GHz 2.50 GHz

机带 RAM 16.0 GB (15.8 GB 可用)

主机操作系统 Windows 10 家庭中文版

虚拟机操作系统 ubuntukylin-16.04

系统类型 64 位操作系统, 基于 x64 的处理器

笔和触控 没有可用于此显示器的笔或触控输入

2、实验内容与完成情况:

  1. 安装Linux虚拟机
<!-- -->
  1. 安装Virtual Box成功

  1. 安装ubuntukylin-16.04成功

  1. 熟悉常用Linux命令

    1. cd命令:切换目录

(1)切换到目录/usr/local

cd /usr/local

(2)切换到当前目录的上一级目录

cd …

  1. 切换到当前登录Linux系统的用户的自己的主文件夹

cd ~

  1. ls命令:查看文件和目录
<!-- -->
  1. 查看目录/usr下的所有文件和目录

cd /usr

ls

  1. mkdir命令:新建目录
<!-- -->
  1. 进入/tmp目录,创建一个名为a的目录,并查看/tmp目录下已经存在哪些目录

cd /tmp

mkdir a

ls --al

  1. 进入/tmp目录,创建目录a1/a2/a3/a4

cd /tmp

mkdir --p a1/a2/a3/a4

  1. rmdir命令:删除空的目录
<!-- -->
  1. 将上面创建的目录a(在"/tmp"目录下面)删除。

cd /tmp

rmdir a

  1. 删除上面创建的目录a1/a2/a3/a4,然后查看/tmp目录下面存在哪些目录。

cd /tmp

rmdir --p a1/a2/a3/a4

ls -al

  1. cp命令:复制文件或目录
<!-- -->
  1. 将当前用户的主文件夹下的文件.bashrc复制到目录/usr下,并重命名为bashrc1

sudo cp ~/.bashrc /usr/bashrc1

  1. 在目录/tmp下新建目录test,再把这个目录复制到/usr目录下

cd /tmp

mkdir test

sudo cp --r /tmp/test /usr

  1. mv命令:移动文件和目录,或重命名
<!-- -->
  1. 将/usr目录下的文件bashrc1移动到/usr/tesl目录下

sudo mv /usr/bashrc1 /usr/test

  1. 将/usr目录下的test目录重命名为test2

sudo mv /usr/test /usr/test2

  1. rm命令:移除文件或目录
<!-- -->
  1. 将/usr/test2目录下的bashrc1文件删除

sudo rm /usr/test2/bashrc1

  1. 将/usr目录下的test2目录删除

sudo rm --R /usr/test2

  1. cat命令:查看文件内容

查看当前用户主文件夹下的.bashrc文件内容

cat ~/.bashrc

  1. tac命令:反向查看文件内容

反向查看当前用户主文件夹下的.bashrc文件内容

tac ~/.bashrc

  1. more命令:一页一页翻动查看

翻页查看当前用户主文件夹下的.bashrc文件的内容

more ~/.bashrc

  1. head命令:取出前面几行
<!-- -->
  1. 查看当前用户主文件夹下.bashrc文件的内容的前20行

head --n 20 ~/.bashrc

  1. 查看当前用户主文件夹下.bashrc文件的内容,后面50行不显示,只显示前面几行

head -n -50 ~/.bashrc

  1. tail命令:取出后面几行
<!-- -->
  1. 查看当前用户主文件夹下.bashrc文件内容的最后20行

tail -n 20 ~/.bashrc

  1. 查看当前用户主文件夹下.bashrc文件的内容,并且只列出50行以后的数据

tail -n +50 ~/.bashrc

  1. touch命令:修改文件时间或创建新文件
<!-- -->
  1. 在/tmp目录下创建一个空文件hello,并查看文件时间

cd /tmp

touch hello

ls -l hello

  1. 修改hello文件,将文件时间调整为5天前

touch -d “5 days ago” hello

  1. chown命令:修改文件所有者权限

将hello文件所有者改为root账号,并查看属性

sudo chown root /tmp/hello

ls -l /tmp/hello

  1. find命令:文件查找

找出主文件夹下文件名为.bashrc的文件

find ~/.bashrc

  1. tar命令:压缩命令
<!-- -->
  1. 在根目录"/“下新建文件夹test,然后在根目录”/"下打包成test.tar.gz

sudo mkdir /test

sudo tar -zcv -f /test.tar.gz test

  1. 把上面的test.tar.gz压缩包,解压缩到/tmp目录

sudo tar -zxv -f /test.tar.gz -C /tmp

  1. grep命令:查找字符串

从~/.bashrc文件中查找字符串"examples"

grep examples ~/.bashrc

  1. 配置环境变量

(1)命令:

sudo vim ~/.bashrc

文件的末尾追加下面内容:

#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 ##
这里要注意目录要换成自己解压的jdk 目录

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.😒JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

使环境变量马上生效

source ~/.bashrc

(2)查看JAVA_HOME变量的值

echo $JAVA_HOME

  1. 进行Hadoop伪分布式安装

访问Hadoop官网(https://hadoop.apache.org/),下载Hadoop安装文件hadoop-3.1.3.tar.gz。在Linux虚拟机环境下完成Hadoop伪分布式环境的搭建,并运行Hadoop自带的WordCount实例检测是否运行正常。具体安装方法可以参考网络资料,也可以参考本书官网的"教材配套大数据软件安装和编程实践指南"。

:(1)配置core-site.xml 和 hdfs-site.xml

(2)配置完成后,执行 NameNode 的格式化:

cd /usr/local/hadoop

./bin/hdfs namenode --format

(3)接着开启 NameNode 和 DataNode 守护进程:

cd /usr/local/hadoop

./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格

(4)启动完成后,可以通过命令 jps 来判断是否成功启动.

(5)运行Hadoop自带的WordCount实例

例如:统计/usr/local/hadoop/目录下的LICENSE.txt文件中各个单词出现的次数

命令:./bin/hadoop jar
./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount
input output

图3.1伪分布式安装成功

图3.2 访问 Web 界面

图3.3 Hadoop自带实例WordCount统计结果(部分)

  1. 熟悉常用的Hadoop操作
<!-- -->

(1) 使用Hadoop用户登录Linux操作系统,启动Hadoop
(Hadoop的安装目录为"/usr/local/hadoop"),为Hadoop用户在HDFS中创建用户目录"/user/hadoop"。

答:./bin/hdfs dfs -mkdir -p /user/hadoop

(2) 接着在HDFS的目录"user/hadoop"下,创建test文件夹,并查看文件列表。

答:./bin/hdfs dfs -mkdir test

./bin/hdfs dfs -ls

(3) 将Linux操作系统本地的"~/.bashrc"文件上传到HDFS的test文件夹中,并查看test。

答:./bin/hdfs dfs -put ~/.bashrc test

./bin/hdfs dfs -ls test

(4) 将HDFS
test文件夹复制到Linux操作系统本地文件系统的"/usr/local/hadoop"目录下。

答:./bin/hdfs dfs -get test ./

ls

**
**

3、出现的问题:

  1. 最开始出现安装界面分辨率太小导致安装程序显示不完整

  1. Ubuntu安装完成后不能上网

3、开启 NameNode 和 DataNode 守护进程时提示ERROR: JAVA_HOME is not set
and could not be found.

4、解决方案:

  1. 解决方法:先用WIN+鼠标挪动安装程序界面,找到安装按钮,完成安装后,点击VirtualBox菜单栏中的设备---->安装增强功能,然后重启虚拟机,在系统设置中可以选择调整分辨率。

  2. 解决方法:关闭虚拟机后,选择VirtualBox菜单栏中的设备—>网络,由于我的电脑内置有多个网卡,所以需要查看当前主机的网络连接,选择正确的网卡名称,比如有线网卡Realtek
    PCIe GbE Family Controller和无线网卡MediaTek Wi-Fi 6 MT7921 Wireless
    LAN Card。如图所示:

3、到hadoop的安装目录修改配置文件"/usr/local/hadoop/etc/hadoop/hadoop-env.sh",在里面找到"export
JAVA_HOME=$JAVA_HOME"这行,然后,把它修改成JAVA安装路径的具体地址,比如,“export
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162”,然后,再次启动Hadoop。

完整实验报告下载地址:

实验一:熟悉常用的Linux 操作和Hadoop操作

以上是关于熟悉常用的 Linux 操作的主要内容,如果未能解决你的问题,请参考以下文章

运维老手常用的linux命令操作

2018年企业运维开发经典面试题

一名优秀的Linux运维人员该掌握哪些工具

Linux挂载点介绍

linux常用的命令都有哪些

linux运维必须知道的几个常用命令