前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​Linux基本使用1——你应该知道的linux基本概念和常用命令

​Linux基本使用1——你应该知道的linux基本概念和常用命令

作者头像
云原生
发布2021-05-31 11:01:46
4580
发布2021-05-31 11:01:46
举报
文章被收录于专栏:云原生实践

对于 Linux,普通开发者不必像运维工程师那样掌握大量复杂的操作命令,更不用像 Linux内核工程师那样了解精深的 Linux内核,但是掌握一些 Linux的基本概念和常用的命令,能够大幅度地提高开发效率,尤其是对于数据工程师而言, Shell更是构建数据管道重要的一环,是不可或缺的一项技能。本篇文章将介绍和总结一些我在日常开发中用到的Linux基本命令。

基本操作

ls 命令

用于显示文件的相关信息,默认情况下, ls 用来打印当前目录清单。同时, ls 命令还可以查看目录中包含的文件、子目录、文件权限

用法:

代码语言:javascript
复制
ls [选项][参数]
代码语言:javascript
复制
显示包含隐藏文件在内的所有文件

cp命令

用于复制文件和目录,将一个或多个文件或目录复制到目标目录

用法:

代码语言:javascript
复制
cp[选项][源][目的目录]
代码语言:javascript
复制
复制时保留源文档的所有属性,或者叫创建备份

rm命令

用于删除文件或目录,也可以将某个目录及其下的所有文件和子目录都删除。对于链接文件,只是删除链接,原有文件保持不变。这个命令在使用的时候要特别小心。尤其是在生产环境中,使用 rm-rf*命令是禁忌。

代码语言:javascript
复制
rm[选项][文件]
代码语言:javascript
复制
忽略不存在的文件且不提示,强制删除

mkdir命令

用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

语法

代码语言:javascript
复制
mkdir[选项][目录]
代码语言:javascript
复制
建立多级目录

cat命令

用于连接文件或标准输入并打印。常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

语法

代码语言:javascript
复制
cat[选项][文件]
代码语言:javascript
复制
展示所有,等价于 -vET

环境变量

Linux 中的环境变量主要分为系统级用户级,系统级环境变量是每个登录到系统的用户都要读取的变量,而用户级的环境变量则是用户使用系统时加载的个人环境变量。

  • 系统级
  • /etc/profile 文件:当用户登录 Shell 时执行的第一个文件,用来完成一些初始化工作,通常是调用 /etc/bash.bashrc 文件来完成具体工作。
  • /etc/environment 文件:系统级别的环境变量,并不是一个脚本,内容为一些环境变量赋值语句,用来给不从 Shell 启动的程序设置环境变量。
  • 用户级(文件主要是在 /home 目录下)
  • ~/.profile:每个用户都可以调用来输入自己使用的 shell 信息,用户登录时,该文件只执行一次。
  • ~/.bashrc:包含登录用户的专用 bash shellbash 信息。也就是说每开一个 shell,该文件都会被读取一次。
  • 临时的
  • 针对当前 shell 的环境变量。

简而言之,环境变量就是指定一个目录,软件在运行的时候,相关程序会按照该目录来查找相关文件。

变量的种类

前面是从系统和用户级来划分环境变量。如果按照变量的生存周期来划分,那么变量就可以分为:

  • 永久的:需要修改配置文件,变量永久生效。
  • 临时的:使用 export 命令来声明,变量在关闭 shell 的时候自动失效。

设置变量的方法

/etc/profile 文件中添加变量(永久的)

用 vim 编辑器编辑 /etc/profile 文件来增加变量,将会作用于 Linux 下所有用户,且具有永久性。(此方法谨慎使用!

修改 ~/.profile 文件(对单一用户生效(永久的))

这种方法较为安全,可以把使用这些环境变量的权限控制到用户级别,主要是针对某一特定的用户,如果需要给某个用户权限使用这些环境变量,只需要修改其个人用户主目录下的 .profile 文件就可以了。

直接运行 export命令定义环境变量(临时的)

在控制台中设置,不赞成这种方式,这种设置只对当前的 shell 起作用,换一个 shell 设置就无效了。在 shell 的命令行下直接使用 [export 变量名=变量值] 来定义变量。

eg : 添加一个自定义的变量

代码语言:javascript
复制
[root@VM_0_17_centos ~]# export HADOOP_USER_NAME=hdfs
[root@VM_0_17_centos ~]# echo $HADOOP_USER_NAME
hdfs

使用 echo 输出变量时需要在变量名前面加 $ 符号

环境变量的查看

echo命令

例如,我们查看 PATH 环境变量

代码语言:javascript
复制
[root@VM_0_17_centos ~]# echo $PATH
/usr/local/R/bin:/usr/local/apache-maven-3.6.3/bin:/usr/java/jdk1.8.0_171/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
env 命令查看所有的环境变量

可以用来显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。

代码语言:javascript
复制
[root@VM_0_17_centos ~]# env
XDG_SESSION_ID=117261
HOSTNAME=VM_0_17_centos
HARDWARE_PLATFORM=x86_64
TERM=xterm
SHELL=/bin/bash
HISTSIZE=3000
set 命令查看本地定义的环境变量

可以用来显示当前 Shell 中的所有变量,包括其内建环境变量(与 Shell 外观等相关)、用户自定义变量及导出的环境变量。

使用 vimdiff直观查看环境变量

对于刚才讲到的三种环境变量的查看 :exportenvset 我们还可以通过 vimdiff 工具来直观的比较它们之间的差别:

代码语言:javascript
复制
[root@VM_0_17_centos ~]# temp=soundhearer
[root@VM_0_17_centos ~]# export temp_env=soundhearer
[root@VM_0_17_centos ~]# env|sort>env.txt
[root@VM_0_17_centos ~]# export|sort>export.txt
[root@VM_0_17_centos ~]# set|sort>set.txt
[root@VM_0_17_centos ~]# vimdiff env.txt export.txt set.txt

修改和删除环境变量

修改环境变量

变量的修改有以下几种方式:

代码语言:javascript
复制
从头向后开始匹配,删除符合匹配字串的最短数据

删除环境变量

unset 可以用来删除指定的环境变量

代码语言:javascript
复制
[root@VM_0_17_centos ~]# unset temp
[root@VM_0_17_centos ~]# echo $temp

[root@VM_0_17_centos ~]#

环境变量的生效

source 命令用来让配置的文件立即生效,避免每次修改配置脚本文件后,还需要退出终端甚至重启之后才能生效。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本操作
    • ls 命令
      • cp命令
        • rm命令
          • mkdir命令
            • cat命令
            • 环境变量
              • 变量的种类
                • 设置变量的方法
                  • /etc/profile 文件中添加变量(永久的)
                  • 修改 ~/.profile 文件(对单一用户生效(永久的))
                  • 直接运行 export命令定义环境变量(临时的)
                • 环境变量的查看
                  • echo命令
                  • env 命令查看所有的环境变量
                  • set 命令查看本地定义的环境变量
                  • 使用 vimdiff直观查看环境变量
                • 修改和删除环境变量
                  • 环境变量的生效
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档